Latest in branch 1.69
1.69.0
Released 20 Apr 2023
(3 years ago)
SoftwareRust
Version1.69
Initial release1.69.0
20 Apr 2023
(3 years ago)
Latest release1.69.0
20 Apr 2023
(3 years ago)
Support status02 Jun 2023
(Ended 3 years ago)
Release noteshttps://github.com/rust-lang/rust/releases/tag/1.69.0
Source codehttps://github.com/rust-lang/rust/tree/1.69.0
Downloadhttps://github.com/rust-lang/rust/releases/tag/1.69.0
Rust 1.69 ReleasesView full list

What Is New in Rust 1.69

CategoryHighlights
New FeaturesConst-stabilized APIs; Cargo now suggests automatic fixes for warnings.
ImprovementsBuild scripts no longer emit debug information by default; many small performance and usability tweaks.

How does Cargo now suggest automatic fixes for warnings?

Cargo now prints a suggestion to run cargo fix or cargo clippy --fix when it encounters warnings that can be fixed automatically.

This helps developers address simple issues without leaving the command line, keeping the codebase clean and reducing the noise of repetitive warnings.

warning: unused import: `std::hash::Hash`
 --> src/main.rs:1:5
  |
1 | use std::hash::Hash;
  |     ^^^^^^^^^^^^^^^
  = note: `#[warn(unused_imports)]` on by default

warning: `foo` (bin "foo") generated 1 warning (run `cargo fix --bin "foo"` to apply 1 suggestion)

If you want to apply fixes across an entire workspace, a plain cargo fix is sufficient; the detailed invocation is only needed for fine-grained control.

Why are build scripts compiled without debug information by default?

Build scripts are compiled without debug symbols in order to speed up compilation and reduce the size of the intermediate artifacts.

This change has no visible effect on successful builds, but backtraces from failing build scripts will contain less detail.

When you need full backtraces, re-enable debug info by adding the following to Cargo.toml:

[profile.dev.build-override]
debug = true
[profile.release.build-override]
debug = true

Which APIs became const-stable in Rust 1.69?

Rust 1.69 promotes a handful of standard-library items to const-stable, allowing them to be used inside const fn and other constant evaluation contexts.

This expands the toolbox for compile-time computation without requiring nightly features, making const-generic code easier to write and maintain.

Frequently Asked Questions

Does Cargo automatically apply the suggested fixes after updating to 1.69?
Cargo only prints the suggestion; you still need to run cargo fix or cargo clippy --fix manually.

How can I re-enable debug information for build scripts if I need detailed backtraces?
Add a [profile.dev.build-override] debug = true (and optionally [profile.release.build-override] debug = true) section to your Cargo.toml.

Will existing code that used previously unstable const APIs break after 1.69?
No, the APIs are now stable so existing code continues to work and can be used in const contexts.

How many contributors participated in the Rust 1.69 release?
Over 500 contributors submitted more than 3,000 commits.

Is there any breaking change in Rust 1.69 that requires code modifications?
No, the release does not introduce breaking changes.

What command updates my toolchain to Rust 1.69?
Run rustup update stable to upgrade to the latest stable release.

Releases In Branch 1.69

VersionRelease date
1.69.020 Apr 2023
(3 years ago)