This is a technical topic aimed at advanced extension creators. Some extensions may want to provide some of their users a beta track, where daily development can be tested.
I will use BlenderBIM as the example case here:
- There is a stable release every 2 months.
- There are developer builds which can happen many times a day.
- They follow semantic versioning:
- Stable release = version 0.7.10
- Next developer build = 0.7.11-alphaYYMMDD
There are two main problems here:
- The Extensions Platform has no track support (so it is aimed at stable releases only).
- Blender doesn’t sort the builds using the date, so it may be confused by which build is the last one.
My suggestions:
- Stick to only having the stable version on the Extensions platform.
- Self-hosting a development repository.
- This still allow users to benefit from updates from Blender.
Workaround for the version clash issue:
- The server-generate tool may need some tweaking to this special case.
- Right now it will list each version as a new version, but the sorting of what is the latest version won’t work to tell hashes apart.
- For now my suggestion would be to make sure the hosted .json only has one entry per major.minor.patch version (aka the latest).
- Or in other words, just remove all the builds from the folder before adding the new daily ones.
I’m not sure how wide-spread the use of dates on the version is. It is not explicitly mentioned on the semver website, and it doesn’t solve the problem of having multiple versions on the save day. I think it is important to clear this out before proposing a fix on the Blender side.
Alternatively Blender could use the timestamp of the files as tie-breaker to determine the order they show on the Extensions Listing API.