beets v1.4.1 Release Notes

Release Date: 2016-11-26 // over 7 years ago
  • 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: The duplicates command 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 colors configuration option has been removed (the setting is now under ui).
    • The deprecated list_format_album and list_format_item configuration options have been removed (see format_album and format_item).

    The are a few new features:

    • ⚑️ mpdupdate, mpdstats: When the host option is not set, these plugins will now look for the $MPD_HOST environment variable before falling back to localhost. Thanks to @tarruda. #2175
    • 🌐 web: Added an expand option to show the items of an album. #2050
    • ⚑️ embyupdate: The plugin can now use an API key instead of a password to authenticate with Emby. #2045 #2117
    • πŸ”Œ acousticbrainz: The plugin now adds a bpm field.
    • beet --version now 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 update command takes a new -F flag 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 #2262
    • πŸ”Œ embedart: The plugin now uses jpg as an extension rather than jpeg, to ensure consistency with the plugins/fetchart. Thanks to @tweitzel. #2254 #2255
    • πŸ”Œ embedart: The plugin now works for all jpeg files, including those that are only recognizable by their magic bytes. #1545 #2255
    • πŸ–¨ web: The JSON output is no longer pretty-printed (for a space savings). #2050
    • πŸš€ permissions: Fix a regression in the previous release where the plugin would always fail to set permissions (and log a warning). #2089
    • beatport: Use track numbers from Beatport (instead of determining them from the order of tracks) and set the medium_index value.
    • 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 $args getting passed verbatim to the play command if it was set in the configuration but -A or --args was 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 have media, medium_total and medium set correctly. #2222 #2228.
    • missing: missing is 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.