How do you go about creating the versioning scheme for your software? I've never encountered a logical approach and all versions seem sporadic. Can you actually plan for a 1.0 release or one day it just hits that you can release your product as the 1.0 version?

3 Comments
eddie
Written Jul. 25, 2006 / Report /
You hit 1.0 when the product is stable. Anything before 1.0 is only beta or alpha software so could go wrong at anytime. You increment the first number when you release major versions upgrades with lots of new features. The second number is for a minor update or when you have released a new feature. The third number is only to show bug fixes. At least that is my understanding of how most versioning works (with help from wikipedia)
aaronbassett
Written Jul. 25, 2006 / Report /
First Number : Current stable version (hence anything that is still beta/alpha and not stable should not have a version 1 or above)
Second number : Feature added, small feature improvements only. I've found these are normally things that were planned for last major release that couldn't get included in time.
Third number : Bug fixes.
Its hard sometimes to know when you should be increasing the feature number and when the release number.
Normally I find its best to only increase the release number after major changes or a large group of features are added as a block.
psq
Written Aug. 8, 2006 / Report /
I use 4 numbers, quite similar to aaronbasset. The 4th one is the build number, and this one never resets. It may take you a few builds/iterations to get a release done, and that lets you identify the release uniquely, so as to avoid to skip numbers for your public release.