Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to do version numbers? [closed]

My company is building a product. It's going to be versioned by SVN. It's a webapp so basically there will never be a version out which doesn't have some features in them and thus could always be labeled as beta. But since it's going to be a corporate product I really don't want the "unstable watchout" on there. So how would you go about versioning? Is 1.0 stable? Should the build date be in the version number? Tell me what you guys think!

like image 676
Thomaschaaf Avatar asked Mar 05 '09 15:03

Thomaschaaf


People also ask

How do I mention a version?

This is a common convention in open source software. However, if the pre-release version is for an existing software package (e.g. version 2.5), then an "a" or "alpha" may be appended to the version number. So the alpha version of the 2.5 release might be identified as 2.5a or 2.5.

What is a version number to a file?

A file version number is a 64-bit number that holds the version number for a file as follows: The first 16 bits are the FileMajorPart number. The next 16 bits are the FileMinorPart number. The third set of 16 bits are the FileBuildPart number.


2 Answers

[major].[minor].[release].[build]

major: Really a marketing decision. Are you ready to call the version 1.0? Does the company consider this a major version for which customers might have to pay more, or is it an update of the current major version which may be free? Less of an R&D decision and more a product decision.

minor: Starts from 0 whenever major is incremented. +1 for every version that goes public.

release: Every time you hit a development milestone and release the product, even internally (e.g. to QA), increment this. This is especially important for communication between teams in the organization. Needless to say, never release the same 'release' twice (even internally). Reset to 0 upon minor++ or major++.

build: Can be a SVN revision, I find that works best.

Examples
My current chrome: 83.0.4103.61

like image 100
Assaf Lavie Avatar answered Oct 21 '22 08:10

Assaf Lavie


x.y.z.g

increments in g are unstable. (or RCs) increments in z are stable and mean bug fixes.
increments in y are stable and mean new features.
increments in x are stable, major release without 100% backward compatibility.

like image 39
Itay Moav -Malimovka Avatar answered Oct 21 '22 09:10

Itay Moav -Malimovka