@@ -4,64 +4,81 @@ Changelog
441.6.0 (in development)
55----------------------
66
7- This release now requires Python 3.6 or later (it removes support for Python
8- 2.7, 3.4, and 3.5).
7+ This release is our first experiment with time-based releases! We are aiming
8+ to publish a new release of beets every 3 months. We therefore have a healthy
9+ but not dizzyingly long list of new features and fixes.
10+
11+ With this release, beets now requires Python 3.6 or later (it removes support
12+ for Python 2.7, 3.4, and 3.5). There are also a few other dependency
13+ changes---if you're a maintainer of a beets package for a package manager,
14+ thank you for your ongoing efforts, and please see the list of notes below.
915
1016Major new features:
1117
12- * Include the genre tags from the release group when the musicbrainz genre
13- option is set, and sort them by the number of votes. Thanks to
14- :user: `aereaux `.
15- * Primary and secondary release types from MusicBrainz are now stored in
16- ``albumtypes `` field. Thanks to :user: `edgars-supe `.
18+ * When fetching genres from MusicBrainz, we now include genres from the
19+ release group (in addition to the release). We also prioritize genres based
20+ on the number of votes.
21+ Thanks to :user: `aereaux `.
22+ * Primary and secondary release types from MusicBrainz are now stored in a new
23+ ``albumtypes `` field.
24+ Thanks to :user: `edgars-supe `.
1725 :bug: `2200 `
18- * :doc: `/plugins/albumtypes `: An accompanying plugin for formatting
19- ``albumtypes ``. Thanks to :user: `edgars-supe `.
26+ * An accompanying new :doc: `/plugins/albumtypes ` includes some options for
27+ formatting this new ``albumtypes `` field.
28+ Thanks to :user: `edgars-supe `.
2029
2130Other new things:
2231
23- * Permissions plugin now sets cover art permissions to the file permissions.
24- * :doc: `/plugins/unimported `: Support excluding specific
25- subdirectories in library.
26- * :doc: `/plugins/info `: Support ``--album `` flag.
27- * :doc: `/plugins/export `: Support ``--album `` flag.
28- * ``beet move `` path differences are now highlighted in color (when enabled).
29- * When moving files and a direct rename of a file is not possible, beets now
30- copies to a temporary file in the target folder first instead of directly
31- using the target path. This gets us closer to always updating files
32- atomically. Thanks to :user: `catap `.
32+ * :doc: `/plugins/permissions `: The plugin now sets cover art permissions to
33+ match the audio file permissions.
34+ * :doc: `/plugins/unimported `: A new configuration option supports excluding
35+ specific subdirectories in library.
36+ * :doc: `/plugins/info `: Add support for an ``--album `` flag.
37+ * :doc: `/plugins/export `: Similarly add support for an ``--album `` flag.
38+ * ``beet move `` now highlights path differences in color (when enabled).
39+ * When moving files and a direct rename of a file is not possible (for
40+ example, when crossing filesystems), beets now copies to a temporary file in
41+ the target folder first and then moves to the destination instead of
42+ directly copying the target path. This gets us closer to always updating
43+ files atomically.
44+ Thanks to :user: `catap `.
3345 :bug: `4060 `
34- * :doc: `/plugins/fetchart `: A new option to store cover art as non-progressive
35- image. Useful for DAPs that support progressive images. Set ``deinterlace:
36- yes `` in your configuration to enable.
37- * :doc: `/plugins/fetchart `: A new option to change cover art format. Useful for
38- DAPs that do not support some image formats.
39- * New plugin event: ``album_removed ``. Called when an album is removed from the
40- library (even when its file is not deleted from disk).
46+ * :doc: `/plugins/fetchart `: Add a new option to store cover art as
47+ non-progressive image. This is useful for DAPs that do not support
48+ progressive images. Set ``deinterlace: yes `` in your configuration to enable
49+ this conversion.
50+ * :doc: `/plugins/fetchart `: Add a new option to change the file format of
51+ cover art images. This may also be useful for DAPs that only support some
52+ image formats.
53+ * Support flexible attributes in ``%aunique ``.
54+ :bug: `2678 ` :bug: `3553 `
55+ * Make ``%aunique `` faster, especially when using inline fields.
56+ :bug: `4145 `
4157
4258Bug fixes:
4359
44- * :doc: `/plugins/lyrics `: Fix crash bug when beautifulsoup4 is not installed.
60+ * :doc: `/plugins/lyrics `: Fix a crash when Beautiful Soup is not installed.
4561 :bug: `4027 `
46- * :doc: `/plugins/discogs `: Adapt regex to new URL format .
47- :bug: `4080 `
48- * :doc: `/plugins/discogs `: Remove requests ratel imit code from plugin in favor of discogs library built-in capability
62+ * :doc: `/plugins/discogs `: Support a new Discogs URL format for IDs.
63+ :bug: `4080 `
64+ * :doc: `/plugins/discogs `: Remove built-in rate-limiting because the Discogs
65+ Python library we use now has its own rate-limiting.
4966 :bug: `4108 `
50- * :doc: `/plugins/export `: Fix duplicated output.
51- * :doc: `/dev/library `: Use slow queries for flexible attributes in aunique.
52- :bug: `2678 ` :bug: `3553 `
53- * :doc: `/reference/query `: Use short-circuit evaluation in AndQuery and OrQuery
54- :bug: `4145 `
67+ * :doc: `/plugins/export `: Fix some duplicated output.
5568* :doc: `/plugins/aura `: Fix a potential security hole when serving image
56- files. :bug: `4160 `
69+ files.
70+ :bug: `4160 `
5771
5872For plugin developers:
5973
6074* :py:meth: `beets.library.Item.destination ` now accepts a `replacements `
6175 argument to be used in favor of the default.
62- * Send the `pluginload ` event after plugin types and queries are available, not before.
76+ * The `pluginload ` event is now sent after plugin types and queries are
77+ available, not before.
78+ * A new plugin event, `album_removed `, is called when an album is removed from
79+ the library (even when its file is not deleted from disk).
6380
64- For packagers:
81+ Here are some notes for packagers:
6582
6683* As noted above, the minimum Python version is now 3.6.
6784* We fixed a flaky test, named `test_album_art ` in the `test_zero.py ` file,
0 commit comments