Rust 1.0 Beta Release
- Transfer
Today we are pleased to present the release of Rust 1.0 Beta ! The beta release is a very important link on the way to the final release 1.0. In particular, in the beta release, all libraries and language elements that we were going to make stable in 1.0 are marked as stable . Therefore, in the beta release, you can very accurately imagine what you will expect in Rust 1.0.
A list of major changes in the new version can be found in the release notes .
The beta release is also a turning point in our approach to stability ( translation) During the alpha loop, the use of unstable APIs and language elements was permitted, but caused compiler warnings. Starting with beta, however, using them will be a mistake (if you are not using nightly- or custom builds).
The Rust ecosystem continues to grow steadily. The crates.io repository already provides more than 1,700 packages and has just celebrated the millionth download. Many of the most popular packages are built by a stable subset of Rust, and work is underway on the rest. Therefore, we recommend that new users start acquaintance with Rust with a beta release, and not with nightly builds, and therefore we changed the script rustup.shso that now it installs the beta version by default. At the same time, you can always switch to nighly-assembly if any of the dependencies of your project have not yet been updated.
The final release of Rust 1.0 is scheduled for May 15 - exactly six weeks from now. At this time, we are going to make our efforts to correct errors, improve documentation and error messages, and generally improve usability. We do not plan changes in the functionality of stabilized elements, but we can make small changes or additions to the library APIs if any of their shortcomings or problems are revealed (but the bar for such changes is relatively high).
Although we are not going to add new features (or APIs) in release 1.0, this does not mean that we have completely stopped working on them. Quite the opposite! According to the "train" model ( translation), we will continue to work on new features in the main branch in parallel with the beta. And of course, we will release 1.1-beta simultaneously with the final release 1.0 - you won’t have to wait long.
To make sure that when adding new features we won’t break the existing code, work is underway on a new CI infrastructure that will allow us to monitor which packages are assembled by nightly assemblies and detect regressions in the entire ecosystem, and not just in our own code base . This infrastructure is still under development, but you can see an example report here .
As always, the 1.0-beta release was made possible only thanks to the entire Rust community. Many thanks to everyone who participated in the RFC discussions; in particular, we are grateful to 172 contributors to this release: a list .
A stable version of the language is already on its way, and those who used to be afraid of constantly breaking nightly builds, but wanted to feel Rust, can already use the beta version - changes are no longer seriously breaking backward compatibility. The language community is very friendly and always ready to help beginners - the main communication channels are #rust on irc.mozilla.org, subreddit / r / rust , Stackoverflow for the tag rust and the users.rust-lang.org forum . In Russian, the community is still being formed - there is a Rust mailing list in Russian , as well as the channel # rust-ru on irc.mozilla.org.
A list of major changes in the new version can be found in the release notes .
The beta release is also a turning point in our approach to stability ( translation) During the alpha loop, the use of unstable APIs and language elements was permitted, but caused compiler warnings. Starting with beta, however, using them will be a mistake (if you are not using nightly- or custom builds).
The Rust ecosystem continues to grow steadily. The crates.io repository already provides more than 1,700 packages and has just celebrated the millionth download. Many of the most popular packages are built by a stable subset of Rust, and work is underway on the rest. Therefore, we recommend that new users start acquaintance with Rust with a beta release, and not with nightly builds, and therefore we changed the script rustup.shso that now it installs the beta version by default. At the same time, you can always switch to nighly-assembly if any of the dependencies of your project have not yet been updated.
What is planned in the beta cycle?
The final release of Rust 1.0 is scheduled for May 15 - exactly six weeks from now. At this time, we are going to make our efforts to correct errors, improve documentation and error messages, and generally improve usability. We do not plan changes in the functionality of stabilized elements, but we can make small changes or additions to the library APIs if any of their shortcomings or problems are revealed (but the bar for such changes is relatively high).
Although we are not going to add new features (or APIs) in release 1.0, this does not mean that we have completely stopped working on them. Quite the opposite! According to the "train" model ( translation), we will continue to work on new features in the main branch in parallel with the beta. And of course, we will release 1.1-beta simultaneously with the final release 1.0 - you won’t have to wait long.
To make sure that when adding new features we won’t break the existing code, work is underway on a new CI infrastructure that will allow us to monitor which packages are assembled by nightly assemblies and detect regressions in the entire ecosystem, and not just in our own code base . This infrastructure is still under development, but you can see an example report here .
Community Achievement
As always, the 1.0-beta release was made possible only thanks to the entire Rust community. Many thanks to everyone who participated in the RFC discussions; in particular, we are grateful to 172 contributors to this release: a list .
A stable version of the language is already on its way, and those who used to be afraid of constantly breaking nightly builds, but wanted to feel Rust, can already use the beta version - changes are no longer seriously breaking backward compatibility. The language community is very friendly and always ready to help beginners - the main communication channels are #rust on irc.mozilla.org, subreddit / r / rust , Stackoverflow for the tag rust and the users.rust-lang.org forum . In Russian, the community is still being formed - there is a Rust mailing list in Russian , as well as the channel # rust-ru on irc.mozilla.org.