📜 ⬆️ ⬇️

Release Rust 1.0 Beta

Today we are pleased to announce 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, on the beta release, you can very accurately imagine what you would 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 cycle, the use of unstable APIs and language elements was permitted, but caused compiler warnings. Starting with beta, however, their use will become an error (in case you are not using nightly- or your own builds).

The Rust Ecosystem continues to grow steadily. The crates.io repository already provides more than 1,700 packages and has just noted a millionth download. Many of the most popular packages are collected by a stable subset of Rust, and work is underway on the rest. Therefore, we recommend that new users start their acquaintance with Rust from a beta release, and not from nightly builds, and so we changed the rustup.sh script so that it now installs the beta version by default. At the same time, you can always switch to the nighly-build, 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 efforts to correct errors, improve documentation and error messages, and generally improve usability. We do not plan changes in the functionality of the stabilized elements, but we can make small changes or add to the libraries API if some of their shortcomings or problems come to light (but the bar for such changes is relatively high).

Although we are not going to add new features (or API) in release 1.0, this does not mean that we have completely stopped working on them. Quite the contrary! According to the “train” model ( translation ), we will continue to work on new features in the main branch along with beta. And of course, we will release 1.1-beta at the same time as the final release 1.0 - we will not have to wait long.

To make sure that when adding new features we don’t break the existing code, we are working on a new CI infrastructure that will allow us to keep track of which packages are going to be nightly assemblies and to detect regressions in the entire ecosystem, and not only in our own code base . This infrastructure is still in development, but you can see an example report here .

Community achievement


As always, the release of 1.0-beta was made possible only thanks to the entire Rust community. Many thanks to all who participated in the discussions of the RFC; In particular, we are grateful to the 172 contributors of this release: the list .



A stable version of the language is already quite on the way, and those who used to be afraid of constantly breaking nightly assemblies, but wanted to touch Rust, can already use the beta version - the changes that are seriously breaking backward compatibility are no longer expected. The language community is very friendly and always ready to help beginners - the main channels of communication are #rust on irc.mozilla.org, subreddit / r / rust , Stackoverflow on the rust tag and the forum users.rust-lang.org . In Russian, the community is still being formed - there is a Rust mailing list in Russian , as well as the # rust-ru channel on irc.mozilla.org.

Source: https://habr.com/ru/post/254961/


All Articles