<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <generator uri="https://blog.rust-lang.org/tags/rustup/" version="0.1.0">Posts tagged &quot;rustup&quot; | Rust Blog</generator>
    <link href="https://blog.rust-lang.org/tags/rustup/feed.xml" rel="self" type="application/atom+xml" />
    <link href="https://blog.rust-lang.org/tags/rustup/" rel="alternate" type="text/html" />
    <id>https://blog.rust-lang.org/tags/rustup/</id>
    <title>Posts tagged &quot;rustup&quot; | Rust Blog</title>
    <subtitle>Empowering everyone to build reliable and efficient software.</subtitle>
    <author>
        <name>Maintained by the Rust Teams.</name>
        <uri>https://github.com/rust-lang/blog.rust-lang.org/</uri>
    </author>
    <updated>2026-10-21T12:23:56+00:00</updated>

    
    <entry>
        <title>Announcing rustup 1.29.2</title>
        <link rel="alternate" href="https://blog.rust-lang.org/2026/10/20/Rustup-1.29.2/" type="text/html" title="Announcing rustup 1.29.2" />
        <published>2026-10-20T00:00:00+00:00</published>
        <updated>2026-10-20T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/2026/10/20/Rustup-1.29.2/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/2026/10/20/Rustup-1.29.2/">&lt;p&gt;The rustup team is happy to announce the release of rustup version 1.29.2.&lt;/p&gt;
&lt;p&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustup.rs&quot;&gt;Rustup&lt;/a&gt; is the recommended tool to install &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.rust-lang.org&quot;&gt;Rust&lt;/a&gt;, a
programming language that empowers everyone to build reliable and efficient
software.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;what-s-new-in-rustup-1-29-2&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#what-s-new-in-rustup-1-29-2&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
What&#x27;s new in rustup 1.29.2&lt;/h2&gt;
&lt;p&gt;This is a small release which only updates the rustls-webpki and
webpki-root-certs dependencies to address the problematic eMudhra
intermediate certificates issue described in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.cve.org/CVERecord?id&#x3D;CVE-2026-111943&quot;&gt;CVE-2026-111943&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See also &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustsec.org/advisories/RUSTSEC-2026-0382.html&quot;&gt;RUSTSEC-2026-0382&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Further details are available in the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/blob/stable/CHANGELOG.md&quot;&gt;changelog&lt;/a&gt;!&lt;/p&gt;
&lt;h2 id&#x3D;&quot;how-to-update&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#how-to-update&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
How to update&lt;/h2&gt;
&lt;p&gt;If you have a previous version of rustup installed, getting the new one is as easy as stopping
any programs which may be using rustup (e.g. closing your IDE) and running:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup self update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Rustup will also automatically update itself at the end of a normal toolchain update:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you don&#x27;t have it already, you can &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustup.rs&quot;&gt;get rustup&lt;/a&gt; from the appropriate page on our website.&lt;/p&gt;
&lt;p&gt;Rustup&#x27;s documentation is also available in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rustup/&quot;&gt;the rustup book&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;caveats&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#caveats&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Caveats&lt;/h2&gt;
&lt;p&gt;Rustup releases can come with problems not caused by rustup itself but just due to having a new release.&lt;/p&gt;
&lt;p&gt;In particular, anti-malware scanners might block rustup or stop it from creating or copying
files, especially when installing &lt;code&gt;rust-docs&lt;/code&gt; which contains many small files.&lt;/p&gt;
&lt;p&gt;Issues like this should be automatically resolved in a few weeks when the anti-malware scanners are updated
to be aware of the new rustup release.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;thanks&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#thanks&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Thanks&lt;/h2&gt;
&lt;p&gt;Thanks again to all the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/blob/stable/CHANGELOG.md#detailed-changes&quot;&gt;contributors&lt;/a&gt; who made this rustup release possible!&lt;/p&gt;
</content>

        <author>
            <name>The Rustup Team</name>
        </author>
    </entry>
    <entry>
        <title>Announcing rustup 1.29.1</title>
        <link rel="alternate" href="https://blog.rust-lang.org/2026/09/01/Rustup-1.29.1/" type="text/html" title="Announcing rustup 1.29.1" />
        <published>2026-09-01T00:00:00+00:00</published>
        <updated>2026-09-01T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/2026/09/01/Rustup-1.29.1/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/2026/09/01/Rustup-1.29.1/">&lt;p&gt;The rustup team is happy to announce the release of rustup version 1.29.1.&lt;/p&gt;
&lt;p&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustup.rs&quot;&gt;Rustup&lt;/a&gt; is the recommended tool to install &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.rust-lang.org&quot;&gt;Rust&lt;/a&gt;, a
programming language that empowers everyone to build reliable and efficient
software.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;what-s-new-in-rustup-1-29-1&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#what-s-new-in-rustup-1-29-1&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
What&#x27;s new in rustup 1.29.1&lt;/h2&gt;
&lt;p&gt;The headlines of this release are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Concurrency in certain &lt;code&gt;rustup&lt;/code&gt; operations has been improved:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When running &lt;code&gt;rustup update&lt;/code&gt;, rustup will first check for possible updates in parallel. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4752&quot;&gt;pr#4752&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;When running &lt;code&gt;rustup component add&lt;/code&gt; with multiple components, they will be installed concurrently. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4790&quot;&gt;pr#4790&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Implicit installation of the active toolchain in &lt;code&gt;rustup-init&lt;/code&gt; and &lt;code&gt;rustup&lt;/code&gt; invocations has
been deprecated where deemed unnecessary and will now produce a warning. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4840&quot;&gt;pr#4840&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Please see our
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2026/07/03/rustup-update-1.30/#refining-the-implicit-installation-behavior&quot;&gt;blog post&lt;/a&gt;
for more details regarding this change.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;rustup doc&lt;/code&gt; now supports the &lt;code&gt;--serve&lt;/code&gt; flag which allows serving the docs over local HTTP.
This should help users with containerized browser and/or rustup setups. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4986&quot;&gt;pr#4986&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Installing &lt;code&gt;i686-pc-windows-*&lt;/code&gt; host toolchains on 64-bit Windows now requires &lt;code&gt;--force-non-host&lt;/code&gt;.
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4935&quot;&gt;pr#4935&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;rustup-init&lt;/code&gt; will no longer leave unexpected files on disk after cancelled installations. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4996&quot;&gt;pr#4996&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A bug has been fixed which might cause Windows installation to fail when using &lt;code&gt;rustup-init.sh&lt;/code&gt;.
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4756&quot;&gt;pr#4756&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&quot;Target &lt;strong&gt;triple&lt;/strong&gt;&quot; has been renamed to &quot;target &lt;strong&gt;tuple&lt;/strong&gt;&quot; across the project to reflect the
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust/pull/125579/changes/a26450cf81d67d68d3c6157579f8d968349129e7&quot;&gt;new terminology&lt;/a&gt;.
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4743&quot;&gt;pr#4743&lt;/a&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4827&quot;&gt;pr#4827&lt;/a&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4834&quot;&gt;pr#4834&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Please note that this is not a breaking change in the CLI since the existing
options such as &lt;code&gt;--target&lt;/code&gt; are not using this terminology.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition, rustup now officially supports &lt;code&gt;aarch64-pc-windows-gnullvm&lt;/code&gt; as a host platform. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4523&quot;&gt;pr#4523&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Further details are available in the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/blob/stable/CHANGELOG.md&quot;&gt;changelog&lt;/a&gt;!&lt;/p&gt;
&lt;h2 id&#x3D;&quot;how-to-update&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#how-to-update&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
How to update&lt;/h2&gt;
&lt;p&gt;If you have a previous version of rustup installed, getting the new one is as easy as stopping
any programs which may be using rustup (e.g. closing your IDE) and running:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup self update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Rustup will also automatically update itself at the end of a normal toolchain update:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you don&#x27;t have it already, you can &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustup.rs&quot;&gt;get rustup&lt;/a&gt; from the appropriate page on our website.&lt;/p&gt;
&lt;p&gt;Rustup&#x27;s documentation is also available in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rustup/&quot;&gt;the rustup book&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;caveats&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#caveats&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Caveats&lt;/h2&gt;
&lt;p&gt;Rustup releases can come with problems not caused by rustup itself but just due to having a new release.&lt;/p&gt;
&lt;p&gt;In particular, anti-malware scanners might block rustup or stop it from creating or copying
files, especially when installing &lt;code&gt;rust-docs&lt;/code&gt; which contains many small files.&lt;/p&gt;
&lt;p&gt;Issues like this should be automatically resolved in a few weeks when the anti-malware scanners are updated
to be aware of the new rustup release.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;thanks&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#thanks&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Thanks&lt;/h2&gt;
&lt;p&gt;Thanks again to all the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/blob/stable/CHANGELOG.md#detailed-changes&quot;&gt;contributors&lt;/a&gt; who made this rustup release possible!&lt;/p&gt;
</content>

        <author>
            <name>The Rustup Team</name>
        </author>
    </entry>
    <entry>
        <title>Rustup 1.29.1 beta: call for testing!</title>
        <link rel="alternate" href="https://blog.rust-lang.org/inside-rust/2026/07/14/rustup-1.29.1-beta-cft/" type="text/html" title="Rustup 1.29.1 beta: call for testing!" />
        <published>2026-07-14T00:00:00+00:00</published>
        <updated>2026-07-14T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/inside-rust/2026/07/14/rustup-1.29.1-beta-cft/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/inside-rust/2026/07/14/rustup-1.29.1-beta-cft/">&lt;p&gt;We are excited to announce that rustup 1.29.1 beta is now available for testing
and we are currently looking for testers.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;what-s-new&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#what-s-new&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
What&#x27;s new&lt;/h2&gt;
&lt;p&gt;The headlines of this release are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Concurrency in certain &lt;code&gt;rustup&lt;/code&gt; operations has been improved:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When running &lt;code&gt;rustup update&lt;/code&gt;, rustup will first check for possible updates in parallel. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4752&quot;&gt;pr#4752&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;When running &lt;code&gt;rustup component add&lt;/code&gt; with multiple components, they will be installed concurrently. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4790&quot;&gt;pr#4790&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Implicit installation of the active toolchain in &lt;code&gt;rustup-init&lt;/code&gt; and &lt;code&gt;rustup&lt;/code&gt; invocations has
been deprecated where deemed unnecessary and will now produce a warning. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4840&quot;&gt;pr#4840&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Please see our
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2026/07/03/rustup-update-1.30/#refining-the-implicit-installation-behavior&quot;&gt;blog post&lt;/a&gt;
for more details regarding this change.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Installing &lt;code&gt;i686-pc-windows-*&lt;/code&gt; host toolchains on 64-bit Windows now requires &lt;code&gt;--force-non-host&lt;/code&gt;.
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4935&quot;&gt;pr#4935&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A bug has been fixed which might cause Windows installation to fail when using &lt;code&gt;rustup-init.sh&lt;/code&gt;.
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4756&quot;&gt;pr#4756&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&quot;Target &lt;strong&gt;triple&lt;/strong&gt;&quot; has been renamed to &quot;target &lt;strong&gt;tuple&lt;/strong&gt;&quot; across the project to reflect the
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rust/pull/125579/changes/a26450cf81d67d68d3c6157579f8d968349129e7&quot;&gt;new terminology&lt;/a&gt;.
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4743&quot;&gt;pr#4743&lt;/a&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4827&quot;&gt;pr#4827&lt;/a&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4834&quot;&gt;pr#4834&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Please note that this is not a breaking change in the CLI since the existing
options such as &lt;code&gt;--target&lt;/code&gt; are not using this terminology.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition, rustup now officially supports &lt;code&gt;aarch64-pc-windows-gnullvm&lt;/code&gt; as a host platform. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4523&quot;&gt;pr#4523&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Further details are available in the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/blob/stable/CHANGELOG.md&quot;&gt;changelog&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;As usual, we would be happy to &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues&quot;&gt;receive&lt;/a&gt; regression/breakage reports of
any kind.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;how-to-test&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#how-to-test&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
How to test&lt;/h2&gt;
&lt;p&gt;To begin testing this new version, all you need to do is simply switching to
the dev environment by setting the following environment variable when updating
or installing rustup:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;shellscript&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-9&quot;&gt;RUSTUP_UPDATE_ROOT&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-14&quot;&gt;&#x3D;&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;h&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;t&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;t&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;p&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;s&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;:&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;/&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;/&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;d&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;e&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;v&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;-&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;s&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;t&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;a&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;t&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;i&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;c&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;.&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;r&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;u&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;s&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;t&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;-&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;l&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;a&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;n&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;g&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;.&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;o&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;r&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;g&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;/&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;r&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;u&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;s&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;t&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;u&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;p&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To switch out of the dev environment, just remove that environment variable and
do a &lt;code&gt;rustup self update&lt;/code&gt;.&lt;/p&gt;
</content>

        <author>
            <name>rami3l</name>
        </author>
    </entry>
    <entry>
        <title>Rustup update: our plans for the 1.30 release cycle</title>
        <link rel="alternate" href="https://blog.rust-lang.org/inside-rust/2026/07/03/rustup-update-1.30/" type="text/html" title="Rustup update: our plans for the 1.30 release cycle" />
        <published>2026-07-03T00:00:00+00:00</published>
        <updated>2026-07-03T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/inside-rust/2026/07/03/rustup-update-1.30/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/inside-rust/2026/07/03/rustup-update-1.30/">&lt;p&gt;This blog post is &lt;code&gt;t-rustup&lt;/code&gt;&#x27;s first attempt of providing a more transparent
view of the team&#x27;s current work.&lt;/p&gt;
&lt;p&gt;Here, we summarize the focus areas of &lt;code&gt;t-rustup&lt;/code&gt; in the ongoing release cycle
leading to the future 1.30.0 release, hoping to inform you of our future plans,
and ask for your feedback to help us make rustup better.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;ongoing-changes&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#ongoing-changes&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Ongoing Changes&lt;/h2&gt;
&lt;h3 id&#x3D;&quot;refining-the-implicit-installation-behavior&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#refining-the-implicit-installation-behavior&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/4836&quot;&gt;Refining the implicit installation behavior&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;In rustup 1.27 or earlier, rustup would implicitly install the active toolchain
once found missing whenever rustup is invoked, including proxy invocations such
as &lt;code&gt;rustc&lt;/code&gt; and &lt;code&gt;cargo&lt;/code&gt;. There wasn&#x27;t a way to disable this behavior, and it had
become a source of confusion from time to time.&lt;/p&gt;
&lt;p&gt;Back when rustup 1.28.0 was released, implicit installation has been entirely
removed, which was a significant change in behavior that wasn&#x27;t well
communicated to users, and we would like to sincerely apologize for the
frustration this has caused.&lt;/p&gt;
&lt;p&gt;In response to this breakage, implicit installation has been
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2025/03/04/Rustup-1.28.1&quot;&gt;re-enabled&lt;/a&gt;, and you can
control it with the &lt;code&gt;RUSTUP_AUTO_INSTALL&lt;/code&gt; environment variable or the &lt;code&gt;rustup set auto-install&lt;/code&gt; command.&lt;/p&gt;
&lt;p&gt;However, it does seem that this behavior would be clearly unnecessary in
certain places, such as in the following example with rustup 1.27.1, where
rustup must install the active toolchain before removing a target while it
should have bailed out:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;shellsession&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; rustup --version&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;rustup 1.27.1 (54dd3d00f 2024-04-24)&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;info: This is the version for the rustup toolchain manager, not the rustc compiler.&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;info: The currently active &#x60;rustc&#x60; version is &#x60;rustc 1.81.0 (eeb90cda1 2024-09-04)&#x60;&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; rustup +beta target remove aarch64-apple-darwin&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;info: syncing channel updates for &amp;#39;beta-aarch64-unknown-linux-musl&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;1007.6 KiB / 1007.6 KiB (100 %) 567.4 KiB/s in  1s ETA:  0s&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;info: latest update on 2025-09-28, rust version 1.91.0-beta.4 (aa7859c0d 2025-09-27)&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;info: downloading component &amp;#39;cargo&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;^C&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To make sure that rustup is not doing unnecessary work, we would like to
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4840&quot;&gt;disable&lt;/a&gt; implicit installation
of the active toolchain in the &lt;code&gt;rustup-init&lt;/code&gt; and &lt;code&gt;rustup&lt;/code&gt; invocations when
unnecessary starting from 1.30. You can refer to the
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/4836&quot;&gt;issue&lt;/a&gt; for a complete list of
impacted subcommands.&lt;/p&gt;
&lt;p&gt;With the new behavior, the above example would simply fail, which should feel
more natural:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;shellsession&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt; rustup +beta target remove aarch64-apple-darwin&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;error: toolchain &amp;#39;beta-aarch64-unknown-linux-musl&amp;#39; is not installed&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To avoid further confusions, we would like to stress a few points regarding
this change and its potential impact:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Since we&#x27;re PRESERVING implicit installation on proxy invocations like
&lt;code&gt;rustc&lt;/code&gt; and &lt;code&gt;cargo&lt;/code&gt;, this should not cause widespread breakage as seen when
1.28.0 was released.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Most cases where &lt;code&gt;rustup-init&lt;/code&gt; or &lt;code&gt;rustup&lt;/code&gt; are invoked don&#x27;t require the
active toolchain to be implicitly installed, so we expect the disruption caused
by this change to be minimal.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Instead of using commands like &lt;code&gt;rustup show&lt;/code&gt; to trigger toolchain installation,
we recommend using &lt;code&gt;rustup install&lt;/code&gt; instead.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In future 1.29 releases, upon triggering implicit installation in any of the
relevant rustup subcommands, rustup will print a deprecation warning to inform
you of the upcoming change.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you still have any concerns regarding the above change, please let us know
in the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/4836&quot;&gt;issue thread&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id&#x3D;&quot;simplification-of-download-tls-backends&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#simplification-of-download-tls-backends&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/3790&quot;&gt;Simplification of download &amp;amp; TLS backends&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Since a long time ago, the simplification of the rustup codebase has been a
recurring topic for the team. One particular area of interest is the downloader
subsystem, since supporting the combination of different download and TLS
backends has been a source of significant maintenance burden.&lt;/p&gt;
&lt;p&gt;So far, we have made significant progress towards establishing the new
defaults: the &lt;code&gt;reqwest&lt;/code&gt; download backend and the &lt;code&gt;rustls&lt;/code&gt; TLS backend have been
the default and recommended choice since 2019 and 2025 respectively, and
starting from 2025, the uses of the deprecated &lt;code&gt;curl&lt;/code&gt; download backend and the
&lt;code&gt;native&lt;/code&gt; TLS backend have been triggering deprecation warnings.&lt;/p&gt;
&lt;p&gt;In this release cycle, we have decided to take the next step in this effort by
removing the &lt;code&gt;curl&lt;/code&gt; download backend. This change has recently been merged and
is planned to be shipped in the 1.30 release which is expected to happen in 4
to 8 months.&lt;/p&gt;
&lt;p&gt;In addition, the &lt;code&gt;native&lt;/code&gt; TLS backend has also been a difficult subject for the
team especially due to the difficulties of building and/or linking OpenSSL
consistently across multiple platforms. There are currently no plans to remove
it notably due to Linux packaging policies, but it might be downgraded to
&quot;guaranteed to build&quot; support from a certain point on in the future.&lt;/p&gt;
&lt;p&gt;We encourage you to switch to the &lt;code&gt;reqwest&lt;/code&gt; download backend and the &lt;code&gt;rustls&lt;/code&gt;
TLS backend if you haven&#x27;t already done so (if you haven&#x27;t seen any related
deprecation warnings, you have nothing to worry about!). If there are specific
reasons preventing you from making the switch, please let us know via an issue
and link to the previous
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/3806&quot;&gt;CfT&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;to-be-worked-on-shortly&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#to-be-worked-on-shortly&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
To Be Worked on Shortly&lt;/h2&gt;
&lt;p&gt;Below is a list of the things that the team plans to work on in the near
future:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/247&quot;&gt;XDG Paths Support&lt;/a&gt;: This is our GSoC 2026 Project.&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/3688&quot;&gt;Notify users of possible updates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/2029&quot;&gt;Signing &amp;amp; mirroring support&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id&#x3D;&quot;focus-areas-without-progress&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#focus-areas-without-progress&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Focus Areas Without Progress&lt;/h2&gt;
&lt;p&gt;Below is a list of objectives on the team&#x27;s radar where progress has been limited:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/2027&quot;&gt;Artifact signing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/988&quot;&gt;Process safety&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/4663&quot;&gt;Toolchain identification &amp;amp; deduplication&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/3940&quot;&gt;Toolchain content verification &amp;amp; repair&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/731&quot;&gt;Enhanced concurrency in toolchain installation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/4446&quot;&gt;MSVC environment setup improvements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/3434&quot;&gt;JSON output mode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/3935&quot;&gt;Trusted directories&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id&#x3D;&quot;contributions-welcome&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#contributions-welcome&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Contributions Welcome&lt;/h2&gt;
&lt;h3 id&#x3D;&quot;restriction-of-toolchain-names&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#restriction-of-toolchain-names&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/4059&quot;&gt;Restriction of toolchain names&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;In the past, rustup used to put nearly no restrictions on toolchain names,
which led to a lot of unnecessary complexities. Notably, this has caused some
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/4053&quot;&gt;phishing concerns&lt;/a&gt; and has
also prevented us from &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/4391#issuecomment-4274125954&quot;&gt;allowing certain toolchain names to bear a special
meaning&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To improve the current situation, we are planning to restrict toolchain names
so that they should appear less surprising in the future, and that some
particular formats can be reserved for special purposes.&lt;/p&gt;
&lt;p&gt;In fact, the team has made the first step in 1.29 by &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4650&quot;&gt;disallowing toolchain
names that start with &lt;code&gt;+&lt;/code&gt;&lt;/a&gt; and
the outcome seems to be positive so far.&lt;/p&gt;
&lt;p&gt;If you are interested in helping us out with this effort, please reach out at
the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/4059&quot;&gt;issue&lt;/a&gt; thread so that we can work out the
details and the next steps together.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;how-you-can-help&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#how-you-can-help&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
How You Can Help&lt;/h2&gt;
&lt;p&gt;You can help us out by participating in the project&#x27;s development in different
ways, such as providing feedback on the &lt;a href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2026/07/03/rustup-update-1.30/#ongoing-changes&quot;&gt;ongoing changes&lt;/a&gt; or
helping us out with the issues we think would be a fit for interested
contributors in the &lt;a href&#x3D;&quot;https://blog.rust-lang.org/inside-rust/2026/07/03/rustup-update-1.30/#contributions-welcome&quot;&gt;&quot;Contributions Welcome&quot; section&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition, if there is a specific issue not discussed here that you are
interested in addressing but you are not sure of what to do, please don&#x27;t
hesitate to reach out to our &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/channel/490103-t-rustup&quot;&gt;Zulip channel&lt;/a&gt;.&lt;/p&gt;
</content>

        <author>
            <name>rami3l</name>
        </author>
    </entry>
    <entry>
        <title>Announcing rustup 1.29.0</title>
        <link rel="alternate" href="https://blog.rust-lang.org/2026/03/12/Rustup-1.29.0/" type="text/html" title="Announcing rustup 1.29.0" />
        <published>2026-03-12T00:00:00+00:00</published>
        <updated>2026-03-12T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/2026/03/12/Rustup-1.29.0/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/2026/03/12/Rustup-1.29.0/">&lt;p&gt;The rustup team is happy to announce the release of rustup version 1.29.0.&lt;/p&gt;
&lt;p&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustup.rs&quot;&gt;Rustup&lt;/a&gt; is the recommended tool to install &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.rust-lang.org&quot;&gt;Rust&lt;/a&gt;, a
programming language that empowers everyone to build reliable and efficient
software.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;what-s-new-in-rustup-1-29-0&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#what-s-new-in-rustup-1-29-0&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
What&#x27;s new in rustup 1.29.0&lt;/h2&gt;
&lt;p&gt;Following the footsteps of many package managers in the pursuit of better
toolchain installation performance, the headline of this release is that rustup
has been enabled to &lt;strong&gt;download components concurrently&lt;/strong&gt; and &lt;strong&gt;unpack during
downloads&lt;/strong&gt; in operations such as &lt;code&gt;rustup update&lt;/code&gt; or &lt;code&gt;rustup toolchain&lt;/code&gt; and to
concurrently check for updates in &lt;code&gt;rustup check&lt;/code&gt;, thanks to a &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2025/11/18/gsoc-2025-results/#make-rustup-concurrent&quot;&gt;GSoC 2025
project&lt;/a&gt;.
This is by no means a trivial change so a long
tail of issues might occur, please &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues&quot;&gt;report&lt;/a&gt; them if you have found any!&lt;/p&gt;
&lt;p&gt;Furthermore, rustup now officially supports the following host platforms:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sparcv9-sun-solaris&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;x86_64-pc-solaris&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also, rustup will start automatically inserting the right &lt;code&gt;$PATH&lt;/code&gt; entries
during &lt;code&gt;rustup-init&lt;/code&gt; for the following shells, in addition to those already
supported:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;tcsh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;xonsh&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This release also comes with other quality-of-life improvements, to name a few:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;When running rust-analyzer via a proxy, rustup will consider the
&lt;code&gt;rust-analyzer&lt;/code&gt; binary from &lt;code&gt;PATH&lt;/code&gt; when the rustup-managed one is not found.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;This should be particularly useful if you would like to bring your own
&lt;code&gt;rust-analyzer&lt;/code&gt; binary, e.g. if you use Neovim, Helix, etc. or are
developing rust-analyzer itself.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Empty environment variables are now treated as unset. This should help with
resetting configuration values to default when an override is present.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;rustup check&lt;/code&gt; will use different exit codes based on whether new updates
have been found: it will exit with &lt;code&gt;100&lt;/code&gt; on any updates or &lt;code&gt;0&lt;/code&gt; for no
updates.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Furthermore, @FranciscoTGouveia has joined the team. He has shown his talent,
enthusiasm and commitment to the project since the first interactions with
rustup and has played a significant role in bring more concurrency to it, so we
are thrilled to have him on board and are actively looking forward to what we
can achieve together.&lt;/p&gt;
&lt;p&gt;Further details are available in the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/blob/stable/CHANGELOG.md&quot;&gt;changelog&lt;/a&gt;!&lt;/p&gt;
&lt;h2 id&#x3D;&quot;how-to-update&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#how-to-update&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
How to update&lt;/h2&gt;
&lt;p&gt;If you have a previous version of rustup installed, getting the new one is as easy as stopping
any programs which may be using rustup (e.g. closing your IDE) and running:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup self update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Rustup will also automatically update itself at the end of a normal toolchain update:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you don&#x27;t have it already, you can &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustup.rs&quot;&gt;get rustup&lt;/a&gt; from the appropriate page on our website.&lt;/p&gt;
&lt;p&gt;Rustup&#x27;s documentation is also available in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rustup/&quot;&gt;the rustup book&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;caveats&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#caveats&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Caveats&lt;/h2&gt;
&lt;p&gt;Rustup releases can come with problems not caused by rustup itself but just due to having a new release.&lt;/p&gt;
&lt;p&gt;In particular, anti-malware scanners might block rustup or stop it from creating or copying
files, especially when installing &lt;code&gt;rust-docs&lt;/code&gt; which contains many small files.&lt;/p&gt;
&lt;p&gt;Issues like this should be automatically resolved in a few weeks when the anti-malware scanners are updated
to be aware of the new rustup release.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;thanks&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#thanks&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Thanks&lt;/h2&gt;
&lt;p&gt;Thanks again to all the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/blob/stable/CHANGELOG.md#detailed-changes&quot;&gt;contributors&lt;/a&gt; who made this rustup release possible!&lt;/p&gt;
</content>

        <author>
            <name>The Rustup Team</name>
        </author>
    </entry>
    <entry>
        <title>Rustup 1.29.0 beta: Call for Testing!</title>
        <link rel="alternate" href="https://blog.rust-lang.org/inside-rust/2025/12/20/rustup-1.29.0-beta-cft/" type="text/html" title="Rustup 1.29.0 beta: Call for Testing!" />
        <published>2025-12-20T00:00:00+00:00</published>
        <updated>2025-12-20T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/inside-rust/2025/12/20/rustup-1.29.0-beta-cft/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/inside-rust/2025/12/20/rustup-1.29.0-beta-cft/">&lt;p&gt;We are excited to announce that rustup 1.29.0 beta is now available for testing
and we are currently looking for testers.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;what-s-new&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#what-s-new&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
What&#x27;s new&lt;/h2&gt;
&lt;p&gt;Following the footsteps of many package managers in the pursuit of better
toolchain installation performance, the headline of this release is that rustup
has been enabled to &lt;strong&gt;download components concurrently&lt;/strong&gt; and &lt;strong&gt;unpack during
downloads&lt;/strong&gt; in operations such as &lt;code&gt;rustup update&lt;/code&gt; or &lt;code&gt;rustup toolchain&lt;/code&gt; and to
concurrently check for updates in &lt;code&gt;rustup check&lt;/code&gt;, thanks to a &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://blog.rust-lang.org/2025/11/18/gsoc-2025-results/#make-rustup-concurrent&quot;&gt;GSoC 2025
project&lt;/a&gt;. This is by no means a trivial change so a long
tail of issues might occur, please report them if you have found any!
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4388&quot;&gt;pr#4388&lt;/a&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4426&quot;&gt;pr#4426&lt;/a&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4436&quot;&gt;pr#4436&lt;/a&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4455&quot;&gt;pr#4455&lt;/a&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4471&quot;&gt;pr#4471&lt;/a&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4605&quot;&gt;pr#4605&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As usual, we would be happy to &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues&quot;&gt;receive&lt;/a&gt; regression/breakage reports of
any kind, especially regarding the installation and/or usage on the following
environments:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;New host platforms:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sparcv9-sun-solaris&lt;/code&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4380&quot;&gt;pr#4380&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;x86_64-pc-solaris&lt;/code&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4380&quot;&gt;pr#4380&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;New shells:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;tcsh&lt;/code&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4459&quot;&gt;pr#4459&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;xonsh&lt;/code&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4626&quot;&gt;pr#4626&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Environments where you would like to bring your own &lt;code&gt;rust-analyzer&lt;/code&gt; binary
(such as r-a developers and certain Neovim/Helix users): rustup will now
consider the &lt;code&gt;rust-analyzer&lt;/code&gt; binary from &lt;code&gt;PATH&lt;/code&gt; when the rustup-managed one is
not found. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4324&quot;&gt;pr#4324&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Environments where you would like to override an environment variable back to
the default: rustup now treats empty values as unset. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4422&quot;&gt;pr#4422&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id&#x3D;&quot;how-to-test&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#how-to-test&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
How to test&lt;/h2&gt;
&lt;p&gt;To begin testing this new version, all you need to do is simply switching to
the dev environment by setting the following environment variable when updating
or installing rustup:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;shellscript&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-9&quot;&gt;RUSTUP_UPDATE_ROOT&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-14&quot;&gt;&#x3D;&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;h&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;t&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;t&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;p&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;s&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;:&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;/&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;/&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;d&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;e&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;v&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;-&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;s&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;t&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;a&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;t&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;i&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;c&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;.&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;r&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;u&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;s&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;t&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;-&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;l&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;a&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;n&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;g&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;.&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;o&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;r&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;g&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;/&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;r&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;u&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;s&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;t&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;u&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt;p&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To switch out of the dev environment, just remove that environment variable and
do a &lt;code&gt;rustup self update&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Finally, please don&#x27;t forget to check out the corresponding section in our
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/blob/master/CHANGELOG.md#1290---&quot;&gt;CHANGELOG.md&lt;/a&gt;
for the complete list of changes included in this version.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;acknowledgements&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#acknowledgements&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Acknowledgements&lt;/h2&gt;
&lt;p&gt;A big thank you to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/djc&quot;&gt;@djc&lt;/a&gt; for continuously polishing the codebase to get rid of a whole lot of
historical burden and carefully shaping the final form of preliminary
concurrency support we have today;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/chrisdenton&quot;&gt;@ChrisDenton&lt;/a&gt; for the careful handling of IO and Windows-related complexities;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/FranciscoTGouveia&quot;&gt;@FranciscoTGouveia&lt;/a&gt; for joining me in the GSoC event to investigate the
possibilities and lay the foundation of concurrency in rustup;&lt;/li&gt;
&lt;li&gt;&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/kobzol&quot;&gt;@Kobzol&lt;/a&gt; for enabling and organizing rustup&#x27;s participation in GSoC 2025 and
improving our CLI&#x27;s cold start performance;&lt;/li&gt;
&lt;li&gt;... and many other contributors who have made this new release possible!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Many thanks for everyone&#x27;s continued support! Wishing you a magical holiday
season surrounded by love, peace, and laughter 🍀&lt;/p&gt;
</content>

        <author>
            <name>rami3l</name>
        </author>
    </entry>
    <entry>
        <title>Announcing rustup 1.28.2</title>
        <link rel="alternate" href="https://blog.rust-lang.org/2025/05/05/Rustup-1.28.2/" type="text/html" title="Announcing rustup 1.28.2" />
        <published>2025-05-05T00:00:00+00:00</published>
        <updated>2025-05-05T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/2025/05/05/Rustup-1.28.2/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/2025/05/05/Rustup-1.28.2/">&lt;p&gt;The rustup team is happy to announce the release of rustup version 1.28.2.
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustup.rs&quot;&gt;Rustup&lt;/a&gt; is the recommended tool to install &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.rust-lang.org&quot;&gt;Rust&lt;/a&gt;, a programming language that
empowers everyone to build reliable and efficient software.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;what-s-new-in-rustup-1-28-2&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#what-s-new-in-rustup-1-28-2&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
What&#x27;s new in rustup 1.28.2&lt;/h2&gt;
&lt;p&gt;The headlines of this release are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The cURL download backend and the native-tls TLS backend are now officially deprecated and
a warning will start to show up when they are used. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4277&quot;&gt;pr#4277&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;While rustup predates reqwest and rustls, the rustup team has long wanted to standardize on
an HTTP + TLS stack with more components in Rust, which should increase security, potentially
improve performance, and simplify maintenance of the project.
With the default download backend already switched to reqwest since &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/1660&quot;&gt;2019&lt;/a&gt;, the team
thinks it is time to focus maintenance on the default stack powered by these two libraries.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For people who have set &lt;code&gt;RUSTUP_USE_CURL&#x3D;1&lt;/code&gt; or &lt;code&gt;RUSTUP_USE_RUSTLS&#x3D;0&lt;/code&gt; in their environment to
work around issues with rustup, please try to unset these after upgrading to 1.28.2 and file
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/&quot;&gt;an issue&lt;/a&gt; if you still encounter problems.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The version of &lt;code&gt;rustup&lt;/code&gt; can be pinned when installing via &lt;code&gt;rustup-init.sh&lt;/code&gt;, and
&lt;code&gt;rustup self update&lt;/code&gt; can be used to upgrade/downgrade rustup 1.28.2+ to a given version.
To do so, set the &lt;code&gt;RUSTUP_VERSION&lt;/code&gt; environment variable to the desired version (for example &lt;code&gt;1.28.2&lt;/code&gt;).
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4259&quot;&gt;pr#4259&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;rustup set auto-install disable&lt;/code&gt; can now be used to disable automatic installation of the toolchain.
This is similar to the &lt;code&gt;RUSTUP_AUTO_INSTALL&lt;/code&gt; environment variable introduced in 1.28.1 but with a
lower priority. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4254&quot;&gt;pr#4254&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fixed a bug in Nushell integration that might generate invalid commands in the shell configuration.
Reinstalling rustup might be required for the fix to work. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4265&quot;&gt;pr#4265&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id&#x3D;&quot;how-to-update&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#how-to-update&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
How to update&lt;/h2&gt;
&lt;p&gt;If you have a previous version of rustup installed, getting the new one is as easy as stopping
any programs which may be using rustup (e.g. closing your IDE) and running:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup self update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Rustup will also automatically update itself at the end of a normal toolchain update:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you don&#x27;t have it already, you can &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustup.rs&quot;&gt;get rustup&lt;/a&gt; from the appropriate page on our website.&lt;/p&gt;
&lt;p&gt;Rustup&#x27;s documentation is also available in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rustup/&quot;&gt;the rustup book&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;caveats&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#caveats&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Caveats&lt;/h2&gt;
&lt;p&gt;Rustup releases can come with problems not caused by rustup itself but just due to having a new release.&lt;/p&gt;
&lt;p&gt;In particular, anti-malware scanners might block rustup or stop it from creating or copying
files, especially when installing &lt;code&gt;rust-docs&lt;/code&gt; which contains many small files.&lt;/p&gt;
&lt;p&gt;Issues like this should be automatically resolved in a few weeks when the anti-malware scanners are updated
to be aware of the new rustup release.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;thanks&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#thanks&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Thanks&lt;/h2&gt;
&lt;p&gt;Thanks again to all the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/blob/stable/CHANGELOG.md#detailed-changes&quot;&gt;contributors&lt;/a&gt; who made this rustup release possible!&lt;/p&gt;
</content>

        <author>
            <name>The Rustup Team</name>
        </author>
    </entry>
    <entry>
        <title>Announcing rustup 1.28.1</title>
        <link rel="alternate" href="https://blog.rust-lang.org/2025/03/04/Rustup-1.28.1/" type="text/html" title="Announcing rustup 1.28.1" />
        <published>2025-03-04T00:00:00+00:00</published>
        <updated>2025-03-04T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/2025/03/04/Rustup-1.28.1/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/2025/03/04/Rustup-1.28.1/">&lt;p&gt;The rustup team is happy to announce the release of rustup version 1.28.1.
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustup.rs&quot;&gt;Rustup&lt;/a&gt; is the recommended tool to install &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.rust-lang.org&quot;&gt;Rust&lt;/a&gt;, a programming language that is empowering everyone to build reliable and efficient software.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;challenges-with-rustup-1-28-0&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#challenges-with-rustup-1-28-0&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Challenges with rustup 1.28.0&lt;/h2&gt;
&lt;p&gt;rustup 1.28.0 was a significant release with many changes, and there was a quick response from many
folks that this release broke their processes. While we considered yanking the release, we worried
that this would cause problems for people who had already updated to adopt some of the changes.
Instead, we are rolling forward with 1.28.1 today and potentially further bugfix releases to
address the feedback that comes in.&lt;/p&gt;
&lt;p&gt;We value all constructive feedback -- please keep it coming in the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/&quot;&gt;issue tracker&lt;/a&gt;. In particular,
the change with regard to implicit toolchain installation is being discussed in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/4211&quot;&gt;this issue&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;what-s-new-in-rustup-1-28-1&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#what-s-new-in-rustup-1-28-1&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
What&#x27;s new in rustup 1.28.1&lt;/h2&gt;
&lt;p&gt;This release contains the following fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Automatic install is enabled by default but can be opted out by setting &lt;code&gt;RUSTUP_AUTO_INSTALL&lt;/code&gt;
environment variable to &lt;code&gt;0&lt;/code&gt;. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4214&quot;&gt;pr#4214&lt;/a&gt; &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4227&quot;&gt;pr#4227&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rustup show active-toolchain&lt;/code&gt; will only print a single line, as it did in 1.27. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4221&quot;&gt;pr#4221&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixed a bug in the reqwest backend that would erroneously timeout downloads after 30s. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4218&quot;&gt;pr#4218&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use relative symlinks for proxies. &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/pull/4226&quot;&gt;pr#4226&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id&#x3D;&quot;how-to-update&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#how-to-update&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
How to update&lt;/h2&gt;
&lt;p&gt;If you have a previous version of rustup installed, getting rustup 1.28.1 is as easy as stopping
any programs which may be using Rustup (e.g. closing your IDE) and running:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup self update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Rustup will also automatically update itself at the end of a normal toolchain update:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you don&#x27;t have it already, you can &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustup.rs&quot;&gt;get rustup&lt;/a&gt; from the appropriate page on our website.&lt;/p&gt;
&lt;p&gt;Rustup&#x27;s documentation is also available in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rustup/&quot;&gt;the rustup book&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;caveats&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#caveats&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Caveats&lt;/h2&gt;
&lt;p&gt;Rustup releases can come with problems not caused by rustup itself but just due to having a new release.
As such, we recommend paying attention to the following potential issues in particular:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Anti-malware scanners might be blocking rustup or stopping it from creating or copying files
(especially when installing &lt;code&gt;rust-docs&lt;/code&gt;, since it contains many small files).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In your CI environment, rustup might fail when trying to perform a self-update.&lt;/p&gt;
&lt;p&gt;This is a &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/3709&quot;&gt;known issue&lt;/a&gt;,
and in the case where this issue does occur, we recommend applying the following workaround at the beginning of your workflow:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup set auto-self-update disable&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Also, starting from 1.28.0, rustup will no longer attempt to self-update in CI environments,
so this workaround should not be necessary in the future.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These issues should be automatically resolved in a few weeks when the anti-malware scanners are updated to be aware of the new rustup release,
and the hosted version is updated across all CI runners.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;thanks&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#thanks&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Thanks&lt;/h2&gt;
&lt;p&gt;Thanks to the rustup and t-release team members who came together to quickly address these issues.&lt;/p&gt;
</content>

        <author>
            <name>The Rustup Team</name>
        </author>
    </entry>
    <entry>
        <title>Announcing Rustup 1.28.0</title>
        <link rel="alternate" href="https://blog.rust-lang.org/2025/03/02/Rustup-1.28.0/" type="text/html" title="Announcing Rustup 1.28.0" />
        <published>2025-03-02T00:00:00+00:00</published>
        <updated>2025-03-02T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/2025/03/02/Rustup-1.28.0/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/2025/03/02/Rustup-1.28.0/">&lt;p&gt;The rustup team is happy to announce the release of rustup version 1.28.0.
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustup.rs&quot;&gt;Rustup&lt;/a&gt; is the recommended tool to install &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.rust-lang.org&quot;&gt;Rust&lt;/a&gt;, a programming language that is empowering everyone to build reliable and efficient software.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;what-s-new-in-rustup-1-28-0&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#what-s-new-in-rustup-1-28-0&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
What&#x27;s new in rustup 1.28.0&lt;/h2&gt;
&lt;p&gt;This new release of rustup has been a long time in the making and comes with substantial changes.&lt;/p&gt;
&lt;p&gt;Before digging into the details, it is worth mentioning that &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/chrisdenton&quot;&gt;Chris Denton&lt;/a&gt; has joined the team.
Chris has a lot of experience contributing to Windows-related parts of the Rust Project -- expertise we were previously lacking -- so we&#x27;re happy to have him on board to help address Windows-specific issues.&lt;/p&gt;
&lt;p&gt;The following improvements might require changes to how you use rustup:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;rustup will no longer automatically install the active toolchain if it is not installed.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To ensure its installation, run &lt;code&gt;rustup toolchain install&lt;/code&gt; with no arguments.&lt;/li&gt;
&lt;li&gt;The following command installs the active toolchain both before and after this change:&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;shellscript&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-16&quot;&gt;rustup&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt; show&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt; active-toolchain&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-1&quot;&gt; |&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-1&quot;&gt;|&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-16&quot;&gt; rustup&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt; toolchain&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt; install&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span class&#x3D;&quot;z-l-13 z-d-7&quot;&gt;#&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-13 z-d-7&quot;&gt; Or, on older versions of PowerShell:&lt;/span&gt;&lt;/span&gt;
&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-16&quot;&gt;rustup&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt; show&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt; active-toolchain&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-14 z-d-11&quot;&gt; if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-9&quot;&gt;$&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-9&quot;&gt;LASTEXITCODE&lt;/span&gt;&lt;span&gt; -ne 0&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-16&quot;&gt; rustup&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt; toolchain&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt; install&lt;/span&gt;&lt;span class&#x3D;&quot;z-l-4 z-d-13&quot;&gt; }&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Installing a host-incompatible toolchain via &lt;code&gt;rustup toolchain install&lt;/code&gt; or &lt;code&gt;rustup default&lt;/code&gt; will
now be rejected unless you explicitly add the &lt;code&gt;--force-non-host&lt;/code&gt; flag.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Rustup now officially supports the following host platforms:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;aarch64-pc-windows-msvc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;loongarch64-unknown-linux-musl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This release also comes with various quality-of-life improvements, to name a few:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;rustup show&lt;/code&gt;&#x27;s output format has been cleaned up, making it easier to find out about your toolchains&#x27; status.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rustup doc&lt;/code&gt; now accepts a flag and a topic at the same time, enabling quick navigation to specific parts of more books.&lt;/li&gt;
&lt;li&gt;rustup&#x27;s &lt;code&gt;remove&lt;/code&gt; subcommands now support more aliases such as &lt;code&gt;rm&lt;/code&gt; and &lt;code&gt;del&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Basic support for nushell has been added.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We have additionally made the following internal changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The default download backend has been changed from reqwest with native-tls to reqwest with rustls.
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;RUSTUP_USE_CURL&lt;/code&gt; and &lt;code&gt;RUSTUP_USE_RUSTLS&lt;/code&gt; can still be used to change the download backend
if the new backend causes issues. If issues do happen, please &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/3806&quot;&gt;let us know&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The default backend now uses rustls-platform-verifier to verify server certificates, taking
advantage of the platform&#x27;s certificate store on platforms that support it.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;When creating proxy links, rustup will now try symlinks first and fall back to hardlinks,
as opposed to trying hardlinks first.&lt;/li&gt;
&lt;li&gt;A new &lt;code&gt;RUSTUP_LOG&lt;/code&gt; environment variable can be used to control tracing-based logging in
rustup binaries. See the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rustup/dev-guide/tracing.html&quot;&gt;dev guide&lt;/a&gt; for more details.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Finally, there are some notable changes to our &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustup.rs&quot;&gt;official website&lt;/a&gt; as well:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The overall design of the website has been updated to better align with the Rust Project&#x27;s branding.&lt;/li&gt;
&lt;li&gt;It is now possible to download the prebuilt &lt;code&gt;rustup-init.sh&lt;/code&gt; installer for the &lt;code&gt;aarch64-pc-windows-msvc&lt;/code&gt; host platform via https://win.rustup.rs/aarch64.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Further details are available in the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/blob/stable/CHANGELOG.md&quot;&gt;changelog&lt;/a&gt;!&lt;/p&gt;
&lt;h2 id&#x3D;&quot;how-to-update&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#how-to-update&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
How to update&lt;/h2&gt;
&lt;p&gt;If you have a previous version of rustup installed, getting rustup 1.28.0 is as easy as stopping any programs which may be using Rustup (e.g. closing your IDE) and running:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup self update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Rustup will also automatically update itself at the end of a normal toolchain update:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you don&#x27;t have it already, you can &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustup.rs&quot;&gt;get rustup&lt;/a&gt; from the appropriate page on our website.&lt;/p&gt;
&lt;p&gt;Rustup&#x27;s documentation is also available in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rustup/&quot;&gt;the rustup book&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;caveats&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#caveats&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Caveats&lt;/h2&gt;
&lt;p&gt;Rustup releases can come with problems not caused by rustup itself but just due to having a new release.
As such, we recommend paying attention to the following potential issues in particular:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Anti-malware scanners might be blocking rustup or stopping it from creating or copying files
(especially when installing &lt;code&gt;rust-docs&lt;/code&gt;, since it contains many small files).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In your CI environment, rustup might fail when trying to perform a self-update.&lt;/p&gt;
&lt;p&gt;This is a &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/issues/3709&quot;&gt;known issue&lt;/a&gt;,
and in the case where this issue does occur, we recommend applying the following workaround at the beginning of your workflow:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup set auto-self-update disable&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Also, starting from 1.28.0, rustup will no longer attempt to self-update in CI environments,
so this workaround should not be necessary in the future.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These issues should be automatically resolved in a few weeks when the anti-malware scanners are updated to be aware of the new rustup release,
and the hosted version is updated across all CI runners.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;thanks&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#thanks&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Thanks&lt;/h2&gt;
&lt;p&gt;Thanks again to all the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/blob/stable/CHANGELOG.md#detailed-changes&quot;&gt;contributors&lt;/a&gt; who made rustup 1.28.0 possible!&lt;/p&gt;
</content>

        <author>
            <name>The Rustup Team</name>
        </author>
    </entry>
    <entry>
        <title>Announcing Rustup 1.27.1</title>
        <link rel="alternate" href="https://blog.rust-lang.org/2024/05/06/Rustup-1.27.1/" type="text/html" title="Announcing Rustup 1.27.1" />
        <published>2024-05-06T00:00:00+00:00</published>
        <updated>2024-05-06T00:00:00+00:00</updated>
        <id>https://blog.rust-lang.org/2024/05/06/Rustup-1.27.1/</id>
        <content type="html" xml:base="https://blog.rust-lang.org/2024/05/06/Rustup-1.27.1/">&lt;p&gt;The Rustup team is happy to announce the release of Rustup version 1.27.1.
&lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustup.rs&quot;&gt;Rustup&lt;/a&gt; is the recommended tool to install &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://www.rust-lang.org&quot;&gt;Rust&lt;/a&gt;, a programming language that is empowering everyone to build reliable and efficient software.&lt;/p&gt;
&lt;p&gt;If you have a previous version of Rustup installed, getting Rustup 1.27.1 is as easy as stopping any programs which may be using Rustup (e.g. closing your IDE) and running:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup self update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Rustup will also automatically update itself at the end of a normal toolchain update:&lt;/p&gt;
&lt;pre class&#x3D;&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang&#x3D;&quot;plain&quot;&gt;&lt;span class&#x3D;&quot;giallo-l&quot;&gt;&lt;span&gt;$ rustup update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you don&#x27;t have it already, you can &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rustup.rs&quot;&gt;get Rustup&lt;/a&gt; from the appropriate page on our website.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;what-s-new-in-rustup-1-27-1&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#what-s-new-in-rustup-1-27-1&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
What&#x27;s new in Rustup 1.27.1&lt;/h2&gt;
&lt;p&gt;This new Rustup release involves some minor bug fixes.&lt;/p&gt;
&lt;p&gt;The headlines for this release are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Prebuilt Rustup binaries should be working on older macOS versions again.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rustup-init&lt;/code&gt; will no longer fail when &lt;code&gt;fish&lt;/code&gt; is installed but &lt;code&gt;~/.config/fish/conf.d&lt;/code&gt; hasn&#x27;t been created.&lt;/li&gt;
&lt;li&gt;Regressions regarding symlinked &lt;code&gt;RUSTUP_HOME/(toolchains|downloads|tmp)&lt;/code&gt; have been addressed.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Full details are available in the &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://github.com/rust-lang/rustup/blob/stable/CHANGELOG.md&quot;&gt;changelog&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Rustup&#x27;s documentation is also available in &lt;a rel&#x3D;&quot;external&quot; href&#x3D;&quot;https://rust-lang.github.io/rustup/&quot;&gt;the Rustup Book&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id&#x3D;&quot;thanks&quot;&gt;&lt;a class&#x3D;&quot;anchor&quot; href&#x3D;&quot;#thanks&quot; aria-hidden&#x3D;&quot;true&quot;&gt;&lt;/a&gt;
Thanks&lt;/h2&gt;
&lt;p&gt;Thanks again to all the contributors who made Rustup 1.27.1 possible!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Anas (0x61nas)&lt;/li&gt;
&lt;li&gt;cuiyourong (cuiyourong)&lt;/li&gt;
&lt;li&gt;Dirkjan Ochtman (djc)&lt;/li&gt;
&lt;li&gt;Eric Huss (ehuss)&lt;/li&gt;
&lt;li&gt;eth3lbert (eth3lbert)&lt;/li&gt;
&lt;li&gt;hev (heiher)&lt;/li&gt;
&lt;li&gt;klensy (klensy)&lt;/li&gt;
&lt;li&gt;Chih Wang (ongchi)&lt;/li&gt;
&lt;li&gt;Adam (pie-flavor)&lt;/li&gt;
&lt;li&gt;rami3l (rami3l)&lt;/li&gt;
&lt;li&gt;Robert (rben01)&lt;/li&gt;
&lt;li&gt;Robert Collins (rbtcollins)&lt;/li&gt;
&lt;li&gt;Sun Bin (shandongbinzhou)&lt;/li&gt;
&lt;li&gt;Samuel Moelius (smoelius)&lt;/li&gt;
&lt;li&gt;vpochapuis (vpochapuis)&lt;/li&gt;
&lt;li&gt;Renovate Bot (renovate)&lt;/li&gt;
&lt;/ul&gt;
</content>

        <author>
            <name>The Rustup Team</name>
        </author>
    </entry>
</feed>
