Skip to content

Latest commit

 

History

History
445 lines (351 loc) · 21 KB

CHANGELOG.md

File metadata and controls

445 lines (351 loc) · 21 KB

Changelog

Each release usually includes various fixes and improvements. The most noteworthy of these, as well as any features and breaking changes, are listed here.

v4.0.8

  • Updated koe to 2.0.3-rc2 & use voice gateway v8 in #1097
  • Updated Lavaplayer to 2.2.2 in #1105
  • Allow usage of non-allocating frame buffers in #1095
  • Added shutdown handling to close sessions cleanly in #1102

v4.0.7

  • Updated Lavaplayer to 2.2.1
  • Updated spring-boot to 3.3.0 & spring-websocket to 6.1.9
  • Updated kotlin to 2.0.0 & kotlinx-serialization-json to 1.7.0
  • Updated logback to 1.5.6 & sentry-logback to 7.10.0

v4.0.6

  • Updated Lavaplayer to 2.2.0
  • Updated Koe to 2.0.2

v4.0.5

  • Updated Lavaplayer to 2.1.2
  • Updated Koe to 2.0.1 (fixes the IndexOutOfBoundsException when playing a YouTube track)
  • Added option to enable Nico source
  • Expose Lavalink sessions to plugins via the ISocketServer interface

Warning

The default Youtube source is now deprecated and won't receive further updates. Please use https://github.com/lavalink-devs/youtube-source#plugin instead.

v4.0.4

  • Updated Lavaplayer to 2.1.1

v4.0.3

  • Fixed plugins not registering (introduced in 4.0.2)
  • Fixed some issues where plugins would be redownloaded everytime lavalink started (introduced in 4.0.1)

v4.0.2

  • Fixed issue where all plugins get deleted when already present (introduced in v4.0.1)
  • Always include plugin info & user data when serializing (introduced in v4.0.1)
  • Updated oshi to 6.4.11

4.0.1

  • Updated Lavaplayer to 2.1.0
  • Updated oshi to 6.4.8
  • Fix/user data missing field exception in protocol
  • Fix plugin manager not deleting old plugin version
  • Fix not being able to seek when player is paused
  • Removed illegal reflection notice

4.0.0

  • Lavalink now requires Java 17 or higher to run
  • Removal of all websocket messages sent by the client. Everything is now done via REST
  • Remove default 4GB max heap allocation from docker image
  • Removal of all /v3 endpoints except /version. All other endpoints are now under /v4
  • Reworked track loading result. For more info see here
  • Update docker ubuntu base image from focal(20) to jammy(22)
  • Update to Koe 2.0.0-rc2
  • Update Lavaplayer to 2.0.4, which includes native support for artwork urls and ISRCs in the track info
  • Update to the Protocol Module to support Kotlin/JS
  • Allow setting user data on tracks in the REST API. For more info see here
  • Added default plugin repository. Plugin devs can now request their plugin to be added to the default repository. For more info see here
  • Addition of full Track objects in following events: TrackStartEvent, TrackEndEvent, TrackExceptionEvent, TrackStuckEvent
  • Resuming a session now requires the Session-Id header instead of Resume-Key header
  • Add JDA-NAS support for musl (x86-64, aarch64) based systems (most notably alpine)
  • Add Omissible#isPresent & Omissible#isOmitted to the protocol module
  • New config option to specify the directory to load plugins from. lavalink.pluginsDir (defaults to ./plugins)
  • Enable request logging by default
  • Fixed error when seeking and player is not playing anything in
  • Fixed null pointer when a playlist has no selected track

Warning

Lavalink previously set the -Xmx flag to 4G in docker. This caused issues with some systems which had less than 4GB of RAM. We have now removed this flag and let the JVM decide the max heap allocation. The default is 1GB or 25% of total memory, whichever is lower. On how to increase the max heap allocation, see here.

v4.0.0 - Betas

4.0.0-beta.5

  • Update lavaplayer to 2.0.3 - Fixed YouTube access token errors
  • Added default plugin repository. Plugin devs can now request their plugin to be added to the default repository. For more info see here
  • Fixed error when seeking and player is not playing anything in

4.0.0-beta.4

  • Update lavaplayer to 2.0.2 - Support MPEG 2.5 and fixed some requests not timing out
  • Add Omissible#isPresent & Omissible#isOmitted to the protocol module
  • Fix null pointer when a playlist has no selected track

4.0.0-beta.3

  • Update lavaplayer to 2.0.0 - Fixed YouTube 403 errors & YouTube access token errors

4.0.0-beta.2

  • Update lavaplayer to 08cfbc0 - Fixed ogg streaming
  • Add JDA-NAS support for musl (x86-64, aarch64) based systems (most notably alpine)
  • New config option to specify the directory to load plugins from. lavalink.pluginsDir (defaults to ./plugins)

4.0.0-beta.1

  • New Lavalink now requires Java 17 or higher to run
  • Removal of all websocket messages sent by the client. Everything is now done via REST
  • Update to Lavaplayer custom branch, which includes native support for artwork urls and ISRCs in the track info
  • Addition of full Track objects in following events: TrackStartEvent, TrackEndEvent, TrackExceptionEvent, TrackStuckEvent
  • Resuming a session now requires the Session-Id header instead of Resume-Key header
  • Reworked track loading result. For more info see here
  • Update to the Protocol Module to support Kotlin/JS
  • Removal of all /v3 endpoints except /version. All other endpoints are now under /v4

Warning This is a beta release, and as such, may contain bugs. Please report any bugs you find to the issue tracker. For more info on the changes in this release, see here If you have any question regarding the changes in this release, please ask in the support server or GitHub discussions

Contributors: @topi314, @freyacodes, @DRSchlaubi and @melike2d

v3.7.12

  • Updated Lavaplayer to 1.5.4
  • Updated Koe to 2.0.1 (fixes the IndexOutOfBoundsException when playing a YouTube track)

Warning

The default Youtube source is now deprecated and won't receive further updates. Please use https://github.com/lavalink-devs/youtube-source#plugin instead.

v3.7.11

  • Fixed not being able to seek when player is paused
  • Update Oshi to 6.4.3
  • Update Lavaplayer to 1.5.3

v3.7.10

  • Update lavaplayer to 1.5.2 - Fixed NPE on missing author in playlist tracks in YouTube

3.7.9

  • Update lavaplayer to 1.5.1 - Fixed YouTube access token errors
  • Fixed websocket crash when seeking and nothing is playing
  • Fixed error when seeking and player is not playing anything

3.7.8

  • Fix YouTube 403 errors
  • Fix YouTube access token errors

3.7.7

  • Add JDA-NAS support for musl (x86-64, aarch64) based systems (most notably alpine)

3.7.6

  • Update Lavaplayer to 1.4.1 & 1.4.2
  • New support for MUSL based systems (most notably alpine)
  • New alpine docker image variant (use -alpine suffix)

3.7.5

  • Fix endTime in Player Update endpoint only applying when playing a new track
  • Fix errors when doing multiple session resumes
  • Update lavaplayer to 1.4.0 see here for more info

Note Lavalink Docker images are now found in the GitHub Container Registry instead of DockerHub

3.7.4

  • Fix an issue where Lavalink would not destroy a session when a client disconnects

3.7.3

  • Fix breaking change where /decodetrack would return a full track instead of the track info

3.7.2

  • Fix breaking change where frameStats would be null instead of omitted

3.7.1

  • Revert of application.yml autocreate as it can cause issues with differently named configs

3.7.0

  • New REST API for player control and deprecation of all websocket OPs. For more info see here
  • Autocreate default application.yml if none was found. #781
  • New config option to disable jda nas. #780
  • New config option to disable specific filters. #779
  • Update lavaplayer to 1.3.99.2. #794
  • Update udpqueue.rs to v0.2.6. #802

Contributors: @topi314, @Devoxin, @melike2d, @freyacodes, @aikaterna, @ooliver1

3.6.2

  • Update lavaplayer to 1.3.99.1. For more info see here

3.6.1

  • Update lavaplayer to 1.3.99. For more info see here

3.6.0

  • New userId & clientName getters in the plugin-api. For more info see here.

Contributors: @melike2d

3.5.1

  • Update udpqueue.rs to 0.2.5 which fixes crashes when ipv6 is disabled
  • Fix null socketContext in IPlayer for plugins
  • New ping field in player update. see #738 for more info

Contributors: @topi314, @Devoxin, and @freyacodes

3.5

  • New plugin system. For more info see here.
  • Add support for HTTP proxying via httpConfig. For more info see here.
  • Update koe version to 2.0.0-rc1.
    • this fixes the WebSocketClosedEvent with code 1006 problem.
  • Fix error when enabling timescale and lowpass filters.
  • Fix player not playing after moving between voice chats or changing regions.
  • Fix guild ids sent as numbers in json.
  • Fix missing timescale natives.
  • Fix setting endMarkerHit to correctly set FINISHED as the reason.
  • Undeprecation of the volume property in the play OP.
  • Configurable track stuck threshold. For more info see here.
  • Add JDA-NAS support for more CPU Architectures. For more info see here. Big thanks goes to @MinnDevelopment here.
  • Update lavaplayer to 1.3.98.4 which fixes the latest yt cipher issues and age restricted tracks

Contributors: @freyacodes, @davidffa, @Walkyst, @topi314, @duncte123, @Kodehawa, @Devoxin, @Muh9049, @melike2d, @ToxicMushroom, @mooner1022, @rohank05, @Fabricio20, @TheEssemm, and @jack1142

3.4

  • New filters system
  • Deprecation of TrackExceptionEvent.error, replaced by TrackExceptionEvent.exception
  • Added the connected boolean to player updates.
  • Updated lavaplayer, fixes Soundcloud
  • Added source name to REST api track objects
  • Clients are now requested to make their name known during handshake

Contributors: @freyacodes, @duncte123, @DaliborTrampota, @Mandruyd, @Allvaa, and @topi314

3.3.2.5

  • Update Lavaplayer to 1.3.76

3.3.2.4

  • Update Lavaplayer to 1.3.74

3.3.2.3

  • Update Lavaplayer to 1.3.65, fixes Soundcloud

v3.3.2.2

  • Updated Lavaplayer to 1.3.61
  • Fixed a ConcurrentModificationException (Thewsomeguy)

v3.3.2.1

  • Updated to Sedmelluq's Lavaplayer 1.3.53

v3.3.2

  • Replaced Magma with Koe.
  • Finally implemented stopTime for play op.
  • Added playerUpdateInterval config option.
  • Added environment to Sentry config.
  • Fixed #332
  • Updated IP rotator.
  • Update lavaplayer to 1.3.59 from devoxin's fork.
  • Added a Testbot for development.

Contributors: @freyacodes, @Thewsomeguy, @Neuheit, @Sangoon_Is_Noob, @TheEssem, and @Devoxin

v3.3.1.4

  • Update lavaplayer to 1.3.54.3 from devoxin's fork.

v3.3.1.3

  • Update lavaplayer to 1.3.53 from devoxin's fork.

v3.3.1.2

v3.3.1.1

  • Updated Lavaplayer to 1.3.50. This notably fixes YouTube search.

Search patch contributed by @freyacodes

v3.3.1

  • Update Magma and Lavaplayer.
  • Added TrackStartEvent event.
  • Added retryLimit configuration option.
  • Use a single AudioPlayerManager for all WS connections, reducing overhead.
  • Docker images now use Zulu JDK 13 to mitigate TLS 1.3 problems.

Contributors: @freyacodes, @duncte123, @ByteAlex, and @Xavinlol

v3.3

Officially limit Lavalink to JRE 11 and up. Magma has long been having issues with older versions.

v3.2.2

  • IP rotation system for getting around certain ratelimits.
  • Update Lavaplayer to 1.3.32.
  • Docker container now uses a non-root user.

Contributors: @freyacodes, @ByteAlex, @duncte123, and @james7132

v3.2.1.1

  • Updated Lavaplayer to 1.3.19. This release includes a patch which fixes loading youtube URLs. sedmelluq/lavaplayer#199
  • Made the WebSocket handshake return code 401 instead of 200 on bad auth. #208

Contributors: @freyacodes and @Devoxin

v3.2.1

  • Update dependencies -- fixes frequent youtube HTTP errors
  • Return FriendlyException message on LOAD_FAILED #174
  • Add option to disable ytsearch and scsearch #194

Contributors: @Devoxin, @duncte123, @freyacodes, and @napstr

v3.2.0.3

  • Add compatibility for Java 8-10

Contributor: @MinnDevelopment

v3.2.0.2

  • Patched magma

Contributor: @freyacodes

v3.2.0.1

  • Bumped to Java 11. Treating this as a patch version, as v3.2 still requires Java 11 due to a Magma update.

@freyacodes

v3.2

  • Added support for resuming
  • Added noReplace option to the play op
  • Sending the same voice server update will not cause an existing connection to reconnect

Contributor: @freyacodes

v3.1.2

  • Add API version header to all responses

Contributor: @Devoxin

v3.1.1

  • Add equalizer support
  • Update lavaplayer to 1.3.10
  • Fixed automatic versioning
  • Added build config to upload binaries to GitHub releases from CI

Contributors: @Devoxin, @freyacodes, @calebj

v3.1

  • Replaced JDAA with Magma
  • Added an event for when the Discord voice WebSocket is closed
  • Replaced Tomcat and Java_Websocket with Undertow. WS and REST is now handled by the same server and port. Port is specified by server.port.

v3.0

  • Breaking: The minimum required Java version to run the server is now Java 10.
    Please note: Java 10 will be obsolete as of September 2018 with the release of Java 11. Expect a Lavalink major version release that will be targetting Java 11 by that time.
  • Breaking: Changes to the output of the /loadtracks endpoint. #91, #114, #116
  • Breaking: The Java client has been moved to a new repository.
  • Breaking: The Java client has been made generic. This is a breaking change so please read the migration guide.
  • Better configurable logging. #97
  • Add custom sentry tags, change sentry dsn configuration location. #103
  • Add Lavalink version header to websocket handshake. #111
  • Use git tags for easier version visibility. #129

Contributors: @Devoxin, @freyacodes, @napstr, @SamOphis

v2.2

  • Lavaplayer updated to 1.3.x #115
  • Version command line flag #121
  • Fix race condition in /loadtracks endpoint leading to some requests never completing #125

Contributors: @Devoxin, @freyacodes, @napstr

v2.1

Contributors: @freyacodes, @napstr, @Repulser

v2.0.1

Contributors: @Devoxin, @freyacodes, @itslukej, @napstr, @Repulser

v2.0

Please see here and here