Beets

Latest version: v1.6.0

Safety actively analyzes 630254 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 10 of 10

1.0b3

Not secure
---------------------

This release features two major additions to the autotagger's functionality:
album art fetching and MusicBrainz ID tags. It also contains some important
under-the-hood improvements: a new plugin architecture is introduced
and the database schema is extended with explicit support for albums.

This release has one major backwards-incompatibility. Because of the new way
beets handles albums in the library, databases created with an old version of
beets might have trouble with operations that deal with albums (like the ``-a``
switch to ``beet list`` and ``beet remove``, as well as the file browser for
BPD). To "upgrade" an old database, you can use the included ``albumify`` plugin
(see the fourth bullet point below).

* **Album art.** The tagger now, by default, downloads album art from Amazon
that is referenced in the MusicBrainz database. It places the album art
alongside the audio files in a file called (for example) ``cover.jpg``. The
``import_art`` config option controls this behavior, as do the ``-r`` and
``-R`` options to the import command. You can set the name (minus extension)
of the album art file with the ``art_filename`` config option. (See
:doc:`/reference/config` for more information about how to configure the album
art downloader.)

* **Support for MusicBrainz ID tags.** The autotagger now keeps track of the
MusicBrainz track, album, and artist IDs it matched for each file. It also
looks for album IDs in new files it's importing and uses those to look up data
in MusicBrainz. Furthermore, track IDs are used as a component of the tagger's
distance metric now. (This obviously lays the groundwork for a utility that
can update tags if the MB database changes, but that's `for the future`_.)
Tangentially, this change required the database code to support a lightweight
form of migrations so that new columns could be added to old databases--this
is a delicate feature, so it would be very wise to make a backup of your
database before upgrading to this version.

* **Plugin architecture.** Add-on modules can now add new commands to the beets
command-line interface. The ``bpd`` and ``dadd`` commands were removed from
the beets core and turned into plugins; BPD is loaded by default. To load the
non-default plugins, use the config options ``plugins`` (a space-separated
list of plugin names) and ``pluginpath`` (a colon-separated list of
directories to search beyond ``sys.path``). Plugins are just Python modules
under the ``beetsplug`` namespace package containing subclasses of
``beets.plugins.BeetsPlugin``. See `the beetsplug directory`_ for examples or
:doc:`/plugins/index` for instructions.

* As a consequence of adding album art, the database was significantly
refactored to keep track of some information at an album (rather than item)
granularity. Databases created with earlier versions of beets should work
fine, but they won't have any "albums" in them--they'll just be a bag of
items. This means that commands like ``beet ls -a`` and ``beet rm -a`` won't
match anything. To "upgrade" your database, you can use the included
``albumify`` plugin. Running ``beets albumify`` with the plugin activated (set
``plugins=albumify`` in your config file) will group all your items into
albums, making beets behave more or less as it did before.

* Fixed some bugs with encoding paths on Windows. Also, ``:`` is now replaced
with ``-`` in path names (instead of ``_``) for readability.

* ``MediaFile``s now have a ``format`` attribute, so you can use ``$format`` in
your library path format strings like ``$artist - $album ($format)`` to get
directories with names like ``Paul Simon - Graceland (FLAC)``.

.. _for the future: https://github.com/google-code-export/beets/issues/69
.. _the beetsplug directory:
https://github.com/beetbox/beets/tree/master/beetsplug

Beets also now has its first third-party plugin: `beetfs`_, by Martin Eve! It
exposes your music in a FUSE filesystem using a custom directory structure. Even
cooler: it lets you keep your files intact on-disk while correcting their tags
when accessed through FUSE. Check it out!

.. _beetfs: https://github.com/jbaiter/beetfs

1.0b2

Not secure
--------------------

This release focuses on high-priority fixes and conspicuously missing features.
Highlights include support for two new audio formats (Monkey's Audio and Ogg
Vorbis) and an option to log untaggable albums during import.

* **Support for Ogg Vorbis and Monkey's Audio** files and their tags. (This
support should be considered preliminary: I haven't tested it heavily because
I don't use either of these formats regularly.)

* An option to the ``beet import`` command for **logging albums that are
untaggable** (i.e., are skipped or taken "as-is"). Use ``beet import -l
LOGFILE PATHS``. The log format is very simple: it's just a status (either
"skip" or "asis") followed by the path to the album in question. The idea is
that you can tag a large collection and automatically keep track of the albums
that weren't found in MusicBrainz so you can come back and look at them later.

* Fixed a ``UnicodeEncodeError`` on terminals that don't (or don't claim to)
support UTF-8.

* Importing without autotagging (``beet import -A``) is now faster and doesn't
print out a bunch of whitespace. It also lets you specify single files on the
command line (rather than just directories).

* Fixed importer crash when attempting to read a corrupt file.

* Reorganized code for CLI in preparation for adding pluggable subcommands. Also
removed dependency on the aging ``cmdln`` module in favor of `a hand-rolled
solution`_.

.. _a hand-rolled solution: https://gist.github.com/462717

1.0b1

Not secure
---------------------

Initial release.

0.04.1

Page 10 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.