Version Number Scheme

From Arx Libertatis Wiki
Revision as of 02:15, 16 June 2012 by Ds (talk | contribs) (Created page with "This page outlines the logic behind Arx Libertatis version numbers. Like anything else, it's more of a guideline than a hard rule and subject to change at any point. == Terminol...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This page outlines the logic behind Arx Libertatis version numbers. Like anything else, it's more of a guideline than a hard rule and subject to change at any point.

Terminology

AL version numbers are made up of up to three components:

major.minor.patch

if the patch level is '0' (the first release of a minor version series), it is omitted and the version is written as

major.minor

Development snapshots append the -git suffix and - if build out of a clone of the git repository - a 5-hex-digit prefix of the sha1 hash of the latest commit. The version number used here is the latest one included in the snapshot, which may or may not be the latest released version:

version-git + abcde

Patch Versions

Patch versions are meant for bug fixes and smaller changes that are not part of a significant improvement or new feature.

Patch versions should not introduce new dependencies or change the build process significantly. They are meant as drop-in replacements for both users and packagers so that releases can occur frequently.

Minor Versions

Minor versions can be used to introduce new features or make larger changes to the code. Each significant feature may get it's own point release, but multiple features can be bundled into one release if it makes sense to do so or if multiple features happen to be ready at the same time.

Each bullet point in the Mission statement#Project Milestones (not just each numbered milestone) could have it's own point release - although the order doesn't have to match that list. Some bullet points may even be split up into several minor versions.

Major Versions

Major versions ... well, to be honest I'm not sure where we should draw the line and increment the major version number. Maybe major versions will roughly correspond to each numbered milestone in the Mission statement#Project Milestones.

Feature-wise, major versions will probably not bring greater changes than the minor versions, but rather represent a point where we can say that AL has become so much better since the last major version that it's time to spam the world again.

Development Process

We will probably not maintain patches for older point releases