1# Chrome Release Cycle
2
3[TOC]
4
5## Overview
6
7Chrome pushes a new stable version to the public every 6 weeks while
8taking 7 weeks to stabilize the beta branch.
9
10## Schedule
11
12![Schedule](images/release_cycle.png)
13* Feature freeze and branch point dates are fixed, but release dates may change
14depending on the build quality.
15* There would be some adjustment in the release schedule due to Chrome no
16meeting weeks or holidays.
17
18## Key Dates
19
20### Feature Freeze
21
22**2 weeks** before the branch point, the feature freeze is declared! Any feature
23planned to launch with this milestone should be code-complete (its
24implementation should be done) and enabled on Trunk/Canary so that the test team
25can give initial feedback. By the feature freeze, all strings must be landed!
26
27### Branch Point
28
29**Every 6 weeks**, the latest canary is declared as the new milestone
30stabilization branch with a number (used as the branch name) associated with it.
31The feature enhancement should be completed by the branch point and all
32ReleaseBlock-Beta bugs should be fixed. Avoid committing big and risky changes
33close to the branch point!
34
35### First Beta
36
37**2 weeks** after the branch point, the first beta release is pushed. All
38disabled tests associated with the release milestone should be completely
39addressed. New beta builds are pushed weekly until the stable release.
40
41### Stable Cut
42
43The Thursday before the stable release date, the last build from the beta branch
44is cut as the release build. All ReleaseBlock-Stable bugs should be fixed by the
45stable cut, which consequently corresponds to the absolute last date a merge to
46the release branch should be taken for inclusion in the initial stable release.
47The stable cut will, unless there are exceptions, use the final beta as its
48basis. For Chrome OS, the stable cut date may be different than the rest of
49Chrome.
50
51### Stable Release
52
53**7 weeks** after the branch point a new major version is released. The
54stable rollout is staged over time so that any issues can be detected early and
55addressed before they reach all users. Each Chrome platform has a different
56stable rollout plan and the schedule below can vary based on circumstances:
57
58*  **Desktop**: Desktop consists of three main platforms, Windows, Mac, and
59Linux. Linux is ramped up to 100% immediately. Mac and Windows follow a
60staged rollout as follows:
61    * 5% deployment ->15% deployment ->50% deployment ->100% deployment.
62*  **Android**: Android releases both Chrome and WebView with each release, and
63follows a pattern similar to:
64    * 1% deployment -> 5% deployment -> 10% deployment -> 50% deployment
65    -> 100% deployment.
66*  **iOS**: iOS follows a phased release with no control over the following
67rollout percentage schedule:
68    * Day 1: 1% -> Day 2: 2% -> Day 3: 5% -> Day 4: 10% -> Day 5: 20%
69    -> Day 6: 50% -> Day 7: 100%.
70
71### Stable Refresh
72
73A stable refresh is defined as a release of a new Chrome build outside of the
74normal release schedule to fix critical bugs detected during the stable rollout.
75Except for extremely critical issues (e.g. security or privacy escalations),
76a Chrome stable refresh should not be pushed more than **2 weeks** after the
77initial build has been released to the public. In this case, we should consider
78punting any detected production issues to the next release.
79
80## More Info
81
82For more information, see these [guidelines for considering branch dates in project planning](../release_branch_guidance.md).
83