Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting software version numbers right. v1.0.0.1 [closed]

Tags:

I distribute software online, and always wonder if there is a proper way to better define version numbers.

Let's assume A.B.C.D in the answers. When do you increase each of the components?

Do you use any other version number tricks such as D mod 2 == 1 means it is an in house release only?

Do you have beta releases with their own version numbers, or do you have beta releases per version number?

like image 402
Brian R. Bondy Avatar asked Sep 25 '08 16:09

Brian R. Bondy


People also ask

How do I open version numbers?

A normal version number MUST take the form X.Y.Z where X, Y, and Z are non-negative integers, and MUST NOT contain leading zeroes. X is the major version, Y is the minor version, and Z is the patch version. Each element MUST increase numerically. For instance: 1.9.

How are version numbers decided?

Software versioning is the process of assigning either unique version names or unique version numbers to unique states of computer software. Within a given version number category (e.g., major or minor), these numbers are generally assigned in increasing order and correspond to new developments in the software.

What do version numbers represent?

The numbers represent different versions of the same software or application, and the numbers assigned increase to correspond to the latest development and releases. Subsequent releases of the same product can also be assigned numerical identifiers consisting of two or three numbers separated by periods.


1 Answers

I'm starting to like the Year.Release[.Build] convention that some apps (e.g. Perforce) use. Basically it just says the year in which you release, and the sequence within that year. So 2008.1 would be the first version, and if you released another a months or three later, it would go to 2008.2.

The advantage of this scheme is there is no implied "magnitude" of release, where you get into arguments about whether a feature is major enough to warrant a major version increment or not.

An optional extra is to tag on the build number, but that tends to be for internal purposes only (e.g. added to the EXE/DLL so you can inspect the file and ensure the right build is there).

like image 70
Greg Whitfield Avatar answered Sep 27 '22 21:09

Greg Whitfield