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