You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: posts/2020-11-27-Rustup-1.23.0.md
+45-33Lines changed: 45 additions & 33 deletions
Original file line number
Diff line number
Diff line change
@@ -25,47 +25,59 @@ If you don't have it already, you can [get rustup][install] from the appropriate
25
25
26
26
## What's new in rustup 1.23.0
27
27
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.
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.
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:
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].
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.
0 commit comments