Skip to content

Commit a3add8d

Browse files
authored
Merge pull request #730 from kinnison/rustup-1.23.0
posts: Release of Rustup 1.23.0
2 parents 06ee09c + 96a7cf7 commit a3add8d

File tree

1 file changed

+117
-0
lines changed

1 file changed

+117
-0
lines changed

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

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
---
2+
layout: post
3+
title: "Announcing Rustup 1.23.0"
4+
author: The Rustup Working Group
5+
---
6+
7+
The rustup working group is happy to announce the release of rustup version 1.23.0. [Rustup][install] is the recommended tool to install [Rust][rust], a programming language that is empowering everyone to build reliable and efficient software.
8+
9+
If you have a previous version of rustup installed, getting rustup 1.23.0 is as easy as closing your IDE and running:
10+
11+
```
12+
rustup self update
13+
```
14+
15+
Rustup will also automatically update itself at the end of a normal toolchain update:
16+
17+
```
18+
rustup update
19+
```
20+
21+
If you don't have it already, you can [get rustup][install] from the appropriate page on our website.
22+
23+
[rust]: https://www.rust-lang.org
24+
[install]: https://rustup.rs
25+
26+
## What's new in rustup 1.23.0
27+
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:
63+
64+
```toml
65+
[toolchain]
66+
channel = "nightly-2020-07-10"
67+
components = ["rustfmt", "clippy"]
68+
targets = ["wasm32-unknown-unknown"]
69+
```
70+
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
76+
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.
78+
79+
[changelog]: https://github.com/rust-lang/rustup/blob/stable/CHANGELOG.md
80+
[book]: https://rust-lang.github.io/rustup/
81+
82+
## Thanks
83+
84+
Thanks to all the contributors who made rustup 1.23.0 possible!
85+
86+
- Aaron Loucks
87+
- Aleksey Kladov
88+
- Aurelia Dolo
89+
- Camelid
90+
- Chansuke
91+
- Carol (Nichols || Goulding)
92+
- Daniel Silverstone
93+
- Dany Marcoux
94+
- Eduard Miller
95+
- Eduardo Broto
96+
- Eric Huss
97+
- Francesco Zardi
98+
- FR Bimo
99+
- Ivan Nejgebauer
100+
- Ivan Tham
101+
- Jake Goulding
102+
- Jens Reidel
103+
- Joshua M. Clulow
104+
- Joshua Nelson
105+
- Jubilee Young
106+
- Leigh McCulloch
107+
- Lzu Tao
108+
- Matthias Krüger
109+
- Matt Kraai
110+
- Matt McKay
111+
- Nick Ashley
112+
- Pascal Hertleif
113+
- Paul Lange
114+
- Pietro Albini
115+
- Robert Collins
116+
- Stephen Muss
117+
- Tom Eccles

0 commit comments

Comments
 (0)