|
| 1 | ++++ |
| 2 | +path = "inside-rust/2025/12/20/rustup-1.29.0-beta-cft" |
| 3 | +title = "Rustup 1.29.0 beta: Call for Testing!" |
| 4 | +authors = ["rami3l"] |
| 5 | + |
| 6 | +[extra] |
| 7 | +team = "The Rustup Team" |
| 8 | +team_url = "https://rust-lang.org/governance/teams/dev-tools/#team-rustup" |
| 9 | ++++ |
| 10 | + |
| 11 | +We are excited to announce that rustup 1.29.0 beta is now available for testing |
| 12 | +and we are currently looking for testers. |
| 13 | + |
| 14 | +## What's new |
| 15 | + |
| 16 | +Following the footsteps of many package managers in the pursuit of better |
| 17 | +toolchain installation performance, the headline of this release is that rustup |
| 18 | +has been enabled to **download components concurrently** and **unpack during |
| 19 | +downloads** in operations such as `rustup update` or `rustup toolchain` and to |
| 20 | +concurrently check for updates in `rustup check`, thanks to a [GSoC 2025 |
| 21 | +project][concurrent-rustup]. This is by no means a trivial change so a long |
| 22 | +tail of issues might occur, please report them if you have found any! |
| 23 | +[pr#4388] [pr#4426] [pr#4436] [pr#4455] [pr#4471] [pr#4605] |
| 24 | + |
| 25 | +[concurrent-rustup]: https://blog.rust-lang.org/2025/11/18/gsoc-2025-results/#make-rustup-concurrent |
| 26 | + |
| 27 | +As usual, we would be happy to [receive][issues] regression/breakage reports of |
| 28 | +any kind, especially regarding the installation and/or usage on the following |
| 29 | +environments: |
| 30 | + |
| 31 | +[issues]: https://github.com/rust-lang/rustup/issues |
| 32 | + |
| 33 | +* New host platforms: |
| 34 | + - `sparcv9-sun-solaris` [pr#4380] |
| 35 | + - `x86_64-pc-solaris` [pr#4380] |
| 36 | + |
| 37 | +* New shells: |
| 38 | + - `tcsh` [pr#4459] |
| 39 | + - `xonsh` [pr#4626] |
| 40 | + |
| 41 | +* Environments where you would like to bring your own `rust-analyzer` binary |
| 42 | + (such as r-a developers and certain Neovim/Helix users): rustup will now |
| 43 | + consider the `rust-analyzer` binary from `PATH` when the rustup-managed one is |
| 44 | + not found. [pr#4324] |
| 45 | + |
| 46 | +- Environments where you would like to override an environment variable back to |
| 47 | + the default: rustup now treats empty values as unset. [pr#4422] |
| 48 | + |
| 49 | +[pr#4324]: https://github.com/rust-lang/rustup/pull/4324 |
| 50 | +[pr#4380]: https://github.com/rust-lang/rustup/pull/4380 |
| 51 | +[pr#4388]: https://github.com/rust-lang/rustup/pull/4388 |
| 52 | +[pr#4422]: https://github.com/rust-lang/rustup/pull/4422 |
| 53 | +[pr#4426]: https://github.com/rust-lang/rustup/pull/4426 |
| 54 | +[pr#4436]: https://github.com/rust-lang/rustup/pull/4436 |
| 55 | +[pr#4455]: https://github.com/rust-lang/rustup/pull/4455 |
| 56 | +[pr#4459]: https://github.com/rust-lang/rustup/pull/4459 |
| 57 | +[pr#4471]: https://github.com/rust-lang/rustup/pull/4471 |
| 58 | +[pr#4605]: https://github.com/rust-lang/rustup/pull/4605 |
| 59 | +[pr#4626]: https://github.com/rust-lang/rustup/pull/4626 |
| 60 | + |
| 61 | +## How to test |
| 62 | + |
| 63 | +To begin testing this new version, all you need to do is simply switching to |
| 64 | +the dev environment by setting the following environment variable when updating |
| 65 | +or installing rustup: |
| 66 | + |
| 67 | +```sh |
| 68 | +RUSTUP_UPDATE_ROOT=https://dev-static.rust-lang.org/rustup |
| 69 | +``` |
| 70 | + |
| 71 | +To switch out of the dev environment, just remove that environment variable and |
| 72 | +do a `rustup self update`. |
| 73 | + |
| 74 | +Finally, please don't forget to check out the corresponding section in our |
| 75 | +[CHANGELOG.md](https://github.com/rust-lang/rustup/blob/master/CHANGELOG.md#1290---) |
| 76 | +for the complete list of changes included in this version. |
| 77 | + |
| 78 | +## Acknowledgements |
| 79 | + |
| 80 | +A big thank you to: |
| 81 | +- [@djc] for continuously polishing the codebase to get rid of a whole lot of |
| 82 | + historical burden and carefully shaping the final form of preliminary |
| 83 | + concurrency support we have today; |
| 84 | +- [@ChrisDenton] for the careful handling of IO and Windows-related complexities; |
| 85 | +- [@FranciscoTGouveia] for joining me in the GSoC event to investigate the |
| 86 | + possibilities and lay the foundation of concurrency in rustup; |
| 87 | +- [@Kobzol] for enabling and organizing rustup's participation in GSoC 2025 and |
| 88 | + improving our CLI's cold start performance; |
| 89 | +- ... and many other contributors who have made this new release possible! |
| 90 | + |
| 91 | +Many thanks for everyone's continued support! Wishing you a magical holiday |
| 92 | +season surrounded by love, peace, and laughter 🍀 |
| 93 | + |
| 94 | +[@djc]: https://github.com/djc |
| 95 | +[@ChrisDenton]: https://github.com/chrisdenton |
| 96 | +[@FranciscoTGouveia]: https://github.com/FranciscoTGouveia |
| 97 | +[@Kobzol]: https://github.com/kobzol |
0 commit comments