Rescrobbled Versions Save

MPRIS music scrobbler daemon

v0.7.1

11 months ago
  • Made album name optional when submitting to Last.fm
  • Updated dependencies

v0.7.0

1 year ago
  • Removed notification functionality
  • Made album name optional when submitting to ListenBrainz
    • ListenBrainz does not require album names for submissions, so they are now optional. This means tracks without xesam:album will still be submitted.
    • The Last.fm library used by rescrobbled still requires the album, but this restriction could be lifted in the future.
    • This does have the side effect of now treating empty album names (i.e. "") the same as if they were missing from the MPRIS metadata.
  • Updated player finding logic to be more resilient to players that cause errors
  • Moved to OpenSSL/libssl version 3

v0.6.2

1 year ago
  • Fixed scrobbling from applications that report a single string value for xesam:artist

v0.6.1

1 year ago
  • Fixed builds of version 0.6.0 breaking
    • Dependency mpris released a breaking change in version 2.0.0-rc3, but Rust/Cargo's semver resolution does not see this as a breaking change, leading to builds of rescrobbled 0.6.0 breaking that were previously fine with mpris 2.0.0-rc2.

v0.6.0

1 year ago
  • Fixed scrobbling behind a HTTP/HTTPS proxy
    • Replaced the rustfm-scrobble dependency with a fork that automatically picks up proxy settings
  • Filter scripts now receive the xesam:genre (song genre) MPRIS property in addition to artist, title and album name
    • Note: you may have to update your filter script to take this into account. For example, the following Python code now raises an error because the additional line (genre) is not unpacked:
      artist, title, album = (l.rstrip() for l in sys.stdin.readlines())
      
      This can be fixed by reading and ignoring the additional line:
      artist, title, album, _ = (l.rstrip() for l in sys.stdin.readlines())
      
      Or, alternatively:
      artist = sys.stdin.readline().rstrip()
      title = sys.stdin.readline().rstrip()
      album = sys.stdin.readline().rstrip()
      
  • Moved to Rust 2021 edition

v0.5.3

1 year ago
  • Entered Last.fm passwords are no longer displayed in plaintext
  • Updated dependencies

v0.5.2

2 years ago
  • Improved error handling
    • More consistent error messages
    • Causes of errors are now always included
  • Fixed basic.py and ignore_artists.py filter script examples
  • Updated dependencies

v0.5.1

2 years ago
  • Fixed the way player D-Bus bus names are checked against the player whitelist

v0.5.0

2 years ago
  • Added support for multiple ListenBrainz instances
    • You can now specify multiple ListenBrainz instances, supporting custom installs and other scrobbling services that use a ListenBrainz compatible API
  • Added a number of example filter scripts
  • The auto-generated config file and session token file are now created with more restrictive permissions (0600)
  • Added fallback behavior when a player does not report track length:
    • Tracks will scrobble after the default minimum track length (30 seconds)
    • Tracks will only scrobble once, unless paused and then unpaused
  • Internal refactoring
  • Cleaned up the README
  • Documented where the session token is stored

v0.4.0

3 years ago
  • Added ignore functionality for filter scripts:
    • Filter scripts that return nothing will cause the current track to ignored/not scrobbled
    • This can be used to, for example, filter certain artists or songs entirely