Latest in branch 1.90
1.90.0
Released 18 Sep 2025
(8 months ago)
SoftwareRust
Version1.90
Initial release1.90.0
18 Sep 2025
(8 months ago)
Latest release1.90.0
18 Sep 2025
(8 months ago)
Support status30 Oct 2025
(Ended 7 months ago)
Release noteshttps://github.com/rust-lang/rust/releases/tag/1.90.0
Source codehttps://github.com/rust-lang/rust/tree/1.90.0
Downloadhttps://github.com/rust-lang/rust/releases/tag/1.90.0
Rust 1.90 ReleasesView full list

What Is New in Rust 1.90

CategoryHighlights
New FeaturesCargo now supports cargo publish --workspace to publish all crates in a workspace in dependency order.
ImprovementsLLD is the default linker for the x86_64-unknown-linux-gnu target, delivering faster link times especially for large or debug-heavy binaries.
Breaking ChangesThe x86_64-apple-darwin target has been demoted to Tier 2 with host tools, reducing test coverage and future compatibility guarantees.

What does the new default LLD linker mean for my Linux builds?

The LLD linker is now the default for the x86_64-unknown-linux-gnu target, which usually cuts link times dramatically.

  • Large binaries and those with extensive debug info see the biggest gains.
  • Incremental rebuilds become noticeably faster.
  • If you encounter compatibility issues, you can opt out with -C linker-features=-lld via RUSTFLAGS or a .cargo/config.toml entry.
[target.x86_64-unknown-linux-gnu]
rustflags = ["-Clinker-features=-lld"]

How can I publish an entire workspace with a single Cargo command?

Cargo now supports cargo publish --workspace, which automatically determines the correct publish order based on inter-crate dependencies.

  • Works with dry-run mode to verify builds before actual publishing.
  • All crates are built as if they were already published, catching potential issues early.
  • Network or server failures can still leave a partially published workspace; the operation is not atomic.
cargo publish --workspace

What are the implications of demoting x86_64-apple-darwin to Tier 2?

The x86_64-apple-darwin target is now Tier 2 with host tools, meaning it will continue to build but receives less automated testing.

  • Standard library and compiler binaries are still distributed via rustup.
  • Reduced test coverage may lead to regressions that are not caught early.
  • Teams relying on strict CI validation should monitor this target for unexpected breakages.

Which APIs have become const-stable in Rust 1.90?

Several APIs that were previously stable are now allowed in const contexts, enabling their use inside const fn and other compile-time evaluations.

  • This expands the range of compile-time computation possible without resorting to unsafe workarounds.
  • Check the official release notes for the exact list of newly const-stable items.

Are there any other platform tier changes I should know about?

The only platform tier change in this release is the demotion of x86_64-apple-darwin to Tier 2.

  • All other targets retain their previous tier status.
  • Refer to the platform support page for the full tier matrix.

Frequently Asked Questions

Do I need to modify my build scripts to start using LLD?
You can keep your existing scripts; LLD is used automatically, but you can opt out by adding -C linker-features=-lld to your RUSTFLAGS or Cargo config.

Can I publish a workspace that contains private crates?
Yes, cargo publish --workspace works as long as the private crates are not part of the publish list.

Will the Tier 2 status of x86_64-apple-darwin break my CI pipelines?
It may affect CI if you rely on the full Tier 1 test coverage, but builds will still succeed.

Which command shows the newly const-stable APIs?
The release notes list the APIs that are now const-stable; there is no dedicated command.

Is the workspace publishing feature atomic?
No, network or server errors can still result in a partially published workspace.

Releases In Branch 1.90

VersionRelease date
1.90.018 Sep 2025
(8 months ago)