Wolfia supports full Semantic Versioning when manually releasing apps. When using scheduled releases, Wolfia supports partial Semantic Versioning.
What is Semantic Versioning?
Semantic Versioning is a versioning scheme that allows you to understand what changes have been made to an app between releases by reflecting these different types of changes as three incrementing digits. It is a three-part number in the format
MAJOR.MINOR.PATCH. This is often referred to as the app version.
More specifically, Android and iOS apps also have a
BUILD number that needs to be incremented every time you upload a build to one of the app stores. This is often referred to as the app build.
This is often shown in the format
MAJOR.MINOR.PATCH (BUILD), for example
For example, the following rules could be used to decide when to increment each part:
MAJOR: make breaking changes to the app, or add large new features.
MINOR: add new features, general improvements, or make fixes.
PATCH: make small fixes to the app, often quickly following a recent release to fix a critical bug.
BUILD: every time a new build is uploaded to an app store.
Scheduled releases version bumping
When a scheduled release triggers a new release, Wolfia will automatically bump the version based on the previous release.
- If the previous release was a production release to one of the app stores, a minor bump will be done to start the new release train that will then be released as that minor version.
- In all other cases (a previous release to any other track, eg: internal), a build bump will be done to increment the build number to create a unique build that can be uploaded to an app store.
This approach ensures that scheduled releases have unique version numbers, while also preserving the Semantic Versioning scheme as closely as possible.
Manual version bumping
By default, Wolfia will bump the version based on the previous release in an identical way to scheduled releases (see above). This default should work in all cases, but does not strictly follow Semantic Versioning.
The version bump that will be performed can be seen in the release confirmation dialog when releasing a track.
However, it is possible to override this and define your own version bump to more strictly adhere to Semantic Version if desired.
After clicking Release now on a track, the release confirmation dialog will open. Next to the shown version bump, click Change. This will expand to show an option to bump any part (major, minor, patch, build). Select the desired bump and click Release now to trigger a release on that track with that version bump.