Naming a Version
From InuSasha
for stable versions
a version number consists of upto three parts. There are devided by a dot.
- major release number
- minor release number [optional]
- fix release number [optional]
when change a major release number
every of applications starts with the major release 1.0.
The major relase number is increase, when:
- a new main feature was implemented
- one interface has changed (not extended)
- the configuration structure has changed (not extended)
The major release number don't change, when:
- a interface extented or a new interface is implemented (-> minor release)
- a new configuration option is avialable (-> minor release)
- a minor feature was implemented (-> minor release)
- some security or bugfixes was implemented (-> fix or minor release)
when change a minor release number
In a new major release, the minor release starts with 0.
The minor release number is increase, when:
- a minor feature was implemented
- a extention of an interface is nessary
- a extention of the configuration is nessary
- a uncritical bugfix paket is implemented
The minor release number don't change, when:
- some security or critical bugfixes was implemented (-> fix release)
when change fix release number
The fix release only fixes critical or security relevant bugs and issus.
The fix release number is increase, when:
- a security bug was fixed
- a critical bug was fixed
- a licence issus was fixed
The fix release number don't change, when:
- a non-critical bug-fix was implememted (-> minor release)
- a mini feature was implemented (-> minor release)
for a development snapshot, alpha/beta releases, release candidates
The version number of a development or a pre-release version based on the version for the target release. The target release number is extended by a ".#." and the develeopment version number.
- develeopment snapshot: the date of the snapshot YYYY_MM_DD
- alpha/beta releases: alpha/beta and optinal followd by an number
- release candidate: rc and optinal followd by an number
After a develeopment release the target version must have the ".0" at the end.
1 -> 1.0
1.1 -> 1.1.0
Fix releases have normally no development/pre-releases, so there is no need for it.
With this kind of version naming in development, the versions can sorted by an alpha-numerical-sort.
Examples
| number | description |
|---|---|
| 1.#.2009_06_13 | Development Snapshot of 1.0 |
| 1.#.beta.1 | a beta release for version 1.0 |
| 1.#.rc | the release candidate |
| 1.0 | the final version |
| 1.0.1 | a first bugfixed version |
| 1.1.#.alpha | a alpha version with a new feature |
| 2.0 | or a new major version |