Commit graph

2295 commits

Author SHA1 Message Date
Sebastian Mohr
ddca7c481c Revert "Unified search string construction between albums and items."
This reverts commit a27cf64d4f.
2025-10-21 11:43:32 +02:00
Sebastian Mohr
a280237a83 Enhanced changelog. 2025-10-20 23:22:42 +02:00
Sebastian Mohr
e5d5ce1c77 Fixed issues where empty strings would break the search api of various
metadata plugins.
2025-10-20 23:21:21 +02:00
Sebastian Mohr
a27cf64d4f Unified search string construction between albums and items. 2025-10-20 23:21:18 +02:00
Šarūnas Nejus
99987b3f27
Merge branch 'master' into feature/web-handle-nexttrack 2025-10-20 00:31:46 +01:00
J0J0 Todos
39aadf7099
Remove duplicate changelog entry (play plugin) 2025-10-19 08:50:25 +02:00
cvx35isl
1275ccf8c1
play plugin: $playlist marker for precise control where the playlist … (#4728)
…file is placed in the command

## Description

see included doc; placing the playlist filename at the end of command
just isn't working for all players

I have this in use with `mpv`

Co-authored-by: cvx35isl <cvx35isl@users.noreply.github.com>
Co-authored-by: J0J0 Todos <2733783+JOJ0@users.noreply.github.com>
2025-10-19 08:38:20 +02:00
Šarūnas Nejus
d83402fc65
Add a changelog note 2025-10-19 01:46:32 +01:00
Šarūnas Nejus
e872351170
Add references to configuration values in the changelog 2025-10-19 01:34:33 +01:00
henry
0bf248d355
Add custom feat words for ftintitle (#6090)
## Description

For non English tracks (Swedish in my case) feat. words might be
something that ftintitle doesn't pick up.
Eg. for the song `Promoe med Afasi - Inflation`
[https://musicbrainz.org/recording/8e236347-61d6-4e11-9980-52f4cc6b905f](https://musicbrainz.org/recording/8e236347-61d6-4e11-9980-52f4cc6b905f)
the word `med` is `feat.` in Swedish.
With this PR you can add what ever word you wish to match as feat. so it
should cover any kind of language.

The config.yaml could look like this:
ftintitle:
  custom_feat_words: ["med"]

## To Do

<!--
- If you believe one of below checkpoints is not required for the change
you
are submitting, cross it out and check the box nonetheless to let us
know.
  For example: - [x] ~Changelog~
- Regarding the changelog, often it makes sense to add your entry only
once
reviewing is finished. That way you might prevent conflicts from other
PR's in
that file, as well as keep the chance high your description fits with
the
  latest revision of your feature/fix.
- Regarding documentation, bugfixes often don't require additions to the
docs.
- Please remove the descriptive sentences in braces from the enumeration
below,
  which helps to unclutter your PR description.
-->

- [x] Documentation. (If you've added a new command-line flag, for
example, find the appropriate page under `docs/` to describe it.)
- [x] Changelog. (Add an entry to `docs/changelog.rst` to the bottom of
one of the lists near the top of the document.)
- [x] Tests. (Very much encouraged but not strictly required.)
2025-10-14 20:38:02 -07:00
snejus
c1877b7cf5 Increment version to 2.5.1 2025-10-14 22:51:15 +00:00
Šarūnas Nejus
61cbc39c4a
Revert "Add git commit suffix to __version__ for development installs (#5967)" 2025-10-14 23:39:27 +01:00
Šarūnas Nejus
efe1a67e84
Revert "Fix dynamic versioning plugin not correctly installed in workflow (#6094)"
This reverts commit dc9b498ee8, reversing
changes made to 77842b72d7.
2025-10-14 23:38:01 +01:00
Sebastian Mohr
670c300625 Fixed issue with legacy plugin copy not copying properties. Also
added test for it
2025-10-14 19:55:50 +02:00
Šarūnas Nejus
fbc12a358c
Add changelog note 2025-10-14 16:54:52 +01:00
Šarūnas Nejus
7fa9a30b89
Add note regarding the last plugin class 2025-10-14 16:17:29 +01:00
Jacob Danell
320ebf6a20 Fix misspelling 2025-10-14 14:07:45 +02:00
Sebastian Mohr
4ea37b4579 Added changelog entry fixed action to use sha. 2025-10-14 12:58:54 +01:00
Michael Krieger
b1c87cd98c Change parameter name, add return, add tests
Change the parameter name to omit_single_disc (vs previously zero_disc_if_single_disc)

Add return of 'fields_set' so that, if triggered by the command line `beets zero`, it will still effect the item.write.

Added tests.
2025-10-14 03:17:34 +01:00
Michael Krieger
5fc15bcfa4 Misc formatting changes 2025-10-14 03:17:34 +01:00
Michael Krieger
33b350a612 Adds a zero_disc_if_single_disc to the zero plugin
Adds a zero_disc_number_if_single_disc boolean to the zero plugin for writing to files. Adds the logic that, if disctotal is set and there is only one disc in disctotal, that the disc is not set.

This keeps tags cleaner, only using disc on multi-disc albums. The disctotal is not touched, particularly as this is not usually displayed in most clients.

The field is removed only for writing the tags, but the disc number is maintained in the database to avoid breaking anything that may depend on a disc number or avoid possible loops or failed logic.
2025-10-14 03:17:34 +01:00
Ember Light
0f0e38b0bf Add link in changelog 2025-10-12 22:40:55 +02:00
Ember Light
af09e58fb0 Add new line after New features: 2025-10-12 21:40:22 +02:00
Ember Light
e90738a6e2 Added changelog 2025-10-12 21:09:17 +02:00
Sebastian Mohr
32fdad1411 Enhanced changelog entry. 2025-10-11 13:55:29 +02:00
Sebastian Mohr
3b5eee59ee Added changelog entry. 2025-10-11 13:52:34 +02:00
semohr
6faa4f3ddd Increment version to 2.5.0 2025-10-11 09:58:48 +00:00
Šarūnas Nejus
455d620ae0
Fix data source penalty application logic
The data_source penalty was not being calculated correctly because
`_get_distance` was being called for **all** enabled metadata plugins
which eventually meant that matches were being penalised needlessly.

This commit refactors the distance calculation to:
- Remove the plugin-based track_distance() and album_distance() methods
  that were applying penalties incorrectly
- Calculate data_source penalties directly in track_distance() and
  distance() functions when sources don't match
- Use a centralized get_penalty() function to retrieve plugin-specific
  penalty values via a registry with O(1) lookup
- Change default data_source_penalty from 0.0 to 0.5 to ensure
  mismatches are penalized by default
- Add data_source to get_most_common_tags() to determine the likely
  original source for comparison

This ensures that tracks and albums from different data sources are
properly penalized during matching, improving match quality and
preventing cross-source matches.
2025-10-10 20:36:33 +01:00
Šarūnas Nejus
60e0efb8ea
Make naming consistent with the field name 2025-10-10 20:36:33 +01:00
Martin Atukunda
545213421b
feat(plugin/web): support for nexttrack keypress 2025-10-09 20:11:19 +03:00
Alok Saboo
79494b809d Merge remote-tracking branch 'upstream/master' into mb_fix 2025-10-07 20:01:27 -04:00
Alok Saboo
6c06f2a77e Merge remote-tracking branch 'upstream/master' into mb_fix 2025-10-07 18:08:00 -04:00
J0J0 Todos
152cafbf69 fromfilename: Fix tiny changelog formatting issue 2025-10-06 11:35:55 +02:00
J0J0 Todos
a642609faa
Merge branch 'master' into ffnp 2025-10-06 11:06:10 +02:00
Henry
267428f0a4 Merge branch 'master' of github.com:henry-oberholtzer/beets into discogs-anv-support 2025-10-03 15:05:48 -07:00
Alok Saboo
93c8950bf4 Extends the importer’s “fresh on reimport” lists so album flex metadata from new releases replaces stale values 2025-10-02 08:24:01 -04:00
Alok Saboo
7a097bb4b6 lint 2025-10-01 17:47:26 -04:00
Alok Saboo
70a4d0462d Persist spotify track attributes even if audio features are missing 2025-10-01 17:15:13 -04:00
Sebastian Mohr
f6ca68319d
Add git commit suffix to __version__ for development installs (#5967)
Make it obvious when beets is installed from from a non
major version. When installed locally this adds a git hash suffix and
the distance to the last release.

closes #4448
2025-10-01 12:58:57 +02:00
Sebastian Mohr
4782e96599
Move vfs.py to beetsplug._utils package to avoid polluting core namespace (#6017)
This PR moves the `vfs.py` module, which is only used by plugins, to
avoid polluting the main beets namespace. Also exposes the `vfs` and
`art` module from beets with a deprecation warning.
2025-10-01 12:28:18 +02:00
Henry
9371ab81ec Merge remote-tracking branch 'origin' into discogs-anv-support 2025-09-30 19:23:23 -07:00
Vrihub
5f9800ec43
Merge branch 'master' into ffnp 2025-09-30 17:41:13 +02:00
Vrihub
b8ae222dc4 Mention tests in changelog entry. 2025-09-30 16:04:59 +02:00
Sebastian Mohr
f637e5efbb Added overload to getLogger function. Added changelog entry
and added myself to codeowners file.
2025-09-30 13:37:51 +02:00
Šarūnas Nejus
c34b2a00a4
Fix plugin loading 2025-09-29 11:39:15 +01:00
Henry
b1903417f4 Add artist credit support, artist name variation support, more flexible featured credit. 2025-09-27 14:29:25 -07:00
Henry
1cf2254e74 Merge branch 'master' into dev 2025-09-27 11:48:52 -07:00
Henry
85201a4e17 merge with master branch 2025-09-27 08:04:53 -07:00
pSpitzner
a0a0a094d3 Changed query from double to single quotes. 2025-09-27 13:06:12 +02:00
Henry
1e677d57c1 Updates to documentation 2025-09-26 21:37:18 -07:00