Skip to content

beets 1.3.4

Compare
Choose a tag to compare
@sampsyo sampsyo released this 05 Apr 18:48
· 9059 commits to master since this release

This release brings a hodgepodge of medium-sized conveniences to beets. A new config command manages your configuration, we now have bash completion, and the modify command can delete attributes. There are also some significant performance optimizations to the autotagger's matching logic.

One note for upgraders: if you use the fetchart plugin, it has a new dependency, the requests module.

New stuff:

  • Added a config command to manage your configuration. It can show you what you currently have in your config file, point you at where the file should be, or launch your text editor to let you modify the file. Thanks to geigerzaehler.
  • Beets now ships with a shell command completion script! See completion. Thanks to geigerzaehler.
  • The modify command now allows removing flexible attributes. For example, beet modify artist:beatles oldies! deletes the oldies attribute from matching items. Thanks to brilnius.
  • Internally, beets has laid the groundwork for supporting multi-valued fields. Thanks to geigerzaehler.
  • The importer interface now shows the URL for MusicBrainz matches. Thanks to johtso.
  • smartplaylist: Playlists can now be generated from multiple queries (combined with "or" logic). Album-level queries are also now possible and automatic playlist regeneration can now be disabled. Thanks to brilnius.
  • echonest: Echo Nest similarity now weights the tempo in better proportion to other metrics. Also, options were added to specify custom thresholds and output formats. Thanks to Adam M.
  • Added the after_write plugin event.
  • lastgenre: Separator in genre lists can now be configured. Thanks to brilnius.
  • We now only use "primary" aliases for artist names from MusicBrainz. This eliminates some strange naming that could occur when the languages config option was set. Thanks to Filipe Fortes.
  • The performance of the autotagger's matching mechanism is vastly improved. This should be noticeable when matching against very large releases such as box sets.
  • The import command can now accept individual files as arguments even in non-singleton mode. Files are imported as one-track albums.

Fixes:

  • Error messages involving paths no longer escape non-ASCII characters (for legibility).
  • Fixed a regression that made it impossible to use the modify command to add new flexible fields. Thanks to brilnius.
  • echonest: Avoid crashing when the audio analysis fails. Thanks to Pedro Silva.
  • duplicates: Fix checksumming command execution for files with quotation marks in their names. Thanks again to Pedro Silva.
  • Fix a crash when importing with both of the group_albums and incremental options enabled. Thanks to geigerzaehler.
  • Give a sensible error message when BEETSDIR points to a file. Thanks again to geigerzaehler.
  • Fix a crash when reading WMA files whose boolean-valued fields contain strings. Thanks to johtso.
  • fetchart: The plugin now sends "beets" as the User-Agent when making scraping requests. This helps resolve some blocked requests. The plugin now also depends on the requests Python library.
  • The write command now only shows the changes to fields that will actually be written to a file.
  • duplicates: Spurious reports are now avoided for tracks with missing values (e.g., no MBIDs). Thanks to Pedro Silva.
  • The default replace sanitation options now remove leading whitespace by default. Thanks to brilnius.
  • importfeeds: Fix crash when importing albums containing / with the m3u_multi format.
  • Avoid crashing on Mutagen bugs while writing files' tags.
  • convert: Display a useful error message when the FFmpeg executable can't be found.