Releases

Rust 1.94.0 stable released, stabilizes language features and Cargo tooling

Rust 1.94.0 stabilizes <[T]>::array_windows to yield fixed-size `&[T; N]`, adds Cargo include in .cargo/config.toml, and upgrades Cargo to parse TOML 1.1.

Nina Kowalski3 min read
Published
Listen to this article0:00 min
Share this article:
Rust 1.94.0 stable released, stabilizes language features and Cargo tooling
Source: miro.medium.com

Rust 1.94.0 brings a trio of changes that hit both language ergonomics and everyday Cargo workflows: the new array_windows iterator now yields fixed-size `&[T; N]` windows, Cargo gains an include key for modular configuration, and Cargo’s manifest parser moves to TOML 1.1. The Rust Release Team published the stable release on 2026-03-05, and the official notes and coverage from Infoworld, LinkedIn, and LWN flagged those three items as the most immediately visible to developers.

Paul Krill at Infoworld captured the array_windows behavior precisely: "The `array_windows` method works just like `windows` but with a constant length, so iterator items are `&[T; N]` rather than dynamically-sized `&[T]`." The release notes and coverage point out that, in many call sites, the window length can be inferred by destructuring the iterator item, which can remove manual indexing and the hope that runtime bounds checks are optimized away. The change is listed in the official stabilized-APIs section as `<[T]>::array_windows`.

Cargo’s configuration gained a top-level include key, stabilized as part of issue #16284, which the release notes summarize: "Stabilize the config include key. The top-level include config key allows loading additional config files, enabling better organization, sharing, and management of Cargo configurations across projects and environments. docs #16284" The release preserves the exact examples shown in the notes, including an array-of-paths form and an inline-table form with an optional flag, for example: include = [ "frodo.toml", "samwise.toml", ] and include = [ { path = "required.toml" }, { path = "optional.toml", optional = true }, ]

Cargo’s manifest parsing moved to TOML v1.1, with explicit language-level implications. The notes call out multi-line inline tables with trailing commas, the `\xHH` and `\e` string escapes, and optional seconds in time literals as now supported. The blog and release notes warn of an MSRV impact: "Cargo now parses TOML v1.1 for manifests and configuration files. Note that using these features in Cargo.toml will raise your development MSRV, but the published manifest remains compatible with older parsers. #16415" The release also shows the serde inline-table example before and after to demonstrate the new formatting allowed by TOML 1.1.

Beyond those headline items, Rust 1.94.0 stabilizes a raft of APIs and constants; the release notes list `<[T]>::element_offset`, `LazyCell::get`, `LazyCell::get_mut`, `LazyCell::force_mut`, `LazyLock::get`, `LazyLock::get_mut`, `LazyLock::force_mut`, `impl TryFrom<char> for usize`, `std::iter::Peekable::next_if_map`, `std::iter::Peekable::next_if_map_mut`, `f32::consts::EULER_GAMMA`, `f64::consts::EULER_GAMMA`, `f32::consts::GOLDEN_RATIO`, and `f64::consts::GOLDEN_RATIO`. The notes also mark `f32::mul_add` and `f64::mul_add` as now stable in const contexts.

AI-generated illustration
AI-generated illustration

Tooling and platform notes arrived alongside those API stabilizations. The release stabilizes x86 `avx512fp16` intrinsics and AArch64 NEON fp16 intrinsics, excluding those that depend on the unstable `f16` type, and LinkedIn commentary by Alex Garella highlighted "expanded platform support (including additional RISC-V target features)." Cargo-specific behavior changes include making `CARGO_BIN_EXE_` available at runtime, not stripping shebang lines in expression-context include!(...)s, and stabilizing a pubtime field in the registry index with a gradual backfill for crates, summarized in the notes: "Stabilize the pubtime field in registry index. This records when a crate version was published and enables time-based dependency resolution in the future. Note that crates.io will gradually backfill existing packages when a new version is published. Not all crates have pubtime yet. #16369 #16372"

Community reaction echoed the release notes. LWN user agraven posted on Mar 5, 2026 21:34 UTC, noting "Lot's of exciting ergonomics improvements in this release, both for the language itself with the array windows, and for cargo in the form of the includes and toml 1.1 support." The official blog closes with contributor thanks: "Many people came together to create Rust 1.94.0. We couldn't have done it without all of you. Thanks!"

To move to the new stable toolchain, Infoworld reproduces the upgrade command: rustup update stable. For maintainers and integrators, the release notes point to related issue numbers for deeper reading, including #16284 for config include, #16369 and #16372 for pubtime, and #16415 for TOML 1.1 parsing; review those entries and the full Rust 1.94.0 release notes before adopting TOML 1.1 features that will raise your development MSRV.

Know something we missed? Have a correction or additional information?

Submit a Tip
Your Topic
Today's stories
Updated daily by AI

Name any topic. Get daily articles.

You pick the subject, AI does the rest.

Start Now - Free

Ready in 2 minutes

Discussion

More Rust Programming News