Release Management
Semantic Versioning
Freemius supports a variation of Semantic Versioning 2.0.0: major.minor[.patch[-pre_major[.pre_minor[.pre_patch]]]][+metadata]
Given a version number major.minor.patch, increment the:
majorversion when you make incompatible API changes,minorversion when you add functionality in a backwards compatible manner, andpatchversion when you make backwards compatible bug fixes.- A pre-release version may be denoted by appending a hyphen (
-) and a series of dot separated identifiers immediately following the patch version. Identifiers must comprise only ASCII alphanumerics and hyphens[0-9A-Za-z-]. Identifiers must not be empty. Numeric identifiers must not include leading zeroes. Pre-release versions have a lower precedence than the associated normal version. A pre-release version indicates that the version is unstable and might not satisfy the intended compatibility requirements as denoted by its associated normal version. Examples:1.0.0-alpha,1.0.0-alpha.1,1.0.0-0.3.7,1.0.0-x.7.z.92.
- Build
metadatamust comprise only ASCII alphanumerics and hyphens[0-9A-Za-z-].
Valid version examples:
1.2.7-alpha1.2.7-alpha.11.2.7-beta1.2.7-rc.21.2.71.2.8-rc.1+20210411
Important versions hirerachy:
1.2-beta<1.2<1.2.0<1.2.1<1.2.2<1.2.101.2.7-alpha<1.2.7-alpha.1<1.2.7-beta<1.2.7-rc.2<1.2.71.2+20210411==1.2+whatever1.2.7-RC<1.2.7.rc(ASCII('UPPERCASE') < ASCII('lowercase'))