twilight-rs / twilight

Powerful, flexible, and scalable ecosystem of Rust libraries for the Discord API.
https://discord.gg/twilight-rs
ISC License
652 stars 130 forks source link

refactor(lavalink)!d-breaking: Moving the current lavalink implementation to v3 folder #2321

Closed LinuxDevon closed 5 months ago

LinuxDevon commented 5 months ago

In preparations for the new v4 which requires some massive changes. I am putting in a sub module so users can use it unaffected for now.

Going to make a v4 folder for the overhaul. I experimented with how to interact with it and most of it is now using REST API for v4 of lavalink. This breaks the interface we have setup with all of the structs changing and the core outgoing changing as well. I want to make some refactoring of the code in this change since imo the implementation exposes a bit too much detail. I want these changes to be easier to read and understand for v4. This also allows existing users to prefix v3:: if they are not ready to upgrade or change

2192

Gelbpunkt commented 5 months ago

Since this is a breaking change... You can just straight up remove it all and add the new v4 implementation at the crate root. Just make sure your PR targets next.

LinuxDevon commented 5 months ago

I will do that @Gelbpunkt. Do you want me to close this and just open one with the new v4? Or have this folder for a bit to maintain the compatibility while v4 gets tested?

Not sure how long it is going to take for me to implement it.

Gelbpunkt commented 5 months ago

I will do that @Gelbpunkt. Do you want me to close this and just open one with the new v4? Or have this folder for a bit to maintain the compatibility while v4 gets tested?

Not sure how long it is going to take for me to implement it.

Testing should happen in a PR, not in the main branches, so no, you don't need to keep the old version around.

LinuxDevon commented 5 months ago

Closing to just do the refactoring in the branch. No need for v3 to be kept around