Rust 1.94.0 beta stabilizes Cargo config include, pubtime, RISC-V
Cargo's top-level include config key is now stable, pubtime landed in the registry index with gradual backfill, and Cargo gained TOML 1.1 parsing plus a string of API and platform stabilizations.

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" That sentence captures the single biggest developer-visible change promoted in the Rust 1.94.0 beta window: Cargo now stabilizes a config include facility that lets projects load extra configuration files and share common settings across repositories.
Cargo also picked up three other headline changes that alter everyday workflows. "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" That means maintainers who adopt TOML 1.1-only features must raise their development MSRV, even though crates published will remain readable by older clients. The release notes explicitly call out that using TOML 1.1 features has that MSRV consequence (#16415).
Package metadata and registry behavior received a targeted stabilization as well: "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" The pubtime index field now exists in the registry, but crates.io will backfill it progressively as new versions are published, so time-based dependency resolution is possible going forward but not yet complete across all crates.
A set of practical Cargo fixes and CLI/runtime adjustments landed alongside those features. The changelog lists "feat: stabilize `-Zconfig-include`" and "Make `CARGO_BIN_EXE_` available at runtime" in addition to fixes such as "fix(package): Don't verify registry for list" and the labeled change "fix(timing)!: remove ` timings=` optional format values." The release notes preserve both the GitHub-style `-Zconfig-include` string and the descriptive "top-level include config key" phrasing (docs #16284), so check the linked items for canonical syntax.
The release notes reproduce several CLI and docs excerpts that affect developer tooling. The ` config` KEY=VALUE or PATH flag is described for overriding Cargo configuration values, `-C` PATH changes the working directory but is nightly-only and requires `-Z unstable-options` (see #10098), and ` lockfile-path` is also gated behind `-Z unstable-options` on nightly (see #14421). Exit status semantics remain explicit: 0 for success and 101 for failure.

Library and platform stabilizations are extensive. Stabilized items include `[T]::array_windows`, `<[T]>::element_offset`, LazyCell and LazyLock get/get_mut/force_mut methods, impl TryFrom for usize, std::iter::Peekable::next_if_map and next_if_map_mut, x86 avx512fp16 intrinsics and AArch64 NEON fp16 intrinsics (excluding those that depend on the unstable f16 type), and new math constants f32/f64::EULER_GAMMA and GOLDEN_RATIO. The notes also state that "These previously stable APIs are now stable in const contexts: f32::mul_add f64::mul_add."
Platform behavior and diagnostics saw targeted changes: "On Windows `std::time::SystemTime::checked_sub_duration` will return `None` for times before the Windows epoch (1/1/1601)." The runtime also normalizes lifetime identifiers - "Lifetime identifiers such as `'a` are now NFC normalized." Compiler path emission was overhauled so that "Any paths emitted by compiler now always respect the relative-ness of the paths and ` remap-path-prefix` given originally. One side-effect of this change is that paths emitted for local crates in Cargo (path dependencies and workspace members) are no longer absolute but relative when emitted as part of a diagnostic in a downstream crate."
The Rust Project published these release notes for Version 1.94.0 on March 5, 2026; the changelog bundles language, library, and tooling stabilizations being promoted in this release window. Expect short-term developer action around MSRV bumps for TOML 1.1 features, CI updates for CARGO_BIN_EXE_ availability, and attention to diagnostic path changes as crates and tooling absorb the pubtime backfill and config include stabilization.
Know something we missed? Have a correction or additional information?
Submit a Tip

