CVS Tagging & Branching

CVS Tag Naming Convention

pXXX is a branch.

bXXX is only an interim build number. ie a tag only. It is something we use for internal QA when we are testing.

p300 is the maintenance branch. This is the branch that all 3.0 specific fixes will be made to. It will change over time. It will remain stable and for folks developing to the 3.0 release this is what you should be using.

milestone_3-0-0 is the spcific tag for the 3.0 milestone release. Its a moment in time and will not change.

HEAD is a special tag name for the very latest code base. This is normally less stable than a maintenance branch and should really only be used if you are working with new features and the like. For example, the next major release 3.1 will be developed on this.

Version Numbering

For FarCry CMS we use a 3-digit version number (which gets abbreviated to two if the third digit is zero):

  1. The first is the major version. This number changes only when we make changes that break backward compatibility. So far we have only changed the major version if we have leveraged a feature in ColdFusion that relies on a newer version of CFMX. For example, FarCry 1 went to FarCry 2 when we started to leverage CFMX 6.1 specific code (CFC super() and so on). I suspect there will be a version change to FarCry 3 when Blackstone is finally released. Conceivably we could have a major version release if we overhauled an aspect of the code base that required significant change for existing sites or a loss of backward compatability in FarCry project code. Generally we try and avoid this at all cost.
  2. The second is the minor version. We increment this number after each significant development cycle, having made lots of improvements, probably introducing new bugs as well. For example, the release of FarCry 2.3 (due out shortly) will see the introduction of complete localisation of the admin interfaces and other great features. Significantly, these milestone releases in FarCry are the only builds that are commercially supported and that have a maintenance branch associated.
  3. The third is the patch level. We increment this number as the result of a bug-fixing cycle. A patch release should have strictly fewer bugs than the previous one, and no additional features. The current version of FarCry 2.2 has a maintenance branch on which we release new updates. So the latest 2.2 milestone is really 2.2.1

Science of Versioning