The Trouble with Version Numbers

Thomas Guest

Table of Contents

A Flawed Versioning Recipe
Keyword Expansion
What gets tested anyway?
Build numbers and version numbers
The Best of Both


Software version numbers should be straightforward to implement. Their sequencing is hardly subtle: version 1.0 is the first production quality release; version 1.1 improves on it, version 1.2 is a little better; and so on until we get to version 2.0, which delivers more substantial changes. Then comes 2.1, then 2.2 ...

As anyone who has tried to implement such a scheme will realise, it can be a surprising source of problems, and although these problems have been tackled by many projects in many organisations there seems to be no consensus on how to reach a solution. To give an example: deriving the version number from the version control system is tempting, but ultimately turns out to be unsatisfactory.

This article discusses the problems in more depth and presents a simple solution. It goes on to argue that perhaps the emphasis on version numbers is itself the problem, and one which demands a more radical solution.