Skip to content

Releases: librespot-org/librespot-java

1.5.0

28 Jul 15:03
Compare
Choose a tag to compare

Breaking changes

  • Separated library from player (#245)
  • Removed common module, moved into lib
  • Removed core module, split into lib and player
  • Moved many classes

Added

  • Added STORED authentication strategy (17ba408)
  • Added followers and following endpoint to API (#241)
  • Added toggle play/pause command to API (#244)

Changed

  • Release versions are compiled on Java 8 (5a97a60)
  • Refactored line acquisition to prefer native lines over conversion (#240)
  • Refactored audio decrypt (b71af83)

Fixed

  • Do not panic when trying to autoplay search context (2e41807)
  • Fixed payload too large when sending state (#239)

1.4.0

14 Jun 17:10
Compare
Choose a tag to compare

Added

  • Report to server that we played a track (#155, still buggy)
  • Retrieve tracks in state from API (#222)
  • Add/remove tracks from queue from API (#222)
  • Seek from API (6104db1)
  • Added logout feature (5839d5b)

Changed

Fixed

  • Fixed time bar in wrong position after resuming (#213)
  • Do not get Cipher instance every time (#215)
  • Fixed loading of some podcasts (#223)
  • Fixed crash when pressing next after adding song to queue (#226)
  • Prevent deadlock when closing after network issue (#227)
  • Fixed old issue with Zeroconf active session (#225, #229, #231)
  • Avoid establishing two connections (afc7dc3)
  • Start line before writing for the first time (#232)
  • Do not close System.out for any reason (#234)
  • Shutdown OkHttp threads when closing (#235)

1.3.1

26 Apr 20:08
Compare
Choose a tag to compare

Added

  • Added explicit content filter (#200)
  • Added support for GZip requests (8fc4ae9)
  • Compress all outgoing HTTP requests (e74e43c)
  • Support moving tracks inside playlist (#203)
  • Added player.volumeSteps to configuration (#214)

Changed

  • Allow any origin for API (#188)
  • Default pregain value is now 3dB (#199)
  • Changed image download endpoint (8f232bc)
  • Handle PUT state requests asynchronously (#197)
  • Include milliseconds in logs (#205)
  • Fixed general issues in Websocket client (3039da7)
  • Report active user for Zeroconf correctly (#210)
  • Fixed issue with not being able to reconnect with Zeroconf (#210)
  • Refactored loopers and queues (#206, #212)

Fixed

  • Resend Shairport metadata when resuming (#195)
  • Fixed NPE when reconnecting (f507119)
  • Fixed device disappearing due to concurrent reconnection (a3edb34)
  • Fixed cache not working after replaying the same track 8 times (#201)
  • Fixed issue with time synchronization PING (#202)
  • Close all threads properly when shutting down (#209)

1.3.0

17 Mar 18:30
Compare
Choose a tag to compare

Added

  • Added volumeChanged event (ab76d70)
  • Added support for Shairport-like metadata (#174, #177, #182, #183, #186)
  • Added endpoint to retrieve canvases (ba10370)
  • Added feature to store credentials after first log in (f07b00a)
  • Added API endpoint to request metadata without type (#149)
  • Make device ID configurable (#178)

Changed

  • !! Improved playback performance (befe207)
  • !! Rewritten cache system to improve performance (#179, #184)
  • Log big protobuf messages only if log level is TRACE (38975e7)
  • Improved closing operations (6b6333e, #176)
  • Improved seeking by clearing buffers (7c7a34f)

Fixed

  • Avoid deadlock when shutting down (6659bfe)
  • Fixed issue when starting (373583e)
  • Fixed issue with transforming (7876c10)
  • Fixed deadlock when seeking with playback paused (#175)
  • Fixed playback not starting when selecting new context (2577329)

1.2.2

03 Feb 14:19
Compare
Choose a tag to compare

Added

  • Added HTTP and SOCKS proxy support with authentication (#172)
  • Added logLevel option (#171)
  • Added support for requesting token with multiple scopes (8c63716)
  • Added connectionDropped and connectionEstablished events (#172, 9c9842a)

Fixed

  • Fixed deadlock when track loading fails (c014f94)

Changed

  • Changed response codes for API requests (#172, 9c9842a)

1.2.1

17 Jan 16:08
Compare
Choose a tag to compare

Added

  • Added search and tokens endpoints (ba8b2fb)
  • Added playlist metadata endpoints (#168)

Fixed

  • Fixed synchronization issue when reading from stream (93fffc4)

Changed

  • Do not include generate protobuf files, only definitions (#170)

1.2.0

12 Jan 11:13
Compare
Choose a tag to compare

Added

  • Add CORS headers to API responses (#161)
  • Added timeout to Mercury requests to avoid deadlocks (1e8255b)
  • Added trackTime to API events (9a8a515)
  • Added metadataAvailable, playbackHaltStateChanged, sessionCleared, sessionChanged, inactiveSession events (5cfae00, b933939)
  • API server is available immediately even for Zeroconf instances (#166, b933939)

Changed

  • Updated client version and type (b4d6476)
  • Improved download retry strategy (#163, fcd47e2)
  • Moved API configuration (api.port and api.host) to file (1c9a221)
  • Modified player/current endpoint to include trackTime parameter (9a8a515)

Fixed

  • Do not shuffle mixed playlists if not allowed (2e35d9b)
  • Fixed NTP UDP socket timeout (4e5c574)
  • Fixed official client not working after disconnecting (#165)
  • Update time (pcm_offset in Vorbis codec) when seeking (553fa31)
  • Fixed pausing state being overridden in some cases (651d6d7)

1.1.0

13 Dec 14:55
Compare
Choose a tag to compare
  • Listen to player events through the WebSocket API
  • Change API port with --api.port
  • Fixed a couple of deadlocks
  • Synchronization issues fixed
  • Retry when Spotify sends 503

1.0.0

25 Nov 10:46
Compare
Choose a tag to compare
  • Merged #105
  • Using lighter Zeroconf library (devgianlu/zeroconf-java)
  • Release mixer line when not used (#150)
  • Slimmed down API
  • Removed API client
  • Minor improvements and fixes

0.6.2

11 Aug 21:53
Compare
Choose a tag to compare
  • Fixed #122
  • Fixed issue with custom named configuration file (#119)
  • Minor bug fixes