Releases: linuxserver/docker-beets
2.2.0-ls251
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/2.2.0-ls251/index.html
LinuxServer Changes:
Add packages required for Discogs plugin.
Remote Changes:
Updating PIP version of beets to 2.2.0
nightly-f91f0961-ls100
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-f91f0961-ls100/index.html
LinuxServer Changes:
Pin beetcamp to 0.19.2 until upstream requirements fixed.
Remote Changes:
Fix sorting on missing non-string fields (#5570)
Description
Fixes #5512. When sorting on a field, if the field is missing from some
items and it has a type, use the type's null
value. Otherwise,
continue to fall back to an empty string, as I don't think there's much
to be done in that case.
The new test test_int_field_present_in_some_items
fails without the
fix in query.py
.
nightly-801bac5f-ls100
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-801bac5f-ls100/index.html
LinuxServer Changes:
Pin beetcamp to 0.19.2 until upstream requirements fixed.
Remote Changes:
Release: Fix changelog formatting (#5529)
Improve release notes formatting / changelog conversion from rst to md
During our last release, we discovered issues with changelog formatting.
This PR improves and fixes several aspects:
Changes
- Rewrite the changelog conversion logic to be more robust and
maintainable - Fix indentation issues with nested bullet points
- Improve handling of long section headers
- Order bullet points alphabetically within sections for better
readability - Use Sphinx
objects.inv
to resolve references and include links to
the documentation in Markdown - Add tests to prevent formatting regressions
- Add pandoc as a dependency for Ubuntu CI builds
- Ensure documentation is built before generating changelog
2.2.0-ls250
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/2.2.0-ls250/index.html
LinuxServer Changes:
Add packages required for Discogs plugin.
Remote Changes:
Updating PIP version of beets to 2.2.0
nightly-fdd365f8-ls99
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-fdd365f8-ls99/index.html
LinuxServer Changes:
Pin beetcamp to 0.19.2 until upstream requirements fixed.
Remote Changes:
Future proof BucketPluginTest.test_year_single_year_last_folder (#5566)
2025 won't be in the future, forever.
nightly-faf7529a-ls99
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-faf7529a-ls99/index.html
LinuxServer Changes:
Pin beetcamp to 0.19.2 until upstream requirements fixed.
Remote Changes:
Replace munkres with lapjv for track assignment (#5564)
Fixes #5207.
This PR replaces the munkres
library with lap
(Linear Assignment
Problem solver) for computing optimal track assignments during the
auto-tagging process. The main changes are:
- Remove
munkres
dependency and addlap
andnumpy
dependencies - Refactor the track assignment code to use
lap.lapjv()
instead of
Munkres().compute()
- Simplify cost matrix construction using list comprehension
- Move config value reading outside of
track_distance
function to
improve performance
The motivation for this change comes from benchmark comparisons showing
that LAPJV (implemented in the lap
library) significantly outperforms
the Munkres/Hungarian algorithm for the linear assignment problem. See
detailed benchmarks at: https://github.com/berhane/LAP-solvers
The change should provide better performance for track matching,
especially with larger albums, while maintaining the same assignment
results.
Testing Notes
- All existing tests pass without modification
- Track assignments produce identical results
- No behavioral changes in auto-tagging
nightly-f91f0961-ls99
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-f91f0961-ls99/index.html
LinuxServer Changes:
Pin beetcamp to 0.19.2 until upstream requirements fixed.
Remote Changes:
Fix sorting on missing non-string fields (#5570)
Description
Fixes #5512. When sorting on a field, if the field is missing from some
items and it has a type, use the type's null
value. Otherwise,
continue to fall back to an empty string, as I don't think there's much
to be done in that case.
The new test test_int_field_present_in_some_items
fails without the
fix in query.py
.
nightly-2277e2a0-ls98
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/nightly-2277e2a0-ls98/index.html
LinuxServer Changes:
Pin beetcamp to 0.19.2 until upstream requirements fixed.
Remote Changes:
Use shutil.move() to move files. (#5123)
Fixes #4622.
I don't think this changes other behavior of the function, but it fixes
the problem with the moved files being created with the wrong
permissions for me.
2.2.0-ls249
CI Report:
https://ci-tests.linuxserver.io/linuxserver/beets/2.2.0-ls249/index.html
LinuxServer Changes:
Add packages required for Discogs plugin.
Remote Changes:
Updating PIP version of beets to 2.2.0
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.