The rustup working group is happy to announce the release of rustup version 1.23.0. Rustup is the recommended tool to install Rust, a programming language that is empowering everyone to build reliable and efficient software.
If you have a previous version of rustup installed, getting rustup 1.23.0 is as easy as closing your IDE and running:
rustup self update
Rustup will also automatically update itself at the end of a normal toolchain update:
If you don’t have it already, you can get rustup from the appropriate page on our website.
Rustup is now natively available for the new Apple M1 devices, allowing you to install it on the new Macs the same way you’d install it on other platforms!
Note that at the time of writing this blog post the
aarch64-apple-darwin compiler is at Tier 2 target: precompiled binaries are available starting from Rust 1.49 (currently in the beta channel), but no automated tests are executed on them.
You can follow issue #73908 to track the work needed to bring Apple Silicon support to Tier 1.
The Rust team releases a new version every six weeks, bringing new features and bugfixes on a regular basis. Sometimes a regression slips into a stable release, and the team releases a “point release” containing fixes for that regression. For example, 1.45.1 and 1.45.2 were point releases of Rust 1.45.0, while 1.46.0 and 1.47.0 both had no point releases.
With rustup 1.22.1 or earlier if you wanted to use a stable release you were able to either install
stable (which automatically updates to the latest one) or a specific version number, such as
1.45.2. Starting from this release of rustup (1.23.0) you can also install a minor version without specifying the patch version, like
1.45. These “virtual” releases will always point to the latest patch release of that cycle, so
rustup toolchain install 1.45 will get you a 1.45.2 toolchain.
The rustup 1.5.0 release introduced the
rust-toolchain file, allowing you to choose the default toolchain for a project. When the file is present rustup ensures the toolchain specified in it is installed on the local system, and it will use that version when calling
$ cat rust-toolchain nightly-2020-07-10 $ cargo --version cargo 1.46.0-nightly (fede83ccf 2020-07-02)
The file works great for projects wanting to use a specific nightly version, but didn’t allow to add extra components (like
clippy) or compilation targets. Rustup 1.23.0 introduces a new, optional TOML syntax for the file, with support for specifying components and targets:
[toolchain] channel = "nightly-2020-07-10" components = ["rustfmt", "clippy"] targets = ["wasm32-unknown-unknown"]
The new syntax doesn’t replace the old one, and both will continue to work. You can learn more about overriding the default toolchain in the “Overrides” chapter of the rustup book.