Releases: linuxserver/docker-beets
nightly-bcf516b8-ls97
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-bcf516b8-ls97/index.html
LinuxServer Changes:
Pin beetcamp to 0.19.2 until upstream requirements fixed.
Remote Changes:
Properly type db on the model, sort out generic types issues (#5545)
Thanks to @wisp3rwind's suggestion this PR adds types to the
relationship between Model
, Database
and Library
.
Then I worked through the rest of the issues found in the edited files.
Most of this involved providing type parameters for generic types (or
defining defaults, rather 😉).
There queryparse
module had a somewhat significant issue where the
sorting construction logic only expected to receive FieldSort
subclasses, while SmartArtistSort
was not one. Thus SmartArtistSort
has now been forced to behave and is a FieldSort
subclass. It's also
been moved to query.py
module which is where the rest of sorts are
defined.
nightly-994f9b83-ls97
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-994f9b83-ls97/index.html
LinuxServer Changes:
Pin beetcamp to 0.19.2 until upstream requirements fixed.
Remote Changes:
pyproject.toml: don't install docs et al into the wheel
wheels are directly unpacked into site-packages, so this means likely
conflict with other packages
nightly-9110a111-ls96
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-9110a111-ls96/index.html
LinuxServer Changes:
Pin beetcamp to 0.19.2 until upstream requirements fixed.
Remote Changes:
Stop perpetually writing mb_artistid
, mb_albumartistid
and albumtypes
fields (#5540)
This PR fixes an issue where the beet write
command repeatedly shows
differences for certain fields (mb_artistid
, mb_albumartistid
,
albumtype
) even after writing the tags.
This happens because these fields are actually stored as lists in the
media files (mb_artistids
, mb_albumartistids
, albumtypes
), but
beets maintains both single and list versions in its database.
This PR addresses this issue in a non-invasive way: the fix ensures
consistency between single fields and their list counterparts by:
- When setting a single field value, making it the first element of the
corresponding list - When setting a list, using its first element as the single field
value
This resolves long-standing issues #5265, #5371, and #4715 where users
experienced persistent "differences" in these fields despite writing
tags multiple times.
Changes:
- Added
ensure_consistent_list_fields()
function to synchronize field
pairs - Applied this function during metadata application
- Added tests for all field combinations
Fixes #5265, #5371, #4715
Note: your music needs to be reimported with beet import -LI
or
synchronised with beet mbsync
in order to fix these fields!
nightly-22163d70-ls95
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-22163d70-ls95/index.html
LinuxServer Changes:
Pin beetcamp to 0.19.2 until upstream requirements fixed.
beets Changes:
Remove support for Python 3.8 (#5508)
-
Drop support for EOL Python 3.8 making Python 3.9 the minimum
supported version -
Take advantage of Python 3.9+ type hint syntax by:
- Using
list[T]
instead ofList[T]
etc. from typing module - Using
Type | None
syntax for unions instead ofUnion[Type, None]
- Moving collection type hints from
typing
tocollections.abc
- Using
TYPE_CHECKING
guard for runtime import optimization
- Using
Note: in #5503 we found that we cannot support Python 3.12 unless we
upgrade our minimum support Python to 3.9.
nightly-af41eef7-ls94
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-af41eef7-ls94/index.html
LinuxServer Changes:
Pin beetcamp to 0.19.2 until upstream requirements fixed.
beets Changes:
lyrics: Fallback to plain lyrics if synced lyrics not available (#5089)
The synced
config flag was not working the way the docs described it
for the LRCLIB source. With synced: yes
, if a track does not have
synced lyrics, but does have plain lyrics, the plugin would return no
lyrics. The docs imply that, with the flag enabled, it would still use
plain lyrics if there are no synced lyrics.
LRCLIB API call that returns plain lyrics can be found
here.
nightly-3cc129b8-ls94
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-3cc129b8-ls94/index.html
LinuxServer Changes:
Pin beetcamp to 0.19.2 until upstream requirements fixed.
beets Changes:
Package: fix release workflow, exclude plugin tests, include all files from MANIFEST.in (#5536)
Fixes #5526
Fixes #5531
Fixes #5539
Package contents
See #5526 where a package maintainer fails running plugin tests. I found that before
introduction of Poetry beets
never bundled plugin tests, therefore I now excluded them.
I also remembered that previously MANIFEST.in
file was used to specify which files get
included in the package, so I mirrored the same configuration. This includes zsh
completion in extra/_beet
which fixes #5531.
I removed MANIFEST.in
file since it has no use anymore.
Release workflow
The last release workflow run failed to pick up the commit with the version updates and
tagged an outdated commit (#5539). I simplified the workflow to create the tag at the same
time the version upgrade is committed.
nightly-22163d70-ls94
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-22163d70-ls94/index.html
LinuxServer Changes:
Pin beetcamp to 0.19.2 until upstream requirements fixed.
beets Changes:
Remove support for Python 3.8 (#5508)
-
Drop support for EOL Python 3.8 making Python 3.9 the minimum
supported version -
Take advantage of Python 3.9+ type hint syntax by:
- Using
list[T]
instead ofList[T]
etc. from typing module - Using
Type | None
syntax for unions instead ofUnion[Type, None]
- Moving collection type hints from
typing
tocollections.abc
- Using
TYPE_CHECKING
guard for runtime import optimization
- Using
Note: in #5503 we found that we cannot support Python 3.12 unless we
upgrade our minimum support Python to 3.9.
2.2.0-ls248
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/2.2.0-ls248/index.html
LinuxServer Changes:
Add packages required for Discogs plugin.
PIP Changes:
Updating PIP version of beets to 2.2.0
nightly-755e8259-ls93
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-755e8259-ls93/index.html
LinuxServer Changes:
Pin beetcamp to 0.19.2 until upstream requirements fixed.
beets Changes:
ARM install instructions (#5460)
Add info for ARM installs.
2.2.0-ls247
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/2.2.0-ls247/index.html
LinuxServer Changes:
Add packages required for Discogs plugin.
PIP Changes:
Updating PIP version of beets to 2.2.0