46 lines
1.8 KiB
Markdown
46 lines
1.8 KiB
Markdown
% Release Channels
|
||
|
||
The Rust project uses a concept called ‘release channels’ to manage releases.
|
||
It’s important to understand this process to choose which version of Rust
|
||
your project should use.
|
||
|
||
# Overview
|
||
|
||
There are three channels for Rust releases:
|
||
|
||
* Nightly
|
||
* Beta
|
||
* Stable
|
||
|
||
New nightly releases are created once a day. Every six weeks, the latest
|
||
nightly release is promoted to ‘Beta’. At that point, it will only receive
|
||
patches to fix serious errors. Six weeks later, the beta is promoted to
|
||
‘Stable’, and becomes the next release of `1.x`.
|
||
|
||
This process happens in parallel. So every six weeks, on the same day,
|
||
nightly goes to beta, beta goes to stable. When `1.x` is released, at
|
||
the same time, `1.(x + 1)-beta` is released, and the nightly becomes the
|
||
first version of `1.(x + 2)-nightly`.
|
||
|
||
# Choosing a version
|
||
|
||
Generally speaking, unless you have a specific reason, you should be using the
|
||
stable release channel. These releases are intended for a general audience.
|
||
|
||
However, depending on your interest in Rust, you may choose to use nightly
|
||
instead. The basic tradeoff is this: in the nightly channel, you can use
|
||
unstable, new Rust features. However, unstable features are subject to change,
|
||
and so any new nightly release may break your code. If you use the stable
|
||
release, you cannot use experimental features, but the next release of Rust
|
||
will not cause significant issues through breaking changes.
|
||
|
||
# Helping the ecosystem through CI
|
||
|
||
What about beta? We encourage all Rust users who use the stable release channel
|
||
to also test against the beta channel in their continuous integration systems.
|
||
This will help alert the team in case there’s an accidental regression.
|
||
|
||
Additionally, testing against nightly can catch regressions even sooner, and so
|
||
if you don’t mind a third build, we’d appreciate testing against all channels.
|
||
|