Creation of prereleases

According to the docs, there is an option to create pre-releases in accordance with the app store of Nextcloud.

I understand that I can write any semver compatible version (like 1.4.3.beta2) into the manifest XML file under /appinfo/info.xml. Also I might put such a string into the API call when pushing the release out to the app store. All right, I can create such versions. (Let’s assume, I push it out as a non-nightly version.)

What happens on my users instances, if such a version hits their update system? Will version 1.4.3.beta2 be considered the latest version after 1.4.2? Is this independent of the stability requirements of the admin (stable, producation, beta settings of the server)? How can I make sure that only beta testers can update while others are not running into problems on their high-important instances? As semver allows any alphanumeric string (and even more), how are these parsed during update?

Or is it simply a question of the admin’s attention to not install an alpha version of whatever app killing all data of a Nextcloud instance?


It depends on the stability level that the admin has configured for updates in the settings UI.

If the channel is either beta, daily or git it will offer updates to the versions that include a - separated prerelease in their version number. If admins have picked another channel (stable/production) they will not see the prereleases.

For reference the server logic implementing this filter is at server/AppFetcher.php at a9ba631e4d50ef1d06d67b8b501295d86ff6f7d9 · nextcloud/server · GitHub

1 Like