stack.pulse
#stacks/rust/language

Rust release notes, breaking changes, and upgrade notes.

A language empowering everyone to build reliable software StackPulse turns upstream changelogs into scannable summaries with risky changes, deprecations, migration notes, and source links.

releases
5
breaking
3
security
3
deprecated
1
migrations
0

Get source-linked upgrade notes and occasional sponsor recommendations. No GitHub login required.

what stackpulse tracks

Rust releases from GitHub

StackPulse watches Rust release notes and keeps the original source link close to every summary.

upgrade risk

Breaking changes and deprecations

Risky changes are separated from normal feature notes so you can scan upgrade impact before changing production dependencies.

migration notes

Source-backed next steps

Migration steps and recommended actions are only shown when the upstream release notes support them.

# latest_releases

source-backed
1.96.0highbreakingdeprecationfeaturesecurityMay 28, 2026

Rust 1.96.0

This release introduces several language and compiler enhancements, including support for s390x vector registers in inline assembly and improved handling of `cfg` metavariables. It also stabilizes APIs like `assert_matches!` and `debug_assert_matches!`, and addresses security vulnerabilities with fixes for CVEs.

affected

Developers using `avr` targets or relying on `BTreeMap::append()` with incorrect `Ord` impls may be affected by breaking changes.

action

Update dependencies and review code for compatibility with breaking changes, especially on `avr` targets.

release_signals
-On `avr` targets, `c_double` is now `f32` to match C's 32-bit `double` type
-Importing structs with `::{self [as name]}` is no longer permitted
-`BTreeMap::append()` may now cause panics for types with incorrect `Ord` impls
!Fixed CVE-2026-5222
!Fixed CVE-2026-5223
!Deprecation notes in Rustdoc are now rendered like any other documentation
+Allow passing `expr` metavariable to `cfg`
+Support s390x vector registers in inline assembly
+Support iterating over ranges of `NonZero` integers
+Stabilized `assert_matches!` and `debug_assert_matches!` macros
+Allow a dependency to specify both a git repository and an alternate registry
view source on github->
1.95.0highfeaturesecurityApr 16, 2026

Rust 1.95.0

This release stabilizes several language features, including `if let` guards on match arms and inline assembly for PowerPC. It also introduces platform promotions to Tier 2 for various Apple architectures and includes security patches for vendored musl.

affected

Developers using Rust on PowerPC or Apple architectures, or those relying on `if let` guards, will benefit from this release.

action

Update to Rust 1.95.0 to take advantage of new features and security patches.

release_signals
!Apply patches for CVE-2026-6042 and CVE-2026-40200 to vendored musl
+Stabilize `if let` guards on match arms
+Support importing path-segment keywords with renaming
+Stabilize inline assembly for PowerPC and PowerPC64
+Promote `powerpc64-unknown-linux-musl` to Tier 2 with host tools
+Speed up `str::contains` on aarch64 targets with `neon` target feature enabled by default
view source on github->
1.94.1mediumbreakingsecurityMar 26, 2026

Rust 1.94.1

This release includes fixes for `std::thread::spawn` on wasm32-wasip1-threads, removes unstable methods from `std::os::windows::fs::OpenOptionsExt`, and addresses a Clippy ICE. It also updates the `tar` dependency in Cargo to resolve security vulnerabilities.

affected

Developers using `std::os::windows::fs::OpenOptionsExt` or `std::thread::spawn` on wasm32-wasip1-threads may be affected.

action

Update to Rust 1.94.1 to benefit from the fixes and security updates.

release_signals
-Removed new methods from `std::os::windows::fs::OpenOptionsExt` as they were unstable and the trait cannot be extended with non-default methods.
!Updated `tar` to 0.4.45 to resolve CVE-2026-33055 and CVE-2026-33056. Users of crates.io are not affected.
view source on github->
1.94.0highbreakingfeatureMar 5, 2026

Rust 1.94.0

This release introduces several language improvements, stabilizes additional RISC-V target features, updates to Unicode 17, and includes notable library and Cargo enhancements.

affected

Developers using RISC-V targets, Unicode handling, or closure patterns may be affected by changes in this release.

action

Review the compatibility notes and update code as necessary to accommodate changes in closure behavior and macro imports.

release_signals
-Forbid freely casting lifetime bounds of `dyn`-types
-Changes in closure capturing behavior around patterns
-Standard library macros are now imported via prelude, not `#[macro_use]`
-Ambiguous glob reexports are now visible cross-crate
-Don't normalize where-clauses before checking well-formedness
+Stabilization of 29 RISC-V target features, including parts of RVA22U64/RVA23U64 profiles
+Update to Unicode 17
+Avoid incorrect lifetime errors for closures
+Relax `T: Ord` bound for some `BinaryHeap<T>` methods
+Stabilization of config include key in Cargo
view source on github->
1.93.1mediumFeb 12, 2026

Rust 1.93.1

This release includes fixes for an ICE (Internal Compiler Error) affecting rustfmt, a Clippy false-positive, and file descriptor leaks on the `wasm32-wasip2` target.

affected

Users of rustfmt, Clippy, or the `wasm32-wasip2` target may be affected by the fixes in this release.

action

Update to Rust 1.93.1 to benefit from the fixes.

view source on github->