Skip to content

beets 1.3.8

Compare
Choose a tag to compare
@sampsyo sampsyo released this 18 Sep 02:22
· 8277 commits to master since this release

This release has two big new chunks of functionality. Queries now support sorting and user-defined fields can now have types.

If you want to see all your songs in reverse chronological order, just type beet list year-. It couldn't be easier.

Flexible field types mean that some functionality that has previously only worked for built-in fields, like range queries, can now work with plugin- and user-defined fields too. For starters, the /plugins/echonest/ and mpdstats now mark the types of the fields they provide---so you can now say, for example, beet ls liveness:0.5..1.5 for the Echo Nest "liveness" attribute. The types makes it easy to specify field types in your config file.

One upgrade note: if you use the discogs, you will need to upgrade the Discogs client library to use this version. Just type pip install -U discogs-client.

Other new features:

  • info: Target files can now be specified through library queries (in addition to filenames). The --library option prints library fields instead of tags. Multiple files can be summarized together with the new --summarize option.
  • mbcollection: A new option lets you automatically update your collection on import. Thanks to Olin Gay.
  • convert: A new never_convert_lossy_files option can prevent lossy transcoding. Thanks to Simon Kohlmeyer.
  • convert: A new --yes command-line flag skips the confirmation.

Still more fixes and little improvements:

  • Invalid state files don't crash the importer.
  • lyrics: Only strip featured artists and parenthesized title suffixes if no lyrics for the original artist and title were found.
  • Fix a crash when reading some files with missing tags.
  • discogs: Compatibility with the new 2.0 version of the discogs_client Python library. If you were using the old version, you wil need to upgrade to the latest version of the library to use the correspondingly new version of the plugin (e.g., with pip install -U discogs-client). Thanks to Andriy Kohut.
  • Fix a crash when writing files that can't be read. Thanks to Jocelyn De La Rosa.
  • The stats command now counts album artists. The album count also more accurately reflects the number of albums in the database.
  • convert: Avoid crashes when tags cannot be written to newly converted files.
  • Formatting templates with item data no longer confusingly shows album-level data when the two are inconsistent.
  • Resuming imports and beginning incremental imports should now be much faster when there is a lot of previously-imported music to skip.
  • lyrics: Remove <script> tags from scraped lyrics. Thanks to Bombardment.
  • play: Add a relative_to config option. Thanks to BrainDamage.
  • Fix a crash when a MusicBrainz release has zero tracks.
  • The --version flag now works as an alias for the version command.
  • lastgenre: Remove some unhelpful genres from the default whitelist. Thanks to gwern.
  • importfeeds: A new echo output mode prints files' paths to standard error. Thanks to robotanarchy.
  • replaygain: Restore some error handling when mp3gain output cannot be parsed. The verbose log now contains the bad tool output in this case.
  • convert: Fix filename extensions when converting automatically.
  • The write plugin event allows plugins to change the tags that are written to a media file.
  • zero: Do not delete database values; only media file tags are affected.