seraphi
03-17-2005, 12:40 PM
Hello all,
How do you version your applications? you see version numbers everywhere, an example being this forum: "Powered by: vBulletin Version 2.3.6"
I was wondering how people roll these numbers up to get to the next version, what sort of changes would knock the version up a notch, and what the significance of having so many . . .'s are.
Are there any good online resources to read about versioning?
Many Thanks.
mfonda
03-17-2005, 03:16 PM
Usually, versions are x.x.x
They are major.minor.patch
Major releases are as they sound, major. They have many new features, and are a complete improvement from the previous version. They are huge updates, and may or may not retain compatibility with previous versions.
Minor releases are releases which typically introduce new functionallity of some kind, make code better, just general updates and improvements. Minor releases will generally be backwards compatible.
Patch releases are small releases containing mostly bug fixes, or sometimes small code improvements. Patch releases will not effect compatibility with other versions.
And note, in general, when programs are pre-1.0.0 (beta, still in development), minor releases will tend to be a lot bigger, and can break compatibility.
seraphi
03-17-2005, 05:11 PM
That's exactly the answer i was looking for, many thanks! :)
JustinH
03-19-2005, 02:26 AM
http://apr.apache.planetmirror.com/versioning.html
Give a very in-depth article on how Apache versions their software. Exactly as Matthew posted it, but gives more details on what defines "major, minor and patch".
Linux has a very different versioning system:
Y.X.Z where Y is the major release, and if X is even it is the "stable" release and if X is odd it's the "beta" release and Y is for EVERY new release.
2.2 = stable
2.2.1 = second release of 2.2
2.3 = beta of 2.2
Although this seems a little confusing at first, it is a MUCH better release system. First of all, it prevents massive release increases (ie, jumping from 6.X to 8.X), and, once customers understand the basics of the system, they'll know exactly what to look for when a new version is released :).
krumms
03-19-2005, 03:03 AM
2.2 = stable
2.2.1 = second release of 2.2
2.3 = beta of 2.2
That should be:
2.3 = beta of 2.4
JustinH
03-19-2005, 03:15 AM
Originally posted by krumms
That should be:
2.3 = beta of 2.4
Cheers ;)... time for bed apparently.
funkytaco
03-19-2005, 01:38 PM
Originally posted by JustinH
2.2 = stable
2.2.1 = second release of 2.2
2.3 = beta of 2.2
[/B]
I'm going to assume Z is the minor release then? How tired were you? :)
JustinH
03-19-2005, 02:12 PM
Think of it has
Overhaul.Major/Minor.Patch
The change from 2.4 - 2.6 was certainly something I'd call major it actually made several user-level utilities unusable on the new kernel.
Y is best defined as simply an "incremental" release. Y is probably best called a patch release... since I've never seen even a minor change in the source from them.