What's New?
Scrobble Enhancements Overhaul
Scrobble Enhancements, previously known as Scrobble Modifications, have gone through a complete rewrite in order to support more types of modifications and future extensibility.
There are now three types of enhancements, now referred to as Stages:
- User Stage is the same functionality as the old Scrobble Modifications -- define search-and-replace patterns to correct your scrobble data
- Native Stage use more sophisticated, built-in heuristics to extract multiple artists from strings and clean up track titles
- Musicbrainz Stage uses the Musicbrainz database to match your Scrobbles, correct bad data, enrich missing fields, and supply MBIDs to downstream Scrobble Clients.
If you were previously using Scrobble Modifications your existing configuration will work without any changes.
The overhaul also implements these new features:
- Multiple stages can be created with different defaults, allowing you to define config once and apply it everywhere OR override for specific Sources/Clients
- Stages are highly configurable to ensure your scrobble data ends up exactly how you want it
- Stages can be combined sequentially
- Presets for Native and Musicbrainz Stage allow ENV Config users to take advantage of Stages without requiring File Config
Musicbrainz
The Musicbrainz Stage Configuration provides many ways to configure matching that should cover most usecases.
However, if you find your scrobbles are not matching or an option is not working as expected, please turn on Debug Mode to log more information about what/how multi-scrobbler is trying to match. If you open an issue, please include this log information.
Quickstart Improvements
The Quickstart have been updated to include Source setup for Navidrome, Plex, and Last.fm as a Source.
Full Changelog
Bug Fixes
- (lastfm) Fix network error default value
- (plex) Fix library filter when media has no library #405
- (tealfm) Allow DID identifier
Documentation
- (transforms) Add default stage
- (No Category) Fix kitchensink links
- (No Category) Refactor transformer docs with stages
- (No Category) Add musicbrainz stage
- (No Category) Add native stage
- (No Category) Add user stage
- (No Category) Add more sources in quickstart
Features
- (transform) Implement abstract transformer #365
- (transform) Implement more exhaustive, human-readable transform diff
- (transform) Add proper support for meta and duration transform parts
- (transformer) Allow configuring artist parsing string sources #384
- (transformer) Implement staggered api calls to respect rate limit
- (transformer) Implement filtering and sorting of fetched musicbrainz recordings
- (transformer) Implement country filter/priority for musicbrainz
- (transformer) Add musicbrainz api url logging
- (transformers) Implement applyng limited transform configs via ENV
- (transformers) Implement user transformer
- (transformers) Add native transformer #364 #384
- (transformers) Add flow control to transforms #365
- (transformers) Implement musicbrainz api client
- (transformers) Implement musicbrainz transformer #362 #334
Miscellaneous Tasks
- (No Category) Bump logging for bug fix
Refactor
- (No Category) Move abstract init into own abstract class
Testing
- (musicbrainz) Add basic sanity test
- (tranformer) Add longer timeout and fix logger used in musicbrainz suite
- (No Category) Add edge case musicbrainz tests