Skip to content

Latest commit

 

History

History
1984 lines (1648 loc) · 89.7 KB

CHANGELOG.md

File metadata and controls

1984 lines (1648 loc) · 89.7 KB

Changelog

1.27.1 - 2024-04-14

This new Rustup release involves some minor bug fixes.

The headlines for this release are:

  1. Prebuilt Rustup binaries should be working on older macOS versions again.
  2. rustup-init will no longer fail when fish is installed but ~/.config/fish/conf.d hasn't been created.
  3. Regressions regarding symlinked RUSTUP_HOME/(toolchains|downloads|tmp) have been addressed.

Since the release of 1.27.0, the project has welcomed a total of 7 new contributors. Many thanks for your hard work, and we hope to see you again!

Added

  • Added the logging of RUSTUP_UPDATE_ROOT and RUSTUP_DIST_(SERVER|ROOT) when RUSTUP_DEBUG is set pr#3722

Changed

  • Ensured that CI builds target macOS 10.12+ on x64 and macOS 11.0+ on arm64 pr#3710
  • Fixed an error when writing to rcfiles by ensuring the creation of their parent dir(s) first pr#3712
  • Fixed unexpected errors when RUSTUP_HOME/(toolchains|downloads|tmp) is symlinked pr#3742 pr#3754
  • Fixed an unexpected error when removing a component by component name with explicit target triple pr#3601
  • Changed RUSTUP_WINDOWS_PATH_ADD_BIN to be false by default pr#3703
  • Fixed incorrect color state after ColorableTerminal::reset pr#3711
  • Replaced . with source in fish shell's source_string pr#3715
  • Fixed "component add" error message format pr#3724
  • Fixed file paths in CI-generated *.sha256 files on *nix pr#3730
  • Removed an unnecessary debug print pr#3734
  • Disabled the "doc opening" output on rustup doc --path pr#3748
  • Fixed the update of DisplayVersion in the Windows registry on rustup self update pr#3770
  • Bumped a lot of dependencies to their latest versions pr#renovate-bot

Thanks go to:

  • Anas (0x61nas)
  • cuiyourong (cuiyourong)
  • Dirkjan Ochtman (djc)
  • Eric Huss (ehuss)
  • eth3lbert (eth3lbert)
  • hev (heiher)
  • klensy (klensy)
  • Chih Wang (ongchi)
  • Adam (pie-flavor)
  • rami3l (rami3l)
  • Robert (rben01)
  • Robert Collins (rbtcollins)
  • Sun Bin (shandongbinzhou)
  • Samuel Moelius (smoelius)
  • vpochapuis (vpochapuis)
  • Renovate Bot (renovate)

Full Changelog: https://github.com/rust-lang/rustup/compare/1.27.0...1.27.1

1.27.0 - 2024-03-08

This long-awaited Rustup release has gathered all the new features and fixes since April 2023. These changes include improvements in Rustup's maintainability, user experience, compatibility and documentation quality.

The headlines of this release are:

  • Basic support for fish shell has been added.
  • Support for the loongarch64-unknown-linux-gnu host platform has been added.

Also, it's worth mentioning that Dirkjan Ochtman and rami3l have joined the team and are coordinating this new release.

Finally, the project seems to have attracted a total of 23 new contributors within this release cycle. Looking forward to seeing you again in the future!

Added

  • Add basic support for fish shell pr#3108
  • Add the RUSTUP_TERM_COLOR environment variable to force the use of colored output pr#3435
  • Improve rustup-init.sh's compatibility with ksh and zsh pr#3475
  • Add a warning when running under Rosetta 2 pr#3068
  • Add browser detection for RISC-V 64 platform pr#3642
  • Add a warning when removing the last/host target for a toolchain pr#3637

Changed

  • Upgrade clap to v4 pr#3444
  • Fix incorrect platform detection on macOS aarch64 due to Rosetta 2 pr#3438
  • Fix incorrect platform detection on 32-bit Linux userland with a 64-bit kernel pr#3488 pr#3490
  • Improve Windows system32 DLL loading mechanism pr#3493
  • Improve suggestions about missing components pr#3453
  • Fix handling of toolchain names with special characters pr#3518
  • Fix panic in component list --toolchain stable pr#3548
  • Rename llvm-tools-preview component to llvm-tools pr#3578
  • Try using symlinks if possible on Windows pr#3687
  • Bump a lot of dependencies to their latest versions pr#renovate-bot

Thanks go to:

  • Anthony Perkins (acperkins)
  • Tianqi (airstone42)
  • Alex Gaynor (alex)
  • Alex Hudspith (alexhudspith)
  • Alan Somers (asomers)
  • Brett (brettearle)
  • Burak Emir (burakemir)
  • Chris Denton (ChrisDenton)
  • cui fliter (cuishuang)
  • Dirkjan Ochtman (djc)
  • Dezhi Wu (dzvon)
  • Eric Swanson (ericswanson-dfinity)
  • Prikshit Gautam (gautamprikshit1)
  • hev (heiher)
  • 二手掉包工程师 (hi-rustin)
  • Kamila Borowska (KamilaBorowska)
  • klensy (klensy)
  • Jakub Beránek (Kobzol)
  • Kornel (kornelski)
  • Matt Harding (majaha)
  • Mathias Brossard (mbrossard)
  • Christian Thackston (nan60)
  • Ruohui Wang (noirgif)
  • Olivier Lemasle (olivierlemasle)
  • Chih Wang (ongchi)
  • Pavel Roskin (proski)
  • rami3l (rami3l)
  • Robert Collins (rbtcollins)
  • Sandesh Pyakurel (Sandesh-Pyakurel)
  • Waffle Maybe (WaffleLapkin)
  • Jubilee (workingjubilee)
  • WÁNG Xuěruì (xen0n)
  • Yerkebulan Tulibergenov (yerke)
  • Renovate Bot (renovate)

Full Changelog: https://github.com/rust-lang/rustup/compare/1.26.0...1.27.0

1.26.0 - 2023-04-05

This version of Rustup involves a significant number of internal refactors, both in terms of the Rustup code and its tests.

The headlines for this release are:

  1. Add rust-analyzer as a proxy of rustup. Now you can call rust-analyzer and it will be proxied to the rust-analyzer component for the current toolchain.
  2. Bump the clap dependency from 2.x to 3.x. It's a major version bump, so there are some help text changes, but the command line interface is unchanged.
  3. Remove experimental GPG signature validation and the rustup show keys command. Due to its experimental status, validating the integrity of downloaded binaries did not rely on it, and there was no option to abort the installation if a signature mismatch happened. Multiple problems with its implementation were discovered in the recent months, which led to the decision to remove the experimental code. The team is working on the design of a new signature validation scheme, which will be implemented in the future.

In addition to a lot of work on the codebase itself, due to the length of time since the last release this one has a record number of contributors and we thank you all for your efforts and time.

Rather than list every single merged PR since the last release, we have pulled out a number of highlights to include in this changelog entry. For everything else, please review the repository.

Added

  • Added rust-analyzer as a proxy of rustup pr#3022
  • Added DisplayVersion for rustup to registry on Windows pr#3047
  • Build Rustup for Windows arm64 on stable pr#3232
  • Added up as an alias of the update command pr#3044
  • Added details of each setting in the toolchain file in the documentation pr#3067
  • Added automatic resume flag when retrying download with curl pr#3089
  • Added UI tests for rustup pr#3209

Changed

  • Bump the clap dependency from 2.x to 3.x pr#3064
  • Remove GPG signature support pr#3277
  • Don't add toolchain bin to PATH on Windows pr#3178
  • Remove use of hard links to symlinks on macOS pr#3137
  • Avoid deduplicate PATH entries added during build pr#2848
  • The toolchain name cannot be left blank pr#2993
  • Correctly propagate subshell failures in rustup-init.sh pr#3012
  • Enhanced warning message for Rust installation already present pr#3038
  • Improved error message when there is an error caused by override file pr#3041
  • Explain proxy in terminology documentation pr#3091
  • Recommend tracking Cargo.lock with rust-toolchain file pr#3054
  • Fix RUSTUP_PERMIT_COPY_RENAME condition so it is actually used pr#3292
  • Bump a lot of dependencies to their latest versions pr#renovate-bot

Thanks go to:

  • Daniel Silverstone (kinnison)
  • Sabrina Jewson (SabrinaJewson)
  • Robert Collins (rbtcollins)
  • chansuke (chansuke)
  • Shamil (shamilsan)
  • Oli Lalonde (olalonde)
  • 二手掉包工程师 (hi-rustin)
  • Eric Huss (ehuss)
  • J Balint BIRO (jbalintbiro)
  • Easton Pillay (jedieaston)
  • zhaixiaojuan (zhaixiaojuan)
  • Chris Denton (ChrisDenton)
  • Martin Geisler (mgeisler)
  • Lucio Franco (LucioFranco)
  • Nicholas Bishop (nicholasbishop)
  • SADIK KUZU (sadikkuzu)
  • darkyshiny (darkyshiny)
  • René Dudfield (illume)
  • Noritada Kobayashi (noritada)
  • Mohammad AlSaleh (MoSal)
  • Dustin Martin (dmartin)
  • Ville Skyttä (scop)
  • Tshepang Mbambo (tshepang)
  • Illia Bobyr (ilya-bobyr)
  • Vincent Rischmann (vrischmann)
  • Alexander (Alovchin91)
  • Daniel Brotsky (brotskydotcom)
  • zohnannor (zohnannor)
  • Joshua Nelson (jyn514)
  • Prikshit Gautam (gautamprikshit1)
  • Dylan Thacker-Smith (dylanahsmith)
  • Jan David (jdno)
  • Aurora (lilith13666)
  • Pietro Albini (pietroalbini)
  • Renovate Bot (renovate-bot)

1.25.2 - 2023-02-01

This version of Rustup changes the signature verification code to continue accepting Rust's release signature key, which previously caused warnings due to a time-based check.

Note that signature verification in Rustup is still an experimental feature, and there is intentionally no way to enforce signature verification due to the feature being incomplete.

Thanks go to:

  • Pietro Albini
  • Daniel Silverstone

1.25.1 - 2022-07-12

This version of Rustup reverts a single PR from 1.25.1 and tidies a couple of internal bits of code.

In brief, it turns out that our optimisation for RUSTC and RUSTDOC cause problems with some tooling which runs under one cargo invocation, but expects to invoke either cargo or rustc without resetting the environment completely. As such, some particularly confusing error messages ensued, and we decided to revert this one optimisation while we wait to correct things in a future release.

Thanks go to:

  • Joshua Nelson
  • Manish Goregaokar
  • Robert Collins

1.25.0 - 2022-07-11

This version of Rustup involves a significant number of internal cleanups, both in terms of the Rustup code and its documentation. In addition to a lot of work on the codebase itself, due to the length of time since the last release this one has a record number of contributors and we thank you all for your efforts and time.

Rather than list every single merged PR since the last release, we have pulled out a number of highlights to include in this changelog entry. For everything else, please review the repository.

Added

  • Added rust-gdbgui to the proxy list pr#2811
  • Support rustup default none as a way to unset the default toolchain pr#2831
  • Build Rustup for Windows arm64 pr#2835
  • Support Illumos/OpenIndiana platform check on website pr#2839
  • Add info message if self-update is disabled during update pr#2845
  • Added RUSTC and RUSTDOC environment variables for proxied child processes pr#2958
  • Added offer to auto-install VS 2022 pr#2954
  • Added --verbose mode for rustup show pr#2992
  • Added support for --force-non-host to more subcommands pr#2968

Changed

  • Updated the opener crate used for rustup-doc pr#2792
  • Changed the recursion limit for tool/proxy invocation to 20 pr#2812
  • Updated to newer effective-limits crate to reduce "sysinfo not supported" errors pr#2817
  • Handle -y more robustly in rustup-init.sh pr#2815
  • Fix infinite recursion in bash completion when rustc not on PATH pr#2833
  • Update macOS aarch64 CI to newer xcode pr#2877
  • Update website to load TTF fonts more effectively pr#2862
  • Retry curl invocations in rustup-init.sh pr#2869
  • Better handle busybox's wget in rustup-init.sh pr#2885
  • Improve target matching to reduce spurious deprecation warnings pr#2854
  • Parse channel manifest only once to improve performance pr#2898
  • Remove trailing slashes from toolchain names pr#2897
  • Migrate OpenPGP support to Sequoia PGP pr#2847
  • We now send a user agent on http requests to improve compatibility with proxies pr#2953
  • We won't prepend ${CARGO_HOME}/bin to PATH unless it's missing pr#2978

Thanks go to:

  • 二手掉包工程师 (hi-rustin)
  • Brian Bowman (Seeker14491)
  • Jon Gjengset (jonho)
  • pierwill
  • Daniel Silverstone (kinnison)
  • Robert Collins (rbtcollins)
  • Alan Somers (asomers)
  • Brennan Vincent (umanwizard)
  • Joshua Nelson (jyn514)
  • Eric Huss (ehuss)
  • Will Bush (willbush)
  • Thad Guidry (thadguidry)
  • Alexander Lovchin (alovchin91)
  • zoodirector
  • Takayuki Nakata (giraffate)
  • Yusuke Abe (chansuke)
  • Wyatt Carss (wcarss)
  • Sondre Aasemoen (sondr3)
  • facklambda
  • Chad Dougherty (crd477)
  • Noritada Kobayashi (noritada)
  • Milan (mdaverde)
  • Pat Sier (pjsier)
  • Matt Keeter (mkeeter)
  • Alex Macleod (alexendoo)
  • Sathwik Matsa (sathwikmatsa)
  • Kushal Das (kushaldas)
  • Justus Winter (teythoon)
  • k900
  • Nicolas Ambram (nico-abram)
  • Connor Slade (basicprogrammer10)
  • Yerkebulan Tulibergenov (yerke)
  • Caleb Cartwright (calebcartwright)
  • Matthias Beyer (matthiasbeyer)
  • spacemaniac
  • Alex Touchet (atouchet)
  • Guillaume Gomez (guillaumegomez)
  • Chris Denton (chrisdenton)
  • Thomas Orozco (krallin)
  • cui fliter (cuishuang)
  • Martin Nordholts (enselic)
  • Emil Gardström (emilgardis)
  • Arlo Siemsen (arlosi)

1.24.3 - 2021-05-31

This patch release focuses around resolving some regressions in behaviour in the 1.24.x series. One problem, related to accounting for the release of data blocks in the unpack slab allocator, fixed in pr#2779, would manifest in the installer hanging during installation. A second, fixed in pr#2781, manifested in very early Rust versions (1.0 through 1.7) repeatedly having their checksums fetched despite already being installed. Finally the heuristic which started warning that toolchains being installed may not work on the given host was improved in pr#2782 to reduce false-positive rate and reduce worry among Windows users in particular.

Added

  • Added the ability to configure the auto-self-update functionality. This will be of most use when people are testing unreleased versions of Rustup and wish to ensure they don't accidentally lose the test version, without having to remember to run with --no-self-update all the time. pr#2763

Changed

  • We no longer delete the top level of $RUSTUP_HOME/tmp and $RUSTUP_HOME/download meaning that if you have these set up as symlinks to another place, or bind mounts, etc. things should work. pr#2433
  • We more gracefully handle outlier situations with unpack-RAM, panicing less often, clamping settings into viable ranges and warning instead. pr#2780

Thanks go to:

  • Ian Jackson
  • Alexander (asv7c2)
  • pierwill
  • 二手掉包工程师 (hi-rustin)
  • Robert Collins
  • Daniel Silverstone

1.24.2 - 2021-05-05

This patch release primarily exists to work around a problem discovered on some Windows (and potentially other) systems where a combination of factors, including suspected allocator behaviour, led to Rustup failing to install certain toolchains. The symptom users observed was a failure to allocate 1677732 bytes: a chunk used for unpacking very large files. We hope this is fixed in a combination of pr#2750 and pr#2756.

In addition to that, we also:

Added

  • SHA256 links on the download page so that you can verify your downloads if you want to be certain. pr#2719
  • Added --verbose to rustup show active-toolchain to also display the version of the compiler for the toolchain. pr#2710
  • We now support 1.x installation channel names for versions 1.0 through 1.8 by hardcoding 1.x.0 since they lack patch releases. pr#2758

Changed

  • Amended the behaviour of the 'missing components' code so that if the problem exists when installing a toolchain (rather than updating it) the message is different and leads you to other remediations. pr#2709
  • Amended the error message for a missing component so that when you're using a nightly toolchain and rust-std is missing for a given target, we lead you to cargo build -Z build-std as a remediation. pr#2732
  • Improved the documentation around settings.toml locations. pr#2698
  • Internal improvements around retrying removal of files. pr#2752

Thanks go to:

  • 二手掉包工程师 (hi-rustin)
  • Robert Collins
  • Daniel Silverstone
  • Joshua Nelson
  • João Marcos Bezerra
  • Carol (Nichols || Goulding)
  • Josh Rotenberg
  • Martijn Gribnau
  • pierwill

1.24.1 - 2021-04-27

This bugfix release corrects an oversight in the code we introduced to check for unknown proxy names. The original change accidentally omitted the rustfmt and cargo-fmt proxies due to a quirk of the fact those proxies were not originally part of a Rust component.

We're sorry for pain this may have caused.

1.24.0 - 2021-04-27

This release is mostly a bugfix and quality of life improvement release. However the headlines for this release are:

  1. Support of rust-toolchain.toml as a filename for specifying toolchains.
  2. Streaming support for large files to better enable Rust on lower memory platforms such as some Raspberry Pi systems.

When we introduced TOML support to rust-toolchain we expected to see some uptake but we saw a lot more than we had expected. Since Cargo is migrating to explicit .toml extensions on things like .cargo/config.toml it was considered sensible to also do this for rust-toolchain - at least the toml variant thereof.

This release of rustup has seen a significant number of new contributors to the project, and we hope to see many of you again in the future.

Added

  • Optional use of RUSTLS as TLS backend for Reqwest pr#2517
  • We now support some corner cases in tarballs to permit unpacking early Rust versions pr#2502
  • When running rustup check we now report possible rustup upgrades too. pr#2615
  • We detect and warn if you try and install on an x32 system since for now Rust isn't hostable on that. pr#2622
  • We do, however, support gnux32 as an environment label ready for future support pr#2631
  • We now support managing PATHs on Windows which contain non-unicode values. pr#2649
  • You can now name the TOML variant of rust-toolchain as rust-toolchain.toml pr#2653
  • We prompt harder when checking for the MSVC tooling on Windows now. pr#2529
  • Experimental support for zstd compressed tarballs in channels. NOTE, this does not mean channels will magically gain zstd compressed component files any time soon. pr#2676
  • Register rustup with the Windows installed programs list when installing. This is another experiment into whether this is useful for Windows users. pr#2670
  • Added the ability to specify a path rather than a toolchain channel in the rust-toolchain.toml file. pr#2678

Changed

  • rustup-init now detects tls1.2 for cURL 7.73+ pr#2604
  • Installation now indicates the defaults on all questions pr#2605
  • We now support the Big Sur major OS version pr#2607
  • You can now specify profile in rust-toolchain's TOML form pr#2586
  • We now use . instead of source to better support non-bash POSIX shells pr#2616
  • We fixed a nasty corner case on wildcarded component installation/recognition pr#2602
  • Our website now has a favicon pr#2419
  • We no longer rely on a broken mktemp invocation, this should make rustup-init.sh more compatible pr#2650
  • We now do a better job of reporting non-installable toolchains pr#2562
  • We cope better when modifying RC files which lack a trailing newline pr#2667
  • We are edging closer to requiring a specific force argument to install a toolchain whose host doesn't match the running system. This may break your CI in future so you should check carefully. The main use-case for this capability is the rust-embedded/cross project which we are working with to ensure this doesn't cause problems in the future. [pr#2672][]
  • Support streaming large files during unpack phase. pr#2707
  • We report when you call rustup with an unsupported arg0 -- for example if you make a symlink or hard link to the binary with a name other than one of the proxies. pr#2716

We also cleaned up a number of error message cases, including some on invalid toolchain name pr#2613, a better message when no toolchain is installed pr#2657, and some on component unavailability pr#2619.

Documented

  • Added notes about Powershell to proxies documentation pr#2592
  • Various updates to the rustup manual build process including pr#2628
  • Small fixes on how to build rustup documentation pr#2641
  • We clarified the message around restarting the shell when installing pr#2684

Thanks go to:

  • SHA Miao
  • est31
  • Andrew Norton
  • Gareth Hubball
  • 二手掉包工程师 (hi-rustin)
  • Tudor Brindus
  • Eduard Miller
  • Daniel Alley
  • наб (nabijaczleweli)
  • Eric Huss
  • chansuke
  • skim (sl4m)
  • Joshua Nelson
  • kellda
  • Alex Chan
  • Philipp Oppermann
  • Michael Cooper
  • Aloïs Micard
  • Gurkenglas
  • Vasili (3point2)
  • Jakub Stasiak
  • Robert Collins
  • Jubilee (workingjubilee)
  • Avery Harnish

1.23.1 - 2020-12-01

This point release is mostly to correct a problem where if you installed rustup with --no-modify-path then the .cargo/env file would not be created in some cases. In addition, we have rebuilt the macos binaries to correct an oversight which caused older Macs to be unable to run the new version. If you encountered a problem with liblzma on mac os 10.13 then this version should solve that for you.

Finally, the illumos binary is now part of the release properly.

Thanks go to:

  • Élie Roudninski
  • Jeroen Ooms
  • Jake Goulding
  • Joshua M. Clulow
  • Neil Mitchell
  • Richard Gomes

1.23.0 - 2020-11-27

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. Highlights 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
  • 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.22.1 - 2020-07-08

A regression in proxied behaviour slipped in due to a non-compatible change in url slipping in in 2.1 which caused a misbehaviour in env_proxy. which was fixed but not released to crates.io until after 1.22.0 was built.

Fortunately, inejge noticed and provided a fix for us by publishing a new env_proxy and providing us with this fix.

We apologise for any inconvenience this caused.

Changed

  • Update to env_proxy 0.4.1 - #2399
  • Fixed website copy button and copy space overflow - #2398

Thanks

  • Ivan Nejgebauer
  • Ben Chen

1.22.0 - 2020-06-30

Alongside a significant amount of internal refactoring and code updates, the highlights of this release include:

  • We have switched to Github Actions to make our CI and release process more consistent.
  • We've invested time in the flow when you reinstall rustup atop an existing installation.
  • We've doubled down on discouraging the use of the internal-development-focussed complete profile. Please use default or minimal unless you're trying to test/develop the Rust tooling itself.
  • We've made a number of subtle quality-of-life improvements around the CLI.
  • Added a (provisionally unofficial) snap of rustup
  • We've worked hard to improve a lot of the messages (error and informational) in the tool.
  • We've increased internal timeouts and retries in an attempt to improve the situation for McAfee users.
  • While it's not a change, we've documented that rust-toolchain must be UTF8 encoded.

While the changes spanned around 90 individual pull requests, here are the main changes and additions…

Changed

  • Fixed various links to our repo and to the forge - #2173
  • Improved OS detection (particularly darwin) in rustup-init.sh - #2042
  • Fixed bug where i686 installer on x86_64 windows would intend to install 64-bit but would actually install 32-bit toolchains by default. - #2186
  • Increased width of copy box on rustup website - #2208
  • When updating a toolchain, indicate the version you updated from as well. - #2152
  • When installing atop an existing rustup installation, we will now update the installed default toolchain, particularly we'll also try and install any additional targets or components specified - #2201 and #2339
  • Fixed issue where rustup doc wouldn't work with custom toolchains - #2235
  • In low-memory situations, attempt to unpack more conservatively - #2236
  • Improved consistency in where rustup will auto-install a toolchain on use. - #2252
  • Try to force strong cipher suites in rustup-init.sh - #2287
  • When skipping a nightly indicate all the missing components - #2316
  • Increase timeout for rename retries - #2348
  • Increased 'sanity limit' to account for MIPS binary size increases - #2363
  • Fallback to non-threaded installation pathway on 1-CPU systems to improve chance that installation will succeed on Raspberry Pi - #2372

Added

  • It is now possible to install rustup even when there's an existing rustup.sh installation, and we can install alongside rustc or cargo without necessarily forcing via -y by means of the RUSTUP_INIT_SKIP_EXISTENCE_CHECKS environment variable. - #2214
  • Added the concept of a fallback settings file which will allow snaps, distro packages, etc. to provide a default toolchain for users who have not passed through the rustup-init managed one-time question set. - #2244
  • You can now specify multiple components in a single argument in the form --component rls,rust-analysis,rust-src when installing toolchains - #2239
  • It is now possible to snap install --classic rustup in theory (channel details may take some time to settle) - #1898
  • Added indication of why overrides are happening when running rustup show - #2312
  • Added riscv64gc-unknown-linux-gnu support (note: There is still work to be done on the compiler etc before this will necessarily work) - #2313

Thanks

  • Alejandro Martinez Ruiz
  • Alexander D'hoore
  • Ben Chen
  • Chris Denton
  • Daniel Silverstone
  • Evan Weiler
  • Guillaume Gomez
  • Harry Sarson
  • Jacob Lifshay
  • James Yang
  • Joel Parker Henderson
  • John Titor
  • Jonas Platte
  • Josh Stone
  • Jubilee
  • Kellda
  • LeSeulArtichaut
  • Linus Färnstrand
  • LitoMore
  • LIU An (劉安)
  • Luciano Bestia
  • Lzu Tao
  • Manish Goregaokar
  • Mingye Wang
  • Montgomery Edwards
  • Per Lundberg
  • Pietro Albini
  • Robert Collins
  • Rudolf B.
  • Solomon Ucko
  • Stein Somers
  • Tetsuharu Ohzeki
  • Tom Eccles
  • Trevor Arjeski
  • Tshepang Lekhonkhobe

1.21.1 - 2019-12-19

A panic occurred if a rustup update was run with nothing to update and the download directory was missing. This was harmless but could have confused some automation jobs.

1.21.0 - 2019-12-19

In release 1.20.x profiles could incorrectly ascribe host-independent components to the host architecture, resulting in surprising behaviour with rust-src. We have corrected this and added mitigations which should mean that as of this release, such incorrect ascriptions are supported and also automatically corrected on toolchain update.

Due to the large number of confusions around the complete profile, we have introduced a warning if you use it. It's really only meant for developers of Rust, or those exploring particular issues in nightly.

There are also a large number of other changes, the highlights of which are below. Thanks to everyone who helped work on this release. Even if your changes are not listed below, they are still greatly appreciated.

Changed

Added

Thanks

  • Roman Frołow
  • Jean Simard
  • Lzu Tao
  • Benjamin Chen
  • Daniel Silverstone
  • Jon Hoo
  • Carlo Abelli
  • Filip Demski
  • Chris Tomlinson
  • Kane Green
  • Ralf Jung
  • Yves Dorfsman
  • Rudolf B
  • Pietro Albini
  • Takayuki Nakata
  • Justus K
  • Gilbert Röhrbein
  • Friedel Ziegelmayer
  • Robbie Clarken
  • Tetsuharu OHZEKI

1.20.2 - 2019-10-16

One final tweak was needed to the force-installation of toolchains because otherwise components would be marked as installed when they were not.

Our apologies to anyone adversely affected by the 1.20.0/1 releases.

1.20.1 - 2019-10-16

This release was made to solve two problems spotted in 1.20.0

  • Force installation of toolchain during rustup-init to improve handling on non-tier-one platforms
  • Assume the default profile if a profile is missing from configuration which will solve a problem where distro-provided rustup binaries did not upgrade the configuration properly

1.20.0 - 2019-10-15

Changed

Added

Thanks

  • Nick Cameron
  • Andy McCaffrey
  • Pietro Albini
  • Benjamin Chen
  • Artem Borisovskiy
  • Jon Gjengset
  • Lzu Tao
  • Daniel Silverstone
  • PicoJr
  • Mitchell Hynes
  • Matt Kantor

1.19.0 - 2019-09-09

Changed

Added

Thanks

  • Lzu Tao
  • Gonzalo Brito Gadeschi
  • Paul Oppenheimer
  • Robert Collins
  • KennyTM
  • Daniel Silverstone
  • Nicholas Parker
  • Caleb Cartwright
  • Josh Holland
  • Charlie Saunders
  • Wesley Van Melle
  • Jason Cooke
  • CrLF0710
  • Brian Anderson
  • Bryan Dady
  • Fisher Darling
  • Bjorn3
  • Iku Iwasa

1.18.3 - 2019-05-22

Changed

Added

Thanks

  • Robert Collins (who has tirelessly worked to improve the performance of Rustup, particularly on Windows)
  • Lucien Greathouse
  • Filip Demski
  • Peter Hrvola
  • Bogdan Kulbida
  • Srinivas Reddy Thatiparthy
  • Sunjay Varma
  • Lzu Tao (behind the scenes, lots of housekeeping and CI)

1.18.2 - 2019-05-02

Changed

Added

Thanks

This release was made, in part, thanks to:

  • Brian Ericson
  • Onat Mercan
  • Lzu Tao
  • Takuto Ikuta
  • Jason Williams
  • Filip Demski
  • Michael Maclean
  • Daniel Silverstone

1.18.1 - 2019-04-25

Changed

1.18.0 - 2019-04-22

Added

Changed

Fixed

Removed

1.17.0 - 2019-03-05

1.16.0 - 2018-12-06

1.15.0 - 2018-11-27

1.14.0 - 2018-10-04

1.13.0 - 2018-07-16

Contributors: Jane Lusby

1.12.0 - 2018-07-07

Contributors: Andrew Pennebaker, Who? Me?!, Matteo Bertini, mog422, Kasper Møller Andersen, Thibault Delor, Justin Worthe, TitanSnow, aimileus, Antonio Murdaca, Cyryl Płotnicki, Nick Cameron, Alex Crichton, Kornel, Stuart Dootson, Pietro Albini, Diggory Blake, Yuji Nakao, Johannes Hofmann, CrLF0710, Aaron Lee, Brian Anderson, Mateusz Mikuła, Segev Finer, Dan Aloni, Joeri van Ruth

1.11.0 - 2018-02-13

Contributors: Steffen Butzer

1.10.0 - 2018-01-25

Contributors: Nick Cameron, Steffen Butzer

1.9.0 - 2018-01-04

Contributors: Alex Crichton

1.8.0 - 2017-12-19

Contributors: Alex Crichton, kennytm, Nick Cameron, Simon Sapin, Who? Me?!

1.7.0 - 2017-10-30

Contributors: Aidan Hobson Sayers, Alan Du, Alex Crichton, Christoph Wurst, Jason Mobarak, Leon Isenberg, Simon Sapin, Vadim Petrochenkov

1.6.0 - 2017-08-30

Contributors: Alex Crichton, Chen Rotem Levy, Krishna Sundarram, Martin Geisler, Matt Brubeck, Matt Ickstadt, Michael Benfield, Michael Fletcher, Nick Cameron, Patrick Reisert, Ralf Jung, Sean McArthur, Steven Fackler

1.5.0 - 2017-06-24

Contributors: Allen Welkie, bors, Brian Anderson, Diggory Blake, Erick Tryzelaar, Ricardo Martins, Артём Павлов [Artyom Pavlov]

1.4.0 - 2017-06-09

Contributors: Andrea Canciani, bors, Brian Anderson, CrazyMerlyn, Diggory Blake, Fabio B, James Elford, Jim McGrath, johnthagen, Josh Lee, Kim Christensen, Marco A L Barbosa, Mateusz Mikula, Matthew, Matt Ickstadt, Mikhail Modin, Patrick Deuster, pxdeu, Ralf Jung, Raphaël Huchet, Robert Vally, theindigamer, Tommy Ip, Xidorn Quan

1.3.0 - 2017-05-09

Contributors: bors, Brian Anderson, Diggory Blake, Greg Alexander, James Elford, Jordan Hiltunen, Justin Noah, Kang Seonghoon, Kevin K, Marco A L Barbosa

1.2.0 - 2017-04-08

Contributors: Brian Anderson, James Elford, Jason Dreyzehner, Marco A L Barbosa, Wim Looman

1.1.0 - 2017-04-06

Contributors: Aarthi Janakiraman, Alex Burka, Alex Crichton, bors, Brian Anderson, Christian Muirhead, Christopher Armstrong, Daniel Lockyer, Diggory Blake, Evgenii Pashkin, Grissiom, James Elford, Luca Bruno, Lyuha, Manish Goregaokar, Marc-Antoine Perennou, Marco A L Barbosa, Mikhail Pak, Nick Cameron, polonez, Sam Marshall, Steve Klabnik, Tomáš Hübelbauer, topecongiro, Wang Xuerui

1.0.0 - 2016-12-15

Contributors: Alex Crichton, Andrew Koroluk, Arch, benaryorg, Benedikt Reinartz, Björn Steinbrink, bors, Boutin, Michael, Brian Anderson, Cam Swords, Chungmin Park, Corey Farwell, Daniel Keep, David Salter, Diggory Blake, Drew Fisher, Erick Tryzelaar, Florian Gilcher, geemili, Guillaume Fraux, Ivan Nejgebauer, Ivan Petkov, Jacob Shaffer, Jake Goldsborough, James Lucas, Jeremiah Peschka, jethrogb, Jian Zeng, Jimmy Cuadra, Joe Wilm, Jorge Aparicio, Josh Machol, Josh Stone, Julien Blanchard, Kai Noda, Kai Roßwag, Kamal Marhubi, Kevin K, Kevin Rauwolf, Kevin Yap, Knight, leonardo.yvens, llogiq, Marco A L Barbosa, Martin Pool, Matt Brubeck, mdinger, Michael DeWitt, Mika Attila, Nate Mara, NODA, Kai, Oliver Schneider, Patrick Reisert, Paul Padier, Ralph Giles, Raphael Cohn, Ri, Ricardo Martins, Ryan Havar, Ryan Kung, Severen Redwood, Tad Hardesty, Taylor Cramer, theindigamer, Tim Neumann, Tobias Bucher, trolleyman, Vadim Petrochenkov, Virgile Andreani, V Jackson, Vladimir, Wang Xuerui, Wayne Warren, Wesley Moore, Yasushi Abe, Y. T. Chung

0.7.0 - 2016-12-11

Contributors: Alex Crichton, Arch, bors, Brian Anderson, Diggory Blake, Kai Roßwag, Kevin K, Oliver Schneider, Ryan Havar, Tobias Bucher, Wang Xuerui

0.6.5 - 2016-11-04

Contributors: Alex Crichton, Björn Steinbrink, Brian Anderson, Jian Zeng, Matt Brubeck

0.6.4 - 2016-10-24

Contributors: Alex Crichton, Andrew Koroluk, Brian Anderson, Chungmin Park, Diggory Blake, Guillaume Fraux, Jake Goldsborough, jethrogb, Kamal Marhubi, Kevin K, Kevin Rauwolf, Raphael Cohn, Ricardo Martins

0.6.3 - 2016-08-28

Contributors: Brian Anderson

0.6.2 - 2016-08-27

Contributors: Brian Anderson, Diggory Blake, Knight, Marco A L Barbosa

0.6.1 - 2016-08-24

Contributors: Brian Anderson, Diggory Blake

0.6.0 - 2016-08-23

Contributors: Alex Crichton, Brian Anderson, Diggory Blake, Ivan Nejgebauer Josh Machol, Julien Blanchard, Patrick Reisert, Ri, Tim Neumann

0.5.0 - 2016-07-30

Contributors: Brian Anderson, Cam Swords, Daniel Keep, Diggory Blake, Florian Gilcher, Ivan Nejgebauer, theindigamer

0.4.0 - 2016-07-22

Contributors: Alex Crichton, Brian Anderson, Ivan Nejgebauer, Jimmy Cuadra, Martin Pool, Wesley Moore

0.3.0 - 2016-07-14

Contributors: Alex Crichton, Brian Anderson, Drew Fisher, geemili, Ivan Petkov, James Lucas, jethrogb, Kevin Yap, leonardo.yvens, Michael DeWitt, Nate Mara, Virgile Andreani

0.2.0 - 2016-06-21

Contributors: Alex Crichton, benaryorg, Benedikt Reinartz, Boutin, Michael, Brian Anderson, Diggory Blake, Erick Tryzelaar, Ivan Nejgebauer, Jeremiah Peschka, Josh Stone, Knight, mdinger, Ryan Kung, Tad Hardesty

0.1.12 - 2016-05-12

0.1.11 - 2016-05-12

0.1.10 - 2016-05-09

0.1.9 - 2016-05-07

0.1.8 - 2016-04-28

0.1.7 - 2016-04-17