beets 1.4.1
Version 1.4 has alpha-level Python 3 support. Thanks to the heroic efforts of @jrobeson, beets should run both under Python 2.7, as before, and now under Python 3.4 and above. The support is still new: it undoubtedly contains bugs, so it may replace all your music with Limp Bizkit—but if you're brave and you have backups, please try installing on Python 3. Let us know how it goes.
If you package beets for distribution, here's what you'll want to know:
- This version of beets now depends on the six library.
- We also bumped our minimum required version of Mutagen to 1.33 (from 1.27).
- Please don't package beets as a Python 3 application yet, even though most things work under Python 3.4 and later.
This version also makes a few changes to the command-line interface and configuration that you may need to know about:
duplicates: Theduplicatescommand no longer accepts multiple field arguments in the form-k title albumartist album. Each argument must be prefixed with-k, as in-k title -k albumartist -k album.- The old top-level
colorsconfiguration option has been removed (the setting is now underui). - The deprecated
list_format_albumandlist_format_itemconfiguration options have been removed (see format_album and format_item).
The are a few new features:
mpdupdate,mpdstats: When thehostoption is not set, these plugins will now look for the$MPD_HOSTenvironment variable before falling back tolocalhost. Thanks to @tarruda. #2175web: Added anexpandoption to show the items of an album. #2050embyupdate: The plugin can now use an API key instead of a password to authenticate with Emby. #2045 #2117acousticbrainz: The plugin now adds abpmfield.beet --versionnow includes the Python version used to run beets.- /reference/pathformat can now include unescaped commas (
,) when they are not part of a function call. #2166 #2213 - The
updatecommand takes a new-Fflag to specify the fields to update. Thanks to @dangmai. #2229 #2231
And there are a few bug fixes too:
convert: The plugin no longer asks for confirmation if the query did not return anything to convert. #2260 #2262embedart: The plugin now usesjpgas an extension rather thanjpeg, to ensure consistency with the plugins/fetchart. Thanks to @tweitzel. #2254 #2255embedart: The plugin now works for all jpeg files, including those that are only recognizable by their magic bytes. #1545 #2255web: The JSON output is no longer pretty-printed (for a space savings). #2050permissions: Fix a regression in the previous release where the plugin would always fail to set permissions (and log a warning). #2089beatport: Use track numbers from Beatport (instead of determining them from the order of tracks) and set themedium_indexvalue.- With per_disc_numbering enabled, some metadata sources (notably, the
beatport) would not set the track number at all. This is fixed. #2085 play: Fix$argsgetting passed verbatim to the play command if it was set in the configuration but-Aor--argswas omitted.- With ignore_hidden enabled, non-UTF-8 filenames would cause a crash. This is fixed. #2168
embyupdate: Fixes authentication header problem that caused a problem that it was not possible to get tokens from the Emby API.lyrics: Some titles use a colon to separate the main title from a subtitle. To find more matches, the plugin now also searches for lyrics using the part part preceding the colon character. #2206- Fix a crash when a query uses a date field and some items are missing that field. #1938
discogs: Subtracks are now detected and combined into a single track, two-sided mediums are treated as single discs, and tracks havemedia,medium_totalandmediumset correctly. #2222 #2228.missing:missingis now treated as an integer, allowing the use of (for example) ranges in queries.smartplaylist: Playlist names will be sanitized to ensure valid filenames. #2258- The ID3 APIC tag now uses the Latin-1 encoding when possible instead of a Unicode encoding. This should increase compatibility with other software, especially with iTunes and when using ID3v2.3. Thanks to @lazka. #899 #2264 #2270
The last release, 1.3.19, also erroneously reported its version as "1.3.18" when you typed beet version. This has been corrected.