- cdsuite 3.2 MusicBrainz have changed their database schema so that individual discs are represented, but no new Python bindings are available yet -- and the old API now behaves a bit oddly, returning multiple identical results for an unambiguous discid, and returning all the tracks for a multi-disc release when queried by releaseid. To work around the former, cdsuite now automatically discards duplicate results. To work around the latter, cdsuite now uses the result of the by-discid query for renaming, but this won't work when there's actual ambiguity; there's no way of doing a query by both discid and releaseid in musicbrainz2. Roll on musicbrainz3! - cdsuite 3.1 When a match isn't found for a disc, print the submission URL immediately. Remove MusicBrainz matches that are only stubs, since they have no ID, and need attaching to the right release using the web interface anyway. - cdsuite 3.0 Rewrite much of cdsuite around the python-musicbrainz2 bindings. This makes the code a lot cleaner; I'm really quite impressed with the neatness of the MusicBrainz client library. It also improves portability significantly since we don't have to read the TOC ourselves any more. The filenames cdsuite generates are now always in UTF-8, since MusicBrainz can produce arbitrary Unicode results, and UTF-8 appears to be the standard for filename encoding these days. - cdsuite 2.3 Handle multiline TTITLE responses from CDDB. Handle tracks with no title specified. - cdsuite 2.2 Don't encode data tracks, and don't try to rename files that don't exist. Fix future warnings with Python 2.3 when calculating CDID. Eject the CD once audio extraction is complete. - cdsuite 2.1 Implement choice when more than one match is found in CDDB. Be more flexible about matching old names when renaming files, so that you can rename a directory again using a different alternative match if you don't like the first one (or if it fails because it's a close match with a different number of tracks). - cdsuite 2.0 Initial release of cdsuite Python rewrite.