beets 1.3.10
This version adds a healthy helping of new features and fixes a critical MPEG-4--related bug. There are more lyrics sources, there new plugins for managing permissions and integrating with Plex, and the importer has a new --pretend
flag that shows which music would be imported.
One backwards-compatibility note: the lyrics
now requires the requests_ library. If you use this plugin, you will need to install the library by typing pip install requests
or the equivalent for your OS.
Also, as an advance warning, this will be one of the last releases to support Python 2.6. If you have a system that cannot run Python 2.7, please consider upgrading soon.
The new features are:
- A new
permissions
makes it easy to fix permissions on music files as they are imported. Thanks to xsteadfastx. #1098 - A new
plexupdate
lets you notify a Plex server when the database changes. Thanks again to xsteadfastx. #1120 - The import-cmd
command now has a
--pretend` flag that lists the files that will be imported. Thanks to mried. #1162 lyrics
: Add Musixmatch source and introduce a newsources
config option that lets you choose exactly where to look for lyrics and in which order.lyrics
: Add Brazilian and Spanish sources to Google custom search engine.- Add a warning when importing a directory that contains no music. #1116 #1127
zero
: Can now remove embedded images. #1129 #1100- The
config
command can now be used to edit the configuration even when it has syntax errors. #1123 #1128 lyrics
: Added a newforce
config option. #1150
As usual, there are loads of little fixes and improvements:
- Fix a new crash with the latest version of Mutagen (1.26).
lyrics
: Avoid fetching truncated lyrics from the Google backed by merging text blocks separated by empty ` tags before scraping.- We now print a better error message when the database file is corrupted.
discogs
: Only prompt for authentication when running theimport
command. #1123- When deleting fields with the
modify
command, do not crash when the field cannot be removed (i.e., when it does not exist, when it is a built-in field, or when it is a computed field). #1124 - The deprecated
echonest_tempo
plugin has been removed. Please use theechonest
instead. echonest
: Fingerprint-based lookup has been removed in accordance with API changes. #1121echonest
: Avoid a crash when the song has no duration information. #896lyrics
: Avoid a crash when retrieving non-ASCII lyrics from the Google backend. #1135 #1136smartplaylist
: Sort specifiers are now respected in queries. Thanks to djl. #1138 #1137ftintitle
andlyrics
: Featuring artists can now be detected when they use the Spanish word con. #1060 #1143mbcollection
: Fix an "HTTP 400" error caused by a change in the MusicBrainz API. #1152- The
%
and_
characters in path queries do not invoke their special SQL meaning anymore. #1146 convert
: Command-line argument construction now works on Windows. Thanks to mluds. #1026 #1157 #1158embedart
: Fix an erroneous missing-art error on Windows. Thanks to mluds. #1163importadded
: Now works with in-place and symlinked imports. #1170ftintitle
: The plugin is now quiet when it runs as part of the import process. Thanks to Freso. #1176 #1172ftintitle
: Fix weird behavior when the same artist appears twice in the artist string. Thanks to Marc Addeo. #1179 #1181lastgenre
: Match songs more robustly when they contain dashes. Thanks to djl. #1156- The
config
command can now use$EDITOR
variables with arguments.