This release adds two new standard plugins to beets: one for synchronizing Last.fm listening data and one for integrating with Linux desktops. And at long last, imports can now create symbolic links to music files instead of copying or moving them. We also gained the ability to search for album art on the iTunes Store and a new way to compute ReplayGain levels.
The major new features are:
- A new `lastimport` lets you download your play count data from Last.fm into a flexible attribute. Thanks to Rafael Bodill.
- A new `freedesktop` creates metadata files for Freedesktop.org-compliant file managers. Thanks to kerobaros. 1056, 707
- A new link option in the `import` section creates symbolic links during import instead of moving or copying. Thanks to Rovanion Luckey. 710, 114
- `fetchart`: You can now search for art on the iTunes Store. There's also a new `sources` config option that lets you choose exactly where to look for images and in which order.
- `replaygain`: A new Python Audio Tools backend was added. Thanks to Francesco Rubino. 1070
- `embedart`: You can now automatically check that new art looks similar to existing art---ensuring that you only get a better "version" of the art you already have. See image-similarity-check.
- `ftintitle`: The plugin now runs automatically on import. To disable this, unset the `auto` config flag.
There are also core improvements and other substantial additions:
- The `media` attribute is now a _track-level field_ instead of an album-level one. This field stores the delivery mechanism for the music, so in its album-level incarnation, it could not represent heterogeneous releases---for example, an album consisting of a CD and a DVD. Now, tracks accurately indicate the media they appear on. Thanks to Heinz Wiesinger.
- Re-imports of your existing music now preserve its added date and flexible attributes. Thanks to Stig Inge Lea Bjørnsen.
- Slow queries, such as those over flexible attributes, should now be much faster when used with certain commands---notably, the `play`.
- `bpd`: Add a new configuration option for setting the default volume. Thanks to IndiGit.
- `embedart`: A new `ifempty` config option lets you only embed album art when no album art is present. Thanks to kerobaros.
- `discogs`: Authenticate with the Discogs server. The plugin now requires a Discogs account due to new API restrictions. Thanks to multikatt. 1027, 1040
And countless little improvements and fixes:
- Standard cover art in APEv2 metadata is now supported. Thanks to Matthias Kiefer. 1042
- `convert`: Avoid a crash when embedding cover art fails.
- `mpdstats`: Fix an error on start (introduced in the previous version). Thanks to Zach Denton.
- `convert`: The `--yes` command-line flag no longer expects an argument.
- `play`: Remove the temporary .m3u file after sending it to the player.
- The importer no longer tries to highlight partial differences in numeric quantities (track numbers and durations), which was often confusing.
- Date-based queries that are malformed (not parse-able) no longer crash beets and instead fail silently.
- `duplicates`: Emit an error when the `checksum` config option is set incorrectly.
- The migration from pre-1.1, non-YAML configuration files has been removed. If you need to upgrade an old config file, use an older version of beets temporarily.
- `discogs`: Recover from HTTP errors when communicating with the Discogs servers. Thanks to Dustin Rodriguez.
- `embedart`: Do not log "embedding album art into..." messages during the import process.
- Fix a crash in the autotagger when files had only whitespace in their metadata.
- `play`: Fix a potential crash when the command outputs special characters. 1041
- `web`: Queries typed into the search field are now treated as separate query components. 1045
- Date tags that use slashes instead of dashes as separators are now interpreted correctly. And WMA (ASF) files now map the `comments` field to the "Description" tag (in addition to "WM/Comments"). Thanks to Matthias Kiefer. 1043
- `embedart`: Avoid resizing the image multiple times when embedding into an album. Thanks to kerobaros. 1028, 1036
- `discogs`: Avoid a situation where a trailing comma could be appended to some artist names. 1049
- The output of the `stats` command is slightly different: the approximate size is now marked as such, and the total number of seconds only appears in exact mode.
- `convert`: A new `copy_album_art` option puts images alongside converted files. Thanks to Ángel Alonso. 1050, 1055
- There is no longer a "conflict" between two plugins that declare the same field with the same type. Thanks to Peter Schnebel. 1059 1061
- `chroma`: Limit the number of releases and recordings fetched as the result of an Acoustid match to avoid extremely long processing times for very popular music. 1068
- Fix an issue where modifying an album's field without actually changing it would not update the corresponding tracks to bring differing tracks back in line with the album. 856
- `echonest`: When communicating with the Echo Nest servers fails repeatedly, log an error instead of exiting. 1096
- `lyrics`: Avoid an error when the Google source returns a result without a title. Thanks to Alberto Leal. 1097
- Importing an archive will no longer leave temporary files behind in `/tmp`. Thanks to multikatt. 1067, 1091