Rustup v1.23.0 Release Notes

Release Date: 2020-11-27 // over 3 years ago
  • πŸš€ The main points for this release are that rustup now supports a number of new host platforms, most importantly of which is aarch64-apple-darwin for the new πŸ‘ Apple M1 based devices, and that we support a new structured format for the rust-toolchain file. You can find more information πŸ“š in the new book format documentation.

    πŸš€ It is now also possible to install a particular release of the compiler as a πŸš€ two-part version number. If you do this, then the release channel will only πŸš€ update if there is a patch release of the compiler. For example, if you ran πŸš€ rustup toolchain install 1.48 at the time of this release of rustup you would end up with a toolchain called 1.48 which contained 1.48.0. If πŸš€ subsequently 1.48.1 were released, a rustup update would update your 1.48 from 1.48.0 to 1.48.1.

    As always, there were more changes than described below, thanks to everyone πŸš€ who contributed to this release. Hilights for this release are detailed below, πŸ‘€ but you can always see the full list of changes via the Git repository.

    βž• Added

    • πŸ“š Our documentation is now in "book" form. pr#2448
    • When you retrieve rustup's version, you'll also be told the version of the compiler for your default toolchain, to disambiguate things a little. pr#2465
    • πŸ‘Œ Support added for aarch64-unknown-linux-musl pr#2493
    • πŸ‘Œ Support added for aarch64-apple-darwin pr#2521
    • πŸ‘Œ Support added for x86_64-unknown-illumos pr#2432
    • You can now override the system-wide settings fallback path pr#2545
    • πŸ‘Œ Support for major.minor channels pr#2551

    πŸ”„ Changed

    • ⚑️ Significant updates to our handling of PATH updating on installation was made. Nominally this ought to have little external change visibility but it may make it more robust for some people. pr#2387
    • πŸ†• New support for toml-based rust-toolchain file format. This will be expanded upon going into the future to add new functionality, but for now the basics are in place, permitting you to select a channel, targets, and components which may be needed to build your applications. pr#2438
    • We now fall back to copying files when rename-in-place causes problems. This may improve matters in dockerised environments where rustup is preinstalled with a toolchain already. pr#2410
    • πŸ‘· We do a better job of exiting gracefully in a number of circumstances. pr#2427
    • 0️⃣ The reqwest backend (the default download backend) now supports socks5 proxies. pr#2466
    • If you use a proxy for a component which is not part of a custom toolchain you are using then we emit a message about trying to build that component. pr#2487
    • If you try and unpack super-large components which would previously be gracefully rejected, instead we try and if we succeed then you get to have the component unpacked. Unfortunately this means if we fail you could end up with a broken toolchain install. [pr#2490]
    • ⚑️ We will recommend ways to recover if you can't update your toolchain due to components or targets going missing. pr#2384
    • If you choose to install a toolchain which is for a different target than you are running on, we will warn you and direct you toward rustup target install in case that's what you meant. pr#2534

    Thanks

    • Aaron Loucks
    • Aleksey Kladov
    • Aurelia Dolo
    • Camelid
    • Chansuke
    • Carol (Nichols || Goulding)
    • Daniel Silverstone
    • Dany Marcoux
    • Eduard Miller
    • Eduardo Broto
    • Eric Huss
    • Francesco Zardi
    • FR Bimo
    • Ivan Nejgebauer
    • Ivan Tham
    • Jake Goulding
    • Jens Reidel
    • Joshua M. Clulow
    • Joshua Nelson
    • Jubilee Young
    • Leigh McCulloch
    • Lzu Tao
    • Matthias KrΓΌger
    • Matt Kraai
    • Matt McKay
    • Nick Ashley
    • Pascal Hertleif
    • Paul Lange
    • Pietro Albini
    • Robert Collins
    • Stephen Muss
    • Tom Eccles

    πŸš€ [1.23.0]: https://github.com/rust-lang/rustup/releases/tag/1.23.0