RFC:Versioning
This RFC is a work in progress and is not finalized. Use the Discussion tab to discuss it with other users. [Help?]
Summary
Establish a consistent set of rules for release versions.
Motivation
Valkyrien Skies releases are currently confusing and inconsistent, ranging from 0.8.7
to 0.9.5_universal
to 0.9_pre_6
. This is confusing for newcomers and makes releases hard to follow.
Detailed Design
Valkyrien Skies should follow a modified Semantic Versioning. Versions can be of the form
MAJOR-MINOR-PATCH-[alpha|beta|rc(ITERATION)]
Major, minor, and patch versions can be incremented independently of each other at any time, (hence collectively referred to as the "release version"). However, if an alpha/beta/release-candidate is released for a "release version", that release version may not be downgraded (e.g., once an beta is released for a "release version", then more alphas may not be released).
Observe the example order of versions below
- 0.9.0-alpha1
- 0.9.1-alpha1
- 0.9.1-alpha2
- 0.9.1-beta1 <-- upgraded from alpha to beta
- 0.9.1-beta2
- 0.9.1-rc1 <-- upgraded from beta to release-candidate
- 0.9.1 <-- upgraded from release-candidate to stable
- 1.0.0-alpha1
- 1.0.0 <-- upgraded from alpha to version
- 0.10.0 <-- (older versions can still be updated)
- 0.9.2 <-- (older versions can still be updated)
- 0.9.1-beta3 <-- (this is illegal! you can't downgrade a release)
Drawbacks
None right now
Alternatives
None right now
Unresolved Questions
None right now