TagLib

Old TagLib Releases

TagLib 1.5 RC 1 Release February 12, 2008

Developent Release

TagLib 1.5 Beta 1 Release February 4, 2008

Developent Release

TagLib 1.4 Release - July 27, 2005

Changes from 1.3.1 to 1.4

  • Added a package-config file
  • Added support for plugging in file type resolvers to make it easier to use native mime type resolution systems and to add support for additional file formats
  • Fixed a memory leak in APE items
  • Fixed a crash when requesting the text of an empty APE item
  • Added a README noting the Ruby and Python bindings
  • Added the ability to save mp3 tags using the save mask without discarding those tags that are not part of the mask
  • Fixed the misspelling of "A Cappella"
  • Implemented support for the ID3v2 frame flag for discarding frames on tag alteration
  • Use the above flag for ID3v2 frames that are discarded because they are no longer supported in ID3v2.4 (which TagLib uses). This allows for these tags to still be handled by library users if desired
  • Fix memory corruption (deleting a no longer valid iterator) when removing a frame from an ID3v2 tag
  • Make it possible to read and modify the descriptions of images in attached picture frames of ID3v2 tags
  • Introduced an argument for limiting the number of fields that will be created usign ByteVectorList::split()
  • Significantly unbroke the relative volume adjustment ID3v2 frame's API. It now properly supports multiple volume fields in the same frame
  • Added support for reading the comment portion of "Xiph" tags (used in Ogg Vorbis and FLAC) from the "COMMENT" field rather than only from the "DESCRIPTION" field mentioned in the spec
  • Added support for Ogg FLAC v1.1.1
  • Added prepend methods to the List<T> class
  • Added support for UTF-16 little endian strings as used in some tagging formats
  • Fixed or implemented roughly 35 bug or wishlist items relative to 1.3.1

TagLib 1.3.1 Release - November 7, 2004

Changes from 1.3 to 1.3.1

  • Fixed Ogg Vorbis length detection on AMD-64
  • Fixed crash on some invalid MP3s (regression from 1.2 to 1.3) where corruped tags caused crashes or out of memory errors
  • Clear the ID3v1 track number when attempting to set it to a value greater than 255 (8-bit value)
  • Fixed crash in invalid APE tags where the number of tag items didn't match up with the number actually present
  • Added other additional sanity checks to the APE parsing code that should make it more robust
  • Fixed Makefile problem that caused the apeitem.h header to not be installed and made it impossible to use the APE API directly

TagLib 1.3 Release - September 10, 2004

Changes from 1.2 to 1.3

  • Added support for APE tags
  • Added support for MPC files
  • Added support for APE tags in MP3 files
  • Added support for compressed ID3v2 frames
  • Added support for uniuque file identifier frames in ID3v2
  • Added checks for several potential divide by zero (SIGFPE) cases
  • Fixed support for custom text frames

TagLib 1.2 Release - July 7, 2004

Changes from 1.1 to 1.2

New Features:

  • Add support for FLAC data in Ogg containers ("Ogg FLAC" files)
  • Added support for relative volume adjustment (RVA2) ID3v2 frames
  • Added support for attached picture (APIC) ID3v2 frames
  • Return a bool on File::save() to indicate success or failure
  • Implemented support for reading ID3v2 frame header flags
  • Return false from isValid() for FLAC files that are not parsed properly
  • Move the Vorbis classes into the Ogg namespace (binary and source compatibility preserved)
  • Added a convenience function fo accessing a list of ID3v2 frames of a certain ID using ID3v2::Tag::frameList(const ByteVector &frameID)
  • Add access to the ID3v1, ID3v2 and XiphComments of FLAC files to the public API
  • ByteVector optimizations to speed up copying
  • Add find() and erase() methods to Map
  • Added iterators and index operators to the string class
  • Plays nicely with ID3v2.4 tags generated by libid3tag

Bugs Fixed:

  • Do not append a XiphComment framing bit to XiphComments in FLAC files that have Xiph-style comments. Though required by the spec, this renders the files unplayable on some players
  • Fixed setting the language for ID3v2 comments to empty by default. This caused invalid comments to be written in the case that no comment previously existed
  • Fixed the spelling of "Psychedelic" in the ID3v1 genre list
  • The correct number of ID3v1 genres is 148, not 147. This caused Synthpop to not show up in the list
  • Fixed typo in the recording date frame ID -- it was previously listed as "TRDC" where "TDRC" is the correct ID. TagLib seamlessly corrects this error on subsequent saves to affected tags
  • Fixed reading / parsing of ID3v2 genre tags as a null separated list rather than ID3v2.3-style '/' separated lists with the ID3v1 genre in parenthesis
  • Properly handle extended header parsing, even if the extended header begins with null bytes. Previously this was being detected as padding
  • Fix a divide by zero that happened in the case of an MP3 file with a Xing header but no actual MPEG frames
  • Delete ID3 tags from memory (by default) when they're stripped from files

TagLib 1.1 Release - April 4, 2004

Changes from 1.0 to 1.1

  • Added ID3v2.2 support (previous support was for ID3v2.3 and ID3v2.4) since iTunes seems to still use this very old version of the ID3v2 standard
  • Fixed an API bug in MPEG::File that made it difficult to override the default frame factory
  • Make it possible to override the default string handler for ID3v1 tags. This makes it possible for applications to provide decoders that work with something other than ISO-8859-1 ID3v1 tags
  • Switch from passing around a bool indicating whether to use synch-safe ints or not and pass the ID3v2 revion number. This is more flexible and general purpose
  • Optimizations in the toolkit that make several ByteVector operations faster (and speeds up tag parsing and rendering by about 20%)
  • Fixed rendering of UTF-16 in ID3v2 tags
  • Added FLAC support to the C API

TagLib 1.0 Release - January 22, 2004

  • Initial (non-beta) release