Releases: Spotifyd/spotifyd
Releases · Spotifyd/spotifyd
v0.4.0
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 tospotifyd
, you authenticate once using a web-based flow. This can be initiated withspotifyd 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 foraarch64
on macOS as well as on Linux.
Unfortunately, we do not provide a binary forarmv6
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. Butspotifyd
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:
- @catumin made their first contribution in #1220
- @knuton made their first contribution in #1236
- @felixonmars made their first contribution in #1238
- @sepastian made their first contribution in #1247
- @klemensn made their first contribution in #1254
- @danielmcmillan made their first contribution in #1279
- @agdphd made their first contribution in #1281
- @getchoo made their first contribution in #1297
- @zamazan4ik made their first contribution in #1307
- @mietzen made their first contribution in #1304
- @zemar1325 made their first contribution in #1284
- @thesebas made their first contribution in #1314
- @dotandl made their first contribution in #1316
v0.3.5
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 tospotifyd
(#1162)
To host this, ars.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 inorg.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
Added
- Implement the
PropertiesChanged
andSeeked
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 to0.11.5
(#1079) - Improve error reporting (#1108)
- Make
spotifyd
bus name unique (#1100)
Note: If you were relying on the consistent bus name oforg.mpris.MediaPlayer2.spotifyd
,
you can adapt your script e.g. by querying the name likeqdbus | grep "org.mpris.MediaPlayer2.spotifyd"
- Fix wrong handling of credential cache (#1121)
Removed
- Replace redundant
reqwest
dependency (#1120)
v0.3.3
v0.3.2
Fix incorrect version being shown
v0.3.1 [Yanked]
v0.3.0
v0.2.24
v0.2.23
Add description
v0.2.22
Add license.