Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release 4.0.0 #988

Merged
merged 25 commits into from
Dec 3, 2023
Merged

release 4.0.0 #988

merged 25 commits into from
Dec 3, 2023

Conversation

topi314
Copy link
Member

@topi314 topi314 commented Dec 2, 2023

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 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.
On how to increase the max heap allocation, see here.

freyacodes and others added 13 commits November 14, 2023 13:46
since a lot of people are updating to lavalink v4 from v3 they don't have this setting in their application.yml
these logs are an easy way to see if anything is wrong and should be enabled by default
Co-authored-by: Freya Arbjerg <freya@arbjerg.dev>
* Remove forced Xmx on docker entrypoint

* Set default readme copypastable Xmx value to 1G

* Remove forced Xmx4G from alpine docker file

---------

Co-authored-by: Toπ <git@topi.wtf>
# Conflicts:
#	README.md
* allow for deserialization of plugin info into data classes

* fix unit test

* fixup java access for plugin info deserialization

Co-authored-by: viztea <hi@vzt.gay>

* rename deserialize to deserializePluginInfo & docs

* remove unused import

---------

Co-authored-by: viztea <hi@vzt.gay>
* implement track user data

* fix unit tests and add Track#copyWithUserData

* remove unnecessary exceptionally

* use loadItemSync instead of loadItem in player rest handler

* Update protocol/src/commonTest/kotlin/PlayerSerializerTest.kt

Co-authored-by: Duncan Sterken <contact@duncte123.me>

* throw http 400 if both track and encodedTrack/identifier is set

* add convenient deserializeUserData method for java

---------

Co-authored-by: Duncan Sterken <contact@duncte123.me>
* document track user data

* Apply suggestions from code review

Co-authored-by: Duncan Sterken <contact@duncte123.me>
Co-authored-by: Freya Arbjerg <freya@arbjerg.dev>

* readded depreacted fields

---------

Co-authored-by: Duncan Sterken <contact@duncte123.me>
Co-authored-by: Freya Arbjerg <freya@arbjerg.dev>
# Conflicts:
#	README.md
@topi314 topi314 self-assigned this Dec 2, 2023
Copy link

cloudflare-workers-and-pages bot commented Dec 3, 2023

Deploying with  Cloudflare Pages  Cloudflare Pages

Latest commit: baec7f7
Status: ✅  Deploy successful!
Preview URL: https://a1401d74.lavalink-bne.pages.dev
Branch Preview URL: https://dev.lavalink-bne.pages.dev

View logs

CHANGELOG.md Outdated Show resolved Hide resolved
Co-authored-by: Freya Arbjerg <freya@arbjerg.dev>
Co-authored-by: Freya Arbjerg <freya@arbjerg.dev>
@topi314 topi314 merged commit 92bffcc into master Dec 3, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants