CyanogenMod Build Tags
We recently introduced some changes in our naming conventions, such as deprecating '-kang' in favor of -unofficial. We thought it would be beneficial to explain the names, and how they fit into our development.
Edit: Added some clarification about the new tags.
Alpha: These are very early builds, and considered experimental. These builds often have hardware partially working or outright non-functional. These are considered unstable and not-recommended for daily usage. Bug reports are not accepted.
Beta: This phase immediately follows the alpha phase. These builds are usually hardware complete (all or most hardware components are functional) but still have outstanding bugs, known or otherwise. These are considered stable, but not recommended for daily use unless you are an experienced user. Bug reports are not accepted.
Release Candidate (RC): Release candidates exist as publicly recommendable betas. The majority of known bugs are addressed, and aside from finding any other critical issues, the code reflects the code that will become the 'stable' build. These are recommended as suitable for daily use, and bug reports are accepted to our issue tracker.
Stable: These builds reflect what we believe is suitable for every user in our community. They have passed the 'wife' test, the all important phase where you would feel comfortable placing the OS on a loved one's device. Bug reports are accepted to our issue tracker, and the cycle begins again.
Now, there are three other tags that need to be addressed. As we are still in the process of discussing how to automate the new build servers, these may change, especially if we change the automation schedule from daily to something else ("_nightly_" wouldn't make much sense in that case)
Nightly: These builds exist outside of our release cycle, and run in parallel. These builds are considered highly experimental, and carry the mentality of "if it builds, ship it". We do not monitor the issues in nightlies, they are merely 'bot' built checks to see if code compiles. These builds, are community reproduceable, meaning anyone in the community can take the same instance of code, and build from source.
Unofficial: This tag reflects that the build was not released as part of the CM 'organization'. It supersedes any other tags present on the release. Unofficial builds should be considered just that, and not reported to our issue tracker.
Snapshot: The latest tag in our arsenal. This tag reflects builds that are not 'in-line' with current source. This means, these builds may have additional patches not yet merged into CM mainline, or code not yet on gerrit. They are 'non-reproduceable', meaning, you as a community member may not be able to build this exact set of code. These builds will be used more often in the near future to reflect items we need tested by the community, prior to their incorporation.