blob: d9701ae0ad169e9b8a06a2a72c117842fa4fd6b3 [file] [log] [blame] [view]
Claudee37d8b3332017-06-19 21:39:051# Chrome Release Cycle
2
3[TOC]
4
5## Overview
6
Alex Mineer2c3a5a92021-09-10 22:29:477Chrome ships a new milestone (major version) to the stable channel every four
8weeks. The new milestone is developed on main for four weeks (beginning on
9branch point for the previous milestone) before the milestone's branch is cut,
Harry Souders85027812023-10-02 16:50:0410which is then stabilized for four weeks before being shipped to stable. Once
11a milestone reaches stable, weekly updates (called refreshes) are shipped to
12stable to deploy security fixes and keep Chrome's
Alex Mineer2c3a5a92021-09-10 22:29:4713[patch gap](https://groups.google.com/a/chromium.org/g/security-dev/c/fbiuFbW07vI)
Alex Mineerb201d4a2021-11-04 22:30:2914short.
15
16## Extended Stable
17
18Chrome Browser also maintains every other milestone branch for four additional
19weeks by backporting important security fixes to create an extended stable
20channel, where a new milestone is shipped every eight weeks. During the first
21four weeks of this milestone, both stable and extended stable are shipped
22identical releases; see the [channel lifecycle](#channel-lifecycle) to learn
23more. The extended stable channel is only available to enterprises on the
24Windows and Mac platforms, and can be enabled via enterprise policies. Biweekly
Harry Souders85027812023-10-02 16:50:0425refreshes are shipped to extended stable.
Alex Mineerb201d4a2021-11-04 22:30:2926
27While extended stable is only shipped to Windows and Mac, security fixes that
28are relevant to any Chrome Browser platforms will be landed on the extended
29stable branch for use by embedders. It's important to note that while the team
30will make an effort to backport all important security fixes to extended
31stable, complex and risky changes as well as larger features that improve
32security (e.g.
33[Site Isolation](https://www.chromium.org/Home/chromium-security/site-isolation))
34may not be viable to backport and will only be available on the stable channel;
35as such, using the stable channel and stable branches is recommended for any
36team where security is a primary concern.
Claudee37d8b3332017-06-19 21:39:0537
Alex Mineer2c3a5a92021-09-10 22:29:4738## Release Cycle
39The diagram below shows when our different development checkpoints occur as a
40milestone proceeds through our release cycle:
41
42![Release Cycle](images/release_cycle.png)
43
44* The primary development span (four weeks) of each milestone is not depicted
45 above, though it is visible in the [channel lifecycle](#channel-lifecycle)
46 below.
47* You can find specific dates for each milestone's development checkpoints on
48 our [release calendar](https://chromiumdash.appspot.com/schedule).
49* Some dates will vary between different platforms; see the release calendar
50 for specifics dates for each platform.
Harry Soudersb3126712025-01-23 18:00:2751* Branch point dates are fixed, but release dates are
Alex Mineer2c3a5a92021-09-10 22:29:4752 subject to change based on a variety of factors (e.g. late-breaking
53 regressions).
54* Release dates are adjusted to avoid shipping new milestones to stable around
55 major holidays to ensure proper coverage if issues arise. These adjustments
56 are already depicted in our release schedule.
Claudee37d8b3332017-06-19 21:39:0557
Claudee37d8b3332017-06-19 21:39:0558### Branch Point
59
Harry Soudersb3126712025-01-23 18:00:2760The branch generated by the daily canary created at branch point is designated
61as the milestone branch, which is then stabilized over the following four weeks.
62
63Before Branch Point:
64
651. All new features planned to launch in this milestone should be code complete
66 (all primary functionality implemented). Features which are not code
67 complete by branch point should be punted to the following milestone.
682. All strings should be landed.
693. All beta blocking bugs should be addressed.
Claudee37d8b3332017-06-19 21:39:0570
Alex Mineer2c3a5a92021-09-10 22:29:4771Please consider [these guidelines](../release_branch_guidance.md) when landing
72code around branch point.
Claudee37d8b3332017-06-19 21:39:0573
Alex Mineer2c3a5a92021-09-10 22:29:4774### Beta Promotion
75
Harry Souders85027812023-10-02 16:50:0476Shortly after branch, the new milestone is shipped to the beta channel for the
77first time. A new build is shipped to beta each following week for three
78additional weeks so that the release spends four weeks total in the beta
79channel.
Claudee37d8b3332017-06-19 21:39:0580
81### Stable Cut
82
Alex Mineer2c3a5a92021-09-10 22:29:4783Stable cut is the day that our stable release candidate build will be
84generated. This build is then shipped to beta to gather user feedback for one
85week. Any changes that land after stable cut may or may not be included in the
86stable release, and thus all stable blocking issues must be fixed by stable
87cut.
Claudee37d8b3332017-06-19 21:39:0588
Alex Mineer2c3a5a92021-09-10 22:29:4789### Stable Promotion
Claudee37d8b3332017-06-19 21:39:0590
Alex Mineer2c3a5a92021-09-10 22:29:4791After four weeks in the beta channel, the new milestone is shipped to the
92stable channel for the first time. The rollout is staged over time so that any
93early issues that arise can be addressed before they reach all users. The new
94release generally reaches all users within one to two weeks unless major issues
95arise that cannot be addressed quickly.
Claudee37d8b3332017-06-19 21:39:0596
Harry Soudersd65c2ae2023-04-05 23:49:4697To get better statistical data for staged rollouts, each rollout will consist of
98two separate builds which are identical, except for the build number. There is no
99harm in being on the lower build number, and all users are expected to be
Srinivas Sista75d234f2022-05-12 18:42:25100automatically updated to the higher build number as part of the rollout process.
101
Claudee37d8b3332017-06-19 21:39:05102### Stable Refresh
103
Harry Souders85027812023-10-02 16:50:04104The stable channel is refreshed every week, and the extended stable channels is
105refreshed every two weeks. These refreshes typically contain important security
106fixes as well as any urgent regression fixes that may be available at the
107discretion of the release team.
Dimitri Glazkov2070775d2017-10-24 17:47:02108
Alex Mineer2c3a5a92021-09-10 22:29:47109## Channel Lifecycle
Dimitri Glazkov2070775d2017-10-24 17:47:02110
Alex Mineer2c3a5a92021-09-10 22:29:47111The diagram below shows how different milestones proceed through Chrome's
112different release channels:
Alex Mineere76a8f5b2021-03-04 17:29:32113
Alex Mineer2c3a5a92021-09-10 22:29:47114![Channel Lifecycle](images/channel_diagram.png)
115
116* As noted above, both stable and extended stable ship the same versions for
117 the first four weeks of life, after which the two diverge.
118* There is no extended beta channel; instead, the standard four week beta cycle
119 is used to stabilize both stable and extended stable. Enterprises
120 who choose to opt into the eight week extended stable should continue to run
121 the beta channel as they do today in order to proactively identify issues
122 that may impact their environments.
123
124## Milestone Branch Support
125
126The diagram below shows the lifespan of each milestone branch:
127
128![Milestone Branch Support](images/branch_diagram.png)
129
130While a milestone branch is active, branch infrastructure (e.g. branch CQ) will
131be kept active, and important security fixes will be considered for backport.
132An endpoint which describes currently active branches and their respective
133channels is under consideration, and if built will be available ahead of launch
134of the new extended stable channel and the four week release cycle.