@@ -5,9 +5,9 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
6
6
and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) since v0.2.0.
7
7
8
- ## [ 0.5.0-dev] - YYYY-MM-DD
8
+ ## [ 0.5.0-dev] - 2024-10-15
9
9
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
11
11
focuses on implementing the "new Spotify API". This means moving large parts
12
12
of the Spotify protocol from Mercury to HTTP. A lot of this was reverse
13
13
engineered before by @devgianlu of librespot-java. It was long overdue that we
@@ -17,7 +17,7 @@ hopefully upcoming Spotify HiFi depend on it.
17
17
Splitting up the work on the new Spotify API, v0.5.0 brings HTTP-based file
18
18
downloads and metadata access. Implementing the "dealer" (replacing the current
19
19
Mercury-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 .
21
21
22
22
While at it, we are taking the liberty to do some major refactoring to make
23
23
librespot more robust. Consequently not only the Spotify API changed but large
@@ -39,13 +39,15 @@ https://github.com/librespot-org/librespot
39
39
- [ all] Use a single ` player ` instance. Eliminates occasional ` player ` and
40
40
` audio backend ` restarts, which can cause issues with some playback
41
41
configurations.
42
+ - [ all] Updated and removed unused dependencies
42
43
- [ audio] Files are now downloaded over the HTTPS CDN (breaking)
43
44
- [ audio] Improve file opening and seeking performance (breaking)
44
45
- [ core] MSRV is now 1.74 (breaking)
45
46
- [ connect] ` DeviceType ` moved out of ` connect ` into ` core ` (breaking)
46
47
- [ connect] Update and expose all ` spirc ` context fields (breaking)
47
48
- [ connect] Add ` Clone, Defaut ` traits to ` spirc ` contexts
48
49
- [ connect] Autoplay contexts are now retrieved with the ` spclient ` (breaking)
50
+ - [ contrib] Updated Docker image
49
51
- [ core] Message listeners are registered before authenticating. As a result
50
52
there now is a separate ` Session::new ` and subsequent ` session.connect ` .
51
53
(breaking)
@@ -77,6 +79,7 @@ https://github.com/librespot-org/librespot
77
79
78
80
- [ all] Check that array indexes are within bounds (panic safety)
79
81
- [ all] Wrap errors in librespot ` Error ` type (breaking)
82
+ - [ audio] Make audio fetch parameters tunable
80
83
- [ connect] Add option on which zeroconf will bind. Defaults to all interfaces. Ignored by DNS-SD.
81
84
- [ connect] Add session events
82
85
- [ connect] Add ` repeat ` , ` set_position_ms ` and ` set_volume ` to ` spirc.rs `
@@ -96,6 +99,8 @@ https://github.com/librespot-org/librespot
96
99
- [ core] Support parsing ` SpotifyId ` for local files
97
100
- [ core] Support parsing ` SpotifyId ` for named playlists
98
101
- [ 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
99
104
- [ main] Add all player events to ` player_event_handler.rs `
100
105
- [ main] Add an event worker thread that runs async to the main thread(s) but
101
106
sync to itself to prevent potential data races for event consumers
@@ -119,11 +124,15 @@ https://github.com/librespot-org/librespot
119
124
- [ connect] Loading previous or next tracks, or looping back on repeat, will
120
125
only start playback when we were already playing
121
126
- [ 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
122
130
- [ playback] Handle invalid track start positions by just starting the track
123
131
from the beginning
124
132
- [ playback] Handle disappearing and invalid devices better
125
133
- [ playback] Handle seek, pause, and play commands while loading
126
134
- [ playback] Handle disabled normalisation correctly when using fixed volume
135
+ - [ playback] Do not stop sink in gapless mode
127
136
- [ metadata] Fix missing colon when converting named spotify IDs to URIs
128
137
129
138
## [ 0.4.2] - 2022-07-29
0 commit comments