-
Notifications
You must be signed in to change notification settings - Fork 1k
Expand file tree
/
Copy pathCHANGELOG.md
More file actions
2244 lines (1891 loc) · 115 KB
/
CHANGELOG.md
File metadata and controls
2244 lines (1891 loc) · 115 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# Changelog
## [1.28.0] - 2025-03-04
This new release of rustup has been a long time in the making and comes with substantial changes.
The following improvements might require changes to how you use rustup:
- rustup will no longer automatically install the active toolchain if it is not installed. [pr#3985]
* To ensure its installation, run `rustup toolchain install` with no arguments.
* The following command installs the active toolchain both before and after this change:
```sh
rustup show active-toolchain || rustup toolchain install
# Or, on older versions of PowerShell:
rustup show active-toolchain; if ($LASTEXITCODE -ne 0) { rustup toolchain install }
```
- Installing a host-incompatible toolchain via `rustup toolchain install` or `rustup default` will
now be rejected unless you explicitly add the `--force-non-host` flag. [pr#4028]
rustup now officially supports the following host platforms:
- `aarch64-pc-windows-msvc` [pr#3840]
- `loongarch64-unknown-linux-musl` [pr#3921]
This release also comes with various quality-of-life improvements, to name a few:
- `rustup show`'s output format has been cleaned up, making it easier to find out about your toolchains' status. [pr#3225]
- `rustup doc` now accepts a flag and a topic at the same time, enabling quick navigation to specific parts of more books. [pr#4070]
- rustup's `remove` subcommands now support more aliases such as `rm` and `del`. [pr#4093]
- Basic support for nushell has been added. [pr#4078]
We have additionally made the following internal changes:
- The default download backend has been changed from reqwest with native-tls to reqwest with rustls. [pr#3798]
- `RUSTUP_USE_CURL` and `RUSTUP_USE_RUSTLS` can still be used to change the download backend
if the new backend causes issues. If issues do happen, please [let us know](https://github.com/rust-lang/rustup/issues/3806).
- The default backend now uses rustls-platform-verifier to verify server certificates, taking
advantage of the platform's certificate store on platforms that support it. [pr#3903]
- When creating proxy links, rustup will now try symlinks first and fall back to hardlinks,
as opposed to trying hardlinks first. [pr#4023]
- A new `RUSTUP_LOG` environment variable can be used to control tracing-based logging in
rustup binaries. See the [dev guide](https://rust-lang.github.io/rustup/dev-guide/tracing.html) for more details. [pr#3875]
Furthermore, [Chris Denton](https://github.com/chrisdenton) joined the team. Chris has a lot of experience contributing to
Windows-related parts of the Rust Project, expertise which was sorely lacking in existing team
members, so we're happy to have him on board to help address Windows-specific issues.
[1.28.0]: https://github.com/rust-lang/rustup/releases/tag/1.28.0
[pr#3225]: https://github.com/rust-lang/rustup/pull/3225
[pr#3798]: https://github.com/rust-lang/rustup/pull/3798
[pr#3840]: https://github.com/rust-lang/rustup/pull/3840
[pr#3875]: https://github.com/rust-lang/rustup/pull/3875
[pr#3903]: https://github.com/rust-lang/rustup/pull/3903
[pr#3921]: https://github.com/rust-lang/rustup/pull/3921
[pr#3985]: https://github.com/rust-lang/rustup/pull/3985
[pr#4023]: https://github.com/rust-lang/rustup/pull/4023
[pr#4028]: https://github.com/rust-lang/rustup/pull/4028
[pr#4070]: https://github.com/rust-lang/rustup/pull/4070
[pr#4078]: https://github.com/rust-lang/rustup/pull/4078
[pr#4093]: https://github.com/rust-lang/rustup/pull/4093
### Detailed changes
* Replace remaining `winapi` usage with `windows-sys` by @kennykerr in https://github.com/rust-lang/rustup/pull/3802
* docs(dev-guide): remove “pushing to master” in the release process by @rami3l in https://github.com/rust-lang/rustup/pull/3789
* refactor(download): use `DownloadCallBack` in `download_with_backend()` by @rami3l in https://github.com/rust-lang/rustup/pull/3795
* Update MSVC requirements to VS 2017 to match Rust repo by @dpaoliello in https://github.com/rust-lang/rustup/pull/3799
* feat(download-backend)!: make `reqwest/rustls` the new default by @rami3l in https://github.com/rust-lang/rustup/pull/3798
* fix(ci/freebsd): fix `invalid peer certificate: UnknownIssuer` by @rami3l in https://github.com/rust-lang/rustup/pull/3810
* fix(filesource): make some constructs only available via the `test` feature by @rami3l in https://github.com/rust-lang/rustup/pull/3811
* Reduce code duplication for show commands by @djc in https://github.com/rust-lang/rustup/pull/3813
* refactor(cli): rewrite `rustup-init` with `clap_derive` by @rami3l in https://github.com/rust-lang/rustup/pull/3814
* Make `rustup show` output info in a more logical order by @majaha in https://github.com/rust-lang/rustup/pull/3225
* feat(download): reflect the download/TLS backends in the user agent by @rami3l in https://github.com/rust-lang/rustup/pull/3815
* fix(rustup-init): fix typo in `rustup-init[.sh]` args by @rami3l in https://github.com/rust-lang/rustup/pull/3818
* refactor(cli): rewrite `rustup` with `clap_derive` by @rami3l in https://github.com/rust-lang/rustup/pull/3596
* Stop showing ETA after download is complete by @djc in https://github.com/rust-lang/rustup/pull/3827
* Fix ETA display after regression by @djc in https://github.com/rust-lang/rustup/pull/3829
* refactor(filesource): replace repetitive `#[cfg()]` usages with a new `mod` by @rami3l in https://github.com/rust-lang/rustup/pull/3833
* Tweaks from derived clap parser review by @djc in https://github.com/rust-lang/rustup/pull/3834
* fix(deps): update rust crate pulldown-cmark to 0.11 by @rami3l in https://github.com/rust-lang/rustup/pull/3838
* fix(deps): update rust crate itertools to 0.13 by @rami3l in https://github.com/rust-lang/rustup/pull/3839
* ci(macos): use `macos-latest` instead of `macos-14` by @rami3l in https://github.com/rust-lang/rustup/pull/3842
* Re-enable Ring support on Windows Arm64 by @Alovchin91 in https://github.com/rust-lang/rustup/pull/3845
* Switch from sync to a tokio runtime by @rbtcollins in https://github.com/rust-lang/rustup/pull/3367
* ci(windows): fix CI failure on `x86_64-pc-windows-gnu` by @rami3l in https://github.com/rust-lang/rustup/pull/3849
* consistently add context with file path when parsing fails by @Skgland in https://github.com/rust-lang/rustup/pull/3853
* refactor: restrict `run_future()` usages to tests by @rami3l in https://github.com/rust-lang/rustup/pull/3856
* feat: support for parsing beta versions with tags in the toolchain by @roife in https://github.com/rust-lang/rustup/pull/3858
* fix(download): work around `hyper` hang issue by adjusting `reqwest` config by @rami3l in https://github.com/rust-lang/rustup/pull/3855
* Simplify process interface by @djc in https://github.com/rust-lang/rustup/pull/3764
* Add Windows Arm64 to Other Installation Methods by @Alovchin91 in https://github.com/rust-lang/rustup/pull/3854
* Store current_dir in Cfg by @djc in https://github.com/rust-lang/rustup/pull/3859
* Finalise Rustup Windows Arm64 support by @Alovchin91 in https://github.com/rust-lang/rustup/pull/3840
* Refactoring around use of `Process` by @djc in https://github.com/rust-lang/rustup/pull/3860
* feat(cli): add `--quiet` to `rustup toolchain list` and friends by @rami3l in https://github.com/rust-lang/rustup/pull/3862
* fix(dist/triple): ensure `dist::triple::known` is up to date with `platforms` by @rami3l in https://github.com/rust-lang/rustup/pull/3841
* Simplify notification handling setup by @djc in https://github.com/rust-lang/rustup/pull/3863
* Use serde to encode/decode various TOML formats by @djc in https://github.com/rust-lang/rustup/pull/3864
* refactor(ci/run): use more `target_cargo()` in `run.bash` by @rami3l in https://github.com/rust-lang/rustup/pull/3867
* Fix misleading "uninstalled toolchain" notification by @scimas in https://github.com/rust-lang/rustup/pull/3869
* Small refactoring tweaks to improve further changes by @djc in https://github.com/rust-lang/rustup/pull/3872
* refactor(test): execute all `#[rustup_macros::unit_test]`s within a `tokio` context by @rami3l in https://github.com/rust-lang/rustup/pull/3868
* chore(dist/features): ship `tracing` and friends by default by @rami3l in https://github.com/rust-lang/rustup/pull/3803
* Simplify installation code by @djc in https://github.com/rust-lang/rustup/pull/3865
* Let argument parser handle enum conversions by @djc in https://github.com/rust-lang/rustup/pull/3874
* Pass Process around explicitly by @djc in https://github.com/rust-lang/rustup/pull/3871
* fix(log): use `RUSTUP_LOG` for internal `tracing` instead of `RUST_LOG` by @rami3l in https://github.com/rust-lang/rustup/pull/3876
* Process cleanup by @djc in https://github.com/rust-lang/rustup/pull/3877
* Use tracing macros directly by @djc in https://github.com/rust-lang/rustup/pull/3878
* Fix the `TODO` in `src\toolchain\toolchain.rs` by @InfyniteHeap in https://github.com/rust-lang/rustup/pull/3881
* refactor(dist): hoist `dist::dist` into `dist` by @rami3l in https://github.com/rust-lang/rustup/pull/3882
* Simplify toolchain construction by @djc in https://github.com/rust-lang/rustup/pull/3880
* Remove unused code by @djc in https://github.com/rust-lang/rustup/pull/3886
* refactor(log): rename `NotificationLevel` variants to align with `tracing::Level` by @rami3l in https://github.com/rust-lang/rustup/pull/3890
* Refactor platform-dependent code in self_update by @djc in https://github.com/rust-lang/rustup/pull/3887
* download: inline errors, rename TLS backend by @djc in https://github.com/rust-lang/rustup/pull/3888
* fix(dist/linux): handle the possible unavailability of `/proc` in `rustup-init.sh` by @rami3l in https://github.com/rust-lang/rustup/pull/3800
* test(clitools): revive `run_inprocess()` by @rami3l in https://github.com/rust-lang/rustup/pull/3891
* Extract types by @djc in https://github.com/rust-lang/rustup/pull/3766
* refactor(toolchain/names): replace `toolchain_sort()` with `ToolchainName`'s `Ord` instance by @rami3l in https://github.com/rust-lang/rustup/pull/3892
* ci(all-features): add `-D warnings` to `cargo check-all-features` by @rami3l in https://github.com/rust-lang/rustup/pull/3894
* fix(dist): throw an error when a `PartialVersion` string doesn't start with an ASCII digit by @rami3l in https://github.com/rust-lang/rustup/pull/3895
* docs(dev-guide/tracing): mention `RUSTUP_LOG` and console-based tracing by @rami3l in https://github.com/rust-lang/rustup/pull/3879
* Port tests to CliTestContext by @djc in https://github.com/rust-lang/rustup/pull/3893
* Add missing period in warning while checking existing Rust installations by @Uaitt in https://github.com/rust-lang/rustup/pull/3899
* fix(rustup-mode): improve `clap` error format by @rami3l in https://github.com/rust-lang/rustup/pull/3906
* ci(windows): run `cargo all-features` by @rami3l in https://github.com/rust-lang/rustup/pull/3904
* feat(download/rustls): use `rustls-platform-verifier` by @rami3l in https://github.com/rust-lang/rustup/pull/3903
* Disable automatic self updates in CI environments by @djc in https://github.com/rust-lang/rustup/pull/3907
* feat: add hint to run `rustup self` when err desc is `self` by @Xerxes-2 in https://github.com/rust-lang/rustup/pull/3901
* test(manifestation): replace `run_future()` with `TestContext` by @rami3l in https://github.com/rust-lang/rustup/pull/3915
* implements quiet flag in `rustup-init.sh` by @vic1707 in https://github.com/rust-lang/rustup/pull/3910
* feat(rustup-init): set log level to `WARN` on `-q` if `RUSTUP_LOG` is unset by @rami3l in https://github.com/rust-lang/rustup/pull/3911
* fix(download): fix build error with `--no-default-features --features=curl-backend` by @rami3l in https://github.com/rust-lang/rustup/pull/3922
* Add loongarch64-unknown-linux-musl support by @heiher in https://github.com/rust-lang/rustup/pull/3921
* feat(cli): warn when removing the default/active toolchain by @rami3l in https://github.com/rust-lang/rustup/pull/3924
* Clean up usage of if_not_empty() by @djc in https://github.com/rust-lang/rustup/pull/3925
* feat(dist): refine suggestions regarding manifest checksum mismatches by @rami3l in https://github.com/rust-lang/rustup/pull/3923
* Upload Rustup build artifacts to new S3 bucket by @jdno in https://github.com/rust-lang/rustup/pull/3909
* Grant GitHub Actions workflows access to OIDC token by @jdno in https://github.com/rust-lang/rustup/pull/3930
* Prepare deployment on master branch by @jdno in https://github.com/rust-lang/rustup/pull/3931
* Fix uploading of Windows build artifacts by @jdno in https://github.com/rust-lang/rustup/pull/3933
* Upload Windows artifacts into correct subdirectory by @jdno in https://github.com/rust-lang/rustup/pull/3934
* feat(log): unhide `tracing::instrument` from behind `feature = "otel"` by @rami3l in https://github.com/rust-lang/rustup/pull/3873
* Fix home_dir() and current_dir() regression by @djc in https://github.com/rust-lang/rustup/pull/3938
* Add help message for missing toolchain by @jtr860830 in https://github.com/rust-lang/rustup/pull/3939
* refactor: clean up platform-specific logic by @rami3l in https://github.com/rust-lang/rustup/pull/3941
* style: reformat all TOML files with `taplo` by @rami3l in https://github.com/rust-lang/rustup/pull/3942
* fix(rustup-mode)!: don't install toolchain on `rustup --version` by @rami3l in https://github.com/rust-lang/rustup/pull/3948
* fix(rustup-mode): return `ExitCode(1)` when `update()` fails by @rami3l in https://github.com/rust-lang/rustup/pull/3952
* fix(utils): make `ExitCode` `#[must_use]` by @rami3l in https://github.com/rust-lang/rustup/pull/3954
* build(windows): fix typo in `build.rs` by @rami3l in https://github.com/rust-lang/rustup/pull/3955
* Upgrade to opentelemetry 0.24 by @djc in https://github.com/rust-lang/rustup/pull/3959
* Bump fs_at to 0.2.1 by @djc in https://github.com/rust-lang/rustup/pull/3965
* docs(user-guide): use `brew install rustup` instead of `rustup-init` by @rami3l in https://github.com/rust-lang/rustup/pull/3963
* docs(dev-guide): add guideline for atomic commits to the developer guide by @jtr860830 in https://github.com/rust-lang/rustup/pull/3969
* Remove `once_cell` dependency and use `LazyLock` instead by @InfyniteHeap in https://github.com/rust-lang/rustup/pull/3971
* docs(dev-guide): update `coding-standards` to reflect recent API changes. by @rami3l in https://github.com/rust-lang/rustup/pull/3974
* fix: fix unreachable code lints on Android by @rami3l in https://github.com/rust-lang/rustup/pull/3975
* Upgrade windows-sys to 0.59 by @djc in https://github.com/rust-lang/rustup/pull/3976
* style(taplo): enable `reorder_keys` for `*dependencies` in `Cargo.toml` by @rami3l in https://github.com/rust-lang/rustup/pull/3977
* feat(download/rustls): use `aws-lc` instead of `ring` by @rami3l in https://github.com/rust-lang/rustup/pull/3898
* ci(run): accelerate workflows by @rami3l in https://github.com/rust-lang/rustup/pull/3978
* ci(freebsd): fix build failure related to `aws-lc` by @rami3l in https://github.com/rust-lang/rustup/pull/3979
* fix(config): warn if host is incompatible with the toolchain in `rustup default` by @rami3l in https://github.com/rust-lang/rustup/pull/3980
* feat(rustup-mode): install the active toolchain by default on `rustup toolchain install` by @rami3l in https://github.com/rust-lang/rustup/pull/3983
* feat(cli)!: remove implicit toolchain installation by @rami3l in https://github.com/rust-lang/rustup/pull/3985
* ci(macos): install `awscli` from `brew` by @rami3l in https://github.com/rust-lang/rustup/pull/3989
* fix(manifest): consider possible renames in `Component::try_new()` by @rami3l in https://github.com/rust-lang/rustup/pull/3991
* Upgrade pulldown-cmark to 0.12 by @djc in https://github.com/rust-lang/rustup/pull/3999
* feat(dist): add notes for `stable` and `beta` in `components_missing_msg()` by @rami3l in https://github.com/rust-lang/rustup/pull/3920
* Allow `rustup doc` to search for unions by @taylordotfish in https://github.com/rust-lang/rustup/pull/4004
* refactor(config)!: simplify logic by @rami3l in https://github.com/rust-lang/rustup/pull/3986
* feat(cli)!: set log level to `INFO`/`DEBUG` on `--quiet`/`--verbose` if `RUSTUP_LOG` is unset by @rami3l in https://github.com/rust-lang/rustup/pull/3987
* Apply clippy suggestions from 1.81 by @djc in https://github.com/rust-lang/rustup/pull/4015
* Update semver-compatible dependencies, except openssl-src by @djc in https://github.com/rust-lang/rustup/pull/4021
* Try symlinking proxies first, falling back to hardlinking if that fails by @ChrisDenton in https://github.com/rust-lang/rustup/pull/4023
* Note that selecting VS lang packs is optional by @ChrisDenton in https://github.com/rust-lang/rustup/pull/4025
* docs(README): Point out where to find nightly/master docs. by @LunarLambda in https://github.com/rust-lang/rustup/pull/4026
* refactor(cli/common)!: deny installing a host-incompatible toolchain w/o `--force-non-host` by @rami3l in https://github.com/rust-lang/rustup/pull/4028
* Update semver-compatible dependencies by @djc in https://github.com/rust-lang/rustup/pull/4031
* Update remove_dir_all by @ChrisDenton in https://github.com/rust-lang/rustup/pull/4032
* Replace `winreg` with `windows-registry` by @InfyniteHeap in https://github.com/rust-lang/rustup/pull/3896
* Remove unnecessary methods by @InfyniteHeap in https://github.com/rust-lang/rustup/pull/4034
* tests: rust-toolchain + profile in settings by @lucacasonato in https://github.com/rust-lang/rustup/pull/4040
* Update semver-compatible dependencies by @djc in https://github.com/rust-lang/rustup/pull/4044
* fix(rustup-init/sh): fix incorrect TLS warning with curl v8.10 by @rami3l in https://github.com/rust-lang/rustup/pull/4046
* Update semver-compatible dependencies, except openssl-src by @djc in https://github.com/rust-lang/rustup/pull/4056
* fix(config): don't show toolchain names from `rust-toolchain.toml` in error message by @rami3l in https://github.com/rust-lang/rustup/pull/4060
* chore: use more workspace-wide configurations by @rami3l in https://github.com/rust-lang/rustup/pull/4061
* refactor(diskio): replace `eprintln!()` with `debug!()` by @rami3l in https://github.com/rust-lang/rustup/pull/4063
* feat(rustup-init): detect and warn about existing `settings.toml` by @rami3l in https://github.com/rust-lang/rustup/pull/4064
* refactor(utils): hoist `utils::utils` into `utils` by @rami3l in https://github.com/rust-lang/rustup/pull/4065
* fix: add powerpc64 and s390x to known target_arch values for tests by @decathorpe in https://github.com/rust-lang/rustup/pull/4067
* feat(cli/rustup-mode): support more books in `rustup doc` by @rami3l in https://github.com/rust-lang/rustup/pull/4071
* docs: update channel toolchain syntax by @kyle-leonhard in https://github.com/rust-lang/rustup/pull/4074
* fix(cli/rustup-mode): remove `.num_args()` when `.value_delimiter(',')` is present by @rami3l in https://github.com/rust-lang/rustup/pull/4076
* Upgrade to rustls-platform-verifier 0.4 by @djc in https://github.com/rust-lang/rustup/pull/4087
* Upgrade thiserror to 2 by @djc in https://github.com/rust-lang/rustup/pull/4088
* fix: add missing close body tag by @Rustin170506 in https://github.com/rust-lang/rustup/pull/4090
* Upgrade to opentelemetry 0.27 by @djc in https://github.com/rust-lang/rustup/pull/4089
* feat: add nushell support by @LittleJianCH in https://github.com/rust-lang/rustup/pull/4078
* Add aliases for remove/uninstall/unset commands by @joshtriplett in https://github.com/rust-lang/rustup/pull/4093
* chore(deps): update remove-dir-all to 1.0 by @rbtcollins in https://github.com/rust-lang/rustup/pull/4095
* Prepare 1.28.0 release by @djc in https://github.com/rust-lang/rustup/pull/4079
* Prepare 1.28.0: step 2 by @djc in https://github.com/rust-lang/rustup/pull/4098
* feat: align website style with www.rust-lang.org for consistency by @Rustin170506 in https://github.com/rust-lang/rustup/pull/4080
* Update semver-compatible dependencies by @djc in https://github.com/rust-lang/rustup/pull/4107
* chore(deps): lock file maintenance by @renovate in https://github.com/rust-lang/rustup/pull/4108
* feat(cli/rustup-mode): allow `rustup doc` with both a flag and a topic by @rami3l in https://github.com/rust-lang/rustup/pull/4070
* ci(windows): don't install `awscli` via `choco` by @rami3l in https://github.com/rust-lang/rustup/pull/4111
* docs(dev-guide/tracing): make "Adding instrumentation" a level-2 title by @rami3l in https://github.com/rust-lang/rustup/pull/4112
* chore(deps): lock file maintenance by @renovate in https://github.com/rust-lang/rustup/pull/4115
* chore(deps): lock file maintenance by @renovate in https://github.com/rust-lang/rustup/pull/4116
* Implement more complete backend selection by @djc in https://github.com/rust-lang/rustup/pull/4118
* ci(stable): fix build issues to prepare for v1.28.0 release by @rami3l in https://github.com/rust-lang/rustup/pull/4105
* fix(rustup-init/sh): don't emit "unknown macOS major version" for macOS v11+ by @rami3l in https://github.com/rust-lang/rustup/pull/4122
* fix(deps): update rust crate rustls-platform-verifier to 0.5 by @renovate in https://github.com/rust-lang/rustup/pull/4123
* drop unused dep or make them optional by @klensy in https://github.com/rust-lang/rustup/pull/4124
* chore(deps): lock file maintenance by @renovate in https://github.com/rust-lang/rustup/pull/4125
* docs(user-guide/installation): update "General tips" by @rami3l in https://github.com/rust-lang/rustup/pull/4126
* fix(ci): fix installation of `cargo-all-features` by @rami3l in https://github.com/rust-lang/rustup/pull/4131
* chore(deps): lock file maintenance by @renovate in https://github.com/rust-lang/rustup/pull/4133
* feat(cli): show the toolchain path with `rustup show [active-toolchain] --verbose` by @rami3l in https://github.com/rust-lang/rustup/pull/4130
* fix(deps): update rust crate itertools to 0.14 by @renovate in https://github.com/rust-lang/rustup/pull/4139
* fix(cli/rustup-mode)!: change `rustup doc --error_codes` to `--error-codes` by @rami3l in https://github.com/rust-lang/rustup/pull/4142
* chore(deps): lock file maintenance by @renovate in https://github.com/rust-lang/rustup/pull/4144
* fix(cli/rustup-mode): err when trying to show the default/active toolchain but there is none by @rami3l in https://github.com/rust-lang/rustup/pull/4141
* Update Windows dependencies by @kennykerr in https://github.com/rust-lang/rustup/pull/4146
* docs(user-guide/components): add deprecation notice for `wasm32-wasi` by @rami3l in https://github.com/rust-lang/rustup/pull/4149
* chore(deps): lock file maintenance by @renovate in https://github.com/rust-lang/rustup/pull/4153
* Use ARM based runners for ARM CI targets by @Kobzol in https://github.com/rust-lang/rustup/pull/4154
* ci(deploy-docs): install `mdbook` with `install-action` by @rami3l in https://github.com/rust-lang/rustup/pull/4157
* ci(linux): use public ARM64 Linux runners by @rami3l in https://github.com/rust-lang/rustup/pull/4156
* ci(doc): fix stable build of `user-guide` by @rami3l in https://github.com/rust-lang/rustup/pull/4158
* ci(schedule): promote to use the `stable` job list by @rami3l in https://github.com/rust-lang/rustup/pull/4160
* chore(deps): lock file maintenance by @renovate in https://github.com/rust-lang/rustup/pull/4161
* ci(doc): pin `mdbook` and let `renovatebot` update it by @rami3l in https://github.com/rust-lang/rustup/pull/4162
* fix(ci/doc): fix typo in renovate `datasource` by @rami3l in https://github.com/rust-lang/rustup/pull/4163
* chore(deps): lock file maintenance by @renovate in https://github.com/rust-lang/rustup/pull/4169
* Upgrade to rand 0.9 by @djc in https://github.com/rust-lang/rustup/pull/4172
* chore(deps): lock file maintenance by @renovate in https://github.com/rust-lang/rustup/pull/4174
* chore(deps): lock file maintenance by @renovate in https://github.com/rust-lang/rustup/pull/4180
* fix(component): normalize path separators by @rami3l in https://github.com/rust-lang/rustup/pull/4179
* feat(rustup-init/sh): add env var to print arch detection result by @rami3l in https://github.com/rust-lang/rustup/pull/4183
* chore(deps): lock file maintenance by @renovate in https://github.com/rust-lang/rustup/pull/4187
* fix(deps): update rust crate pulldown-cmark to 0.13 by @rami3l in https://github.com/rust-lang/rustup/pull/4188
* style(edition): migrate the codebase to the 2024 Style Edition by @rami3l in https://github.com/rust-lang/rustup/pull/4190
* build: migrate the codebase to the 2024 Language Edition by @rami3l in https://github.com/rust-lang/rustup/pull/4191
* refactor: improve binary suffix stripping by @Timmmm in https://github.com/rust-lang/rustup/pull/4193
* chore(deps): lock file maintenance by @renovate in https://github.com/rust-lang/rustup/pull/4194
* fix(deps): update rust crate windows-registry to 0.5.0 by @renovate in https://github.com/rust-lang/rustup/pull/4197
* chore(deps): update opentelemetry by @rami3l in https://github.com/rust-lang/rustup/pull/4199
* Add `TryFrom<Output>` for `SanitizedOutput` by @smoelius in https://github.com/rust-lang/rustup/pull/4201
* Do not append `EXE_SUFFIX` in `Config::cmd` by @smoelius in https://github.com/rust-lang/rustup/pull/4200
* Have mocked cargo better adhere to cargo conventions by @smoelius in https://github.com/rust-lang/rustup/pull/4203
**Full Changelog**: https://github.com/rust-lang/rustup/compare/1.27.1...1.28.0
## [1.27.1] - 2024-04-14
This new Rustup release involves some minor bug fixes.
The headlines for this release are:
1. Prebuilt Rustup binaries should be working on older macOS versions again.
2. `rustup-init` will no longer fail when `fish` is installed but `~/.config/fish/conf.d` hasn't been created.
3. Regressions regarding symlinked `RUSTUP_HOME/(toolchains|downloads|tmp)` have been addressed.
Since the release of 1.27.0, the project has welcomed a total of 7 new contributors.
Many thanks for your hard work, and we hope to see you again!
### Added
- Added the logging of `RUSTUP_UPDATE_ROOT` and `RUSTUP_DIST_(SERVER|ROOT)` when `RUSTUP_DEBUG` is set [pr#3722]
### Changed
- Ensured that CI builds target macOS 10.12+ on x64 and macOS 11.0+ on arm64 [pr#3710]
- Fixed an error when writing to rcfiles by ensuring the creation of their parent dir(s) first [pr#3712]
- Fixed unexpected errors when `RUSTUP_HOME/(toolchains|downloads|tmp)` is symlinked [pr#3742] [pr#3754]
- Fixed an unexpected error when removing a component by component name with explicit target triple [pr#3601]
- Changed `RUSTUP_WINDOWS_PATH_ADD_BIN` to be false by default [pr#3703]
- Fixed incorrect color state after `ColorableTerminal::reset` [pr#3711]
- Replaced `.` with `source` in fish shell's `source_string` [pr#3715]
- Fixed "component add" error message format [pr#3724]
- Fixed file paths in CI-generated `*.sha256` files on *nix [pr#3730]
- Removed an unnecessary debug print [pr#3734]
- Disabled the "doc opening" output on `rustup doc --path` [pr#3748]
- Fixed the update of `DisplayVersion` in the Windows registry on `rustup self update` [pr#3770]
- Bumped a lot of dependencies to their latest versions [pr#renovate-bot]
Thanks go to:
- Anas (0x61nas)
- cuiyourong (cuiyourong)
- Dirkjan Ochtman (djc)
- Eric Huss (ehuss)
- eth3lbert (eth3lbert)
- hev (heiher)
- klensy (klensy)
- Chih Wang (ongchi)
- Adam (pie-flavor)
- rami3l (rami3l)
- Robert (rben01)
- Robert Collins (rbtcollins)
- Sun Bin (shandongbinzhou)
- Samuel Moelius (smoelius)
- vpochapuis (vpochapuis)
- Renovate Bot (renovate)
**Full Changelog**: https://github.com/rust-lang/rustup/compare/1.27.0...1.27.1
[1.27.1]: https://github.com/rust-lang/rustup/releases/tag/1.27.1
[pr#3601]: https://github.com/rust-lang/rustup/pull/3601
[pr#3703]: https://github.com/rust-lang/rustup/pull/3703
[pr#3711]: https://github.com/rust-lang/rustup/pull/3711
[pr#3715]: https://github.com/rust-lang/rustup/pull/3715
[pr#3710]: https://github.com/rust-lang/rustup/pull/3710
[pr#3712]: https://github.com/rust-lang/rustup/pull/3712
[pr#3722]: https://github.com/rust-lang/rustup/pull/3722
[pr#3724]: https://github.com/rust-lang/rustup/pull/3724
[pr#3730]: https://github.com/rust-lang/rustup/pull/3730
[pr#3734]: https://github.com/rust-lang/rustup/pull/3734
[pr#3748]: https://github.com/rust-lang/rustup/pull/3748
[pr#3742]: https://github.com/rust-lang/rustup/pull/3742
[pr#3754]: https://github.com/rust-lang/rustup/pull/3754
[pr#3770]: https://github.com/rust-lang/rustup/pull/3770
## [1.27.0] - 2024-03-08
This long-awaited Rustup release has gathered all the new features and fixes since April 2023.
These changes include improvements in Rustup's maintainability, user experience, compatibility and documentation quality.
The headlines of this release are:
- Basic support for `fish` shell has been added.
- Support for the `loongarch64-unknown-linux-gnu` host platform has been added.
Also, it's worth mentioning that Dirkjan Ochtman and rami3l have joined the team and are coordinating this new release.
Finally, the project seems to have attracted a total of 23 new contributors within this release cycle. Looking forward to seeing you again in the future!
### Added
- Add basic support for `fish` shell [pr#3108]
- Add the `RUSTUP_TERM_COLOR` environment variable to force the use of colored output [pr#3435]
- Improve `rustup-init.sh`'s compatibility with `ksh` and `zsh` [pr#3475]
- Add a warning when running under Rosetta 2 [pr#3068]
- Add browser detection for RISC-V 64 platform [pr#3642]
- Add a warning when removing the last/host target for a toolchain [pr#3637]
### Changed
- Upgrade `clap` to v4 [pr#3444]
- Fix incorrect platform detection on macOS aarch64 due to Rosetta 2 [pr#3438]
- Fix incorrect platform detection on 32-bit Linux userland with a 64-bit kernel [pr#3488] [pr#3490]
- Improve Windows system32 DLL loading mechanism [pr#3493]
- Improve suggestions about missing components [pr#3453]
- Fix handling of toolchain names with special characters [pr#3518]
- Fix panic in `component list --toolchain stable` [pr#3548]
- Rename `llvm-tools-preview` component to `llvm-tools` [pr#3578]
- Try using symlinks if possible on Windows [pr#3687]
- Bump a lot of dependencies to their latest versions [pr#renovate-bot]
Thanks go to:
- Anthony Perkins (acperkins)
- Tianqi (airstone42)
- Alex Gaynor (alex)
- Alex Hudspith (alexhudspith)
- Alan Somers (asomers)
- Brett (brettearle)
- Burak Emir (burakemir)
- Chris Denton (ChrisDenton)
- cui fliter (cuishuang)
- Dirkjan Ochtman (djc)
- Dezhi Wu (dzvon)
- Eric Swanson (ericswanson-dfinity)
- Prikshit Gautam (gautamprikshit1)
- hev (heiher)
- 二手掉包工程师 (hi-rustin)
- Kamila Borowska (KamilaBorowska)
- klensy (klensy)
- Jakub Beránek (Kobzol)
- Kornel (kornelski)
- Matt Harding (majaha)
- Mathias Brossard (mbrossard)
- Christian Thackston (nan60)
- Ruohui Wang (noirgif)
- Olivier Lemasle (olivierlemasle)
- Chih Wang (ongchi)
- Pavel Roskin (proski)
- rami3l (rami3l)
- Robert Collins (rbtcollins)
- Sandesh Pyakurel (Sandesh-Pyakurel)
- Waffle Maybe (WaffleLapkin)
- Jubilee (workingjubilee)
- WÁNG Xuěruì (xen0n)
- Yerkebulan Tulibergenov (yerke)
- Renovate Bot (renovate)
**Full Changelog**: https://github.com/rust-lang/rustup/compare/1.26.0...1.27.0
[1.27.0]: https://github.com/rust-lang/rustup/releases/tag/1.27.0
[pr#3108]: https://github.com/rust-lang/rustup/pull/3108
[pr#3435]: https://github.com/rust-lang/rustup/pull/3435
[pr#3475]: https://github.com/rust-lang/rustup/pull/3475
[pr#3068]: https://github.com/rust-lang/rustup/pull/3068
[pr#3642]: https://github.com/rust-lang/rustup/pull/3642
[pr#3637]: https://github.com/rust-lang/rustup/pull/3637
[pr#3444]: https://github.com/rust-lang/rustup/pull/3444
[pr#3438]: https://github.com/rust-lang/rustup/pull/3438
[pr#3488]: https://github.com/rust-lang/rustup/pull/3488
[pr#3490]: https://github.com/rust-lang/rustup/pull/3490
[pr#3493]: https://github.com/rust-lang/rustup/pull/3493
[pr#3453]: https://github.com/rust-lang/rustup/pull/3453
[pr#3518]: https://github.com/rust-lang/rustup/pull/3518
[pr#3548]: https://github.com/rust-lang/rustup/pull/3548
[pr#3578]: https://github.com/rust-lang/rustup/pull/3578
[pr#3687]: https://github.com/rust-lang/rustup/pull/3687
## [1.26.0] - 2023-04-05
This version of Rustup involves a significant number of internal refactors, both in terms
of the Rustup code and its tests.
The headlines for this release are:
1. Add [rust-analyzer] as a [proxy] of rustup. Now you can call `rust-analyzer` and it will
be proxied to the rust-analyzer component for the current toolchain.
2. Bump the [clap] dependency from 2.x to 3.x. It's a major version bump, so there are some
help text changes, but the command line interface is unchanged.
3. Remove experimental GPG signature validation and the `rustup show keys` command. Due to its
experimental status, validating the integrity of downloaded binaries did not rely on it, and there was no option to abort the installation if a signature mismatch happened.
Multiple problems with its implementation were discovered in the recent months, which led to the decision to remove the experimental code. The team is working on the design of a new signature validation scheme, which will be implemented in the future.
In addition to a lot of work on the codebase itself, due to the length of time since the last
release this one has a record number of contributors and we thank you all for your efforts and time.
Rather than list every single merged PR since the last release, we have pulled out
a number of highlights to include in this changelog entry. For everything else,
please review the repository.
### Added
- Added `rust-analyzer` as a proxy of rustup [pr#3022]
- Added DisplayVersion for rustup to registry on Windows [pr#3047]
- Build Rustup for Windows arm64 on stable [pr#3232]
- Added `up` as an alias of the `update` command [pr#3044]
- Added details of each setting in the toolchain file in the documentation [pr#3067]
- Added automatic resume flag when retrying download with curl [pr#3089]
- Added UI tests for rustup [pr#3209]
### Changed
- Bump the `clap` dependency from 2.x to 3.x [pr#3064]
- Remove GPG signature support [pr#3277]
- Don't add toolchain bin to PATH on Windows [pr#3178]
- Remove use of hard links to symlinks on macOS [pr#3137]
- Avoid deduplicate PATH entries added during build [pr#2848]
- The toolchain name cannot be left blank [pr#2993]
- Correctly propagate subshell failures in rustup-init.sh [pr#3012]
- Enhanced warning message for Rust installation already present [pr#3038]
- Improved error message when there is an error caused by override file [pr#3041]
- Explain [proxy] in terminology documentation [pr#3091]
- Recommend tracking `Cargo.lock` with rust-toolchain file [pr#3054]
- Fix RUSTUP_PERMIT_COPY_RENAME condition so it is actually used [pr#3292]
- Bump a lot of dependencies to their latest versions [pr#renovate-bot]
[1.26.0]: https://github.com/rust-lang/rustup/releases/tag/1.26.0
[rust-analyzer]: https://github.com/rust-lang/rust-analyzer
[proxy]: https://rust-lang.github.io/rustup/concepts/proxies.html
[clap]: https://crates.io/crates/clap
[pr#3022]: https://github.com/rust-lang/rustup/pull/3022
[pr#3047]: https://github.com/rust-lang/rustup/pull/3047
[pr#3232]: https://github.com/rust-lang/rustup/pull/3232
[pr#3044]: https://github.com/rust-lang/rustup/pull/3044
[pr#3067]: https://github.com/rust-lang/rustup/pull/3067
[pr#3089]: https://github.com/rust-lang/rustup/pull/3089
[pr#3209]: https://github.com/rust-lang/rustup/pull/3209
[pr#3064]: https://github.com/rust-lang/rustup/pull/3064
[pr#3277]: https://github.com/rust-lang/rustup/pull/3277
[pr#3178]: https://github.com/rust-lang/rustup/pull/3178
[pr#3137]: https://github.com/rust-lang/rustup/pull/3137
[pr#2848]: https://github.com/rust-lang/rustup/pull/2848
[pr#2993]: https://github.com/rust-lang/rustup/pull/2993
[pr#3012]: https://github.com/rust-lang/rustup/pull/3012
[pr#3038]: https://github.com/rust-lang/rustup/pull/3038
[pr#3041]: https://github.com/rust-lang/rustup/pull/3041
[pr#3091]: https://github.com/rust-lang/rustup/pull/3091
[pr#3054]: https://github.com/rust-lang/rustup/pull/3054
[pr#3292]: https://github.com/rust-lang/rustup/pull/3292
[pr#renovate-bot]: https://github.com/rust-lang/rustup/pulls?q=is:pr+author:app/renovate+is:merged
Thanks go to:
- Daniel Silverstone (kinnison)
- Sabrina Jewson (SabrinaJewson)
- Robert Collins (rbtcollins)
- chansuke (chansuke)
- Shamil (shamilsan)
- Oli Lalonde (olalonde)
- 二手掉包工程师 (hi-rustin)
- Eric Huss (ehuss)
- J Balint BIRO (jbalintbiro)
- Easton Pillay (jedieaston)
- zhaixiaojuan (zhaixiaojuan)
- Chris Denton (ChrisDenton)
- Martin Geisler (mgeisler)
- Lucio Franco (LucioFranco)
- Nicholas Bishop (nicholasbishop)
- SADIK KUZU (sadikkuzu)
- darkyshiny (darkyshiny)
- René Dudfield (illume)
- Noritada Kobayashi (noritada)
- Mohammad AlSaleh (MoSal)
- Dustin Martin (dmartin)
- Ville Skyttä (scop)
- Tshepang Mbambo (tshepang)
- Illia Bobyr (ilya-bobyr)
- Vincent Rischmann (vrischmann)
- Alexander (Alovchin91)
- Daniel Brotsky (brotskydotcom)
- zohnannor (zohnannor)
- Joshua Nelson (jyn514)
- Prikshit Gautam (gautamprikshit1)
- Dylan Thacker-Smith (dylanahsmith)
- Jan David (jdno)
- Aurora (lilith13666)
- Pietro Albini (pietroalbini)
- Renovate Bot (renovate-bot)
## [1.25.2] - 2023-02-01
This version of Rustup changes the signature verification code to continue
accepting Rust's release signature key, which previously caused warnings due to
a time-based check.
Note that signature verification in Rustup is still an experimental feature,
and there is intentionally no way to enforce signature verification due to the
feature being incomplete.
Thanks go to:
- Pietro Albini
- Daniel Silverstone
[1.25.2]: https://github.com/rust-lang/rustup/releases/tag/1.25.2
## [1.25.1] - 2022-07-12
This version of Rustup reverts a single PR from 1.25.1 and tidies a couple of internal
bits of code.
In brief, it turns out that our optimisation for `RUSTC` and `RUSTDOC` cause problems
with some tooling which runs under one `cargo` invocation, but expects to invoke either
`cargo` or `rustc` without resetting the environment completely. As such, some particularly
confusing error messages ensued, and we decided to revert this one optimisation while we
wait to correct things in a future release.
Thanks go to:
- Joshua Nelson
- Manish Goregaokar
- Robert Collins
[1.25.1]: https://github.com/rust-lang/rustup/releases/tag/1.25.1
## [1.25.0] - 2022-07-11
This version of Rustup involves a significant number of internal cleanups, both in terms
of the Rustup code and its documentation. In addition to a lot of work on the codebase
itself, due to the length of time since the last release this one has a record number
of contributors and we thank you all for your efforts and time.
Rather than list every single merged PR since the last release, we have pulled out
a number of highlights to include in this changelog entry. For everything else,
please review the repository.
### Added
- Added `rust-gdbgui` to the proxy list [pr#2811]
- Support `rustup default none` as a way to unset the default toolchain [pr#2831]
- Build Rustup for Windows arm64 [pr#2835]
- Support Illumos/OpenIndiana platform check on website [pr#2839]
- Add info message if self-update is disabled during update [pr#2845]
- Added `RUSTC` and `RUSTDOC` environment variables for proxied child processes [pr#2958]
- Added offer to auto-install VS 2022 [pr#2954]
- Added `--verbose` mode for `rustup show` [pr#2992]
- Added support for `--force-non-host` to more subcommands [pr#2968]
### Changed
- Updated the `opener` crate used for `rustup-doc` [pr#2792]
- Changed the recursion limit for tool/proxy invocation to 20 [pr#2812]
- Updated to newer `effective-limits` crate to reduce "sysinfo not supported" errors [pr#2817]
- Handle `-y` more robustly in `rustup-init.sh` [pr#2815]
- Fix infinite recursion in bash completion when rustc not on PATH [pr#2833]
- Update macOS aarch64 CI to newer xcode [pr#2877]
- Update website to load TTF fonts more effectively [pr#2862]
- Retry curl invocations in `rustup-init.sh` [pr#2869]
- Better handle busybox's wget in `rustup-init.sh` [pr#2885]
- Improve target matching to reduce spurious deprecation warnings [pr#2854]
- Parse channel manifest only once to improve performance [pr#2898]
- Remove trailing slashes from toolchain names [pr#2897]
- Migrate OpenPGP support to Sequoia PGP [pr#2847]
- We now send a user agent on http requests to improve compatibility with proxies [pr#2953]
- We won't prepend `${CARGO_HOME}/bin` to `PATH` unless it's missing [pr#2978]
Thanks go to:
- 二手掉包工程师 (hi-rustin)
- Brian Bowman (Seeker14491)
- Jon Gjengset (jonho)
- pierwill
- Daniel Silverstone (kinnison)
- Robert Collins (rbtcollins)
- Alan Somers (asomers)
- Brennan Vincent (umanwizard)
- Joshua Nelson (jyn514)
- Eric Huss (ehuss)
- Will Bush (willbush)
- Thad Guidry (thadguidry)
- Alexander Lovchin (alovchin91)
- zoodirector
- Takayuki Nakata (giraffate)
- Yusuke Abe (chansuke)
- Wyatt Carss (wcarss)
- Sondre Aasemoen (sondr3)
- facklambda
- Chad Dougherty (crd477)
- Noritada Kobayashi (noritada)
- Milan (mdaverde)
- Pat Sier (pjsier)
- Matt Keeter (mkeeter)
- Alex Macleod (alexendoo)
- Sathwik Matsa (sathwikmatsa)
- Kushal Das (kushaldas)
- Justus Winter (teythoon)
- k900
- Nicolas Ambram (nico-abram)
- Connor Slade (basicprogrammer10)
- Yerkebulan Tulibergenov (yerke)
- Caleb Cartwright (calebcartwright)
- Matthias Beyer (matthiasbeyer)
- spacemaniac
- Alex Touchet (atouchet)
- Guillaume Gomez (guillaumegomez)
- Chris Denton (chrisdenton)
- Thomas Orozco (krallin)
- cui fliter (cuishuang)
- Martin Nordholts (enselic)
- Emil Gardström (emilgardis)
- Arlo Siemsen (arlosi)
[1.25.0]: https://github.com/rust-lang/rustup/releases/tag/1.25.0
[pr#2968]: https://github.com/rust-lang/rustup/pull/2968
[pr#2992]: https://github.com/rust-lang/rustup/pull/2992
[pr#2978]: https://github.com/rust-lang/rustup/pull/2978
[pr#2954]: https://github.com/rust-lang/rustup/pull/2954
[pr#2958]: https://github.com/rust-lang/rustup/pull/2958
[pr#2953]: https://github.com/rust-lang/rustup/pull/2953
[pr#2847]: https://github.com/rust-lang/rustup/pull/2847
[pr#2845]: https://github.com/rust-lang/rustup/pull/2845
[pr#2897]: https://github.com/rust-lang/rustup/pull/2897
[pr#2898]: https://github.com/rust-lang/rustup/pull/2898
[pr#2854]: https://github.com/rust-lang/rustup/pull/2854
[pr#2839]: https://github.com/rust-lang/rustup/pull/2839
[pr#2885]: https://github.com/rust-lang/rustup/pull/2885
[pr#2869]: https://github.com/rust-lang/rustup/pull/2869
[pr#2862]: https://github.com/rust-lang/rustup/pull/2862
[pr#2877]: https://github.com/rust-lang/rustup/pull/2877
[pr#2835]: https://github.com/rust-lang/rustup/pull/2835
[pr#2831]: https://github.com/rust-lang/rustup/pull/2831
[pr#2811]: https://github.com/rust-lang/rustup/pull/2811
[pr#2833]: https://github.com/rust-lang/rustup/pull/2833
[pr#2815]: https://github.com/rust-lang/rustup/pull/2815
[pr#2817]: https://github.com/rust-lang/rustup/pull/2817
[pr#2812]: https://github.com/rust-lang/rustup/pull/2812
[pr#2792]: https://github.com/rust-lang/rustup/pull/2792
## [1.24.3] - 2021-05-31
This patch release focuses around resolving some regressions in behaviour in
the 1.24.x series. One problem, related to accounting for the release of data
blocks in the unpack slab allocator, fixed in [pr#2779], would manifest in the
installer [hanging during installation][issue#2774]. A second, fixed in
[pr#2781], manifested in very early Rust versions (1.0 through 1.7) [repeatedly
having their checksums fetched][issue#2777] 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
[issue#2777]: https://github.com/rust-lang/rustup/issues/2777
[issue#2774]: https://github.com/rust-lang/rustup/issues/2774
[pr#2782]: https://github.com/rust-lang/rustup/pull/2782
[pr#2780]: https://github.com/rust-lang/rustup/pull/2780
[pr#2781]: https://github.com/rust-lang/rustup/pull/2781
[pr#2779]: https://github.com/rust-lang/rustup/pull/2779
[pr#2763]: https://github.com/rust-lang/rustup/pull/2763
[pr#2433]: https://github.com/rust-lang/rustup/pull/2433
## [1.24.2] - 2021-05-05
This patch release primarily exists to work around a
[problem discovered][issue#2748] on some Windows (and potentially other) systems
where a combination of factors, including suspected allocator behaviour, led to
Rustup failing to install certain toolchains. The symptom users observed was a
failure to allocate 1677732 bytes: a chunk used for unpacking very large files.
We hope this is fixed in a combination of [pr#2750][] and [pr#2756][].
In addition to that, we also:
### Added
- SHA256 links on the download page so that you can verify your downloads if you
want to be certain. [pr#2719][]
- Added `--verbose` to `rustup show active-toolchain` to also display the version
of the compiler for the toolchain. [pr#2710]
- We now support `1.x` installation channel names for versions 1.0 through 1.8
by hardcoding `1.x.0` since they lack patch releases. [pr#2758][]
### Changed
- Amended the behaviour of the 'missing components' code so that if the problem
exists when _installing_ a toolchain (rather than updating it) the message
is different and leads you to other remediations. [pr#2709][]
- Amended the error message for a missing component so that when you're using
a nightly toolchain and `rust-std` is missing for a given target, we lead you
to `cargo build -Z build-std` as a remediation. [pr#2732][]
- Improved the documentation around `settings.toml` locations. [pr#2698][]
- Internal improvements around retrying removal of files. [pr#2752][]
Thanks go to:
- 二手掉包工程师 (hi-rustin)
- Robert Collins
- Daniel Silverstone
- Joshua Nelson
- João Marcos Bezerra
- Carol (Nichols || Goulding)
- Josh Rotenberg
- Martijn Gribnau
- pierwill
[issue#2748]: https://github.com/rust-lang/rustup/issues/2748
[pr#2753]: https://github.com/rust-lang/rustup/pull/2753
[pr#2756]: https://github.com/rust-lang/rustup/pull/2756
[pr#2752]: https://github.com/rust-lang/rustup/pull/2752
[pr#2758]: https://github.com/rust-lang/rustup/pull/2758
[pr#2698]: https://github.com/rust-lang/rustup/pull/2698
[pr#2750]: https://github.com/rust-lang/rustup/pull/2750
[pr#2732]: https://github.com/rust-lang/rustup/pull/2732
[pr#2710]: https://github.com/rust-lang/rustup/pull/2710
[pr#2709]: https://github.com/rust-lang/rustup/pull/2709
[pr#2719]: https://github.com/rust-lang/rustup/pull/2719
[1.24.2]: https://github.com/rust-lang/rustup/releases/tag/1.24.2
## [1.24.1] - 2021-04-27
This bugfix release [corrects an oversight][pr#2738] in the code we introduced to check for
unknown proxy names. The original change accidentally omitted the `rustfmt` and
`cargo-fmt` proxies due to a quirk of the fact those proxies were not originally
part of a Rust component.
We're sorry for pain this may have caused.
[pr#2738]: https://github.com/rust-lang/rustup/pull/2738
[1.24.1]: https://github.com/rust-lang/rustup/releases/tag/1.24.1
## [1.24.0] - 2021-04-27
This release is mostly a bugfix and quality of life improvement release. However
the headlines for this release are:
1. Support of `rust-toolchain.toml` as a filename for specifying toolchains.
2. Streaming support for large files to better enable Rust on lower memory
platforms such as some Raspberry Pi systems.
When we introduced TOML support to `rust-toolchain` we expected to see some
uptake but we saw a lot more than we had expected. Since Cargo is migrating to
explicit `.toml` extensions on things like `.cargo/config.toml` it was
considered sensible to also do this for `rust-toolchain` - at least the `toml`
variant thereof.
This release of `rustup` has seen a significant number of new contributors to
the project, and we hope to see many of you again in the future.
### Added
- Optional use of RUSTLS as TLS backend for Reqwest [pr#2517][]
- We now support some corner cases in tarballs to permit unpacking early Rust
versions [pr#2502][]
- When running `rustup check` we now report possible `rustup` upgrades too.
[pr#2615][]
- We detect and warn if you try and install on an `x32` system since for now
Rust isn't hostable on that. [pr#2622][]
- We do, however, support `gnux32` as an environment label ready for future
support [pr#2631][]
- We now support managing `PATH`s on Windows which contain non-unicode values.
[pr#2649][]
- You can now name the TOML variant of `rust-toolchain` as `rust-toolchain.toml`
[pr#2653][]
- We prompt harder when checking for the MSVC tooling on Windows now.
[pr#2529][]
- _Experimental_ support for `zstd` compressed tarballs in channels. NOTE, this
does not mean channels will magically gain `zstd` compressed component files
any time soon. [pr#2676][]
- Register `rustup` with the Windows installed programs list when installing.
This is another experiment into whether this is useful for Windows users.
[pr#2670][]
- Added the ability to specify a `path` rather than a toolchain channel in the
`rust-toolchain.toml` file. [pr#2678][]
### Changed
- `rustup-init` now detects tls1.2 for cURL 7.73+ [pr#2604][]
- Installation now indicates the defaults on all questions [pr#2605][]
- We now support the Big Sur major OS version [pr#2607][]
- You can now specify `profile` in `rust-toolchain`'s TOML form [pr#2586][]
- We now use `.` instead of `source` to better support non-bash POSIX shells
[pr#2616][]
- We fixed a nasty corner case on wildcarded component installation/recognition
[pr#2602][]
- Our website now has a favicon [pr#2419][]
- We no longer rely on a broken `mktemp` invocation, this should make
`rustup-init.sh` more compatible [pr#2650][]
- We now do a better job of reporting non-installable toolchains [pr#2562][]
- We cope better when modifying RC files which lack a trailing newline
[pr#2667][]
- We are edging closer to requiring a specific force argument to install a
toolchain whose host doesn't match the running system. This may break your
CI in future so you should check carefully. The main use-case for this
capability is the `rust-embedded/cross` project which we are working with
to ensure this doesn't cause problems in the future. [pr#2672][]
- Support streaming large files during unpack phase. [pr#2707][]
- We report when you call `rustup` with an unsupported `arg0` -- for example
if you make a symlink or hard link to the binary with a name other than one
of the proxies. [pr#2716][]
We also cleaned up a number of error message cases, including some on invalid
toolchain name [pr#2613][], a better message when no toolchain is installed
[pr#2657][], and some on component unavailability [pr#2619][].
### Documented
- Added notes about Powershell to proxies documentation [pr#2592][]
- Various updates to the `rustup` manual build process including [pr#2628][]
- Small fixes on how to build `rustup` documentation [pr#2641][]
- We clarified the message around restarting the shell when installing
[pr#2684][]
Thanks go to:
- SHA Miao
- est31
- Andrew Norton
- Gareth Hubball
- 二手掉包工程师 (hi-rustin)
- Tudor Brindus
- Eduard Miller
- Daniel Alley
- наб (nabijaczleweli)
- Eric Huss
- chansuke
- skim (sl4m)
- Joshua Nelson
- kellda
- Alex Chan
- Philipp Oppermann
- Michael Cooper
- Aloïs Micard
- Gurkenglas
- Vasili (3point2)
- Jakub Stasiak
- Robert Collins
- Jubilee (workingjubilee)
- Avery Harnish
[pr#2716]: https://github.com/rust-lang/rustup/pull/2716
[pr#2718]: https://github.com/rust-lang/rustup/pull/2718
[pr#2707]: https://github.com/rust-lang/rustup/pull/2707
[pr#2678]: https://github.com/rust-lang/rustup/pull/2678
[pr#2695]: https://github.com/rust-lang/rustup/pull/2695
[pr#2670]: https://github.com/rust-lang/rustup/pull/2670
[pr#2684]: https://github.com/rust-lang/rustup/pull/2684
[pr#2676]: https://github.com/rust-lang/rustup/pull/2676
[pr#2529]: https://github.com/rust-lang/rustup/pull/2529
[pr#2667]: https://github.com/rust-lang/rustup/pull/2667
[pr#2653]: https://github.com/rust-lang/rustup/pull/2653
[pr#2657]: https://github.com/rust-lang/rustup/pull/2657
[pr#2562]: https://github.com/rust-lang/rustup/pull/2562
[pr#2649]: https://github.com/rust-lang/rustup/pull/2649
[pr#2650]: https://github.com/rust-lang/rustup/pull/2650
[pr#2641]: https://github.com/rust-lang/rustup/pull/2641
[pr#2419]: https://github.com/rust-lang/rustup/pull/2419
[pr#2631]: https://github.com/rust-lang/rustup/pull/2631
[pr#2628]: https://github.com/rust-lang/rustup/pull/2628
[pr#2622]: https://github.com/rust-lang/rustup/pull/2622
[pr#2619]: https://github.com/rust-lang/rustup/pull/2619
[pr#2615]: https://github.com/rust-lang/rustup/pull/2615
[pr#2602]: https://github.com/rust-lang/rustup/pull/2602
[pr#2502]: https://github.com/rust-lang/rustup/pull/2502
[pr#2616]: https://github.com/rust-lang/rustup/pull/2616
[pr#2613]: https://github.com/rust-lang/rustup/pull/2613
[pr#2586]: https://github.com/rust-lang/rustup/pull/2586
[pr#2607]: https://github.com/rust-lang/rustup/pull/2607
[pr#2605]: https://github.com/rust-lang/rustup/pull/2605
[pr#2604]: https://github.com/rust-lang/rustup/pull/2604
[pr#2517]: https://github.com/rust-lang/rustup/pull/2517
[pr#2592]: https://github.com/rust-lang/rustup/pull/2592
[1.24.0]: https://github.com/rust-lang/rustup/releases/tag/1.24.0
## [1.23.1] - 2020-12-01
This point release is mostly to correct a problem where if you installed
`rustup` with `--no-modify-path` then the `.cargo/env` file would not be created
in some cases. In addition, we have rebuilt the macos binaries to correct an
oversight which caused older Macs to be unable to run the new version. If you
encountered a problem with `liblzma` on mac os 10.13 then this version should
solve that for you.
Finally, the illumos binary is now part of the release properly.
Thanks go to:
- Élie Roudninski
- Jeroen Ooms
- Jake Goulding
- Joshua M. Clulow
- Neil Mitchell
- Richard Gomes
[1.23.1]: https://github.com/rust-lang/rustup/releases/tag/1.23.1
## [1.23.0] - 2020-11-27
The main points for this release are that `rustup` now supports a number of new
host platforms, most importantly of which is `aarch64-apple-darwin` for the new
Apple M1 based devices, and that we support a new structured format for the
`rust-toolchain` file. You can find more information
[in the new book format documentation][toolchain-file].
[toolchain-file]: https://rust-lang.github.io/rustup/overrides.html#the-toolchain-file
It is now also possible to install a particular release of the compiler as a
two-part version number. If you do this, then the release channel will only
update if there is a patch release of the compiler. For example, if you ran
`rustup toolchain install 1.48` at the time of this release of `rustup` you
would end up with a toolchain called `1.48` which contained `1.48.0`. If
subsequently `1.48.1` were released, a `rustup update` would update your `1.48`
from `1.48.0` to `1.48.1`.
As always, there were more changes than described below, thanks to everyone
who contributed to this release. Highlights for this release are detailed below,
but you can always see the full list of changes via the Git repository.
### Added
- Our documentation is now in "book" form. [pr#2448]
- When you retrieve `rustup`'s version, you'll also be told the version of the
compiler for your default toolchain, to disambiguate things a little. [pr#2465]
- Support added for `aarch64-unknown-linux-musl` [pr#2493]
- Support added for `aarch64-apple-darwin` [pr#2521]
- Support added for `x86_64-unknown-illumos` [pr#2432]
- You can now override the system-wide settings fallback path [pr#2545]
- Support for `major.minor` channels [pr#2551]
### Changed
- Significant updates to our handling of `PATH` updating on installation was
made. Nominally this ought to have little external change visibility but