4.0.0
What's Changed
- 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 ofResume-Key
header - Add JDA-NAS support for musl (
x86-64
,aarch64
) based systems (most notablyalpine
) - Add
Omissible#isPresent
&Omissible#isOmitted
to theprotocol
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.