App Versioning

Sebastian Kippe ·

Good news everyone! We just introduced customizable, more transparent app versioning. It will apply to your existing apps on the next deploy, so definitely read on, if you’re using 5apps Deploy for live apps already!

Version file

From now on, during every deployment, we will try to parse the app’s version from the file named VERSION in your app’s root directory. If we find one, we will use it for all app manifests and any other place where it’s required to define one or it makes sense to do so.

If there is no VERSION file or we cannot parse a version from it, we will use either 0.0.1 as default value, or the latest version you supplied before that deployment, if there is one.

Format

Please add and update your app version according to the latest SemVer specification. Although it was originally created for software packages with dependencies, it brings a number of benefits for both you and your users, as well as third parties like app marketplaces and of course us.

The very short version – dare I say TL;DR – of the spec is:

  • Consists of major, minor, and patch versions, like so: 1.4.2
  • Major version for major updates (duh), minor version for new features, patch version for small improvements and bug fixes
  • Major version zero (0.y.z) for initial development, until app is stable
  • Special versions can be appended with a dash and dots thereafter, like so: 1.0.0-alpha, 1.0.0-alpha.1
  • Build versions can be appended with a plus sign and dots thereafter, like so: 1.0.0+build.1, 1.0.0-alpha.1+build.1

The build versions will be added by us during the deployment (where applicable), and include the count of builds/deployments for your current app version, as well as a short form of the deployment’s Git version. We use it e.g. in the Appcache manifest:

Screenshot

Add it now!

So, if you’re already hosting an app with us, please add a VERSION file before your next deployment, if you don’t wish to use the default version. And if your app is still in the experimental phase, you can take this opportunity, of course, to start from 0.0.1 now and increase your version as you go along.

Questions? Feedback?

As always, feel free to ask us anything or tell us what you think! Add a comment below, tweet us something, or use the support site.