13
Which versioning should be use for my project? - Versioning system comparison
What ever you want!
But is it great to be understandable by everyone? May be not. (It will depend the context)
MAJOR . MINOR . BUG
- MAJOR : Change when you add a new big feature or a new feature related to any existing feature
- MINOR : Change when you add a little feature on an existing feature or do an update
- BUG : When you correct a bug
- 0.1.0 -> Start first feature
- 0.2.0 -> Code update
- ...
- 0.5.1 -> Correct a bug
- ...
- 1.0.0 -> Release of the first feature
- 1.1.0 -> Code update
- 1.1.1 -> Correct a bug
- ...
- 2.0.0 -> Release of a new big feature
MAJOR.MINOR.BUGFIX
- 0.1.0 -> Start of your project
- ...
- 0.14.0 -> Code update
- 0.15.0 -> Bug correction
- ...
- 1.0.0 -> First release in prod
- 1.0.1 -> Bug correction
- 1.1.0 -> New feature
- 1.2.0 -> Update without breaking change
- ...
- 2.0.0 -> Update with a breaking change
MAJOR . MINOR . REVISION . BUILD
A Major Release is a full product release of the software. It generally contains new customer-facing functionality and represents a significant change to the code base comprising the software product or family of products, or is used to represent a significant marketing change or direction in the product. Major version numbers are generally incremented by the product management team, and generally are accompanied with a new
marketing push, or to communicate a significant improvement to the product. The major version number is identified by the digit or set of digits to the left of the decimal point (e.g., x.0, segment 1 with a placeholder value of x).
A Minor Release of the software may be comprised a rollup of several branched releases, enhancements/extensions to existing features or interfaces driven by internal or external requirements, external requirements could be driven by enhancements to meet new sales area (State specific features or rules), internal requirements could be enhancements aligned
to a new marketing push. The minor version number is identified by the digit or set of digits to the right of the decimal point separating it from the Major Release number (e.g., 2.x, x
indicates the Minor Release placeholder).
A Revision (Rev) is a build of all or part of the software that is initially distributed to an internal audience, specifically software quality assurance, for software validation. If the Rev is successfully validated and accepted, this version is “released” to manufacturing. If defects are found that prevent the Rev from successfully being validated and prevent the release to
manufacturing, the Rev value will be incremented prior to the next validation cycle.
A Build Release is a build of all or part of the software distributed to an internal audience, these releases should have targeted feature enhancements and issue resolution documented to allow testing in the targeted/specific areas where the changes were implemented. The Build version number is denoted by a fourth digit or set of digits (e.g. 2.4.7.x, segment 4 with a placeholder value of x), corresponding to an internal build number.
MAJOR.MINOR.BUGFIX-MODIFIER