NOTE: Use the 📝 links to edit those that have a relnotes-tracking-issue,
and they will be updated when we regenerate the notes periodically (manually).
Version 1.95 (2026-04-16)
Language
Compiler
Platform Support
Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
Stabilized APIs
These previously stable APIs are now stable in const contexts:
Cargo
Rustdoc
Compatibility Notes
Internal Changes
These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.
Other
NOTE: Use the 📝 links to edit those that have a
relnotes-tracking-issue,and they will be updated when we regenerate the notes periodically (manually).
Version 1.95 (2026-04-16)
Language
if letguards on match arms)📝
irrefutable_let_patternslint no longer lints on let chains📝
📝
📝
📝
📝
📝
Compiler
--remap-path-scopefor controling the scoping of how paths get remapped in the resulting binary📝
Platform Support
powerpc64-unknown-linux-muslto tier 2 with host tools📝
aarch64-apple-tvosto Tier 2aarch64-apple-tvos-simto Tier 2aarch64-apple-watchosto Tier 2aarch64-apple-watchos-simto Tier 2aarch64-apple-visionosto Tier 2aarch64-apple-visionos-simto Tier 2📝
Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
📝
RangeInclusiveandRangeInclusiveItertypes📝
str::containson aarch64 targets withneontarget feature enabled by default📝
Stabilized APIs
assert_matches!debug_assert_matches!📝
MaybeUninit<[T; N]>: From<[MaybeUninit<T>; N]>MaybeUninit<[T; N]>: AsRef<[MaybeUninit<T>; N]>MaybeUninit<[T; N]>: AsRef<[MaybeUninit<T>]>MaybeUninit<[T; N]>: AsMut<[MaybeUninit<T>; N]>MaybeUninit<[T; N]>: AsMut<[MaybeUninit<T>]>[MaybeUninit<T>; N]: From<MaybeUninit<[T; N]>>Cell<[T; N]>: AsRef<[Cell<T>; N]>Cell<[T; N]>: AsRef<[Cell<T>]>Cell<[T]>: AsRef<[Cell<T>]>📝
bool: TryFrom<{integer}📝
AtomicPtr::updateAtomicPtr::try_updateAtomicBool::updateAtomicBool::try_updateAtomicIn::updateAtomicIn::try_updateAtomicUn::updateAtomicUn::try_update📝
cfg_select!📝
core::hint::cold_path📝
<*const T>::as_ref_unchecked<*mut T>::as_ref_unchecked<*mut T>::as_mut_unchecked📝
These previously stable APIs are now stable in const contexts:
fmt::from_fn📝
ControlFlow::is_breakControlFlow::is_continue📝
Cargo
cargo report *Rustdoc
📝
📝
Compatibility Notes
📝
📝
📝
📝
📝
Eq::assert_receiver_is_total_eqand emit future compatibility warnings on manual impls📝
📝
mut refandmut ref mutpatterns, part of the unstable Match Ergonomics 2024 RFC, were accidentally allowed on stable within struct pattern field shorthand. These patterns are now correctly feature-gated as unstable in this position.📝
📝
-Z unstable-optionsto use. Previously, these could not be used without the standard library, which has no stable build mechanism. In preparation for thebuild-stdproject adding that support, JSON target specs are being proactively gated to ensure they remain unstable even ifbuild-stdis stabilized. Cargo now includes the-Z json-target-specCLI flag to automatically pass-Z unstable-optionsto the compiler when needed. See #150151, #151534, and rust-lang/cargo#16557.📝
#[feature]attributes on invalid targets are now checked📝
Internal Changes
These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.
Other