Releases: devgianlu/go-librespot
Releases · devgianlu/go-librespot
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
v0.1.0
- 🌟 feat: deprecate user-pass login in favor of OAuth2 flow 1e82a27 @devgianlu
- 💄 chore: update README 61e7b9e @devgianlu
- 💄 chore: remove leftover user-pass APIs f07d666 @devgianlu
- 🐞 fix: prevent time bar not advancing because of zero playback speed 16741ac @devgianlu
- 💄 chore: fix typo 3d335b0 @devgianlu
- 🌟 feat: better logging when no playable formats are available 68b0765 @devgianlu
- 🐝 refactor: rename package to
github.com/devgianlu/go-librespot
34f6371 @devgianlu - 🌟 feat: set allowed origins for websocket endpoint 803de1b @devgianlu
- 📄 fixed ring buffer usage for audio syncing 0aa24de @tooxo
- 🌟 feat: some API request params validation b9bc8c8 @devgianlu
- 🌟 feat: add web-api passthrough 84b3c3f @momozahara
- 🐞 fix: reload context if client didn't send the entire playlist #70 da0644f @tooxo
- 🐞 fix: do not drop track early when advancing next 7c78eae @devgianlu
- 🐞 fix: skipping to the wrong song in some occasions (#61) 888787f @tooxo
- 🐞 fix: delegate starting receiver loops to caller (#69) 569ab07 @silenium-dev
- 🐞 fix: avoid removing currently playing queued track cdd6a53 @devgianlu
- 🐞 fix: dealer and accesspoint reconnection fixes fcbfa2c @devgianlu
- 🐞 fix: avoid double locking on accesspoint reconnect 2803a90 @devgianlu
- 🐞 fix: ignore track index when track uri or track uid is available 2c86cac @tooxo
- 💄 chore: add explanatory comment 9da1361 @tooxo
- 🌟 feat: add support for AP proxy 08a2271 @HirbodBehnam
- 🐞 fix: remove unused "target_alias_id" field from dealer payload 5fb116d @devgianlu
- 🐞 fix: avoid nil deref when playing without player options override 7ce80cf @devgianlu
- 🐞 fix: do not reset dealer receivers list on reconnect b98dad6 @devgianlu
- 🌟 feat: add TLS support to API server ab6c852 @tylkie
- 🐞 fix: support seek_to from the web player 0c9538a @aykevl
- 🐞 fix: try multiple times to connect to an AP 0ad7f6a @aykevl
- 💄 chore: run goimports 54a2210 @aykevl
- 🌟 feat: do no exit with error when config file is not set e4fb319 @aykevl
- 🌟 feat: default to zeroconf credentials 79bfa60 @aykevl
- 🌟 feat: add hostname to default device name efe81ed @aykevl
- 🐞 fix: avoid race conditions 9dcbd18 @aykevl
- 🐞 fix: small fixes to accesspoint connect retry logic 16f3506 @aykevl
- 📖 - 📖 docs: list dependencies in README f73f702 @aykevl
- 🐞 fix: map audio logarithmically, not linearly 9da54b7 @aykevl
- 🐞 fix: improve CORS support in API 015e82c @devgianlu
- 💄 chore: add CORS to README f99be98 @devgianlu
- 🐞 fix: handle web API passthrough bad request 57fc714 @devgianlu
- 🌟 feat: add token endpoint to API b95e6ac @felixstorm
- 🌟 feat: improve configuration parsing 3d54bfe @devgianlu
- 🐝 refactor: minor logging improvements 9e41b6c @devgianlu
- 🐞 fix: timeout audio key requests 117b929 @devgianlu
- 🐞 fix: avoid deadlocking
KeyProvider
receive loop 192e981 @devgianlu - 🌟 feat: support relative seek via API f63a67f @devgianlu
- 🌟 feat: support playpause endpoint that emulates the "play/pause" button 4bb0adc @aykevl
- 🌟 feat: support relative volume changes in the API e013bab @aykevl
- 🐞 fix: use correct volume range (0...100) in /status 39f9221 @aykevl
- 🐞 fix: do not throw away AP receivers on reconnection 516de68 @devgianlu
- 🌟 feat: read configuration from OS-specific config dir instead of CWD eaeb2ec @aykevl
- 🌟 feat: move credentials in common app state 44797c6 @aykevl
- 🌟 feat: save generated device ID in app state 5619e11 @aykevl
- 🌟 feat: support persisting Zeroconf credentials 29c5798 @devgianlu
- 🐞 fix: retry PutConnectState on error 4a2c8ad @kenny59
- 🐞 fix: update PlaybackSpeed when changing the IsPaused flag 23c4294 @aykevl
- 🐞 fix: do not panic when the URI of the next track is unset 70a2499 @aykevl
- 🌟 feat: use lockfile to avoid multiple go-librespot instances 42c5b02 @aykevl
- 🐞 fix: use nice formatting in state.json a6062d6 @aykevl
- 🐞 fix: make writeAppState atomic 9dc93f6 @aykevl
- 🐞 fix: default API to localhost f83822d @aykevl
- 🐞 fix: only stop playback with new cluster updates 60b4938 @aykevl
- 🐞 fix: put previous tracks in the right order 0406a40 @aykevl
- 🐞 fix: don't seek to the start when swiping right 39f51bc @aykevl
- 🐞 fix: assign UIDs to newly added tracks 0e4f213 @aykevl
- 🐞 fix: initialize vorbis stream on the first read e5e55ee @aykevl
- 🌟 feat: improve efficiency of the decryptor cbdc27a @aykevl
- 🌟 feat: don't seek when it's not needed b9788ab @aykevl
- 🐝 refactor: move skip next logic fb67bfe @devgianlu
- 🐞 fix: translate GID to URI when comparing tracks 02918ae @devgianlu
- 🌟 feat: support seek to specific track from API 2fa82a6 @devgianlu
- 💄 chore: use Buf to build proto 634c950 @devgianlu
- 🌟 feat: add support for playlist signals 8933c38 @devgianlu
- 🌟 feat: update some Spotify Connect protobuf definitions d977b75 @devgianlu
- 🐞 fix: set a reasonable period size instead of using the default 955e23b @aykevl
- 🌟 feat: rewrite ALSA buffering 2bd5800 @aykevl
- 🐝 refactor: cleanup unused fields 8825312 @devgianlu
- 🐝 refactor: make zeroconf server log visible with default configuration 45aeb49 @devgianlu
- 💄 chore: update README and documentation 01fcfaf @devgianlu
- 💄 chore: add cross compilation documentation b2d67f0 @felixstorm
- 💢 ci: use Docker to build release 2fbfc50 @devgianlu
- 🌟 feat: print version when starting 293e672 @devgianlu
- 💢 ci: update runner to Ubuntu 22.04 31b206d @devgianlu
- 💢 ci: always build binaries 249b8fe @devgianlu
v0.0.17.1
v0.0.17
- 🐞 fix: remove delay/lag when skipping track 2c982d0 @devgianlu
- 🐞 fix: avoid double skip on track end ba696c7 @devgianlu
- 🌟 feat: synchronisation between ALSA and Spotify volume (#40) b6bd7d7 @tooxo
- 💄 chore: add LICENSE 9084ef7 @devgianlu
- 🌟 feat: log ALSA parameters d914d25 @devgianlu
- 🐞 fix: ensure no decoder data is wasted 65da4d3 @devgianlu
- 🌟 feat: reduce ALSA buffer size + remove unnecessary drain 756c644 @devgianlu
- 🐝 refactor: move ALSA mixer code to separate file f31a54a @devgianlu
- 🐞 fix: do not lose last couple of frames on EOF bcf6237 @devgianlu
- 🌟 feat: expand output.RingBuffer capabilities ad3f125 @devgianlu
- 🌟 feat: add buffering to ALSA output ebcd739 @devgianlu
- 🐞 fix: don't update initial volume when a mixer is configured. 8ed8c26 @tooxo
- 💄 chore: fix typo 3db1d17 @devgianlu
- 🐞 fix: match play command skip to with gid ba5b013 @devgianlu
- 🐞 fix: do not panic when no tracks list is present 04ec5b1 @devgianlu
- 🌟 feat: implement current relative seek 0dc122e @devgianlu
- 🐞 fix: load autoplay even in case of context end 70aef7c @devgianlu
- 🐞 fix: peek correct track if about to play queue d1cf460 @devgianlu
v0.0.16
- 🐝 refactor: move controls from Stream to Player 2a52394 @devgianlu
- 🌟 feat: allow to prefetch a stream and swap it out 75ef7eb @devgianlu
- 🌟 feat: prefetch next track 51a1509 @devgianlu
- 🌟 feat: better logging for uri scoped operations baf0da7 @devgianlu
- 🌟 feat: better logging for vorbis decoder ea0517b @devgianlu
- 🌟 feat: avoid unix output drive useless state change 822355e @devgianlu
- 🌟 feat: redo output driver and audio sources for gapless playback 02c394f @devgianlu
- 🐝 refactor: rename linux output driver ALSA PCM handle field ef1b483 @devgianlu
- 🌟 feat: handle volume in linux output driver with ALSA mixer fdf6d57 @devgianlu
- 🌟 feat: add retry for downloading audio chunk b2ec6d5 @devgianlu
- 🌟 feat: move mixer device name to configuration a178714 @devgianlu
- 🐞 fix: avoid reading from SwitchingAudioSource with no source set 5385999 @devgianlu
- 🐞 fix: do not hang on end of context b05410e @devgianlu
v0.0.15
- 🌟 feat: support autoplay context in spclient 0bff8f8 @devgianlu
- 🌟 feat: parse autoplay enabled settings fb3f1ab @devgianlu
- 🌟 feat: start autoplay when context ends 0774e63 @devgianlu
- 🌟 feat: skip volume update if not necessary d0dc485 @devgianlu
- 🌟 feat: support setting initial volume 45fcffb @devgianlu
- 💄 chore: remove outdated TODO ebd2eb5 @devgianlu
- 🌟 feat: close ALSA device on EPIPE a7b360f @devgianlu
- 🐞 fix: build on unix bd02014 @devgianlu
- 🌟 feat: add more audio formats to proto definition 1a58df1 @devgianlu
- 📄 Upgrade Golang to 1.22.2 aa02034 @devgianlu
- 📄 Prevent bogus seek positions 06e24ad @devgianlu
- 📄 Avoid reading audio chunk out of bounds 052d86e @devgianlu
- 📄 Refactor API server config dcccf4a @devgianlu
- 📄 Support setting "Access-Control-Allow-Origin" header for API server 6b2fae9 @devgianlu
- 🐞 fix: typo in audio chunked reader 0c7a32f @devgianlu
- 🐞 fix: typo in seek bounds e122f2e @devgianlu
- 🐞 fix: force access token renewal on 401 ef364db @devgianlu
- 🐞 fix: assignment to nil metadata map when adding to queue 33ee3c0 @devgianlu
- 🐞 fix: calling close on nil output device 55f8329 @devgianlu
- 💄 chore: cleanup API spec 3656853 @devgianlu
v0.0.14
- 🐞 fix: retry storage resolve on 503 897ac6b @devgianlu
- 🌟 feat: restore session when logging out from Zeroconf 3c79bfb @devgianlu
- 🌟 feat: log which context is being resolved 4e82cde @devgianlu
- 🐞 fix: add missing page assignment when fetching 42aa4ad @devgianlu
- 🌟 feat: improve logic for skip/advance next f6242eb @devgianlu
- 🐞 fix: apply restrictions to state correctly ec31ca1 @devgianlu
v0.0.13
- 🌟 feat: support having Zeroconf discovery always enabled 8a2cb3b @devgianlu
- 🐞 fix: double close on accesspoint recv channels 3858c64 @devgianlu
- 🐝 refactor: make unplayable formats a generic error 23007a5 @devgianlu
- 🐞 fix: skip track if no playable formats are available 540fd0e @devgianlu
- 🌟 feat: disconnect zeroconf client when device goes idle 542dd3f @devgianlu
- 🌟 feat: queue support be3f8c7 @devgianlu
- 🐝 refactor: move queue operations to functions 9feee26 @devgianlu
- 🌟 feat: support adding track to queue from API efee5dc @devgianlu
- 🐞 fix: better API status codes bdba4a1 @devgianlu
- 🐞 fix: do not start playing queue on context transfer 84342c8 @devgianlu
- 🌟 feat: support set_options command 4b81804 @devgianlu
v0.0.12
- 🐞 fix: check clienttoken response status 53fce0b @devgianlu
- 💄 chore: fix login5 panic typo 04505c2 @devgianlu
- 🐝 refactor: drop hardcoded Windows clienttoken data 3434deb @devgianlu
- 🐞 fix: mimic spotify version format when requesting clienttoken 92ade8e @devgianlu