lofty-rs/CHANGELOG.md
2022-03-18 14:47:00 -04:00

4.7 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Added

  • TagItem::{into_key, into_value, consume}
  • MP4: Mp4Codec::MP3
  • MP4: mp4::AudioObjectType
    • This new type is used in mp4::Mp4Properties, accessible with Mp4Properties::audio_object_type. This provides additional information for the type of audio being dealt with.

Changed

  • MP4: Sample rates are now retrieved from the audio specific config (if possible). If the information is invalid or unavailable, the existing value from the mp4a box will be used instead.
  • Vorbis Comments: Support non-PNG/JPEG images in PictureInformation::from_picture
    • The method still only supports PNG and JPEG, but rather than error when it encounters an unknown image, it will return PictureInformation::default
  • lofty::read_from will now wrap the File in a BufReader

Fixed

0.5.3 - 2022-03-03

Fixed

  • OGG: Segment tables are written correctly with data spanning multiple pages (issue)

0.5.2 - 2022-02-26

Added

  • MP4: Ilst::{atoms, retain}

Fixed

  • ID3v2: The footer flag is written to the tag
  • ID3v2: Pictures are written when using Tag

0.5.1 - 2022-02-21

Changed

  • MP4: Padding atoms (free) are used when writing
  • Opus: Channel count is verified in accordance to the channel mapping family

Fixed

  • MP4: meta atoms are written correctly

0.5.0 - 2022-02-20

Added

  • Support for Speex files
  • TagExt trait to unify tag behavior
  • doc_cfg feature for docs.rs
  • Fallible allocation with ErrorKind::Alloc to help prevent OOM
  • New dependency: cfg-if
  • MP3: Emphasis struct (mp3::Emphasis) for use in Mp3Properties
  • ID3v2: Respect the footer flag (id3::v2::Id3v2TagFlags::footer) when writing
  • MP4: Constants for all well-known data types (mp4::constants)
  • MP4: Support rtng (Parental advisory) atom, with corresponding mp4::AdvisoryRating enum

Changed

  • Added #[non_exhaustive] to MimeType
  • Added #[non_exhaustive] to PictureType
  • Added #[non_exhaustive] to Mp4Codec
  • APE: Clarify why ID3v2 is read only
  • MP3: No longer error on missing Xing/VBRI header when reading properties
  • MP3: Read the entire MPEG frame header, which is exposed in Mp3Properties
  • AudioFile now requires Into<TaggedFile>
  • MP4: Empty atoms are discarded
  • MP4: Variable-size integers are shrunk when writing

Fixed

  • MP4: Panic in Mp4File::read_from (commit)
  • WAV/AIFF: Chunk reading now makes use of fallible allocation, preventing OOM
  • ID3v2: Text is properly encoded when writing
  • ID3v2: MVNM and MVIN frames are now treated as text frames
  • ID3v2: Text encodings are verified for V2 tags
  • MP4: plID atom is properly treated as a 64-bit signed integer (issue)
  • MP4: rate and rtng now map to the correct ItemKey
  • MP4: Integer pairs are now written correctly
  • TagType and FileType are no longer taken by reference in any method

Removed

  • ErrorKind::BadExtension