Rust 1.96.0 was released on May 28, introducing new Copy-implementing Range types alongside other improvements to the language and its tooling [1, 2]. The update adds core::range::Range, RangeFrom, and RangeInclusive types that implement Copy, replacing legacy range types that were Iterator-based [2].

New macros assert_matches! and debug_assert_matches! have been added for checking value patterns, helping developers catch errors with detailed debug information if pattern matching fails [2]. The release also includes two security vulnerability fixes for Cargo, Rust’s package manager and build system [1].

On the same day, Rust Coreutils 0.9 was released focusing on security hardening and performance improvements following an audit funded by Canonical [3]. The update reduced unsafe Rust code and introduced zero-copy input/output for splice, tee, and pipe commands to boost efficiency [3]. Additionally, Coreutils 0.9 improved compatibility with WebAssembly, Cygwin, and Windows environments [3].

The test suite passing rate for Coreutils dropped from 94.7% in version 0.8 to 90.4% in 0.9 due to expanded test coverage using an updated GNU Test Suite [3].

Developers can now adopt the new Rust 1.96.0 stable release and Rust Coreutils 0.9 to access these latest language enhancements and security improvements.