Plugin version tracking


#1

Maybe a silly question, but how does plugin version tracking work? If I wanted users to know in octoprint that an updated version is available in the plugin respository, what steps would need to be taken? I can find no information anywhere about this.


#2

Usually via github release tracking - so when you have a new version you push out a new (public) release on Github, with the tag being your version.

This is btw also how OctoPrint's tracking works - when I push a new stable release, I publish a new release on Github. When I push a new release candidate, it's a new prerelease on Github. See OctoPrint's release page.


#3

That was a question that I had @foosel. If I wanted to use the "maintenenace release channel" in software update plugin, if I publish a prerelease version on github will it also trigger the update notification for plugins?


#4

Thanks, @foosel. One of the many things I have overlooked!


#5

That's a bit more tricky... the maintenance release channel switch only applies to OctoPrint. It's implemented by settings the prerelease flag on the version check, and release_branch to rc/maintenance (not necessary if you only want to differentiate between stable and rc releases, but in OctoPrint I also have Devel RCs to think of).

From a plugin you could implement similar behaviour by having some config switch that if enabled adds prerelease=True to the update configuration. I've been also thinking about adding some kind of centralized version of this into the update plugin itself, so that you'd be able to configure this individually for each of the registered components, but so far that's only an idea floating around in my head with a bit of thinking of how to do it, nothing else.