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
: Theduplicates
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 underui
). - The deprecated
list_format_album
andlist_format_item
configuration options have been removed (see format_album and format_item).
The are a few new features:
mpdupdate
,mpdstats
: When thehost
option is not set, these plugins will now look for the$MPD_HOST
environment variable before falling back tolocalhost
. Thanks to @tarruda. #2175web
: Added anexpand
option 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 abpm
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 #2262embedart
: The plugin now usesjpg
as 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_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 havemedia
,medium_total
andmedium
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.