This document describes the development process for Add-on SDK.
Development cycles last about four weeks, starting with about three weeks of open development and concluding with about a week of stabilization.
During open development, general checkins are allowed. During stabilization, checkins are restricted to release blockers, low-risk polish fixes, and localizations.
We typically thaw the tree for open development on a Monday, freeze the tree for stabilization three weeks and two days later on Wednesday morning at 11am PT (19:00 UTC in the winter, 18:00 UTC in the summer), release the first release candidate that day, thaw the tree for the next cycle of open development the following Monday, and release the following Wednesday.
To ensure each release is well baked, we typically release no sooner than a week after the freeze and two days after the last release candidate.
We use numerically consecutive version numbers to identify releases. These started at 0.1 and continued through 0.9 before we released 1.0b1, the first beta version of what we expect to become a stable 1.0 release. They will continue with 1.0b2, 1.0b3, etc. until the stable 1.0 release.
During open development, the code in the repository is identified as the next expected version with the suffix "pre" appended to it, f.e. the code leading up to the 1.0b3 release is identified as 1.0b3pre.
Release candidates use the final release version internally (i.e. in all code, documentation, and other files inside the package) and that version followed by "rc" and the number of the candidate (f.e. 1.0b3rc1) in references external to the package (f.e. in the names of the packages).