beets/docs
Johann Fot 70bf57baf6
Add native support for multiple genres per album/track
Simplify multi-genre implementation based on maintainer feedback (PR #6169).

Changes:
- Remove multi_value_genres and genre_separator config options
- Replace complex sync_genre_fields() with ensure_first_value('genre', 'genres')
- Update all plugins (Beatport, MusicBrainz, LastGenre) to always write genres as lists
- Add automatic migration for comma/semicolon/slash-separated genre strings
- Add 'beet migrate genres' command for explicit batch migration with --pretend flag
- Update all tests to reflect simplified approach (44 tests passing)
- Update documentation

Implementation aligns with maintainer vision of always using multi-value genres
internally with automatic backward-compatible sync to the genre field via
ensure_first_value(), eliminating configuration complexity.

Migration strategy avoids problems from #5540:
- Automatic lazy migration on item access (no reimport/mbsync needed)
- Optional batch migration command for user control
- No endless rewrite loops due to proper field synchronization
2026-02-23 05:11:36 +00:00
..
_static
_templates/autosummary
api
dev
extensions
guides Fix single backticks issues 2026-02-08 08:01:31 +00:00
plugins Add beets-fillmissing to the list of plugins 2026-02-16 20:15:22 +02:00
reference Fix multi-value delimiter handling in templates 2026-02-22 16:12:58 +00:00
.gitignore
changelog.rst Add native support for multiple genres per album/track 2026-02-23 05:11:36 +00:00
code_of_conduct.rst
conf.py Fix multi-value delimiter handling in templates 2026-02-22 16:12:58 +00:00
contributing.rst
faq.rst
index.rst
Makefile
modd.conf
team.rst Add @snejus to team 2026-02-23 03:54:20 +00:00