@@ -43,19 +43,19 @@ The public api ("api" in a very broad sense) of Lavalink can be categorized into
4343- ** Server Domain:** The server application with its runtime environment, its configuration, etc.
4444
4545Changes that might be breaking to one domain need not be breaking to the other.
46- Examples:
46+ Examples:
4747- Removing an endpoint. This is a breaking change for the client domain, but is
4848not a breaking change for running the server itself.
4949- Upgrading the minimum Java version: This is a breaking change for the server domain,
50- but client implementations couldn't care less about it.
50+ but client implementations couldn't care less about it.
5151
5252Given the above, the following versioning pattern lends itself well to the Lavalink project:
5353
5454_ ** api.major.minor.patch** _
5555
56- - ** Api** : Bumped when breaking changes are comitted to the client domain of Lavalink
57- Examples: Removing an endpoint, altering output of an endpoint in a non backwards compatible manner
58- - ** Major** : Bumped when breaking changes are comitted to the Lavalink server domain
56+ - ** Api** : Bumped when breaking changes are comitted to the client domain of Lavalink
57+ Examples: Removing an endpoint, altering output of an endpoint in a non backwards compatible manner
58+ - ** Major** : Bumped when breaking changes are comitted to the Lavalink server domain
5959Examples: Bumping the required Java version, altering the configuration in a non backwards compatible manner
6060- ** Minor** : New features in any domain
6161Examples: New optional endpoint or op code, additional configuration options, change of large subsystems or dependencies
@@ -64,36 +64,41 @@ Examples: Fixing a race condition, fixing unexpected exceptions, fixing output t
6464
6565While major, minor and patch will do a best effort to adhere to [ Semantic Versioning] ( https://semver.org/ ) ,
6666prepending it with an additional api version makes life easier for developers of client implementations
67- in two ways: It is a clear way for the Lavalink project to communicate the actually relevant breaking changes
67+ in two ways: It is a clear way for the Lavalink project to communicate the actually relevant breaking changes
6868to client developers, and in turn, client developers can use the api version to clearly communicate to their
6969users about the compatibility of their clients to the Lavalink server.
7070
7171
7272## Client libraries:
7373* [ Lavalink-Client] ( https://github.com/freyacodes/lavalink-client ) (JDA or generic, Java)
7474* [ LavaClient] ( https://github.com/SamOphis/LavaClient ) (Java)
75+ * [ Lavalink.kt] ( https://github.com/DRSchlaubi/lavalink.kt ) (Kord, JDA, generic, Kotlin (Coroutines))
7576* [ Lavalink.py] ( https://github.com/Devoxin/Lavalink.py ) (discord.py, Python)
7677* [ pylava] ( https://github.com/Pandentia/pylava ) (discord.py, Python)
7778* [ playlink] ( https://github.com/OverleapCo/Playlink ) (Javascript/Typescript)
7879* [ SandySounds] ( https://github.com/MrJohnCoder/SandySounds ) (JavaScript)
7980* [ Gorilink] ( https://github.com/Gorillas-Team/Gorilink ) (JavaScript)
8081* [ eris-lavalink] ( https://github.com/briantanner/eris-lavalink ) ([ eris] ( https://github.com/abalabahaha/eris ) , JavaScript)
8182* [ LavaClient] ( https://github.com/lavaclient/lavaclient ) (JavaScript)
82- * [ Shoukaku] ( https://github.com/Deivu/Shoukaku ) (JavaScript)
83+ * [ Shoukaku] ( https://github.com/Deivu/Shoukaku ) ([ discord.js ] ( https://github.com/discordjs/discord.js ) , JavaScript)
8384* [ erela.js] ( https://github.com/MenuDocs/erela.js ) (JavaScript)
8485* [ Lavacord] ( https://github.com/lavacord/lavacord ) (JavaScript)
85- * [ LavaJS] ( https://github.com/Overleap/LavaJS ) ([ discord.js] ( https://github.com/discordjs/discord.js ) , JavaScript/TypeScript)
86+ * [ LavaJS] ( https://github.com/OverleapCo/LavaJS ) ([ discord.js] ( https://github.com/discordjs/discord.js ) , JavaScript/TypeScript)
87+ * [ @skyra/audio ] ( https://github.com/skyra-project/audio ) ([ discord.js] ( https://github.com/discordjs/discord.js ) , JavaScript/TypeScript)
8688* [ EvoLava] ( https://github.com/EvolveJS/EvoLava ) ([ EvolveJS] ( https://github.com/EvolveJS/EvolveJS ) , Javascript/Typescript)
8789* [ SharpLink] ( https://github.com/Devoxin/SharpLink ) ([ Discord.Net] ( https://github.com/RogueException/Discord.Net ) , .NET)
8890* [ Victoria] ( https://github.com/Yucked/Victoria ) ([ Discord.NET] ( https://github.com/RogueException/Discord.Net ) , .NET)
8991* [ Lavalink.NET] ( https://github.com/Dev-Yukine/Lavalink.NET ) (.NET)
9092* [ DSharpPlus.Lavalink] ( https://github.com/DSharpPlus/DSharpPlus/tree/master/DSharpPlus.Lavalink ) ([ DSharpPlus] ( https://github.com/DSharpPlus/DSharpPlus/ ) , .NET)
9193* [ Lavalink4NET] ( https://github.com/angelobreuer/Lavalink4NET ) ([ Discord.Net] ( https://github.com/RogueException/Discord.Net ) , [ DSharpPlus] ( https://github.com/DSharpPlus/DSharpPlus/ ) , .NET)
9294* [ gavalink] ( https://github.com/foxbot/gavalink ) (Go)
95+ * [ waterlink] ( https://github.com/lukasl-dev/waterlink ) (Go)
9396* [ Magma] ( https://github.com/initzx/magma/ ) (discord.py, Python)
9497* [ lavapotion] ( https://github.com/SamOphis/lavapotion ) (Elixir)
9598* [ WaveLink] ( https://github.com/EvieePy/Wavelink ) (discord.py, Python)
96- * [ Lavalink-rs] ( https://gitlab.com/nitsuga5124/lavalink-rs/ ) (Async Libraries, Rust)
99+ * [ Lavalink-rs] ( https://gitlab.com/vicky5124/lavalink-rs/ ) (All ` tokio ` Libraries, Rust)
100+ * [ lavasnek_rs] ( https://github.com/vicky5124/lavasnek_rs/ ) (All ` asyncio ` Libraries, Python)
101+ * [ Pomice] ( https://github.com/cloudwithax/pomice ) (discord.py, Python)
97102* Or [ create your own] ( https://github.com/freyacodes/Lavalink/blob/master/IMPLEMENTATION.md )
98103
99104## Server configuration
0 commit comments