1.0b4 ----- * Parallel tagger. The autotagger has been reimplemented to use multiple threads. This means that it can concurrently read files from disk, talk to the user, communicate with MusicBrainz, and write data back to disk. Not only does this make the tagger much faster because independent work may be performed in parallel, but it makes the tagging process much more pleasant for large imports. The user can let albums queue up in the background while making a decision rather than waiting for beets between each question it asks. The parallel tagger is on by default but a sequential (single- threaded) version is still available by setting the "threaded" config value to "no" (because the parallel version is still quite experimental). * Colorized tagger output. The autotagger interface now makes it a little easier to see what's going on at a glance by highlighting changes with terminal colors. This feature is on by default, but you can turn it off by setting "color" to "no" in your .beetsconfig (if, for example, your terminal doesn't understand colors and garbles the output). * Fixed a bug where the CLI would fail completely if the LANG environment variable was not set. * Fixed removal of albums (beet remove -a): previously, the album record would stay around although the items were deleted. 1.0b3 ----- * Album art. The tagger now, by default, downloads album art from Amazon that is referenced in the MusicBrainz database. It places the album art alongside the audio files in a file called (for example) "cover.jpg". The "import_art" config option controls this behavior, as do the -r and -R options to the import command. You can set the name (minus extension) of the album art file with the "art_filename" config option. * Plugin architecture. Add-on modules can now add new commands to the beets command-line interface. The "bpd" and "dadd" commands were removed from the beets core and turned into plugins; BPD is loaded by default. To load the non-default plugins, use the "plugins" config value (a space-separated list of plugin names). You can also set the "pluginpath" config option to a colon-separated list of directories to search for plugins. Plugins are just Python modules under the "beetsplug" namespace package containing subclasses of beets.plugins.BeetsPlugin. See the "beetsplug" directory for examples. * Support for MusicBrainz ID tags. The autotagger now keeps track of the MusicBrainz track, album, and artist IDs it matched for each file. It also looks for album IDs in new files it's importing and uses those to look up data in MusicBrainz. Furthermore, track IDs are used as a component of the tagger's distance metric now. Tangentially, change required the database code to support a lightweight form of migrations so that new columns could be added to old databases--this is a delicate feature, so it would be very wise to make a backup of your database before upgrading to this version. * As a consequence of adding album art, the database was significantly refactored to keep track of some information at an album (rather than item) granularity. Databases created with earlier versions of beets should work fine, but they won't have any "albums" in them--they'll just be a bag of items. This means that commands like "beet ls -a" and "beet rm -a" won't match anything. To "upgrade" your database, you can use the included "albumify" plugin. Running "beets albumify" with the plugin activated will group all your items into albums, making beets behave more or less as it did before. * Fixed some bugs with encoding paths on Windows. Also, : is now replaced with - in path names (instead of _) for readability. * MediaFiles now have a "format" attribute, so you can use $format in your library path format strings like "$artist - $album ($format)" to get directories with names like "Paul Simon - Graceland (FLAC)". 1.0b2 ----- * Support for Ogg Vorbis and Monkey's Audio files and their tags. (This support should be considered preliminary: I haven't tested it heavily because I don't use either of these formats regularly.) * An option to the "beet import" command for logging albums that are untaggable (i.e., are skipped or taken "as-is"). Use "beet import -l LOGFILE PATHS". The log format is very simple: it's just a status (either "skip" or "asis") followed by the path to the album in question. The idea is that you can tag a large collection and automatically keep track of the albums that weren't found in MusicBrainz so you can come back and look at them later. * Fixed UnicodeEncodeError on terminals that don't (or don't claim to) support UTF-8. * Importing without autotagging ("beet import -A") is now faster and doesn't print out a bunch of whitespace. It also lets you specify single files on the command line (rather than just directories). * Fixed importer crash when attempting to read a corrupt file. * Reorganized code for CLI in preparation for adding pluggable subcommands. Also removed dependency on the aging "cmdln" module. 1.0b1 ----- First public release.