Skip to content

Hint that a new Rust release may be available#4869

Merged
rami3l merged 2 commits into
rust-lang:mainfrom
FranciscoTGouveia:new-rust-release
Jul 8, 2026
Merged

Hint that a new Rust release may be available#4869
rami3l merged 2 commits into
rust-lang:mainfrom
FranciscoTGouveia:new-rust-release

Conversation

@FranciscoTGouveia

@FranciscoTGouveia FranciscoTGouveia commented May 24, 2026

Copy link
Copy Markdown
Contributor

Closes #4846.

After a rustup command completes (excluding proxy commands), rustup checks whether a new Rust release is available.

To avoid introducing any additional overhead, this feature does not communicate with the release server.
Instead, it checks whether the stable toolchain manifest date is more than six weeks old.
Since Rust follows a regular and predictable release cadence, this should provide a sufficiently accurate indication that a new release is available.

When an outdated stable toolchain is detected, rustup prints a hint suggesting that the user may update their stable toolchain; this hint is shown at most once per day.
Users who prefer not to receive these hints can opt out with rustup set release-hint false.

I have run some benchmarks (100 iterations) for the rustup show command and observed no significant slowdown (1.1x) when we do not show the hint.
However, due to manifest parsing, there is a 1.4x slowdown when the hint is shown (once per day).

Feedback is appreciated on:

  1. Whether this approach and its associated overhead are acceptable, or if we should take a different direction;
  2. Which rustup commands should display this hint;
  3. Whether relying on Rust’s regular release cadence, instead of contacting the release server, is acceptable;

Comment thread src/cli/common.rs Outdated
Comment thread src/cli/common.rs Outdated

@djc djc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM modulo comments. Please squash the commits?

View changes since this review

Comment thread src/cli/rustup_mode.rs
@rustbot

This comment has been minimized.

@FranciscoTGouveia FranciscoTGouveia marked this pull request as ready for review June 22, 2026 16:14
Comment thread src/cli/common.rs Outdated
Comment thread doc/user-guide/src/environment-variables.md Outdated
Comment thread src/cli/common.rs Outdated
Comment thread src/cli/common.rs Outdated
Comment thread doc/user-guide/src/environment-variables.md Outdated
@FranciscoTGouveia FranciscoTGouveia force-pushed the new-rust-release branch 2 times, most recently from b64ea36 to 33eae97 Compare June 30, 2026 16:18
Comment thread src/state.rs Outdated
Comment thread tests/suite/cli_self_upd.rs Outdated
Comment thread src/state.rs Outdated
Comment thread src/cli/common.rs Outdated
@rustbot

This comment has been minimized.

@FranciscoTGouveia FranciscoTGouveia force-pushed the new-rust-release branch 3 times, most recently from 4400790 to b4a55d1 Compare July 2, 2026 17:23
@rustbot

rustbot commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

Comment thread src/config.rs Outdated
Comment thread src/cli/rustup_mode.rs Outdated
@FranciscoTGouveia

Copy link
Copy Markdown
Contributor Author

I believe all review comments are now addressed.
Should I update the initial PR message to reflect the changes done during the review process (i.e., using rustup set release-hint instead of an environment variable)?

@rami3l

rami3l commented Jul 7, 2026

Copy link
Copy Markdown
Member

@FranciscoTGouveia I think we can merge this first and see how it goes. Many thanks for making this patch :)

PS: I won't backport this patch to 1.29 yet to give it more confidence WRT stability; if we hit #4942 in the process I think it's safe to just remove the state file. The more important thing here is that @Cloud0310 has a new file to migrate for XDG.

@rami3l rami3l added this pull request to the merge queue Jul 7, 2026
@rami3l rami3l removed this pull request from the merge queue due to a manual request Jul 7, 2026
@rami3l rami3l added this pull request to the merge queue Jul 8, 2026
Merged via the queue into rust-lang:main with commit d84e63b Jul 8, 2026
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Notify users when a new stable Rust release is available

4 participants