This release includes more accurate and granular Musicbrainz search, flow control for scrobble transformations, and secrets interpolation into config files.
What's New?
Flow Control for Scrobble Enhancements
Stages for enhancing your Scrobbles now support Flow Control, enabling you to configure how Scrobbles are transformed based on the outcome of a Stage. Three properties are added to Stage configuration:
onSuccess(defaultcontinue) - If the Stage successfully finishes processingonFailure(defaultstop) - If the Stage encounters an error while processing, or otherwise fails to achieve the transformation resultonSkip(defaultcontinue) - If the Stage does not process the Play data due to stage-levelwhenor other stage-specific skip conditions
This enables more complex transformation scenarios like: only run Native Stage if Musicbrainz Stage fails to find a match.
More Musicbrainz Search Improvements
- Album+title fallback search is now configurable, rather than automatic, using
fallbackAlbumSearch - Search uses ISRC codes to match, if available. This will greatly improve matching when using the Spotify Source
- Musicbrainz docs have been reworked for clarity and to add more examples.
Secrets Interpolation
Multi-scrobbler can now interpolate ENV values directly into any json config files using bracketed identifiers like [[MY_SECRET]].
This enables sensitive data to be removed from config files which should make using secrets injection platforms easier as well as committing configs to git safer.
Quickstart Musicbrainz
The Quickstart docs have been updated to include an optional step for setting up Musicbrainz via ENV.
Full Changelog
Features
- (musicbrainz) Make fallback album search configurable #414
- (musicbrainz) Search by ISRC before anything else #418
- (transformers) Add onSkip flow control #414
- (transformers) Log more transform stage detail for components
- (No Category) Add additional metadata from spotify and for listenbrainz submissions #418
- (No Category) Implement secret interpolation from ENV #420
- (No Category) Log as WARN if there are unmatched interpolation keys
Bug Fixes
- (musicbrainz) Throw errors on pre/post fetch so onFailure works as expected #414
- (musicbrainz) Add missing duration logic
- (spotify) Don't report player state if spotify api doesn't return an item #412
- (transformer) Improve stage error logging
- (transforms) Update types to allow json validation without type for user #267
Documentation
- (transformers) Add Flow Control
- (No Category) Add musicbrainz step to quickstart
- (No Category) Better language for mb quickstart section
- (No Category) Add config interpolation docs
- (No Category) Better warnings for ENV interpolation
- (No Category) Improve general transform docs