- 
                Notifications
    You must be signed in to change notification settings 
- Fork 13.9k
Closed
Labels
T-releaseRelevant to the release subteam, which will review and decide on the PR/issue.Relevant to the release subteam, which will review and decide on the PR/issue.relnotes-tracking-issueMarks issues tracking what text to put in release notes.Marks issues tracking what text to put in release notes.
Description
NOTE: We are trying this issue as a new way to work on the draft release notes.
Use the 📝 links to edit those that have a relnotes-tracking-issue,
and they will be updated when we regenerate the notes periodically.
cc @rust-lang/release
Version 1.90 (2025-09-18)
Language
- Split up the unknown_or_malformed_diagnostic_attributeslint. This lint has been split up into four finer grained lints; whether the diagnostic attribute is unknown, placed on the wrong item, malformed or its format string is invalid.unknown_or_malformed_diagnostic_attributesis now the name of the lint group comprising them
 📝
- Allow constants that evaluate to references to mutable/external memory, but reject such constants as patterns
 📝
- Allow volatile access to non-Rust memory, including address 0
 📝
Compiler
- Use lldby default onx86_64-unknown-linux-gnu.
 📝
- Tier 3 musltargets now link dynamically by default. Affected targets:- mips64-unknown-linux-muslabi64
- powerpc64-unknown-linux-musl
- powerpc-unknown-linux-musl
- powerpc-unknown-linux-muslspe
- riscv32gc-unknown-linux-musl
- s390x-unknown-linux-musl
- thumbv7neon-unknown-linux-musleabihf
 📝
 
Platform Support
Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
- Stabilize u*::{checked,overflowing,saturating,wrapping}_sub_signed
 📝
- Allow comparisons between CStr,CString, andCow<CStr>
 📝
- Remove some unsized tuple impls since unsized tuples can't be constructed
 📝
- Set MSG_NOSIGNALforUnixStream
 📝
 proc_macro::Ident::newnow supports$crate.
 📝
- stabilize const_slice_reverse
- Guarantee the pointer returned from Thread::into_rawhas at least 8 bytes of alignment
 📝
Stabilized APIs
- u{n}::checked_sub_signed
- u{n}::overflowing_sub_signed
- u{n}::saturating_sub_signed
- u{n}::wrapping_sub_signed
 📝
- impl Copy for IntErrorKind
- impl Hash for IntErrorKind
 📝
- impl PartialEq<&CStr> for CStr
- impl PartialEq<CString> for CStr
- impl PartialEq<Cow<CStr>> for CStr
- impl PartialEq<&CStr> for CString
- impl PartialEq<CStr> for CString
- impl PartialEq<Cow<CStr>> for CString
- impl PartialEq<&CStr> for Cow<CStr>
- impl PartialEq<CStr> for Cow<CStr>
- impl PartialEq<CString> for Cow<CStr>
 📝
These previously stable APIs are now stable in const contexts:
- <[T]>::reverse
 📝
- f32::floor
- f32::ceil
- f32::trunc
- f32::fract
- f32::round
- f32::round_ties_even
- f64::floor
- f64::ceil
- f64::trunc
- f64::fract
- f64::round
- f64::round_ties_even
 📝
Cargo
- Add http.proxy-cainfoconfig for proxy certs
- Use gixforcargo package
- feat(publish): Stabilize multi-package publishing
- Add [hints]table inCargo.toml, and ahints.mostly-unusedhint
Rustdoc
- Add ways to collapse all impl blocks. Previously the "Summary" button and "-" keyboard shortcut would never collapse implblocks, now they do when shift is held
 📝
- Display unsafe attributes with unsafe()wrappers
 📝
Compatibility Notes
- Make core::iter::Fuse'sDefaultimpl constructI::default()internally as promised in the docs instead of always being empty
 📝
- On Unix std::env::home_dirwill use the fallback if theHOMEenvironment variable is empty
 📝
- We now reject unsupported extern "{abi}"s consistently in all positions. This primarily affects the use of implementing traits on anextern "{abi}"function pointer, likeextern "stdcall" fn(), on a platform that doesn't support that, like aarch64-unknown-linux-gnu. Direct usage of these unsupported ABI strings by declaring or defining functions was already rejected, so this is only a change for consistency.
 📝
- const-eval: error when initializing a static writes to that static
 📝
- Check that the proc_macro_derivemacro has correct arguments when applied to the crate root
 📝
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
trueNAHOtrueNAHO
Metadata
Metadata
Assignees
Labels
T-releaseRelevant to the release subteam, which will review and decide on the PR/issue.Relevant to the release subteam, which will review and decide on the PR/issue.relnotes-tracking-issueMarks issues tracking what text to put in release notes.Marks issues tracking what text to put in release notes.