Skip to content

Releases: Spotifyd/spotifyd

v0.4.0

08 Mar 00:41
v0.4.0
fa635ca
Compare
Choose a tag to compare

After nearly 2 years of waiting, there is finally a new release available! 🥳

Due to the long time without releases, there have been quite some changes. For details, have a look at the changelog. Here, however, is a list of the most important changes and things you should know:

Highlights

  • OAuth: Manual authentication is working again after it had been broken by changes on Spotify servers.
    However, instead of providing username and password to spotifyd, you authenticate once using a web-based flow. This can be initiated with spotifyd auth. For details, have a look at our docs.
  • MPRIS: The MPRIS interface now interacts with the player locally instead of calling the web API.
    As such, calls to the interface should be much faster than before. Also, calling simple getter methods too frequently no longer leads to rate limiting.
  • Platform Support: spotifyd has gained (experimental) support for Windows and Android. While there are no pre-built binaries available (yet), building and running should be possible. There have been several improvements to BSD support, and we now have binaries for aarch64 on macOS as well as on Linux.
    Unfortunately, we do not provide a binary for armv6 any more, since that has become increasingly difficult to maintain. If you desperately need such a binary, feel free to join our community matrix server, and we'll try to find a solution.
  • Robustness: spotifyd has become more robust in many ways. Most of that comes from improvements to the amazing librespot project that we heavily rely on. But spotifyd has also become more resilient to temporary failures due to network not being available and retries several times before exiting.

Migration

Migrating from v0.3.5 to v0.4.0 should be pretty seamless, apart from the one-time setup required if you want to continue using manual authentication. See above for details.

Contributors

This release couldn't have happened without the help of many incredible people. We have several new contributors:

Full Changelog

v0.3.5

20 Apr 21:45
v0.3.5
Compare
Choose a tag to compare

We now have a project website (thanks @slondr!) and a matrix room.
Feel free to join and ask your questions!

Added

  • TransferPlayback D-Bus method to transfer the playback to spotifyd (#1162)
    To host this, a rs.spotifyd.Controls interface has been added.
  • A audio_format option was added to circumvent certain errors (#1082)
  • A setter was added to the Shuffle property (#1188)
  • volume_control = "none" variant to disable changing the volume in clients (#750)

Changed

  • Improve backend selection logic, especially for macOS (#1158)
  • Update keyring dependency to newest version (#1174)
  • VolumeUp, VolumeDown D-Bus methods have been copied to spotifyd's controls interface (#1162)
    Their versions in org.mpris.MediaPlayer2.Player have been deprecated and will be removed in a breaking release.
  • The librespot dependency has been upgraded to the most recent release 🎉 (#1182, #1197)
  • Many other dependency updates (#1183, #1145, #1199)
  • Documentation improvements (#1156)
  • Our minimum supported rust version (MSRV) has been bumped to 1.64 (#1145)

v0.3.4

15 Dec 16:10
db25d12
Compare
Choose a tag to compare

Added

  • Implement the PropertiesChanged and Seeked events for the MPRIS-interface (#1025)
  • Add cache_size configuration option (#1092)
  • Add dbus_type configuration option (#954)
  • Added formal documentation of the minimum required Rust version - which is currently 1.62 ([#1127])

Changed

  • Improvements to the documentation (#894, #955, #1030, #1039, #1054, #1055, #1067)
  • Fix cumulating delay in on_song_change_hook (#1059)
  • Only enable one of zeroconf discovery and password-authentication at the same time (#1059)
  • Convert mainloop to using async / await (#1059)
  • Upgrade rspotify dependency to 0.11.5 (#1079)
  • Improve error reporting (#1108)
  • Make spotifyd bus name unique (#1100)
    Note: If you were relying on the consistent bus name of org.mpris.MediaPlayer2.spotifyd,
    you can adapt your script e.g. by querying the name like qdbus | grep "org.mpris.MediaPlayer2.spotifyd"
  • Fix wrong handling of credential cache (#1121)

Removed

  • Replace redundant reqwest dependency (#1120)

v0.3.3

07 Dec 20:21
603bcc4
Compare
Choose a tag to compare
  • Add debug_credentials feature for debugging BadCredentials errors #915
  • Implement VolumeUp and VolumeDown in the DBUS/MPRIS interface #963
  • Update librespot to 0.2.0 #977
  • Rewrite DBUS/MPRIS integration #977
  • Improved panic error message #925

v0.3.2

04 Mar 15:00
e51c4fc
Compare
Choose a tag to compare
Fix incorrect version being shown

v0.3.1 [Yanked]

03 Mar 18:40
1da300c
Compare
Choose a tag to compare

This version is yanked!

  • Updated librespot (Fixes #719)
  • Fix build on FreeBSD (#749)
  • Improved error messages
  • Dependency updates

v0.3.0

14 Jan 14:56
27ce5ac
Compare
Choose a tag to compare

Breaking changes this release:

  • Changed the config format from ini to TOML #571
    Make sure to update your config file, the new one is in the README

Other changes:

  • new maintainer team!
  • Added a changelog to track (breaking) changes
  • Expose volume trough dbus #697
  • Add an option to disable dbus #740

v0.2.24

24 Jan 19:16
Compare
Choose a tag to compare
  • fix zeroconf_port config entry not working
  • fix help message displaying wrong string
  • add CD support for armv6 and armv7

v0.2.23

11 Jan 18:53
Compare
Choose a tag to compare
Add description

v0.2.22

11 Jan 18:40
Compare
Choose a tag to compare
Add license.