Skip to content

Commit 96a7cf7

Browse files
committed
posts: update rustup.1.23.0 release with Pietro's wording
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
1 parent a81ea4d commit 96a7cf7

File tree

1 file changed

+45
-33
lines changed

1 file changed

+45
-33
lines changed

posts/2020-11-27-Rustup-1.23.0.md

Lines changed: 45 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -25,47 +25,59 @@ If you don't have it already, you can [get rustup][install] from the appropriate
2525

2626
## What's new in rustup 1.23.0
2727

28-
This release has a few important things we'd like to highlight:
29-
30-
`rustup` is now available for the Apple M1 based computers. We now have an
31-
`aarch64-apple-darwin` release of `rustup` which means that you ought to
32-
be able to install a native `rustup` and compiler toolset on that platform.
33-
34-
**NOTE:** As of the time of this blog post, there is no _stable_ release of
35-
the M1 toolchain, so you will need to select `beta` or `nightly` when
36-
prompted for a toolchain to install. Also, this new platform is currently
37-
only supported at Tier 2. You can track the support details here:
38-
<https://github.com/rust-lang/rust/issues/73908>
39-
40-
There is now support for two-part version numbers. You can
41-
`rustup toolchain install 1.48` for example, and this will provide you with a
42-
`1.48` toolchain which will update if a `1.48.1` toolchain update were released.
43-
This can be useful if you often want the latest patch of a particular compiler
44-
release for CI etc.
45-
46-
The documentation for `rustup` is now in an mdbook style book and is published
47-
here: <https://rust-lang.github.io/rustup/>
48-
49-
We now support a structured `rust-toolchain` file format, though the current
50-
single-line simple format is still supported. You can find more
51-
information in the [overrides chapter][toolchain-file] of our new book, but here
52-
is an example of a new toolchain override file which selects a specific version
53-
of `nightly`, requires `clippy`, and causes the `wasm32-unknown-unknown` target
54-
to be installed as well:
28+
### Support for Apple M1 devices
29+
30+
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!
31+
32+
Note that at the time of writing this blog post the `aarch64-apple-darwin` compiler is at [Tier 2 target][tiers]: precompiled binaries are available starting from Rust 1.49 (currently in the beta channel), but no automated tests are executed on them.
33+
34+
You can follow [issue #73908][rust/73908] to track the work needed to bring Apple Silicon support to Tier 1.
35+
36+
[tiers]: https://doc.rust-lang.org/rustc/platform-support.html#tier-2
37+
[rust/73908]: https://github.com/rust-lang/rust/issues/73908
38+
39+
### Support for installing minor releases
40+
41+
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][1.45.0], while [1.46.0] and [1.47.0] both had no point releases.
42+
43+
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.48.0`, `1.45.0` or `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.48` or `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.
44+
45+
[1.45.0]: https://blog.rust-lang.org/2020/07/16/Rust-1.45.0.html
46+
[1.45.1]: https://blog.rust-lang.org/2020/07/30/Rust-1.45.1.html
47+
[1.45.2]: https://blog.rust-lang.org/2020/08/03/Rust-1.45.2.html
48+
[1.46.0]: https://blog.rust-lang.org/2020/08/27/Rust-1.46.0.html
49+
[1.47.0]: https://blog.rust-lang.org/2020/10/08/Rust-1.47.html
50+
51+
### New format for `rust-toolchain`
52+
53+
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 `rustc` or `cargo`:
54+
55+
```
56+
$ cat rust-toolchain
57+
nightly-2020-07-10
58+
$ cargo --version
59+
cargo 1.46.0-nightly (fede83ccf 2020-07-02)
60+
```
61+
62+
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:
5563

5664
```toml
5765
[toolchain]
58-
channel = "nightly-2020-11-27"
59-
components = [ "clippy" ]
60-
targets = [ "wasm32-unknown-unknown" ]
66+
channel = "nightly-2020-07-10"
67+
components = ["rustfmt", "clippy"]
68+
targets = ["wasm32-unknown-unknown"]
6169
```
6270

63-
[toolchain-file]: https://rust-lang.github.io/rustup/overrides.html#the-toolchain-file
71+
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][overrides].
72+
73+
[overrides]: https://rust-lang.github.io/rustup/overrides.html#the-toolchain-file
74+
75+
### Other changes
6476

65-
There are many more changes in 1.23.0, and we invite you to take a look at our
66-
[changelog][] if you'd like to know more.
77+
There are more changes in rustup 1.23.0: check them out in the [changelog]! Rustup's documentation is also available in [the rustup book][book] starting from this release.
6778

6879
[changelog]: https://github.com/rust-lang/rustup/blob/stable/CHANGELOG.md
80+
[book]: https://rust-lang.github.io/rustup/
6981

7082
## Thanks
7183

0 commit comments

Comments
 (0)