Draft release notes for 1.100.0
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 65/100
- Issue type
- Documentation
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- markdown, rust
- Domain
- documentation, release
Research direction
Start with the draft release notes in this issue and check the linked Rust pull requests and tracking issues for authoritative wording. Review the sections for completeness, formatting, and consistency; done means the 1.100.0 notes accurately reflect the listed changes and are ready for release. The payload does not name a repository file or test to use.
Written by the indexing model from the issue text.
Description
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.100.0 (2026-11-12)
Language
- Stabilize never type
📝 - Lint against repeated
#[repr(..)]attributes
📝 - Stabilize
extern "custom"
📝 - Extend
dropping_references,dropping_copy_typesandundropped_manually_dropslints todrop_in_place
📝 unfulfilled_lint_expectationsno longer fires on#[expect(dead_code)]inside code that is covered by a dead parents' diagnostic
📝- riscv: stabilize 'd' and 'f' target features
📝 - Turn the error for
repr(align)fields in arepr(packed)type into a (deny-by-default) lint,aligned_fields_in_packed.
📝
Compiler
Platform Support
i686-pc-windows-gnuis now a tier 2 without host tools target
📝- Promote
wasm32-wasip3to Tier 2
📝 - Add new Tier 3 target
powerpc64-sony-ps3
📝
Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
- Stabilize custom allocators
📝 - Map
ENOTSUPtoErrorKind::Unsupported
📝 - volatile: allow accesses to non-AM memory to trap
- Fix soundness issues in std::sys::pal::sgx::waitqueue::unsafe_list
📝
Stabilized APIs
impl PartialEq<Cow<'_, [U]>> for Vec<T, A>impl PartialEq<Cow<'_, [U]>> for &[T]impl PartialEq<Cow<'_, [U]>> for &mut [T]
📝std::alloc::Allocatorstd::alloc::Globalstd::alloc::Systemimpl Allocator for Globalimpl Allocator for Systemimpl<A: Allocator> for &Aimpl<T: Allocator, A: Allocator> for Box<T, A>impl<A: Allocator> for &mut Aimpl<T: Allocator, A: Allocator> for Arc<T, A>impl<T: Allocator, A: Allocator> for Rc<T, A>Box::new_inBox::from_raw_inBox::from_non_null_inBox::into_raw_with_allocatorBox::into_non_null_with_allocatorBox::allocatorVec::new_inVec::with_capacity_inVec::from_raw_parts_inVec::from_parts_inVec::into_raw_parts_with_allocatorVec::into_parts_with_allocatorVec::allocator
📝Child::main_thread_handle
📝impl Default for std::sync::Once
📝bool::toggle
📝Box::take
📝Box::mapRc::mapArc::map
📝core::mem::DropGuard
📝std::mem::conjure_zst
📝
These previously stable APIs are now stable in const contexts:
Cargo
- feat(diag): Stabilize cargo-lints
- docs: adopt rust-lang/rust's LLM usage policy
- fix(update)!: Remove unstable
--breaking - feat(resolver): Stabilize min-publish-age
- Re-stabilize build-dir layout v2
- fix(install): use packaged lockfile by default
Rustdoc
Compatibility Notes
- More precise captures for closure with uses of variables in
if lets may cause new errors
📝 - Always require trait objects to be dyn-compatible
📝 Infallibleis now a type alias to!- The never type fallback was changed to
!on all editions
📝 boxpatterns are no longer syntactically allowed
📝- Report Query Cycle errors in more cases when computing the layout of enums with explicit discriminants
📝 - Always escape grapheme extenders in
str::escape_debug
📝 - Make let-else respect
macro_rulesexprmetavariable grouping
📝 Iterator::{min,max}(_by_key)changed whichOrdmethods they use. This cannot change behaviour (other than being potentially faster) for types correctly following theOrdrules, but may impact types with inconsistent trait implementations.
📝- Emit an error when trying to enable SSE/AVX on an x86 (32bit or 64bit) softfloat target
📝 - Require windowed (and exception) for Xtensa ABI
📝 - windows-gnullvm: always link libunwind statically
📝 - From version 1.94 up to 1.100 a number of ARMv7-A hardfloat targets required the
VFPv3-D32FPU as a minimum, as they erroneously had thed32feature in their baseline list of features. Breakage introduced as a result of correcting this can be fixed by passing-Ctarget-feature=+d32to Rust.
📝 - Change "Rust" ABI on x86 to use SSE registers if they are always-available for the current target
📝 - Make
ambiguous_glob_imported_traitsfire in slightly more cases
📝 - Make
+fix-cortex-a53-835769a default feature foraarch64-unknown-fuchsia
📝 - Some impls on
Boxhave been generalised to arbitrary allocators which may cause some new type inference errors
📝 - On ARM targets,
-Ctarget-feature/-Ctarget-cpuvalues that would alter the ABI are rejected as hard errors now.
📝
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
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 17.3k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 544
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from rust-lang/rust
-
needs-triage relnotes relnotes-needs-review relnotes-tracking-issue T-compiler T-libs
Difficulty 1/5 Under an hour Newbie friendliness 85/100
rust-lang/rust#163875 · 1 comment ·
Maintainers usually reply within 1 day
-
I-prioritize needs-triage regression-from-stable-to-beta T-lang
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
rust-lang/rust#163830 · 1 comment ·
Maintainers usually reply within 1 day
-
C-bug needs-triage T-bootstrap T-rust-analyzer
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
rust-lang/rust#163751 · 6 comments · 1 reaction ·
Maintainers usually reply within 1 day
-
Regression 1.98 → 1.99: `thread_local!` destructors no longer run at thread exit on `wasm32-wasip1-threads`Possibly taken @maxdexh claimed this 2 days ago. OpenA-thread-locals C-bug O-wasi P-medium regression-from-stable-to-stable T-libs
Difficulty 1/5 Under an hour Newbie friendliness 85/100
rust-lang/rust#163748 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
needs-triage relnotes relnotes-needs-review relnotes-tracking-issue T-compiler T-libs T-rustdoc
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 95/100
Maintainers usually reply within 1 day
-
Markdown Preview Fonts Don't Show Selected OptionPossibly taken @RadhiRasho claimed this today. Openstate:needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 61/100
zed-industries/zed#65300 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day