What's Changed
Added
- [connect] Add method
transfertoSpircto automatically transfer the playback to ourselves - [core] Add method
transfertoSpClient - [core] Add
SpotifyUritype to represent more types of URI thanSpotifyIdcan - [discovery] Add support for device aliases
- [main]
--local-file-dir/-loption added to binary to specify local file directories to pull from - [metadata]
Localvariant added toUniqueFieldsenum (breaking) - [playback] Local files can now be played with the following caveats:
- They must be sampled at 44,100 Hz
- They cannot be played from a Connect device using the dedicated 'Local Files' playlist; they must be added to another playlist first
- [playback]
local_file_directoriesfield added toPlayerConfigstruct (breaking)
Changed
- [contrib] Switched contrib/Dockerfile to new Debian stable (trixie)
- [core]
get_radio_for_trackfunction changed from accepting aSpotifyIdto accepting aSpotifyUri(breaking) - [core] Changed return type of
get_extended_metadatato returnBatchedExtensionResponse(breaking) - [core] Changed parameter of
get_<item>_metadatafromSpotifyIdtoSpotifyUri(breaking) - [metadata] Changed arguments for
Metadatatrait from&SpotifyIdto&SpotifyUri(breaking) - [playback] Changed type of
SpotifyIdfields inPlayerEventmembers toSpotifyUri(breaking) - [playback]
loadfunction changed from accepting aSpotifyIdto accepting aSpotifyUri(breaking) - [playback]
preloadfunction changed from accepting aSpotifyIdto accepting aSpotifyUri(breaking)
Fixed
- [connect] Fixed failed transferring with transfer data that had an empty context uri and no tracks
- [connect] Use the provided index or the first as fallback value to always play a track on loading
- [core] Fixed a problem where the metadata didn't include the audio file by switching to
get_extended_metadata - [core] Fixed connection issues after system suspend on Linux
Removed
- [core] Removed
SpotifyItemTypeenum; the newSpotifyUriis an enum over all item types and so which variant it is
describes its item type (breaking) - [core] Removed
NamedSpotifyIdstruct; it was made obsolete bySpotifyUri(breaking) - [core] The following methods have been removed from
SpotifyIdand moved toSpotifyUri(breaking):is_playablefrom_urito_uri
Commit Summary
- chore: update libmdns to 0.10.1 by @willstott101 in #1575
- docs: Document examples by @SapiensAnatis in #1567
- refactor: Introduce SpotifyUri struct by @SapiensAnatis in #1538
- refactor: remove parking_lot dependency and refine feature selections by @roderickvd in #1543
- Fix cross compilation (add required TLS backend selection) by @starypatyk in #1594
- chore: update alpine version to 3.20 and ensure openssl-dev is included by @matsch82 in #1608
- Add rustfmt and clippy to toolchain components by @kingosticks in #1607
- feat: add inital flac decoding support via the symphonia crate by @KernelFreeze in #1589
- Add pre-commit configuration by @paulfariello in #1606
- Add RoPieee to Related Projects by @spockfish in #1615
- feat: Add aliases to discovery by @lucasdrufva in #1602
- Fix: Use the provided index or the first track as fallback value by @photovoltex in #1599
- feat: Initiate transfer playback via spclient api by @photovoltex in #1530
- Fix: Harden the transfer flow for unexpected data by @photovoltex in #1581
- Fix: Add missing feature for
with-avahifeature by @photovoltex in #1600 - Fix: use extended-metadata endpoint to acquire metadata by @photovoltex in #1622
- fix: connection issues after system suspend on Linux by @zappolowski in #1626
- feat: Basic local file support by @SapiensAnatis in #1595
- fix: Fix build failure with passthrough-decoder by @SapiensAnatis in #1630
- update cross-compile oldstable debian to stable(trixie) by @tomodachi in #1619
- fix: correct dependabot config file by @mpsq in #1629
- CI: Add a release preparation and release workflow by @photovoltex in #1559
- CI: Create a PR for the release preparations by @photovoltex in #1631
- Preparations for v0.8.0 by @github-actions[bot] in #1632
New Contributors
- @SapiensAnatis made their first contribution in #1567
- @matsch82 made their first contribution in #1608
- @KernelFreeze made their first contribution in #1589
- @paulfariello made their first contribution in #1606
- @spockfish made their first contribution in #1615
- @lucasdrufva made their first contribution in #1602
- @zappolowski made their first contribution in #1626
- @mpsq made their first contribution in #1629
- @github-actions[bot] made their first contribution in #1632
Full Changelog: v0.7.1...v0.8.0