Version 2 Changelog
v2.2
Features:- Version command line flag - #121
- Lavaplayer updated to 1.3.x - #115
- Fix race condition in
/loadtracksendpoint leading to some requests never completing - #125
v2.1
Features: Contributors: @freyacodes, @napstr, @Repulserv2.0.1
Features:- Configurable playlist load limit - #60
- Docker Releases - #74
v2.0
This release introduced significant architectural changes to how Lavalink handles voice connections.
Major Changes
Removed Operations: The following operations were removed in v2.0:connectdisconnectvalidationResisConnectedResvalidationReqisConnectedReqsendWS
Architecture Changes
Voice Connection Handling
Voice Connection Handling
With Lavalink 1.x, the server had the responsibility of handling Discord
VOICE_SERVER_UPDATEs as well as its own internal rate limiting. This remote handling made things unnecessarily complicated and added many points where things could go wrong.One problem that was noticed: since JDA is unaware of rate limits on the bot’s gateway connection, it would keep adding to the rate limit queue to the gateway.With this update, this responsibility is now handled by the Lavalink client or the Discord client.New Connection Flow:- A voice connection is now initiated by forwarding a
voiceUpdate(VOICE_SERVER_UPDATE) to the server - When you want to disconnect or move to a different voice channel, you must send Discord a new VOICE_STATE_UPDATE
- If you want to move your connection to a new Lavalink server, you can simply send the VOICE_SERVER_UPDATE to the new node, and the other node will be disconnected by Discord
Migration from v1.3
Remove Old Operations
Remove all usage of the deprecated operations (
connect, disconnect, validationRes, isConnectedRes, validationReq, isConnectedReq, sendWS) from your client implementation.Implement Voice Update Forwarding
Update your client to forward
VOICE_SERVER_UPDATE events to Lavalink using the voiceUpdate operation.Handle Disconnections
Ensure your client sends
VOICE_STATE_UPDATE to Discord (not Lavalink) when disconnecting or moving channels.Reference Commits
For detailed implementation changes, see:Upgrade Recommendations
Migrate to v4
Upgrade to the latest version for modern features, better performance, and continued support
View v3 Changelog
See intermediate version 3.x if you need a stepping stone migration path
Support
For help with migration:- Join the Lavalink Discord Server
- Check GitHub Discussions
- Review the Migration Guide