Chrome ships a new milestone (major version) to the stable channel every two weeks. The new milestone is developed on main for two weeks (beginning on branch point for the previous milestone) before the milestone‘s branch is cut, which is then stabilized for three weeks before being shipped to stable. Once a milestone reaches stable, weekly updates (called refreshes) are shipped to stable to deploy security fixes and keep Chrome’s patch gap short.
Chrome Browser also maintains every fourth milestone branch for six additional weeks by backporting important security fixes to create an extended stable channel, where a new milestone is shipped every eight weeks. During the first two weeks of this milestone, both stable and extended stable are shipped identical releases; see the channel lifecycle to learn more. The extended stable channel is only available to enterprises on the Windows and Mac platforms, and can be enabled via enterprise policies. Weekly refreshes are shipped to extended stable.
While extended stable is only shipped to Windows and Mac, security fixes that are relevant to any Chrome Browser platforms will be landed on the extended stable branch for use by embedders. It's important to note that while the team will make an effort to backport all important security fixes to extended stable, complex and risky changes as well as larger features that improve security (e.g. Site Isolation) may not be viable to backport and will only be available on the stable channel; as such, using the stable channel and stable branches is recommended for any team where security is a primary concern.
The diagram below shows when our different development checkpoints occur as a milestone proceeds through our release cycle:
The branch generated by the daily canary created at branch point is designated as the milestone branch, which is then stabilized over the following three weeks.
Before Branch Point:
Please consider these guidelines when landing code around branch point.
Shortly after branch, the new milestone is shipped to the beta channel for the first time. The milestone spends two weeks total in the beta channel while undergoing stabilization.
Early Stable cut is the day that our early stable release candidate build will be generated. This build is then shipped to a small percentage of stable channel users to gather user feedback. All stable blocking issues must be fixed by early stable cut.
The new milestone is shipped to a small percentage of stable channel users for the first time.
Stable cut is the day that our stable release candidate build will be generated. Any changes that land after stable cut may or may not be included in the stable release.
Three weeks after branch point, the new milestone is shipped to the stable channel for the first time. The rollout is staged over time so that any early issues that arise can be addressed before they reach all users. The new release generally reaches all users within one to two weeks unless major issues arise that cannot be addressed quickly.
To get better statistical data for staged rollouts, each rollout will consist of two separate builds which are identical, except for the build number. There is no harm in being on the lower build number, and all users are expected to be automatically updated to the higher build number as part of the rollout process.
The stable channel and extended stable channel is refreshed every week. These refreshes typically contain important security fixes as well as any urgent regression fixes that may be available at the discretion of the release team.
The diagram below shows how different milestones proceed through Chrome's different release channels:
The diagram below shows the lifespan of each milestone branch:
While a milestone branch is active, branch infrastructure (e.g. branch CQ) will be kept active, and important security fixes will be considered for backport. An endpoint which describes currently active branches and their respective channels is under consideration, and if built will be available ahead of launch of the new extended stable channel and the two-week release cycle.