Update changelog

This commit is contained in:
Roderick van Domburg 2022-09-28 22:17:43 +02:00
parent eb1472c713
commit cc1fb5a406
No known key found for this signature in database
GPG key ID: 87F5FDE8A56219F4

View file

@ -32,13 +32,13 @@ https://github.com/librespot-org/librespot
### Changed ### Changed
- [all] Assertions were changed into `Result` or removed (breaking) - [all] Assertions were changed into `Result` or removed (breaking)
- [all] Purge use of `unwrap`, `expect` and return `Result` - [all] Purge use of `unwrap`, `expect` and return `Result` (breaking)
- [all] `chrono` replaced with `time` (breaking) - [all] `chrono` replaced with `time` (breaking)
- [all] `time` updated (CVE-2020-26235) - [all] `time` updated (CVE-2020-26235)
- [all] Improve lock contention and performance (breaking) - [all] Improve lock contention and performance (breaking)
- [audio] Files are now downloaded over the HTTPS CDN (breaking) - [audio] Files are now downloaded over the HTTPS CDN (breaking)
- [audio] Improve file opening and seeking performance - [audio] Improve file opening and seeking performance (breaking)
- [chore] MSRV is now 1.61 - [chore] MSRV is now 1.61 (breaking)
- [connect] `DeviceType` moved out of `connect` into `core` (breaking) - [connect] `DeviceType` moved out of `connect` into `core` (breaking)
- [core] Message listeners are registered before authenticating. As a result - [core] Message listeners are registered before authenticating. As a result
there now is a separate `Session::new` and subsequent `session.connect`. there now is a separate `Session::new` and subsequent `session.connect`.
@ -63,6 +63,9 @@ https://github.com/librespot-org/librespot
- [all] Check that array indexes are within bounds (panic safety) - [all] Check that array indexes are within bounds (panic safety)
- [all] Wrap errors in librespot `Error` type (breaking) - [all] Wrap errors in librespot `Error` type (breaking)
- [connect] Add session events
- [connect] Add `repeat`, `set_position_ms` and `set_volume` to `spirc.rs`
- [contrib] Add `event_handler_example.py`
- [core] Send metrics with metadata queries: client ID, country & product - [core] Send metrics with metadata queries: client ID, country & product
- [core] Verify Spotify server certificates (prevents man-in-the-middle attacks) - [core] Verify Spotify server certificates (prevents man-in-the-middle attacks)
- [core] User attributes are stored in `Session` upon login, accessible with a - [core] User attributes are stored in `Session` upon login, accessible with a
@ -75,24 +78,28 @@ https://github.com/librespot-org/librespot
It supports a lot of functionality, including audio previews and image It supports a lot of functionality, including audio previews and image
downloads even if librespot doesn't use that for playback itself. downloads even if librespot doesn't use that for playback itself.
- [core] Support downloading of lyrics - [core] Support downloading of lyrics
- [main] Add all player events to `player_event_handler.rs`
- [main] Add an event worker thread that runs async to the main thread(s) but
sync to itself to prevent potential data races for event consumers
- [metadata] All metadata fields in the protobufs are now exposed (breaking)
- [playback] Explicit tracks are skipped if the controlling Connect client has - [playback] Explicit tracks are skipped if the controlling Connect client has
disabled such content. Applications that use librespot as a library without disabled such content. Applications that use librespot as a library without
Connect should use the 'filter-explicit-content' user attribute in the session. Connect should use the 'filter-explicit-content' user attribute in the session.
- [metadata] All metadata fields in the protobufs are now exposed (breaking)
- [connect] Add session events
- [playback] Add metadata support via a `TrackChanged` event - [playback] Add metadata support via a `TrackChanged` event
- [main] Add all player events to `player_event_handler.rs`
- [contrib] Add `event_handler_example.py`
- [connect] Add `repeat`, `set_position_ms` and `set_volume` to `spirc.rs`
- [main] Add an event worker thread that runs async to the main thread(s) but sync to itself to prevent potential data races for event consumers
### Fixed ### Fixed
- [connect] Set `PlayStatus` to the correct value when Player is loading to avoid blanking out the controls when `self.play_status` is `LoadingPlay` or `LoadingPause` in `spirc.rs` - [connect] Set `PlayStatus` to the correct value when Player is loading to
- [connect] Handle attempts to play local files better by basically ignoring attempts to load them in `handle_remote_update` in `spirc.rs` avoid blanking out the controls when `self.play_status` is `LoadingPlay` or
- [playback] Handle invalid track start positions by just starting the track from the beginning `LoadingPause` in `spirc.rs`
- [playback, connect] Clean up and de-noise events and event firing - [connect] Handle attempts to play local files better by basically ignoring
- [playback] Handle disappearing and invalid devices better attempts to load them in `handle_remote_update` in `spirc.rs`
- [connect, playback] Clean up and de-noise events and event firing
- [playback] Handle invalid track start positions by just starting the track
from the beginning
- [playback] Handle disappearing and invalid devices better
- [playback] Handle seek, pause, and play commands while loading
### Removed ### Removed
- [main] `autoplay` is no longer a command-line option. Instead, librespot now - [main] `autoplay` is no longer a command-line option. Instead, librespot now