aboutsummaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorLucas Eckels <eckels@google.com>2012-08-06 15:12:54 -0700
committerLucas Eckels <eckels@google.com>2012-08-08 09:29:05 -0700
commit8a58cac9f8db5ed55b02b3ac24156d628af923d1 (patch)
tree3960df276069aefab2103e778cc52e89253b12ef /NEWS
parent2f9cfa4836e5e572c0e5688bec15515355b709a1 (diff)
downloadid3lib-8a58cac9f8db5ed55b02b3ac24156d628af923d1.tar.gz
Add id3lib 3.8.3 source.
Change-Id: Ic723712b360a1760b4c081b1f6a77939bb2969a9
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS325
1 files changed, 325 insertions, 0 deletions
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..0173693
--- /dev/null
+++ b/NEWS
@@ -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...