Announcing Rust 1.96
5 hours ago
- #software-security
- #programming-updates
- #rust-release
- Rust 1.96.0 is released, introducing new range types (Range, RangeFrom, RangeInclusive) that implement IntoIterator and are Copy, allowing them to be stored in Copy types like Span for slice access.
- New macros assert_matches! and debug_assert_matches! check pattern matching with improved error reporting; they require manual import due to naming conflicts.
- WebAssembly targets now treat undefined symbols as linker errors by default, preventing accidental imports; old behavior can be re-enabled with RUSTFLAGS.
- Stabilized APIs include assert_matches!, debug_assert_matches!, and various range-related types and iterators, plus From implementations for AssertUnwindSafe and LazyCell/LazyLock.
- Two Cargo vulnerabilities (CVE-2026-BLAH) fixed for third-party registry users: medium severity for symlink extraction and low for authentication with normalized URLs; crates.io users unaffected.