News

Rust changes docs.rs defaults and WebAssembly linking rules this week

docs.rs will stop assuming five build targets on May 1, and Rust is dropping wasm-ld's ` allow-undefined`, a two-step shake-up that will hit real projects fast.

Nina Kowalski2 min read
Published
Listen to this article0:00 min
Share this article:
Rust changes docs.rs defaults and WebAssembly linking rules this week
AI-generated illustration
This article contains affiliate links, marked with a blue dot. We may earn a small commission at no extra cost to you.

Two defaults are changing in ways side projects will feel quickly: docs.rs is dropping its old five-target fallback, and Rust is removing ` allow-undefined` from WebAssembly linking. If a crate has been leaning on hidden leniency, the warning lights are already on.

This Week in Rust issue 646, published on April 8, captured those moves as part of a broader tightening across the ecosystem. docs.rs announced on April 4 that crates without a targets list in their docs.rs metadata will no longer get the service’s default five-target build behavior, and the breaking change is set for May 1. That matters because docs.rs reliability is part of the first impression a crate makes. A package that renders cleanly on the service looks maintained; one that breaks there can look half-finished even when the code itself is solid.

AI-generated illustration

The WebAssembly change cuts even closer to the metal. Rust has historically passed ` allow-undefined` to `wasm-ld` for all WebAssembly targets, but that flag is being removed. The practical effect is simple: projects that have been getting by with missing symbol definitions will need to fix them before the code links successfully. For anyone building WASI tools, browser-facing crates, or other Wasm experiments, this is less a theoretical policy change than a test of whether the dependency graph is actually complete.

The same issue also showed how much of Rust’s center of gravity now lives outside the compiler itself. The March 2026 Leadership Council update, published April 6, welcomed Rémy Rakic and Josh Triplett to the council. The Rust Foundation’s Rust Innovation Lab, launched in September 2025 with rustls as its inaugural project, is being positioned as a temporary or permanent home for projects that fill gaps for Rust developers and may need marketing or developer support. In its April interop update, the Foundation said Google funded the initial phase of the Rust-C++ Interop Initiative. For a community that cares deeply about supply-chain trust, that is the quiet infrastructure work that keeps the rest of the stack from fraying.

The adoption layer is moving just as fast. Rust for CPython is pushing Rust into CPython, the default Python implementation, with work centered in Python Enhancement Proposals and a CPython fork with a reference implementation. JetBrains’ RustRover 2026.1 added native cargo-nextest integration, crates.io picked up Toasty as a new async ORM, and the issue also surfaced work on deadlock freedom, chess-game processing speed, disk-usage visualization, traffic interception, UI building blocks, and render graphs.

The message for the next side project is plain: Rust is still broadening, but the ecosystem is demanding more explicit contracts, cleaner linking, and stronger homes for the projects people build on top of.

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

Submit a Tip

Never miss a story.
Get Rust Programming updates weekly.

The top stories delivered to your inbox.

Free forever · Unsubscribe anytime

Discussion

More Rust Programming News