Skip to content

Commit 37a12a6

Browse files
authored
Next Channel -> Canary Channel (#5992)
See facebook/react#26761 for more context.
1 parent 68a9343 commit 37a12a6

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

src/content/community/versioning-policy.md

+18-18
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,12 @@ This section will be most relevant to developers who work on frameworks, librari
8080
Each of React's release channels is designed for a distinct use case:
8181

8282
- [**Latest**](#latest-channel) is for stable, semver React releases. It's what you get when you install React from npm. This is the channel you're already using today. **Use this for all user-facing React applications.**
83-
- [**Next**](#next-channel) tracks the main branch of the React source code repository. Think of these as release candidates for the next minor semver release. Use this for integration testing between React and third party projects.
83+
- [**Canary**](#canary-channel) tracks the main branch of the React source code repository. Think of these as release candidates for the next minor semver release. Use this for integration testing between React and third party projects.
8484
- [**Experimental**](#experimental-channel) includes experimental APIs and features that aren't available in the stable releases. These also track the main branch, but with additional feature flags turned on. Use this to try out upcoming features before they are released.
8585

86-
All releases are published to npm, but only Latest uses semantic versioning. Prereleases (those in the Next and Experimental channels) have versions generated from a hash of their contents and the commit date, e.g. `0.0.0-68053d940-20210623` for Next and `0.0.0-experimental-68053d940-20210623` for Experimental.
86+
All releases are published to npm, but only Latest uses semantic versioning. Prereleases (those in the Canary and Experimental channels) have versions generated from a hash of their contents and the commit date, e.g. `18.3.0-canary-388686f29-20230503` for Canary and `0.0.0-experimental-388686f29-20230503` for Experimental.
8787

88-
**The only officially supported release channel for user-facing applications is Latest**. Next and Experimental releases are provided for testing purposes only, and we provide no guarantees that behavior won't change between releases. They do not follow the semver protocol that we use for releases from Latest.
88+
**The only officially supported release channel for user-facing applications is Latest**. Canary and Experimental releases are provided for testing purposes only, and we provide no guarantees that behavior won't change between releases. They do not follow the semver protocol that we use for releases from Latest.
8989

9090
By publishing prereleases to the same registry that we use for stable releases, we are able to take advantage of the many tools that support the npm workflow, like [unpkg](https://unpkg.com) and [CodeSandbox](https://codesandbox.io).
9191

@@ -95,49 +95,49 @@ Latest is the channel used for stable React releases. It corresponds to the `lat
9595

9696
**If you're not sure which channel you should use, it's Latest.** If you're a React developer, this is what you're already using. You can expect updates to Latest to be extremely stable. Versions follow the semantic versioning scheme, as [described earlier.](#stable-releases)
9797

98-
### Next channel {/*next-channel*/}
98+
### Canary channel {/*canary-channel*/}
9999

100-
The Next channel is a prerelease channel that tracks the main branch of the React repository. We use prereleases in the Next channel as release candidates for the Latest channel. You can think of Next as a superset of Latest that is updated more frequently.
100+
The Canary channel is a prerelease channel that tracks the main branch of the React repository. We use prereleases in the Canary channel as release candidates for the Latest channel. You can think of Canary as a superset of Latest that is updated more frequently.
101101

102-
The degree of change between the most recent Next release and the most recent Latest release is approximately the same as you would find between two minor semver releases. However, **the Next channel does not conform to semantic versioning.** You should expect occasional breaking changes between successive releases in the Next channel.
102+
The degree of change between the most recent Canary release and the most recent Latest release is approximately the same as you would find between two minor semver releases. However, **the Canary channel does not conform to semantic versioning.** You should expect occasional breaking changes between successive releases in the Canary channel.
103103

104104
**Do not use prereleases in user-facing applications.**
105105

106-
Releases in Next are published with the `next` tag on npm. Versions are generated from a hash of the build's contents and the commit date, e.g. `0.0.0-68053d940-20210623`.
106+
Releases in Canary are published with the `canary` tag on npm. Versions are generated from a hash of the build's contents and the commit date, e.g. `18.3.0-canary-388686f29-20230503`.
107107

108-
#### Using the next channel for integration testing {/*using-the-next-channel-for-integration-testing*/}
108+
#### Using the canary channel for integration testing {/*using-the-canary-channel-for-integration-testing*/}
109109

110-
The Next channel is designed to support integration testing between React and other projects.
110+
The Canary channel is designed to support integration testing between React and other projects.
111111

112112
All changes to React go through extensive internal testing before they are released to the public. However, there are a myriad of environments and configurations used throughout the React ecosystem, and it's not possible for us to test against every single one.
113113

114114
If you're the author of a third party React framework, library, developer tool, or similar infrastructure-type project, you can help us keep React stable for your users and the entire React community by periodically running your test suite against the most recent changes. If you're interested, follow these steps:
115115

116116
- Set up a cron job using your preferred continuous integration platform. Cron jobs are supported by both [CircleCI](https://circleci.com/docs/2.0/triggers/#scheduled-builds) and [Travis CI](https://docs.travis-ci.com/user/cron-jobs/).
117-
- In the cron job, update your React packages to the most recent React release in the Next channel, using `next` tag on npm. Using the npm cli:
117+
- In the cron job, update your React packages to the most recent React release in the Canary channel, using `canary` tag on npm. Using the npm cli:
118118

119119
```console
120-
npm update react@next react-dom@next
120+
npm update react@canary react-dom@canary
121121
```
122122

123123
Or yarn:
124124

125125
```console
126-
yarn upgrade react@next react-dom@next
126+
yarn upgrade react@canary react-dom@canary
127127
```
128128
- Run your test suite against the updated packages.
129129
- If everything passes, great! You can expect that your project will work with the next minor React release.
130130
- If something breaks unexpectedly, please let us know by [filing an issue](https://github.com/facebook/react/issues).
131131

132-
A project that uses this workflow is Next.js. (No pun intended! Seriously!) You can refer to their [CircleCI configuration](https://github.com/zeit/next.js/blob/c0a1c0f93966fe33edd93fb53e5fafb0dcd80a9e/.circleci/config.yml) as an example.
132+
A project that uses this workflow is Next.js. You can refer to their [CircleCI configuration](https://github.com/zeit/next.js/blob/c0a1c0f93966fe33edd93fb53e5fafb0dcd80a9e/.circleci/config.yml) as an example.
133133

134134
### Experimental channel {/*experimental-channel*/}
135135

136-
Like Next, the Experimental channel is a prerelease channel that tracks the main branch of the React repository. Unlike Next, Experimental releases include additional features and APIs that are not ready for wider release.
136+
Like Canary, the Experimental channel is a prerelease channel that tracks the main branch of the React repository. Unlike Canary, Experimental releases include additional features and APIs that are not ready for wider release.
137137

138-
Usually, an update to Next is accompanied by a corresponding update to Experimental. They are based on the same source revision, but are built using a different set of feature flags.
138+
Usually, an update to Canary is accompanied by a corresponding update to Experimental. They are based on the same source revision, but are built using a different set of feature flags.
139139

140-
Experimental releases may be significantly different than releases to Next and Latest. **Do not use Experimental releases in user-facing applications.** You should expect frequent breaking changes between releases in the Experimental channel.
140+
Experimental releases may be significantly different than releases to Canary and Latest. **Do not use Experimental releases in user-facing applications.** You should expect frequent breaking changes between releases in the Experimental channel.
141141

142142
Releases in Experimental are published with the `experimental` tag on npm. Versions are generated from a hash of the build's contents and the commit date, e.g. `0.0.0-experimental-68053d940-20210623`.
143143

@@ -147,11 +147,11 @@ Experimental features are ones that are not ready to be released to the wider pu
147147

148148
For example, if the Experimental channel had existed when we announced Hooks, we would have released Hooks to the Experimental channel weeks before they were available in Latest.
149149

150-
You may find it valuable to run integration tests against Experimental. This is up to you. However, be advised that Experimental is even less stable than Next. **We do not guarantee any stability between Experimental releases.**
150+
You may find it valuable to run integration tests against Experimental. This is up to you. However, be advised that Experimental is even less stable than Canary. **We do not guarantee any stability between Experimental releases.**
151151

152152
#### How can I learn more about experimental features? {/*how-can-i-learn-more-about-experimental-features*/}
153153

154-
Experimental features may or may not be documented. Usually, experiments aren't documented until they are close to shipping in Next or Latest.
154+
Experimental features may or may not be documented. Usually, experiments aren't documented until they are close to shipping in Canary or Latest.
155155

156156
If a feature is not documented, they may be accompanied by an [RFC](https://github.com/reactjs/rfcs).
157157

0 commit comments

Comments
 (0)