Skip to content

Releases: linuxserver/docker-beets

nightly-2334b222-ls260

09 Apr 16:28
78b100a

Choose a tag to compare

Pre-release

CI Report:

https://ci-tests.linuxserver.io/linuxserver/beets/nightly-2334b222-ls260/index.html

LinuxServer Changes:

Full Changelog: nightly-06512c9b-ls259...nightly-2334b222-ls260

Remote Changes:

Import MusicBrainz composer/lyricist/arranger ids (#5847)

Updates the MusicBrainz plugin to also import MBIDs for
composers/lyricists/arrangers, and adds them as multi-valued fields.

Closes #5698.

nightly-e7c7bfca-ls259

06 Apr 20:36
fae15d1

Choose a tag to compare

Pre-release

CI Report:

https://ci-tests.linuxserver.io/linuxserver/beets/nightly-e7c7bfca-ls259/index.html

LinuxServer Changes:

No changes

Remote Changes:

Swap Discogs genres and styles (#6478)

discogs: Swap genre and style field mapping

Fixes #6390

Fixes the semantic mismatch between Discogs' taxonomy and beets' fields.
In Discogs, genres are broad (e.g. "Electronic") and styles are
specific
(e.g. "Techno"). Previously, beets stored them the wrong way
around.

What changed

In get_album_info, the source fields are swapped:

  • genres (beets) now reads from Discogs styles — the specific
    values
  • style (beets) now reads from Discogs genres — the broader
    values

The append_style_genre config option retains its original intent:
append broader style values to genres when enabled. Only the data
source for each field changed, not the logic.

nightly-a6af177b-ls259

05 Apr 09:34
fae15d1

Choose a tag to compare

Pre-release

CI Report:

https://ci-tests.linuxserver.io/linuxserver/beets/nightly-a6af177b-ls259/index.html

LinuxServer Changes:

No changes

Remote Changes:

Make sure labels can be added to PRs

nightly-7b0e4e2d-ls259

07 Apr 17:54
fae15d1

Choose a tag to compare

Pre-release

CI Report:

https://ci-tests.linuxserver.io/linuxserver/beets/nightly-7b0e4e2d-ls259/index.html

LinuxServer Changes:

No changes

Remote Changes:

fix(fetchart): sources definition (#6508)

Description

The fetchart plugin would silently drop unknown sources defined in
config, leading to hard to debug problems.
The plugin now errors when an unknown source is configured, or when no
sources are configured.
In addition, a single string is now a valid value for sources to
either enable all sources with an *, or a single source.

Fixes: #6336

nightly-657a3a2e-ls259

05 Apr 22:24
fae15d1

Choose a tag to compare

Pre-release

CI Report:

https://ci-tests.linuxserver.io/linuxserver/beets/nightly-657a3a2e-ls259/index.html

LinuxServer Changes:

No changes

Remote Changes:

fix(deezer): use artist ID to detect Various Artists releases (#6499)

Fixes #4956

The Deezer API apparently uses IP geolocation to return a localized
“Various Artists” name (e.g. “Verschiedene Interpreten” in German),
causing VA releases to match poorly and display the wrong artist name.

This implements the approach suggested by @sampsyo in
beetbox/beets#4956:
detect VA releases using Deezer’s (hopefully) stable various artists ID
(5080) instead of a string comparison, then replace the localized name
with the user’s configured va_name, mirroring what the MusicBrainz
plugin already does with its own VARIOUS_ARTISTS_ID.

nightly-506b45f3-ls259

05 Apr 21:26
fae15d1

Choose a tag to compare

Pre-release

CI Report:

https://ci-tests.linuxserver.io/linuxserver/beets/nightly-506b45f3-ls259/index.html

LinuxServer Changes:

No changes

Remote Changes:

Label issues/prs case-insensitively (#6505)

Make PR label patterns case-insensitive

All label-matching patterns in .github/labeler.yaml are updated to use
the /pattern/i regex syntax, enabling case-insensitive matching.

Before: 'fetchart'
After: '/fetchart/i'

This ensures PRs are correctly labelled regardless of capitalisation in
commit messages or PR titles (e.g., FetchArt, FETCHART, fetchart
all match).

See github/issue-labeler#15

nightly-4e08403d-ls259

08 Apr 18:03
fae15d1

Choose a tag to compare

Pre-release

CI Report:

https://ci-tests.linuxserver.io/linuxserver/beets/nightly-4e08403d-ls259/index.html

LinuxServer Changes:

No changes

Remote Changes:

feat(fetchart): add support for webp files (#6511)

Add support for webp images in the fetchart plugin.

nightly-2dff447e-ls259

08 Apr 14:37
fae15d1

Choose a tag to compare

Pre-release

CI Report:

https://ci-tests.linuxserver.io/linuxserver/beets/nightly-2dff447e-ls259/index.html

LinuxServer Changes:

No changes

Remote Changes:

listenbrainz: Add pagination, play count aggregation, and recording_mbid fix (#6484)

Follow-up to #6471 — fixes three remaining issues with the
listenbrainz plugin:

  • Aggregate listen events into actual play counts. ListenBrainz
    returns individual listen events, each mapped to playcount: 1. Without
    aggregation, the final listenbrainz_play_count is always 1 regardless
    of actual listens.

  • Paginate through all listens. The API defaults to 25 results per
    request. Now fetches up to 1000 per page and loops via max_ts until
    all listens are retrieved.

  • Use recording_mbid from mbid_mapping when present. Previously
    mbid was left as None when the mapping existed, falling back to
    expensive MB API lookups unnecessarily.

    Fixes #6469 (remaining issues after #6471)

nightly-29d5fac9-ls259

04 Apr 17:29
fae15d1

Choose a tag to compare

Pre-release

CI Report:

https://ci-tests.linuxserver.io/linuxserver/beets/nightly-29d5fac9-ls259/index.html

LinuxServer Changes:

Full Changelog: nightly-131768b7-ls258...nightly-29d5fac9-ls259

Remote Changes:

feat(chroma): add chromasearch command (#6486)

Add a new command to the chroma plugin: chromasearch.

This command lets user search the database by chromaprint fingerprint
similarity.
Database item fingerprints are computed on the fly if needed. This is
useful for example to check if an unknown / untagged audio file already
exists in the database.

Will update changelog and doc once naming & co are sorted.

nightly-20acca65-ls259

05 Apr 17:27
fae15d1

Choose a tag to compare

Pre-release

CI Report:

https://ci-tests.linuxserver.io/linuxserver/beets/nightly-20acca65-ls259/index.html

LinuxServer Changes:

No changes

Remote Changes:

fix(replaygain): clear conflicting tags on write (#6498)

There are two ways to store replay gain data on music files: RG_ and
R128_ (opus).
Before this change the beets replaygain plugin simply set the right tag
based on file format and r128 config value. there are case, however,
when for example an opus files comes with RG_ tags already set. After
beet write its replaingain tags the files will contain both RG_ and
R128_ tags with possibly conflicting values.

For example, Navidrome currently always prefers RG_ tags over R128_
regardless of format, leading tags set by beets to be ignored.
https://github.com/navidrome/navidrome/blob/23f3556371321faf199866989b906f2ef06a8034/model/metadata/map_mediafile.go#L111

As per RFC 7845: Ogg Encapsulation for the Opus Audio Codec
https://datatracker.ietf.org/doc/html/rfc7845#section-5.2.1

To avoid confusion with multiple normalization schemes, an Opus
comment header SHOULD NOT contain any of the REPLAYGAIN_TRACK_GAIN,
REPLAYGAIN_TRACK_PEAK, REPLAYGAIN_ALBUM_GAIN, or
REPLAYGAIN_ALBUM_PEAK tags, unless they are only to be used in some
context where there is guaranteed to be no such confusion.

Since the replaygain plugin does not support setting both RG_ and R128_
at the same time it doesn't make much sense to keep conflicting tags
when writing. These tags are also easy to recalculate if needed either
with beets itself (with a different configuration), or by running
replaygain commands by hand. no valuable information is lost.

This change makes it so the replagain plugin now deletes conflicting
tags when processing library items:

  • RG_ are deleted if we set R128_
  • R128_ are deleted if we set RG_