-
Notifications
You must be signed in to change notification settings - Fork 893
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dist: bump rustup
version to 1.28.0
#4041
Conversation
@djc Just to make sure that we're on the same page, are you still working on the release notes for this time? No pressure, I'm just trying to prevent duplicate labor :) |
@@ -1,5 +1,73 @@ | |||
# Changelog | |||
|
|||
## [1.28.0] - 2024-10-07 | |||
|
|||
## What's Changed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For now it's just hand-picked lines from the GitHub-generated changelog...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GitHub Copilot gives an interesting summary for this changelog diff. Might be an acceptable starting point...
The summary of the changelog in PR#4041 is categorized as follows:
New Features
- Make
reqwest/rustls
the new default pr#3798 - Reflect the download/TLS backends in the user agent pr#3815
- Add
--quiet
torustup toolchain list
and friends pr#3862 - Use
rustls-platform-verifier
pr#3903 - Add hint to run
rustup self
when err desc isself
pr#3901 - Set log level to
WARN
on-q
ifRUSTUP_LOG
is unset pr#3911 - Add loongarch64-unknown-linux-musl support pr#3921
- Warn when removing the default/active toolchain pr#3924
- Refine suggestions regarding manifest checksum mismatches pr#3923
- Install the active toolchain by default on
rustup toolchain install
pr#3983 - Remove implicit toolchain installation pr#3985
- Use
aws-lc
instead ofring
pr#3898 - Set log level to
INFO
/DEBUG
on--quiet
/--verbose
ifRUSTUP_LOG
is unset pr#3987
Bug Fixes
- Work around
hyper
hang issue by adjustingreqwest
config pr#3855 - Fix misleading "uninstalled toolchain" notification pr#3869
- Handle the possible unavailability of
/proc
inrustup-init.sh
pr#3800 - Don't install toolchain on
rustup --version
pr#3948 - Return
ExitCode(1)
whenupdate()
fails pr#3952 - Warn if host is incompatible with the toolchain in
rustup default
pr#3980 - Consider possible renames in
Component::try_new()
pr#3991
Refactors
- Rewrite
rustup-init
withclap_derive
pr#3814 - Rewrite
rustup
withclap_derive
pr#3596 - Refactor around use of
Process
pr#3860 - Pass Process around explicitly pr#3871
- Deny installing a host-incompatible toolchain w/o
--force-non-host
pr#4028 - Replace
winreg
withwindows-registry
pr#3896
Windows-Specific Improvements
- Replace remaining
winapi
usage withwindows-sys
pr#3802 - Add Windows Arm64 to Other Installation Methods pr#3854
- Finalise Rustup Windows Arm64 support pr#3840
Miscellaneous
- Reduce code duplication for show commands pr#3813
- Make
rustup show
output info in a more logical order pr#3225 - Stop showing ETA after download is complete pr#3827
- Switch from sync to a tokio runtime pr#3367
- Consistently add context with file path when parsing fails pr#3853
- Simplify process interface pr#3764
- Use serde to encode/decode various TOML formats pr#3864
- Ship
tracing
and friends by default pr#3803 - Inline errors, rename TLS backend pr#3888
- Mention
RUSTUP_LOG
and console-based tracing in dev guide pr#3879 - Allow
rustup doc
to search for unions pr#4004 - Try symlinking proxies first, falling back to hardlinking if that fails pr#4023
You can view more details here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking good! Sorry for dropping the ball on moving this forward.
Probably should also mention that we added @ChrisDenton as a team member during this release cycle.
@@ -134,7 +134,7 @@ regex = "1" | |||
members = ["download"] | |||
|
|||
[workspace.package] | |||
version = "1.27.1" | |||
version = "1.28.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So you previously suggested calling this 2.0 on Discord.
I'm wondering if we should use Rustup v2.0.0 instead of v1.28.0. The changes since this May have been dramatic and, maybe this way we can better communicate the breakage regarding #3635.
I said:
Yeah, might make sense
@rbtcollins said:
I have no objection. We have not done strict semver thus far
Here you're updating to 1.28.0 instead of 2.0.0, so has your thinking changed?
|
||
## New Contributors | ||
|
||
- @kennykerr made their first contribution in https://github.com/rust-lang/rustup/pull/3802 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I'd prefer to skip this section, IMO it's mostly irrelevant to the CHANGELOG audience.
Instead of "one of [..] biggest updates", just say "a big update"? I'm not sure it feels like a lot of new features to me, and I'd like to work the word "modernization" in there somewhere (to represent async/derived clap/rustls by default/tracing/serde).
How/why is this breaking? Not sure it's worth calling out at this level.
Hmm, not sure the Cargo feature flag is noteworthy (enough) for this? I imagine most people use the normal install method and are thus never exposed to our feature setup.
Maybe briefly mention why we don't use
Not sure the internal changes are worth mentioning here, although I might be misunderstanding how you want to use this content. I think there are three levels of detail:
For these internal changes, I think they should definitely not be in the blog post, and maybe should not even be in the high-level release notes, for the simple reason that there should not be much impact on the user. |
@djc I think it'd be better to close my PR first when you are working on the release notes. I definitely agree that the headlines should, above all, be user-facing, although it still think it might be worth it to give credits to internal changes like the VSCode team has done in the "Engineering" section, maybe near the end of the release notes. |
This is the 1st PR for the
1.28.0
release according to our release process.Checklist
Draft the release blog post(Not required, since we're doing a beta release).1.28.0 - 2024-10-07
This new release might be one of rustup's biggest updates in quite a while. In the making since mid-2023, it has combined a significant amount of new features and internal cleanups.
The headlines for this release are:
rustup toolchain install
with no arguments pr#3983rustup toolchain install
orrustup default
will now be rejected without explicitly adding--force-non-host
pr#4028reqwest-rustls-tls
is now our new default download backend pr#3798RUSTUP_USE_CURL
andRUSTUP_USE_RUSTLS
environment variables remain valid in this new version, but the default value ofRUSTUP_USE_RUSTLS
has been changed to1
rustls-platform-verifier
whenrustls
is activated for better platform compatibility pr#3903rustls
has been changed fromring
toaws-lc-rs
to support P521 signatures pr#3898reqwest-default-tls
feature flag is now renamedreqwest-native-tls
pr#3888RUSTUP_LOG
environment variable behaves similarly toRUSTC_LOG
andCARGO_LOG
, and has replacedRUSTUP_DEBUG
for richer diagnostics powered bytracing
. See the relevant section from the dev guide for more details pr#3803 pr#3875 pr#3879aarch64-pc-windows-msvc
: see https://win.rustup.rs/aarch64 for the native binary pr#3840 pr#3854loongarch64-unknown-linux-musl
pr#3921In addition to all of the above, we have also made the following adjustments:
Changed
tokio
-based async application pr#3367process
internal APIs underwent significant refactoring to make this easier pr#3764 pr#3860 pr#3871 pr#3877rustup-init
andrustup
's CLI argument parsers have been rewritten usingclap_derive
, eliminating a series of inconsistencies pr#3814 pr#3596(to be finished)