@@ -5,9 +5,9 @@ All notable changes to this project will be documented in this file.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
66and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) since v0.2.0.
77
8- ## [ 0.5.0-dev] - YYYY-MM-DD
8+ ## [ 0.5.0-dev] - 2024-10-15
99
10- This version will be a major departure from the architecture up until now. It
10+ This version is be a major departure from the architecture up until now. It
1111focuses on implementing the "new Spotify API". This means moving large parts
1212of the Spotify protocol from Mercury to HTTP. A lot of this was reverse
1313engineered before by @devgianlu of librespot-java. It was long overdue that we
@@ -17,7 +17,7 @@ hopefully upcoming Spotify HiFi depend on it.
1717Splitting up the work on the new Spotify API, v0.5.0 brings HTTP-based file
1818downloads and metadata access. Implementing the "dealer" (replacing the current
1919Mercury-based SPIRC message bus with WebSockets, also required for social plays)
20- is separate large effort, to be targeted for v0.6.0 .
20+ is a large and separate effort, slated for some later release .
2121
2222While at it, we are taking the liberty to do some major refactoring to make
2323librespot more robust. Consequently not only the Spotify API changed but large
@@ -39,13 +39,15 @@ https://github.com/librespot-org/librespot
3939- [ all] Use a single ` player ` instance. Eliminates occasional ` player ` and
4040 ` audio backend ` restarts, which can cause issues with some playback
4141 configurations.
42+ - [ all] Updated and removed unused dependencies
4243- [ audio] Files are now downloaded over the HTTPS CDN (breaking)
4344- [ audio] Improve file opening and seeking performance (breaking)
4445- [ core] MSRV is now 1.74 (breaking)
4546- [ connect] ` DeviceType ` moved out of ` connect ` into ` core ` (breaking)
4647- [ connect] Update and expose all ` spirc ` context fields (breaking)
4748- [ connect] Add ` Clone, Defaut ` traits to ` spirc ` contexts
4849- [ connect] Autoplay contexts are now retrieved with the ` spclient ` (breaking)
50+ - [ contrib] Updated Docker image
4951- [ core] Message listeners are registered before authenticating. As a result
5052 there now is a separate ` Session::new ` and subsequent ` session.connect ` .
5153 (breaking)
@@ -77,6 +79,7 @@ https://github.com/librespot-org/librespot
7779
7880- [ all] Check that array indexes are within bounds (panic safety)
7981- [ all] Wrap errors in librespot ` Error ` type (breaking)
82+ - [ audio] Make audio fetch parameters tunable
8083- [ connect] Add option on which zeroconf will bind. Defaults to all interfaces. Ignored by DNS-SD.
8184- [ connect] Add session events
8285- [ connect] Add ` repeat ` , ` set_position_ms ` and ` set_volume ` to ` spirc.rs `
@@ -96,6 +99,8 @@ https://github.com/librespot-org/librespot
9699- [ core] Support parsing ` SpotifyId ` for local files
97100- [ core] Support parsing ` SpotifyId ` for named playlists
98101- [ core] Add checks and handling for stale server connections.
102+ - [ core] Fix potential deadlock waiting for audio decryption keys.
103+ - [ discovery] Add option to show playback device as a group
99104- [ main] Add all player events to ` player_event_handler.rs `
100105- [ main] Add an event worker thread that runs async to the main thread(s) but
101106 sync to itself to prevent potential data races for event consumers
@@ -119,11 +124,15 @@ https://github.com/librespot-org/librespot
119124- [ connect] Loading previous or next tracks, or looping back on repeat, will
120125 only start playback when we were already playing
121126- [ connect, playback] Clean up and de-noise events and event firing
127+ - [ core] Fixed frequent disconnections for some users
128+ - [ core] More strict Spotify ID parsing
129+ - [ discovery] Update active user field upon connection
122130- [ playback] Handle invalid track start positions by just starting the track
123131 from the beginning
124132- [ playback] Handle disappearing and invalid devices better
125133- [ playback] Handle seek, pause, and play commands while loading
126134- [ playback] Handle disabled normalisation correctly when using fixed volume
135+ - [ playback] Do not stop sink in gapless mode
127136- [ metadata] Fix missing colon when converting named spotify IDs to URIs
128137
129138## [ 0.4.2] - 2022-07-29
0 commit comments