Changes for libmusicbrainz 5.1.0
--------------------------------

   - Fix LMB-33 - Handle 'ended' element in 'relation'
   - Fix LMB-34 - Remove non-free XML parser and replace with libxml2
   - Add support for cross-compilation and building out of tree

Changes for libmusicbrainz 5.0.1
--------------------------------

   - Fix LMB-32 - Correctly ignore unrecognised nodes
   - Don't compile using -Werror when building from tarball

Changes for libmusicbrainz 5.0.0
--------------------------------

   - Deprecated functions removed

Changes for libmusicbrainz 4.0.3
--------------------------------

   - Fix LMB-32 - Correctly ignore unrecognised nodes
   - Don't compile using -Werror when building from tarball

Changes for libmusicbrainz 4.0.2
--------------------------------

   - Add extra attributes to Alias
   - Add IPI lists to Artist and Label
   - Add 'Ended' to Lifespan
   - Add PrimaryType and SecondaryTypeList to ReleaseGroup
   - Add text based track number to Track
   - Add ISWC list to Work
   - Debug builds show queries and responses on stderr
   - Documentation updates

Changes for libmusicbrainz 4.0.1
--------------------------------

   - Fixed bug LMB-30 - Unable to access all relation lists on objects with
      multiple relation lists
   - Fixed bug LMB-31 - mb_relationlist_get_targettype always returns
      "target-type"

Changes for libmusicbrainz 4.0.0
--------------------------------

   - Added support for collection list being returned as part of a release

Changes for libmusicbrainz 4.0.0 beta 2
---------------------------------------

   - Restructured for easier maintenance
   - List class interface rewritten
   - Added handling of extension elements and attributes
   - Add handling of all list attributes and elements
   - C interface is now automatically generated from an XML file template

N.B. The API has changed with regard to lists since beta 1. Any
applications are likely to need rewriting to take account of this
and will certainly need to be recompiled due to the ABI change.

Changes for libmusicbrainz 4.0.0 beta 1
---------------------------------------

   - Rewritten from scratch for NGS

Changes for libmusicbrainz 3.0.4
--------------------------------

   - Fixed parsing of release-group lists. (#5891)
   - Fixed compilation on the Sun Studio compiler (#5801)
   - Added mb_disc_free() to the C bindings. (#5885)

Changes for libmusicbrainz 3.0.3
--------------------------------

   - Use Requires.private instead of Requires for dependencies in
     libmusicbrainz3.pc
   - Support for reading and submitting ISRCs
   - Support for reading ratings for all entity type
   - Full release group and label support
   - C wrappers for extractFragment and extractUuid
   - Support for filtering by any Lucene query

Changes for libmusicbrainz 3.0.2
--------------------------------

   - Added mb_track_get_artist to the C API. (#3817)
   - Fix incorrect string comparision in the XML parser code. (#3614)
   - Fix compilation on GCC 4.3 (#3490 and #3613, patch by Ross Burton
     and "dirtyepic")

Changes for libmusicbrainz 3.0.1
--------------------------------

   - Fixed mb_query_get_tracks function name in mb_c.h.
   - Detect correctly installed libdiscid in src/disc.cpp.
   - Support for releaseEvents in ArtistIncludes. (#2974)
   - Support for catalog numbers and barcodes.
   - Added Release::TYPE_PSEUDO_RELEASE.
   - Added mb_release_get_artist to the C API, patch by Ross Burton.

Changes for libmusicbrainz 3.0.0 (2007-05-12)
---------------------------------------------

   - Use CMake as the only build system.

Changes for libmusicbrainz 3.0.0beta3
-------------------------------------

   - C bindings for artist/release/track collections.
   - New cdlookup_c.c example.

Changes for libmusicbrainz 3.0.0beta2
-------------------------------------

   - Fixed MusicBrainz::extractUuid for non-artist IDs.
   - Implementation of release types.
   - Implementation of release lists on track level.
   - New cdlookup.cpp example.

Changes for libmusicbrainz 3.0.0beta1
-------------------------------------

   - Rewritten from scratch, libmusicbrainz now uses the new XML web service.
   - New object oriented API in C++ based on python-musicbrainz2, with
     GLib-style C bindings.


******************************************************************************
******************************************************************************
******************************************************************************

Changes for libmusicbrainz 2.1.2
-------------------------------------

   - Since expat is now installed on most systems we removed our internal copy
     and now rely on the system installed version.
   - Juergen Kreileder Supplied minimal patch for making sure that mb_client still works
     when CDO_CHECK_TYPE is defined
   - Fixed a C++ style variable declaration inside the album.c C module
   - On linux the cdrom drive is now opened in non-blocking mode
   - Fixed bug #834541: Tagger setting track no. is 0 - possibly due to trm mixup?
   - Added support for parsing AdvancedRelationship date. Also added new
     getrels.c example program.
   - Re-added the python bindings and changed the binding's version number to
     match the version of this lib.
   - Fixed bug # 1224562: libmusicbrainz fails to post large RDF. This fixes
     problems looking up CDs with large numbers of tracks. (This was also
     bug # 725701 ignores blank tracks)

   The included perl bindings had the following changes:
      - Updated bindings to match up to 2.1.1
      - Fixed int size cast warning
      - Fixed #6431: unmatched bootstrap parameter
      - Updated req for MusicBrainz::Queries to 0.07

   The included python bindings had the following changes:
      - Fixed #957393: Python Bindings type bug
      - Fixed #1206514: Python bindings to select release not up-to-date

Changes for libmusicbrainz 2.1.1
-------------------------------------

   - Return special TRMs for special conditions for TRM generation:
     c457a4a8-b342-4ec9-8f13-b6bd26c0e400  -- Sigserver busy and overloaded
     f9809ab1-2b0f-4d78-8862-fb425ade8ab9  -- Source file is too short to calculate TRM
     7d154f52-b536-4fae-b58b-0666826c2bac  -- File is slience

   - If the TRM signature server becomes overloaded, it will now start
     returning HTTP 503 error codes and the TRM generator will catch that
     and return the Sigserver busy TRM shown above.


Changes for libmusicbrainz 2.1.0
-------------------------------------

   - moved the python bindings into a new seperate project
   - rewrote the mp3 duration detection code to be more robust
     by making it vastly easier. In the process the bitzi
     related code has been tossed. This should make the libary
     smaller and the mp3 duration checking faster.
   - Due to the bitzi code being removed, the SHA1 and Bitprint
     related functions have been removed.
   - Added query items for Release Dates/Countries, Amazon Asins and Amazon cover art URLs
   - Move include files into include/musicbrainz so that the example
     files will compile outside of the libmusicbrainz client
     source tree.

Changes for libmusicbrainz 2.0.2
-------------------------------------

   - Added support for Mac OS X
   - Improved build system
   - Added build files for Visual Studio .NET (VC7)

Changes for libmusicbrainz 2.0.1
-------------------------------------
   - Added patch for pkgconfig
   - Threading handled correctly in python wrapper
   - New perl bindings
   - Had client use HTTP 1.0 rather than HTTP 1.1


Changes for libmusicbrainz 2.0.0
-------------------------------------

   - Removed some spurious C++ comments from mb_c.h
   - Fixes and improvements to the python language bindings and tools
   - Updated NetBSD cdrom reading code

Changes for libmusicbrainz 2.0.0-pre4
-------------------------------------

   - Two new functions have been added:
       mb_GetFragmentFromURL - Retrieve a fragment from a URI
       mb_GetOrdinalFromList - Retrieve a list ordinal from a given list --
                               this is sometimes needed to determine the
                               location of an item in a list. (e.g. a track in
                               an album in order to find the track number)
   - The TRM code has been updated for TRM B#er.
   - New queries have been added to queries.h in order to support the improved
     FileLookupInterface.
   - The client library now uses the mm-2.1 and mq-1.1 namespaces.
   - The client library will now be referred to as libmusicbrainz

Changes from version 1.1.0 to version 2.0.0-pre1
------------------------------------------------

   - Added authentication support
   - Added new queries
   - Added support for submitting client version to the server
     during TRM submits
   - Updated client code for TRM B#er

Changes from version 1.0.1 to version 1.1.0
-------------------------------------------

   - Fixed an OpenBSD 3.0 compile problem
   - Updated libtool version to 1.4.2 in hopes to get it to build on OSX.
   - Added MBQ_Quick queries to support the MB Tagger
   - Fixed a bug in the TRM generation that caused different TRMs to be
     generated for subsequent runs on the same file.

Changes from version 1.0.0 to version 1.0.1
-------------------------------------------

   - Fixed the multi drive support under windows.
   - Added support for setting the depth of a query via GET methods.
   - Added SetDebug() function that allows the caller to set the
     debug mode. In debug mode the library will print the server
     URL, query and responses to stdout.
   - Fixed a few crash bugs in the bitzi id3/mp3 metadata code
   - Changed the bitzi plugin manager to not load plugins, in order
     to avoid the unecessary dependency on dlopen/dlsym/dlclose.
   - Removed a bunch of generates files from the CVS archive.
