
I am a freelance software developer and software architect in Linz (Austria) since 2006. More about me.
My Favourites:
Please correct my grammar
Version Numbers
Direct Call Pattern
Simplicity
Side Projects

I am a freelance software developer and software architect in Linz (Austria) since 2006. More about me.
Please correct my grammar
Version Numbers
Direct Call Pattern
Simplicity
Side Projects
I never really liked the standard version numbering theme "x.y.z-w". The main reason I don't like it is that you can not really distinguish the scenarios "working on version two" and "working on a patch for version one". Both version numbers would start with "1.". Some projects use the following version number scheme to distinguish these scenarios:
As I said before, this seems a little bit strange to me and so I tried a new version numbering scheme on my recent private projects. Version numbers always consist of 3 parts: The major version number, a qualifier and a revision number for the qualifier. Suppose you have the following file name for a project deliverable:
foobar-server-v01ds05.zip
This file name has the following general format:
project-name-major-versionqualifierrevision.extension
The major version number and the revision number are just numbers that are incremented with every version. The interesting part is the qualifier which specifies the kind of release of this version. The kind of release is one of the following: "Development Snapshot", "Beta", "Release Candidate", "Production", "Maintenance". For these kinds, the following qualifiers are used:
The development history for foobar-server could then look like this:
The production release would not really need a revision number (since there is only one production release for a given major version), but I think it is better to add the "01" so the version numbers are aligned.
Comments
I like your idea very much.
Only for one little part I have a proposal:
It is not easy for me to memorise the order of the qualifiers.
I would suggest a, b, c, d and e instead of ds, be, rc, pr and mr.
a could be read as alpha, b as beta, like you wrote, c as (release) candidate, d as delivery.
What e could mean I don't know. Maybe f like fix would be better than e?
Best Regards to Austria,
Mat
Interesting idea, Mat, I will think about it and maybe update the proposal. A "natural" ordering of the qualifiers would be nice. I am not entirely sure if "a, b, c, d, e/f" is the best solution - the meaning of these is also not immediately clear to me. I also thought about using longer qualifiers (v01snapshot03), but then the version numbers do not align anymore.