diff options
author | Lucas Eckels <eckels@google.com> | 2012-08-06 15:12:54 -0700 |
---|---|---|
committer | Lucas Eckels <eckels@google.com> | 2012-08-08 09:29:05 -0700 |
commit | 8a58cac9f8db5ed55b02b3ac24156d628af923d1 (patch) | |
tree | 3960df276069aefab2103e778cc52e89253b12ef /NEWS | |
parent | 2f9cfa4836e5e572c0e5688bec15515355b709a1 (diff) | |
download | id3lib-8a58cac9f8db5ed55b02b3ac24156d628af923d1.tar.gz |
Add id3lib 3.8.3 source.
Change-Id: Ic723712b360a1760b4c081b1f6a77939bb2969a9
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 325 |
1 files changed, 325 insertions, 0 deletions
@@ -0,0 +1,325 @@ +$Id: NEWS,v 1.27 2002/07/23 13:57:45 t1mpy Exp $ + +this file will not be updated anymore. Please go to http://sourceforge.net/news/?group_id=979 for the latest news + +Old News: + +2001-09-08 Version 3.8.0pre2 +* ID3Lib maintainer has disappeared. Project maintenance taken over by existing + developers +* Many bug fixes -- mostly compilation problems -- more detailed info will be + provided in a later release. + +2000-11-20 Version 3.8.0pre1 + +* First prerelease of 3.8.0 stable. +* Clean separation of interface and implementation to help ensure interface and + binary compatibility of future releases +* Completely revamped implementation of tag reading and writing +* Better debugging output in debug mode +* New documentation (much more still needed) +* Command-line options processing now more cross-platform +* Removed all exception handling +* Minor changes to public interface +* Use of std::string and other STL classes in implementation +* id3com source code removed from source distribution. It has moved to its own + project at http://sourceforge.net/projects/id3com +* Many more changes than can be mentioned here: see ChangeLog file + +2000-09-07 Version 3.7.13 + +* id3com is broken; maintainer has disappeared; anyone care to fix it? +* Complete reimplementation of ID3_Field: cleaner, safer, faster, clearer, more + efficient +* Much more robust MusicMatch parsing +* Improved conversion from ID3v2 to ID3v1 +* Cleaner implementation of file processing +* Examples now use popt for command-line processing +* Improved portability for Macintosh +* Improved build process for platforms without popt or zlib +* New documentation about the MusicMatch tagging format +* Minor updates to ID3_Field interface +* New interface behavior: + // copies entire string (same for unicode_t*) + size_t ID3_Field::Get(const uchar*, size_t) + // for lists, copies a specific item in string (0-based) + size_t ID3_Field::Get(const uchar*, size_t, index_t); + // returns the size in characters for strings, in bytes for all else + size_t ID3_Field::Size() cosnt; + // returns the rendered size of the field + size_t ID3_Field::BinSize() cosnt; + +2000-07-07 Version 3.7.12 + +* Removed debugging output left over from 3.7.11 +* Update() now updates all tag types by default, not just ID3v2 +* Added a second, optional parameter to ID3_GetComment to find a comment with + a specific description +* Converting an ID3v1 comment to an ID3v2 COMM frame now has the description + "ID3v1 Comment" +* An ID3v2 COMM frame will only be converted to an ID3v1 comment if it has a + description of "ID3v1 Comment" + +2000-07-05 Version 3.7.11 + +* Now parses and converts files with MusicMatch tags (beta - needs testing!) +* New tag type enums: ID3TT_LYRICS3, ID3TT_LYRICS3V2, ID3TT_MUSICMATCH, + ID3TT_PREPENDED, ID3TT_APPENDED. Deprecated ID3TT_LYRICS +* Improved file processing routines; cleaned up interface w.r.t. files +* Stripping one type of appended tag strips them all +* New C function: ID3Tag_HasTagType +* New methods for ID3_Tag: GetPrependedBytes(), GetAppendedBytes(), + GetFileSize(), and GetFileName() +* New function for calculating size of non-tag data in file: ID3_GetDataSize() +* Render now parameterized on ID3_TagType +* Bug fixes + +2000-06-23 Version 3.7.10 + +* New and updated example tags +* Corrected unicode parsing and rendering +* Improved parsing/conversion of Lyrics3 v2.00 tags +* Fixed errors with exception handling (thanks to Luca Leonardo Scorcia for the + bug reports) +* Fixed bugs/memory leaks with removing frames and updating tag (thanks to Luca + Leonardo Scorcia for the bug reports) +* Fixed finding of frames with empty text fields (thanks to Luca Leonardo + Scorcia for the bug reports) +* Improved documentation/implementation for uint28 +* Added GetTextID() method for ID3_Frame objects +* Tag doesn't render if there aren't any frames; frame doesn't render if there + aren't any fields +* Reordered ID3_AddSyncLyrics() parameters for better consistency with other + helper functions +* ID3_GetSyncLyricsInfo() parameters updated to be more specific +* Several other minor bug fixes + +2000-05-28 Version 3.7.9 + +* Added new test programs in examples/ for creating example tag files +* Further improvements to compile on (Unix) systems that don't have zlib +* Fixed a bug when parsing compressed frames (thanks to Christian Becker for + the bug report and example file) +* Fixed several bugs when writing to files (thanks to Lothar Egger and Peter + Thorstenson for the bug reports) +* New delphi example code for use with id3com (thanks Michael Little) +* Bugfixes for id3com (thanks John Adcock) +* Changed behavior of Link() and Clear() in ID3_Tag: Clear() doesn't remove + file reference, and Link'ing to an already-linked tag just changes the file + reference +* Cleaned up the class interfaces to use size_t, flags_t, and index_t rather + than luint, so as to be more descriptive +* ID3_Tag::RemoveFrame() now returns the pointer to the frame removed (NULL if + not present), thus releasing the tag from its repsonsibility of managing that + frame's memory +* Cleaned up C interface so that appropriate function parameters are const +* Cleaned up implementation of ID3_Tag::Clear() to fix inconsistencies +* Deprecated ID3_Tag's HasV2Tag(), HasV1Tag(), and HasLyrics() methods in + favor of ID3_Tag::HasTagType() method +* All Render() methods now const +* Added GetUnsync() method to ID3_Tag +* Cleaned up internal class definitions (thereby destroying binary + compatibility) +* ID3v2 tag now won't render (and its reported size is 0) if there aren't any + frames (per the spec) +* Fixed a bug when copying frames that prevented rendering compressed frames in + certain situations +* Fixed a bug with resyncing that caused it to improperly handle the last byte +* Fixed a bug with recognizing certain sync signals +* Lots of other minor changes + +2000-05-11 Version 3.7.8 + +* Major bug fix that caused all string frames to be written out as unicode, yet + with the wrong encoding information given +* Bug fix for stripping id3v2 tags that wouldn't remove enough data +* Bug fix for writing id3v1 tags that might add extraneous data to the tag + +2000-05-10 Version 3.7.7 + +* As part of the major rewrite of underlying codebase started with previous + release, this release features near-complete reimplementation of most of the + ID3v2 parsing code - smaller, faster, and better organized +* Much imporved Lyrics3 v2 tag support, along with much improved synchronized + lyrics (SYLT) support (thanks Severino Delaurenti) +* Updated id3com to reflect changes to compression strategy introduced in last + release (thanks John Adcock) +* Cleaned up the parameters to several functions/methods with regards to + constness +* Several new methods to several classes +* A variety of bugfixes + +2000-05-03 Version 3.7.6 + +* Beginning of major rewrite of underlying codebase to improve efficiency, + expandability; the interface will need minor updates through this endeavor + (sorry!) +* Major bugfix in ID3_Tag::Strip which was deleting too much info from a file + in certain circumstances +* Add descriptions to frames; can access either through a ID3_Frame method for + a frame object, or via the static method on the class (w/ ID3_FrameID param) + (thanks John Adcock for descriptions, Daryl Pawluk for spotting misorder) +* Frame compression is determined frame by frame, so deprecated + ID3_Tag::SetCompression() for ID3_Frame::SetCompression(). + ID3_Tag::SetCompression() is now a no-op (updated C interface accordingly) +* New method ID3_Frame::Contains(ID3_FieldID) for determining if a frame + contains a particular field +* New static method ID3_Tag::IsV2Tag() deprecates ID3_IsTagHeader() +* Other minor bugfixes + +2000-04-28 Version 3.7.5 + +* Fixed nasty bug with rewriting tags to windows files (thanks John Adcock) +* More fixes, improvements to id3com files (thanks John Adcock) +* Added parsing of Lyrics3 v1.00 tags (thanks Severino Delaurenti) +* Updated documentation, but still in flux +* Other minor bugfixes + +2000-04-26 Version 3.7.4 + +* Fixed windows project files so that they all work correctly with new release + (thanks John Adcock, Robert Moon, and Lothar Egger) +* Added a simple VB app to test id3lib using id3com.dll (thanks John Adcock) +* Added better implementation of PRIV (Private) frame (thanks John Adcock) +* Fixed padding logic (thanks John Adcock) +* New "Spec Versioning" system under the hood produces minor interface change + - Defined new enum: ID3_V2Spec (ID3V2_2_0, ID3V2_2_1, ID3V2_3_0, etc.) + - {Get,Set}Spec now used in favor of deprected {Get,Set}Version, GetRevision + - Field definitions updated accordingly; now smaller and more exact + +2000-04-24 Version 3.7.3 + +* C/C++ interface changes: + - Moved V1_LEN* constants into an enumeration so that they can be used as + array size initializers in C. Renamed the constants for consistency + (LEN_V1 -> ID3_V1_LEN, LEN_V1_TITLE -> ID3_V1_LEN_TITLE, etc.) + - Renamed ID3_TagType's enums to be more consistent with rest of library's + enums (V1_TAG -> ID3TT_ID3V1, V2_TAG -> ID3TT_ID3V2, etc.) + - ID3_Err enumeration now defines ID3E_NoError +* C++ interface changes: + - ID3_Frame now has a copy constructor + - ID3_Tag::AddNewFrame deprecated for AttachFrame (no other difference in + behavior) + - ID3_Tag::Link(char *, bool, bool) deprecated for + ID3_Tag::Link(char *, luint). Now accepts ID3_TagTypes to determine which + tags to parse. i.e, mytag.Link("myfile.mp3", ID3TT_ID3V2 | ID3TT_LYRICS); + - ID3_Tag::operator<<, ID3_Tag::AddFrame: relevant parameters now const +* C interface changes: + - ID3Tag_Parse, ID3Tag_Update, ID3Tag_Strip now return an ID3_Err + - Added functions ID3Tag_UpdateByTagType, ID3Frame_New, ID3Frame_NewID, + ID3Frame_Delete +* Implementation changes: + - AddFrame, AddFrames now add copies of the frames passed in. + - AttachFrame adds the actual frame passed to it. + - The tag takes responsibility for managing its frames' memory in all cases. +* Miscellaneous changes: + - Moved most enum and struct declarations to include/id3/globals.h so they + are accessible to C interface + - id3com.dsp file is 'fixed', but the project still doesn't compile w/o + errors + - Most doxygen comments moved from tag.h to respective files + - Fixed a bug in id3lib.spec which caused rpm binaries to be compiled without + exception handling + - examples, include/id3/* header files no longer include config.h + - Other minor bugfixes + +2000-04-21 Version 3.7.2 + +* Implementation of C interface for all platforms (in src/c_wrapper.cpp, which + replaces dll_wrapper.cpp) +* Added examples/demo_simple.c which demonstrates basic use of C interface +* Auto-generated documentation no longer shipped with main tarball distribution +* mp3 example files no longer included (still available via CVS) +* Updated Windows project files so that they'll (hopefully) compile cleanly + again + +2000-04-19 Version 3.7.1 + +* Interface changed: functions in version.{h,cpp} replaced with constants + defined in globals.h +* Added a spec file for creating rpm's +* C interface now defined in include/id3.h, replaces include/src/dll.h; +* Lots of file movement. src/id3/* to src/; src/examples to examples; +* Examples now compiled as installable binaries, rather than 'checks' +* Removed unnecessary files: externals.h, types.h, version.{h,cpp}, dll.h + +2000-04-15 Version 3.7.0 + +* New project management: MusicMatch handed reigns over to Scott Thomas Haug +* New project licensing: LGPL (http://www.gnu.org/copyleft/lesser.html) +* New versioning: 3.7.x is unstable series leading up to 3.8.x stable +* Many bug fixes +* Better windows compatibility, with new windows project files +* Improved documentation, using the Doxygen documentation system + (http://www.stack.nl/~dimitri/doxygen/) +* Extended API, improved implementation +* More supported frames +* Now parses and rerenders unrecognized frame types +* Better version handling in configuration files, similar to the glib library + (http://www.gtk.org) + +1999-12-02 Version 3.6.2 + +* Improved portability: another minor portability fixes, along with the + inclusion of zlib sources and project files for windows compilation. + +1999-12-01 Version 3.6.1 + +* Code movement: moved the header files from src/id3 to include/id3 to allow + for easier windows compilation. +* Improved portability: made changes in several files to improve compilation + on windows. (thanks to elrod for the fixes) +* Random cleanup: some spelling errors fixed, some minor file administration, + etc. + +1999-11-30 Version 3.6.0 + +* Code overhaul: more descriptive variable naming, streamlined implementation + logic, cleaner interface specification, generalization of magic numbers and + strings. +* Better documentation: transcribed the the "Documentation for ID3Lib 3.05" + document (written by Dirk Mahoney, 22 Nov 1998) into the actual source, using + javadoc-like tags so as to create documentation with the application doc++. + Using this program (and ones like it) allows for creating the documentation + in many different formats, including html, texinfo, man, latex, and the like. +* Added functionality: Added additional functions for simplified access to + common tags, such as artist, title, and album. +* More robust error checking: Improved upon the exception handling already in + place to better handle error conditions, such as invalid tags, unrecognized + frames, and the like. Work is still needed to ensure the library can handle + error situations gracefully. +* Improved portability: restructured the code into a GNU-like directory. + hierarchy. By making use of the GNU tools automake and autoconf, a wide + variety of platforms can be easily supported. This allows for a standard + "./configure; make; make install" installation process, as well as an + equally trivial method for uninstallation: "make uninstall". Likewise, + "make check" builds the example applications (see below). +* Enhanced examples: the src/examples/ subdirectory has both new and improved + examples demonstrating how to make use of id3lib. The original "id3convert" + example now can convert both ways between id3v1 and id3v2 tags, as well as + strip both types of tags off of files via command-line switches. + Additionally, an "id3info" app has been added for displaying id3v1/v2 tag + information about a file. +* Bug fixing: Fixes, fixes, and more fixes. A continual process. +* The zlib library files were removed from the project. The need for zlib + was instead made a requirement through the configuration process via autoconf + and automake. +* All of the id3lib library files were renamed by removing the "id3_" prefix. + Instead, the library files were placed in an id3 subdirectory in the src + directory. Likewise, when the library is installed on a system, an "id3" + subdirectory is created in the indicated include directory, and the header + files are placed there. Pragmatically, this means that code that makes use + of id3lib needs to "#include <id3/tag.h>" rather than "#include <id3_tag.h>". + This was done to create more structure and to avoid clutter in the include + directory. +* The versioning strategy has been updated to be more in line with the + "libtool" way. However, in order to be more compatible with how versions + progressed previously, I've taken the approach that many other libraries have + taken: I've "massaged" the version:revision:age numbers so that the resulting + compiled library shows up as id3lib.so.3.6.0 (or whatever the current release + is). This is /strongly/ advised against in the libtool documentation, so I'm + considering going to a more "traditional" libtool versioning approach (see + the libtool info page for more information). + +There is yet much to do! Please see the TODO file for known bugs and lacking +features... |