Rust 1.100 Adds a Waiting Period for New Dependencies and Finally Ships Its Never Type
Rust 1.100 lets Cargo delay newly published dependencies and stabilizes the never type after ten years. Existing lockfiles remain outside the cooldown.
Rust developers can now put a waiting period between a package appearing online and their projects accepting it. Rust 1.100.0, released November 12, adds dependency cooldowns to Cargo, the language's package manager. The setting gives teams a way to hold back freshly published versions instead of taking them immediately.
The timing matters because a compromised update can travel through projects that depend on it. A delay creates room for someone to spot trouble before another project pulls that version in. It also means deliberately waiting for legitimate fixes and features.
A brake with exceptions
Cargo's new minimum publish age is configurable. When set, its resolver skips versions younger than the chosen threshold, but versions already in Cargo.lock, the file recording a project's resolved dependencies, remain eligible. An existing lockfile can therefore preserve a version the waiting period would otherwise exclude.
The release announcement lists other limits: cargo install ignores the minimum age, and versions without publication timestamps in the index are never held back. The Rust team describes cooldowns as a partial defense, not a replacement for reviewing updates.
Ten years to say a function cannot return
The release also stabilizes Rust's never type after ten years and five unsuccessful attempts. Written as !, the type represents a computation that never produces a value. Developers could already use it for function return types; they can now name it elsewhere, including a result type whose error case cannot occur.
That milestone carries a compatibility wrinkle. The release makes Infallible an alias for ! and changes the never type fallback in older Rust editions. Some existing code may need adjustments, despite advance warnings and fixes to affected public packages.
The release notes also add warnings for unused Cargo dependencies. They flag a quieter cost of accumulating packages: code a project no longer needs can still weigh on its builds.
Some offers on this page may be paid placements or contain affiliate links.
Subscribe to Techpresso
Free daily newsletter, read in 5 minutes.
Subscribe free