Skip to main content

Changelog Overview

Each Lavalink release includes various fixes and improvements. This section documents the most noteworthy changes, features, and breaking changes across all versions.

Current Version

Lavalink v4 is now out of beta! The latest stable release brings significant improvements and modernization to the Lavalink API.

Version 4 Changelog

View the complete version 4 changelog including the latest releases and breaking changes

Versioning Policy

Lavalink follows Semantic Versioning. The version number is composed of the following parts:
MAJOR.MINOR.PATCH-PRERELEASE+BUILD

Version Components

  • MAJOR - Breaking API changes
  • MINOR - New backwards compatible features
  • PATCH - Backwards compatible bug fixes
  • PRERELEASE - Pre-release version identifier
  • BUILD - Additional build metadata

Release Types

Version numbers can come in different combinations, depending on the release type:
  • MAJOR.MINOR.PATCH - Stable release
  • MAJOR.MINOR.PATCH+BUILD - Stable release with additional build metadata
  • MAJOR.MINOR.PATCH-PRERELEASE - Pre-release version
  • MAJOR.MINOR.PATCH-PRERELEASE+BUILD - Pre-release with additional build metadata

Example Versions

4.2.1              # Stable patch release
4.0.0-beta.5       # Pre-release version
3.7.0+build.123    # Stable with build metadata

Version History

Version 4

Latest major version with REST-based API and modern features

Version 3

Previous major version with WebSocket operations (deprecated)

Version 2

Legacy version with foundational features

GitHub Releases

For the complete version history and release artifacts, visit the Lavalink GitHub Releases page.

Upgrade Guides

When upgrading between major versions, review the significant changes sections:

Breaking Changes

  • Removed all non-version /v3 or /v4 endpoints (except /version)
  • /v4/websocket does not accept any client messages anymore
  • v4 uses the sessionId instead of the resumeKey for resuming
  • v4 now returns the tracks artworkUrl and isrc if the source supports it
  • Removal of deprecated JSON fields like track
  • Updated capitalization of Track End Reason and Severity enums
  • Reworked Load Result object structure

WebSocket Operations Removed

All websocket ops are removed in v4.0.0 and replaced with REST endpoints:
  • play → Update Player Endpoint trackencoded or trackidentifier field
  • stop → Update Player Endpoint encodedTrack field with null
  • pause → Update Player Endpoint pause field
  • seek → Update Player Endpoint position field
  • volume → Update Player Endpoint volume field
  • filters → Update Player Endpoint filters field
  • destroy → Destroy Player Endpoint
  • voiceUpdate → Update Player Endpoint voice field
  • configureResuming → Update Session Endpoint

New Features

  • Addition of artworkUrl and isrc fields to Track Info object
  • Addition of full Track object in all track events
  • User data can be set on tracks via REST API

Changes

  • Moved HTTP endpoints under the new /v3 path
  • WebSocket handshakes should use /v3/websocket
  • Deprecation of all client-to-server WebSocket messages
  • Addition of REST endpoints to replace client requests
  • New Ready OP to get sessionId and resume status
  • New Session/Player REST API
  • Deprecation of Track.track (use Track.encoded instead)
  • Player now has a state field

Breaking Changes

  • The response of /loadtracks was completely changed
  • Lavalink v3.0 reports its version as a handshake response header
  • Lavalink-Major-Version has a value of 3 for v3.0 only
  • Minimum required Java version is now Java 10 (later updated to Java 11)
  • Java client moved to a new repository
  • Java client made generic

Removed Operations

The following ops were removed in v2.0:
  • connect
  • disconnect
  • validationRes
  • isConnectedRes
  • validationReq
  • isConnectedReq
  • sendWS

Architecture Changes

Voice connections are now initiated by forwarding a voiceUpdate (VOICE_SERVER_UPDATE) to the server. The responsibility of handling Discord voice updates shifted from the server to the client.

Support

For questions about specific releases or upgrade assistance:

Build docs developers (and LLMs) love