Releases: Serial-ATA/lofty-rs
0.21.1
What's Changed
- FLAC: Retain vendor strings on tag write by @Serial-ATA in #443
- Fuzzing fixes by @Serial-ATA in #444
- FLAC: Stop moving padding blocks by @Serial-ATA in #446
Full Changelog: https://github.com/Serial-ATA/lofty-rs/blob/main/CHANGELOG.md#0211---2024-08-28
0.21.0
What's Changed
- ParseOptions: Add
ParseOptions::read_tags
by @Serial-ATA in #406 - ParseOptions: Add read_cover_art by @Serial-ATA in #415
- ID3v2: Support writing ID3v2.3 tags by @Serial-ATA in #411
- ID3v2: Ignore empty timestamp frames by @Serial-ATA in #416
- Add Tag::take_filter() by @uklotzde in #414
- MP4: Allow invalid atom sizes with
ParsingMode::Relaxed
by @Serial-ATA in #433
Full Changelog: https://github.com/Serial-ATA/lofty-rs/blob/main/CHANGELOG.md#0210---2024-07-29
0.20.1
What's Changed
- MPEG: Improve duration calculation by @Serial-ATA & @naglis in #413
Full Changelog: https://github.com/Serial-ATA/lofty-rs/blob/main/CHANGELOG.md#0201---2024-07-02
0.20.0
What's Changed
- Vorbis/Ape: Verify
FlagCompilation
item contents on merge by @Serial-ATA in #387 - Tag: Support
ItemKey::ParentalAdvisory
for Ilst and ID3v2 by @Serial-ATA in #388 - ID3v2: Parse timestamp frames by @Serial-ATA in #389
- ID3v2: Turn
Frame
into an enum by @Serial-ATA in #390 - GlobalOptions: Add
preserve_format_specific_items()
by @Serial-ATA in #391 - ID3v2: Allow for generic conversion of language frames by @Serial-ATA in #392
- ID3v2: Disallow 4 character TXXX descriptions as
ItemKey
by @Serial-ATA in #394 - MPEG: Improve duration estimation by @Serial-ATA in #395
- MP4: Improve audio bitrate calculation by @Serial-ATA in #398
- WAV: Improve audio bitrate calculation by @Serial-ATA in #399
- Musepack: Improve audio properties by @Serial-ATA in #402
- MP4: Dont discard tags on multiple
udta
by @Serial-ATA in #405 - Add into_inner for BoundTaggedFile by @rakbladsvalsen in #404
New Contributors
- @rakbladsvalsen made their first contribution in #404
Full Changelog: https://github.com/Serial-ATA/lofty-rs/blob/main/CHANGELOG.md#0200---2024-06-06
0.19.2
io: Impl Length for mutable refs
Full Changelog: https://github.com/Serial-ATA/lofty-rs/blob/main/CHANGELOG.md#0192---2024-04-26
0.19.1
What's Changed
- io: Impl
Truncate
/Length
for refs by @Serial-ATA in #384 - MP4: Use all available
free
atoms by @Serial-ATA in #386
Full Changelog: https://github.com/Serial-ATA/lofty-rs/blob/main/CHANGELOG.md#0191---2024-04-26
0.19.0
What's Changed
- id3v2: Do not replace non-empty frames with duplicate, empty frames by @uklotzde in #351
- Vorbis: Fix panic with zero-length property reads by @Serial-ATA in #365
- ID3v2: Fix overflow with large RVA2 peak by @Serial-ATA in #364
- misc: Introduce WriteOptions by @Serial-ATA in #363
- WAV: Properly round length and bitrate values by @Serial-ATA in #367
- ParseOptions: Stop deriving Ord by @Serial-ATA in #369
- ChannelMask: Implement
Bit{Or,And}
by @Serial-ATA in #371 - The great Lofty module refactor by @Serial-ATA in #374
- ogg_pager: Fix writing of large packets by @Serial-ATA in #376
- Make all file writes generic by @Serial-ATA in #290
- Seal tag traits by @Serial-ATA in #378
- iff: Rename IFF tags by @Serial-ATA in #379
New Contributors
- @probablykasper made their first contribution in #377
Full Changelog: https://github.com/Serial-ATA/lofty-rs/blob/main/CHANGELOG.md#0190---2024-04-21
0.18.2
What's Changed
- MP4: Stop overwriting file with padding on tag shrink by @Serial-ATA in #347
Full Changelog: https://github.com/Serial-ATA/lofty-rs/blob/main/CHANGELOG.md#0182---2024-01-23
0.18.1
What's Changed
- mp4: Fix conversion of u16 track/disc numbers to BE bytes by @uklotzde in #341
- id3v2: Fix parsing of UTF-16 when BOM is missing by @uklotzde in #343
- Create CONTRIBUTING.md by @Serial-ATA in #234
- MP4: Properly handle offset updates for shrinking tags by @Serial-ATA in #344
Full Changelog: https://github.com/Serial-ATA/lofty-rs/blob/main/CHANGELOG.md#0181---2024-01-20
0.18.0
What's Changed
- MP4 property fixups by @Serial-ATA in #298
- [wav] Fix u32 overflow by first casting stream_len to u64 before multiplying by @obsoleszenz in #300
- ID3v2: Support building TIPL frames on Tag merge by @Serial-ATA in #301
- Remove
None
variants on multiple enums by @Serial-ATA in #294 - ID3v2: Support UTF-16 TIPL frames with single BOM by @Serial-ATA in #307
- ID3v2: Move
Id3v2Tag
unit tests totag/tests.rs
by @Serial-ATA in #310 - MP4: Update offset atoms on write by @Serial-ATA in #318
- Check custom resolvers before default implementations by @Serial-ATA in #319
- MPEG: Find ID3v2 tags buried in junk by @Serial-ATA in #320
- Probe: Introduce
GlobalOptions
to handle allocations and resolvers by @Serial-ATA in #321 - Speex: Estimate bitrate when the nominal bitrate is not available by @Serial-ATA in #323
- mp4: Map "----:com.apple.iTunes:ORIGINALDATE" to OriginalReleaseDate by @uklotzde in #325
- Add more date/year mappings from MusicBrainz Picard by @uklotzde in #326
- Rename
PodcastReleaseDate
toReleaseDate
by @uklotzde in #329 - MimeType: Implement Display instead of ToString by @uklotzde in #330
- MP4/ID3v2: Better handling of flag items by @Serial-ATA in #336
- ID3v2: Stop editing the string in Id3v2Tag::get_text() by @Serial-ATA in #337
- ItemKey: Distinguish between Bpm and IntegerBpm by @uklotzde in #335
New Contributors
- @obsoleszenz made their first contribution in #300
Full Changelog: https://github.com/Serial-ATA/lofty-rs/blob/main/CHANGELOG.md#0180---2024-01-12