What’s in a number?
You’ve probably noticed that CyanogenMod’s version number isn’t the same as Android’s version number. Here’s how CyanogenMod’s versioning relates to Android’s:
A signifies the major version. These are numerically equivalent to the named Android releases, which are alphabetical. For example, Android Jellybean, with J being the 10th letter of the English alphabet, results in a major version number of 10 for CyanogenMod.
B [optional] signifies the minor version. This number is incremented based on the corresponding minor version number of Android. The first release of a new Android name (e.g. Jellybean) gets a major version number with no minor version. If Android subsequently increments their minor version number without changing the name, then CyanogenMod picks up a minor version number. For example, Android 4.1, 4.2, and 4.3 were all called Jellybean, with CM 10 equating to Android 4.1, CM 10.1 to Android 4.2, and CM 10.2 to Android 4.3.
CyanogenMod 9 – 10.2 build tags
CyanogenMod 9 through 10.2 were qualified with tags: Experimental, Nightly, Release Candidate, and Stable. The Snapshot tag was added with the introduction of M builds in CyanogenMod 10.2. These tags were meant to indicate a build’s suitability for general use.
Nightly: usually generated every 24 hours, experimental, newest features, unstable
Experimental: testing version requested by device maintainers to evaluate specific changes
M Snapshot: milestone snapshot, more stable than a nightly but potentially some issues
Release Candidate: last builds before stable release, few minor issues, mostly stable, and safe for daily use
Stable: most stable version available, all or nearly all issues resolved
The Release Candidate and Stable tags bring with them considerably high expectations from users. For this reason, device maintainers and developers involved with CyanogenMod had one simple rule: No ETAs.
Stable build tags carry additional minor version numbers. Consider CyanogenMod A.B.c.d, where A.B is as described in the What’s in a number? section. Then,
c signifies a large number of bugs were fixed for a new stable release. For example, CM 10.2 had two major Stable releases: CM 10.2.0.0 and CM 10.2.1.0.
d signifies a bugfix or hotfix version. This number is less often seen, but signals a critical bug fix that was identified as required after a stable release has been issued. Example: CM 10.2.1.1. This version can vary between devices.
CyanogenMod 11 – 13 Community build tags
CyanogenMod 11 – 13 Community releases reduce the number of build tags to just two: Nightly and M Snapshots. The tag names have been retained for historical reasons, but this is really just a basic two channel release system:
Development channel: (a.k.a. Nightlies) usually generated every 24 hours, experimental, newest features, unstable
Release channel: (a.k.a. Snapshots) generated once every 1-2 months, suitable for daily use, devices signed-off by maintainers for inclusion
The release channel is built from a separate stable branch, cut from the main branch at a point deemed feature-complete and reliable. A small subset of code reviewers have the ability to merge commits into the stable branch after the cut has been made; i.e. everything that goes to the stable branch receives extra scrutiny.
More information on the rationale behind the Development/Release build tags can be found in the CyanogenMod 11.0 M6 Release blog post.
Current CyanogenMod version list
- CyanogenMod 3 (Based on Android “Cupcake” 1.5.x, initial release)
- CyanogenMod 4 (Based on Android “Cupcake” and “Donut” 1.5.x and 1.6.x)
- CyanogenMod 5 (Based on Android “Eclair” 2.0/2.1)
- CyanogenMod 6 (Based on Android “Froyo” 2.2.x)
- CyanogenMod 7 (Based on Android “Gingerbread” 2.3.x)
- CyanogenMod 9 (Based on Android “Ice Cream Sandwich” 4.0.x, major UI revamp)
- CyanogenMod 10 (Based on Android “Jelly Bean” 4.1.x – 4.3.x)
- CyanogenMod 11 (Based on Android “KitKat” 4.4.x)
- CyanogenMod 12 (Based on Android “Lollipop” 5.0.x – 5.1.x, major UI revamp)
- CyanogenMod 13 (Based on Android “Marshmallow” 6.0.x)