Releases: devgianlu/go-librespot
Releases · devgianlu/go-librespot
v0.5.0
- 🌟 feat: MPRIS integration (#197) 8d888e4 @tooxo
- 🌟 feat: add option to disable log timestamps 0735fb4 @devgianlu
- 💄 chore: add macOS CI 8e1aa85 @devgianlu
- 🐞 fix: make HttpChunkedReader.ReadAt return io.EOF in case the chunks are finished. a534641 @tooxo
- 🐞 fix: clear chunk err to prevent busy-loop deadlock 37f27d1 @tooxo
- 🐞 fix: use next from the set_queue command to retain queue order c77ff84 @tooxo
- 🐞 fix: adapt for if the currently playing song was queued 99a29e9 @tooxo
- 💄 chore: rename paged_list to paged-list 4b3061b @devgianlu
- 🌟 feat: add NullLogger 3cbea65 @devgianlu
- ⛑ test: introduce mockery b024d6b @devgianlu
- ⛑ test: improve tracks paged list unit tests 1b67858 @devgianlu
- 💄 chore: enable tests in CI e098c6c @devgianlu
- 💄 chore: rename chunked_reader to chunked-reader 818a296 @devgianlu
- 🐞 fix: clamp audio chunk HTTP range request 53df589 @devgianlu
- 🌟 feat: add
Closemethod toHttpChunkedReader454c6ec @devgianlu - ⛑ test: add
HttpChunkedReaderintegration tests 226b6b1 @devgianlu - ⛑ test: add
LatencyReaderunit tests 3a243ff @devgianlu - ⛑ test: add internal tests for
parseContentRangef0c13a9 @devgianlu - 🐞 fix: failed obtaining client token on FreeBSD (#221) fc55ed0 @biancalana
v0.4.0
- 🌟 feat: allow empty HTTP POST body on API 9b19c32 @devgianlu
- 🌟 feat: add
context_urito WebSocket events 4a1e5dc @devgianlu - 💄 chore: add Brew formula to README 214ef18 @devgianlu
- 🌟 feat: support more PCM formats with ALSA 9066a23 @devgianlu
- 🌟 feat: remember last volume set 5c8f359 @devgianlu
- 💄 chore: improve cross-compilation helpers e8fd412 @peterdk
v0.3.3
- 🌟 feat: add CDN URL quarantine ab5977f @devgianlu
- 💄 chore: regenerate proto 814c66e @devgianlu
- 💄 chore: add extendedmetadata proto 7bdd5e2 @devgianlu
- 🌟 feat: replace
/metadata/4/API with/extended-metadata/v0b39e5e5 @devgianlu - 💄 chore: add missing websocket field cbecc59 @linknum23
- 🐞 fix: mark device active when receiving play command b4a9dd9 @devgianlu
v0.3.2
- 🐞 fix: associate context with retry in
PutConnectStatefad7868 @devgianlu - 🐞 fix: do not retry downloading audio chunk indefinitely 05c1cc8 @devgianlu
- 🌟 feat: add cautionary timeout on HTTP clients 5b9dfd0 @devgianlu
- 🐞 fix: avoid deadlock when getting / setting position on nil source 3e1cbe4 @devgianlu
- 🌟 feat: try all CDN URLs available before failing cf27c00 @devgianlu
- 🐞 fix: always use
spclient.wg.spotify.comfor metadata requests c980afb @devgianlu
v0.3.1
- 🌟 feat: better volume logging 1caf43f @devgianlu
- 🐝 refactor: cleanup ALSA mixer events handling f9f413c @devgianlu
- 🌟 feat: improve volume events propagation d713483 @devgianlu
- 🐞 fix: adjust volume rounding d621dc8 @devgianlu
v0.3.0
- 🌟 feat: added support to provide any pulseaudio sink, not only default (#163) 633b140 @tantra35
- 🌟 feat: add ability to provide interface list to advertise through zeroconf (#164) 57ffceb @tantra35
- 🐞 fix: stop retrying spclient requests on context deadline 5907654 @devgianlu
- 💄 chore: update
actions/upload-artifactto v4 068fb3b @devgianlu - 💄 chore: fix upload/download of artifacts 3d5c431 @devgianlu
- 🐞 fix: do not retry on spclient access token failure a9781e1 @devgianlu
- 🌟 feat: support config.yml or config.yaml ad15f95 @devgianlu
- 🌟 feat: extract commit hash from build info c331cfb @aykevl
- 🐞 fix: use default pulseaudio sink when device is "default" 71465d2 @devgianlu
- 🌟 feat: set content-type header on spclient requests 1f30516 @devgianlu
- 💄 chore: ignore buf PACKAGE_VERSION_SUFFIX rule d65c3e6 @devgianlu
- 💄 chore: regenerate all protos e065a88 @devgianlu
- 🐝 refactor: move client version to package const af43230 @devgianlu
- 🐝 refactor: move app state to own struct 907f5bc @devgianlu
- 🌟 feat: add net-fortune and gabo-receiver-service requests to Spclient 5751b26 @devgianlu
- 🌟 feat: track session and playback IDs bfb3bba @devgianlu
- 🌟 feat: introduce pluggable event manager 65c899e @devgianlu
- 💄 chore: refactor player events 6c93f7b @devgianlu
- 🐝 refactor: expose GetFormatBitrate 117ad6b @devgianlu
- 🌟 feat: use available HTTP client for clienttoken request ded3f3a @devgianlu
- 🌟 feat: wait for key provider loop to exit 9084afd @devgianlu
- 🐞 fix: do not fallthrough on key provider error 4a20eb1 @devgianlu
- 🌟 feat: add Mercury/Hermes client 0005f10 @devgianlu
- 🌟 feat: measure CDN latency 9215cf5 @devgianlu
- 🌟 feat: call event handlers c622580 @devgianlu
- 🌟 feat: event hook tweaks 32b3268 @devgianlu
- 🌟 feat: set play origin device on play command 7a8dff4 @devgianlu
- 🌟 feat: add config option to use album gain instead of track gain (#180) 66dc16c @skeller
- 🌟 feat: add more info to
OnPlayerPauseevent cdf596e @devgianlu - 🐞 fix: fix double unlock of mutex in dealer recvloop (#182) 754270d @skeller
- 🐞 fix: close event manager when closing session c85ff4f @devgianlu
- 🐞 fix: avoid clogging up volume update channel f85a223 @devgianlu
- 🌟 feat: Add support for Audio Toolbox output (MacOS) (#153) f1784b5 @stronk-dev
- 💄 chore: gofmt b1ceafa @devgianlu
- 💄 chore: add gofmt step to CI 0c9cbb1 @devgianlu
- 💄 chore: add lockfile to gitignore 948ecb2 @devgianlu
- 🌟 feat: obfuscate sensible info from logs 84f1037 @devgianlu
v0.2.0
- 🐝 refactor: pass players options with struct 0b94846 @devgianlu
- 🌟 feat: support audio pipe output 3cb5504 @devgianlu
- 🌟 feat: support multiple audio pipe output formats 4952771 @devgianlu
- 💄 chore: add Docker image 2ec7994 @devgianlu
- 💄 chore: fix Docker image README typo c97af59 @devgianlu
- 🐝 refactor: improve error handling for audio key provider dc9f202 @devgianlu
- 🌟 feat: consolidate logging d2dce96 @devgianlu
- 🌟 feat: reduce startup time + better AP errors f0da47b @devgianlu
- 🌟 feat: better login5 error handling 63a352f @devgianlu
- 🐞 fix: avoid accidental OOM due to bogus allocation 2d65d76 @devgianlu
- 🌟 feat: more logging consolidation 3f34662 @devgianlu
- 🌟 feat: do not exit on AP or dealer reconnection failure 30c81e8 @devgianlu
- 🐞 fix: fix crash when API server is disabled 4af7200 @devgianlu
- 🐞 fix: missing output device log init a5529e6 @devgianlu
- 💄 chore: add contribution guidelines b671638 @devgianlu
- 💄 chore: remove bogus file b9f9ba1 @devgianlu
v0.1.3
- 🐝 refactor: move vorbis metadata page to proper package 1d99d0c @devgianlu
- 🐝 refactor: allow making spclient requests from outside package 2b5c7fe @devgianlu
- 🐞 fix: fix fast relative volume updates eab244b @aykevl
- 💄 chore: fix missing cross-compilation Go envs c6486e2 @devgianlu
- 🌟 feat: use Options.RestorePaused when transfering playback 9e1325d @2opremio
- 🌟 feat: propagate context everywhere b6b8609 @devgianlu
- 🌟 feat: control KeyProvider request with context 5e60acb @devgianlu
- 🌟 feat: set deadlines on AP connection 355191f @devgianlu
- ⛑ test: update tests to have context 1df22db @devgianlu
- 🌟 feat: use same HTTP client everywhere 1c2d0ef @devgianlu
- 🌟 feat: add from Base62 helper a0d52ac @devgianlu
- 🐞 fix: always notify volume changes f79e7ce @devgianlu
- 🌟 feat: add missing track formats to proto enum 1869e75 @devgianlu
- 🐞 fix: do not crash on empty transfer request 30b5765 @devgianlu
- 🐝 refactor: pass output options as single struct 9f8ee67 @devgianlu
- 🌟 feat: support setting advanced ALSA configuration 952606d @devgianlu
- 🌟 feat: support specifying Zeroconf port 8b1458d @devgianlu
- 🐞 fix: remove typos in configuration struct 306dbfc @devgianlu
v0.1.2
- 🐝 refactor: support multiple kinds of outputs through an interface 45ea5e8 @aykevl
- 🌟 feat: refactor volume change events b555245 @aykevl
- 🌟 feat: add PulseAudio backend cf97e9e @aykevl
- 🐞 fix: get correct track position even when output is missing b20fca8 @devgianlu
- 🐞 fix: don't close ALSA output when pausing or on EOF 08fd708 @aykevl
- 🐞 fix: do not assign AP conn directly 0950205 @devgianlu
- 🌟 feat: set track provider from metadata 85b1bb1 @devgianlu
v0.1.1
- 💄 chore: add development prebuilt binaries note to README 078497a @devgianlu
- 🐞 fix: avoid panicking when trying to parse invalid uri 6088a20 @devgianlu
- 💄 chore: update instruction for cross compilation on non-amd64 systems 9ebd2a1 @devgianlu
- 🐞 fix: propagate player loop errors to caller acde96d @devgianlu
- 🐞 fix: do not risk deadlocking when output is not set 932ea71 @devgianlu
- 🐞 fix: do not crash on context resolve error f5d50c0 @devgianlu
- 🐞 fix: proper version number string and user agent c77366d @devgianlu
- 💄 chore: embed proper version when building development binaries 307f062 @devgianlu
- 🌟 feat: move autoplay toggle to configuration 62611cb @devgianlu
- 🐞 fix: select correct recent tracks for autoplay f2a2756 @devgianlu
- 🐞 fix: always report when alsa driver output loop exists 08e546e @devgianlu
- 💄 chore: use Debian bullseye to build release images 8f0f1dd @devgianlu
- 💄 chore: update cross compile instructions for building with right user f2de517 @devgianlu