lavalink-devs/Lavalink

Auto update plugin files

Fyphen1223 opened this issue · 9 comments

Change request

Lavalink should update its plugins if the user specified to do so.
Completely automatically updating them can be dangerous in some cases, so that should be in option.
(Or implementing auto update with plugin itself is the priority?)

Relevance

This will be pretty beneficial for some cases.

Could this be a plugin instead?

Half yes, half no, since not all of the plugins will provide automatic update.

Checklist

  • I have checked for duplicate issues
  • I have checked for existing plugins

Lavalink already updates your plugins when you specify a new version in your application.yml

Oof, I mean, auto updating version in application.yml, not retrieving the specified version automatically.

I don't see how this would be a good idea
Updating software should be a manual process
What if a newer plugin version introduce breaking changes all of the sudden?

I was thinking of implementing rule system of updating plugins. Like not updating to a new version if the version name contains specific strings, or not updating plugins if the version name contains changes in MAJOR update indicator.

A technical problem with this is that we would need to somehow overwrite the configuration. Even if we assume that you configured Lavalink with a non-JSON YAML file, and we are somehow able to detect it, overwriting that file is still tricky.

Plugin devs are not required to follow semver spec nor should they be required to
This sounds overcomplicated for no actual benefit

If anything there could be a cli tool to update plugin versions to their latest releases via a manual command

All in all I don't think this is an issue at all
Plugins tend to not update that often

I think it would be beneficial to know which actual issue this feature request should solve

i use many plugins(not so many, about 5 or 6 I think) with my project, and I'm so tired of updating each plugins manually. I have to check the plugins webpage, and write it down if the update is available.
So I wanted to make Lavalink able to update its plugins automatically.

you can watch projects on github and get notified about new releases
image