Software versioning
Notes from Semantic Versioning 2.0.0
- major.minor.patch
- PATCH version must be incremented if only BACKWARDS COMPATIBLE BUG FIXES are introduced
- MINOR version must be incremented if NEW, BACKWARDS COMPATIBLE FUNCTIONALITY is introduced
- must be incremented if any PUBLIC API functionality is marked as deprecated
- may be incremented if SUBSTANTIAL NEW FUNCTIONALITY OR IMPROVEMENTS ARE INTRODUCED within the private code
- may include patch level changes
- Patch version MUST be reset to 0 when minor version is incremented
- MAJOR version must be incremented if any BACKWARDS INCOMPATIBLE CHANGES are introduced
- may also include minor and patch level changes
- Patch and minor version MUST be reset to 0 when major version is incremented
- pre-release version MAY be denoted by appending a hyphen and a series of dot separated identifiers following patch version
- e.g. 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92
- build metadata MAY be denoted by appending a plus sign and a series of dot separated identifiers following the patch or pre-release version
- e.g. 1.0.0-alpha+001, 1.0.0+20130313144700, 1.0.0-beta+exp.sha.5114f85
- precedence -- build metadata doesn't figure into precedence
- 1.0.0-alpha
- 1.0.0-alpha.1
- 1.0.0-alpha.beta
- 1.0.0-beta
- 1.0.0-beta.2
- 1.0.0-beta.11
- 1.0.0-rc.1
- 1.0.0