github FoxxMD/multi-scrobbler 0.10.0
v0.10.0

14 hours ago

What's New?

Persistent Queue/Failed Scrobbles

This release implements persisted data across multi-scrobble restarts. Initial support will be for Queued and Failed Scrobbles.

This means that MS will save any Plays that have not successfully been scrobbled to Clients. They will be restored when MS is restarted.

This functionality is enabled by default so no configuration changes are required. Scrobble data will be saved in the existing CONFIG_DIR directory bound into the docker container.

Data can be persisted to file (default) or Valkey. See the docs for more information and configuration.

This is a non-breaking change but the app version has been bumped to signify major functionality updates.

Youtube Music Auth Issues

Google/YT seems to have permanently broken authentication using the Oauth client method for Youtube Music. However, cookie authentication is still working and a simpler process.

If you are using Oauth and encounter 400 errors please switch to cookies instead.

Full Changelog

Bug Fixes

  • (jellyfin) Guard against undefined NowPlaying Path
  • (lastfm) Remove VA from album artist #340
  • (lastfm) Full destructure recent response and log respon on error #353
  • (listenbrainz) Fix missing album/release_name for listenbrainz endpoint #342
  • (No Category) Add additional logging for ytm history request #346 #345
  • (No Category) Do not use transform until after client is ready #356
  • (No Category) Add full coverage for cached queue updating during client lifecycle
  • (No Category) Update object hashing function #358

Documentation

  • (ytm) Add oauth warning #346 #345
  • (No Category) Remove koito from listenbrainz example
  • (No Category) Add caching docs

Features

  • (lzendpoint) Accept artist and release artist names in submit payload
  • (ui) Add Now Playing behavior for ui Player #338
  • (webscrobbler) Use Now Playing Player #338
  • (ytm) Add debug logging #346 #345
  • (ytm) Allow user-defined oauth scopes #346 #345
  • (No Category) Change stale/orphan interval to match current play duration for Players that only track Now Playing data #352
  • (No Category) More artist parsing improvements
  • (No Category) Improve artist string parsing
  • (No Category) Add Access Token auth for Ntfy webhook #350
  • (No Category) Implement caching backend
  • (No Category) Implement cache file streaming with progress logging

Miscellaneous Tasks

  • (No Category) Bump logging version
  • (No Category) Update iti usage
  • (No Category) Bump with-local-tmp-dir version
  • (No Category) Remove unused object-hash package

Refactor

  • (No Category) Refactor di cache to allow singleton or transient

Testing

  • (ytm) Fix failing type assertion
  • (No Category) Fix/workaround tests for new transformrule assumptions
  • (No Category) Add scrobble client caching test

Build

  • (vscode) Update devcontainer to use compose stack with valkey for caching integration
  • (No Category) Move net-interceptor to dev packages

Don't miss a new multi-scrobbler release

NewReleases is sending notifications on new releases.