I generally agree that major versions of a program should be 1.0
, 2.0
, ... and significant updates should be: 1.1
, 1.2
, ..., and that bug fixes should be at the third level: 1.0.1
, 1.0.2
, ... 1.0.156
(if you've been plagued by that many bug-fix releases between versions).
But now I want to release my first Beta that will be one of a series of Betas leading towards the release of version 1.0
.
Specifically, it doesn't make sense to me, to number my Beta releases greater than the number I am developing to, e.g. 1.0.1
up to 1.0.15
(if I have 15 beta releases) and then follow it with 1.0
.
But using numbers less than 1.0
seems awkward, e.g. 0.9.1
... 0.9.15
and will cause confusion if I start using 1.9.1
... 1.9.15
as the Betas for version 2.0
.
Just for information, after your help and great links with more info, this is what I decided on.
I've been going 0.7, 0.8, 0.9, 0.91 ... up to 0.98 for my alpha versions.
I know I can do 1.0 beta 1, which is the "standard" way. But taking everything into account, I'm going to go with: 0.99 beta 1, 0.99 beta 2 ... before I get to my 1.0 release.
If I do a pre-release of my 2.0 version, I'll probably then follow the pattern and call it 1.99 beta 1, 1.99 beta 2, etc.
Hopefully this question and the answers will help you decide on your scheme.
I think you should seperate out your version numbering from the status of the release.
Betas should always have "beta" after the version. Users should not have to reverse engineer your numbering scheme to determine the stability of the release.
So leading up to version 1.0 you should have 1.0 beta 1, 1.0 beta 2 etc. That gives users a clearer idea of what major release a beta is leading towards and avoids confusion with any maintainance releases you might put out in the meantime.
The important thing is that you need to distiguish between a bugfix release (which should increase stability) and a beta (which may decrease stability).