Skip to content

Commit f26a2a6

Browse files
committed
Merge branch 'doc_release_channels' into rollup
2 parents dd11c7f + 0ad15bb commit f26a2a6

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed

src/doc/trpl/SUMMARY.md

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
* [Error Handling](error-handling.md)
1818
* [FFI](ffi.md)
1919
* [Borrow and AsRef](borrow-and-asref.md)
20+
* [Release Channels](release-channels.md)
2021
* [Syntax and Semantics](syntax-and-semantics.md)
2122
* [Variable Bindings](variable-bindings.md)
2223
* [Functions](functions.md)

src/doc/trpl/release-channels.md

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
% Release Channels
2+
3+
The Rust project uses a concept called ‘release channels’ to manage releases.
4+
It’s important to understand this process to choose which version of Rust
5+
your project should use.
6+
7+
# Overview
8+
9+
There are three channels for Rust releases:
10+
11+
* Nightly
12+
* Beta
13+
* Stable
14+
15+
New nightly releases are created once a day. Every six weeks, the latest
16+
nightly release is promoted to ‘Beta’. At that point, it will only receive
17+
patches to fix serious errors. Six weeks later, the beta is promoted to
18+
‘Stable’, and becomes the next release of `1.x`.
19+
20+
This process happens in parallel. So every six weeks, on the same day,
21+
nightly goes to beta, beta goes to stable. When `1.x` is released, at
22+
the same time, `1.(x + 1)-beta` is released, and the nightly becomes the
23+
first version of `1.(x + 2)-nightly`.
24+
25+
# Choosing a version
26+
27+
Generally speaking, unless you have a specific reason, you should be using the
28+
stable release channel. These releases are intended for a general audience.
29+
30+
However, depending on your interest in Rust, you may choose to use nightly
31+
instead. The basic tradeoff is this: in the nightly channel, you can use
32+
unstable, new Rust features. However, unstable features are subject to change,
33+
and so any new nightly release may break your code. If you use the stable
34+
release, you cannot use experimental features, but the next release of Rust
35+
will not cause significant issues through breaking changes.
36+
37+
# Helping the ecosystem through CI
38+
39+
What about beta? We encourage all Rust users who use the stable release channel
40+
to also test against the beta channel in their continuous integration systems.
41+
This will help alert the team in case there’s an accidental regression.
42+
43+
Additionally, testing against nightly can catch regressions even sooner, and so
44+
if you don’t mind a third build, we’d appreciate testing against all channels.
45+

0 commit comments

Comments
 (0)