Approved by chris@.
Changes since last packaged version (1.3.1) as seen on taglib's homepage:
* 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
Changes between 1.3 and 1.3.1 are:
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
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
Fixes PR 27061 (basically applied the patch in PR, but added the change to
buildlink3.mk and removed LIBTOOLIZE_PLIST option from Makefile.)
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
Plus bug fixes
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 is a library for reading and editing the meta-data of several popular
audio formats. Currently it supports both ID3v1 and ID3v2 for MP3 files, Ogg
Vorbis comments and ID3 tags and Vorbis comments in FLAC files.