Changelog History
Page 1
-
v1.25.1 Changes
July 12, 2022โช 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
andRUSTDOC
cause problems with some tooling which runs under onecargo
invocation, but expects to invoke eithercargo
orrustc
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.1]: https://github.com/rust-lang/rustup/releases/tag/1.25.1
-
v1.25.0 Changes
July 11, 2022This 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
andRUSTDOC
environment variables for proxied child processes pr#2958 - โ Added offer to auto-install VS 2022 pr#2954
- โ Added
--verbose
mode forrustup show
pr#2992 - โ Added support for
--force-non-host
to more subcommands pr#2968
๐ Changed
- โก๏ธ Updated the
opener
crate used forrustup-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 inrustup-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
toPATH
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.25.0]: https://github.com/rust-lang/rustup/releases/tag/1.25.0
- โ Added
-
v1.24.3 Changes
May 31, 2021๐ This patch release focusses 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.3]: https://github.com/rust-lang/rustup/releases/tag/1.24.3
- โ 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
-
v1.24.2 Changes
May 05, 2021๐ 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
torustup 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 hardcoding1.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 tocargo 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.2]: https://github.com/rust-lang/rustup/releases/tag/1.24.2
-
v1.24.1 Changes
April 27, 2021๐ This bugfix release corrects an oversight in the code we introduced to check for unknown proxy names. The original change accidentally omitted the
rustfmt
andcargo-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.1]: https://github.com/rust-lang/rustup/releases/tag/1.24.1
-
v1.24.0 Changes
April 27, 2021๐ 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 forrust-toolchain
- at least thetoml
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 possiblerustup
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
PATH
s on Windows which contain non-unicode values. pr#2649 - You can now name the TOML variant of
rust-toolchain
asrust-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 gainzstd
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 therust-toolchain.toml
file. pr#2678
๐ Changed
rustup-init
now detects tls1.2 for cURL 7.73+ pr#2604- 0๏ธโฃ 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
inrust-toolchain
's TOML form pr#2586 - ๐ We now use
.
instead ofsource
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 makerustup-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 unsupportedarg0
-- 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.24.0]: https://github.com/rust-lang/rustup/releases/tag/1.24.0
-
v1.23.1 Changes
December 01, 2020๐ 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 withliblzma
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.1]: https://github.com/rust-lang/rustup/releases/tag/1.23.1
-
v1.23.0 Changes
November 27, 2020๐ The main points for this release are that
rustup
now supports a number of new host platforms, most importantly of which isaarch64-apple-darwin
for the new ๐ Apple M1 based devices, and that we support a new structured format for therust-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 ofrustup
you would end up with a toolchain called1.48
which contained1.48.0
. If ๐ subsequently1.48.1
were released, arustup update
would update your1.48
from1.48.0
to1.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
-
v1.22.1 Changes
July 08, 2020A regression in proxied behaviour slipped in due to a non-compatible change in
url
slipping in in 2.1 which caused a misbehaviour inenv_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.1]: https://github.com/rust-lang/rustup/releases/tag/1.22.1
- โก๏ธ Update to
-
v1.22.0 Changes
June 30, 2020๐จ 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 usedefault
orminimal
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 existingrustup.sh
installation, and we can install alongsiderustc
orcargo
without necessarily forcing via-y
by means of theRUSTUP_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.22.0]: https://github.com/rust-lang/rustup/releases/tag/1.22.0