Wasmtime 40.0 arrived this week, delivering critical updates for low-level runtime control and standard compliance. The release enables WASIp3 support for HTTP and introduces a patchable ABI for Cranelift users.

With support for the threads proposal shifting to tier 2, defaults around shared memory creation have tightened significantly. This raises an important question for ecosystem maintainers: are your current configurations ready for these stricter security baselines?

In this weeks’s Rust Crates recap:

> Wasmtime 40.0 WASIp3 and Cranelift ABI updates

> WhoAmI 2.0.0 error handling and API modernization

> Openssl-probe 0.2.0 certificate path changes

Wasmtime 40.0 adds patchable Cranelift ABI and WASIp3

The Recap: The Bytecode Alliance has released Wasmtime 40.0, introducing significant low-level enhancements including WASIp3 support for HTTP and a new patchable ABI for Cranelift.

Unpacked:

  • WASIp3 support is now implemented in wasi:http, enabling the conversion of standard Rust types to WASI types using Response::from_http.

  • Cranelift gains a patchable ABI, allowing the runtime to define a maximum number of arguments and NOPs using the patchable_call instruction.

  • Support for the WebAssembly threads proposal has shifted to tier 2 by default, and SharedMemory creation is now disabled unless explicitly turned on via configuration.

  • The UnsyncBoxBody type is now consistently used across the wasmtime-wasi-http module to standardize how message bodies are handled.

  • This release improves resource management during out-of-memory scenarios to enhance the stability of the runtime under pressure.

Bottom line: This update advances WASI HTTP capabilities while refining the safety defaults for threaded WebAssembly execution. Developers utilizing shared memory features should verify their configuration settings to align with the new security defaults.

WhoAmI 2.0: Major Refactor and MSRV Update

The Recap: The widely used system information library WhoAmI has reached version 2.0.0, delivering a major refactor that modernizes error handling and updates platform enums. You can view the full changelog on GitHub.

Unpacked:

  • The update introduces improved error handling, with error types that now conform to Into<std::io::Error> for better integration with standard Rust I/O operations.

  • Language handling receives a significant structural change, converting Language from an enum to a struct and adding support for complex language preferences.

  • The desktop_env() function now returns Option, allowing it to cleanly return None when no specific environment is detected instead of relying on defaults.

  • This release bumps the Minimum Supported Rust Version (MSRV) to 1.65 and upgrades to the 2021 edition, while also refining no_std support for broader compatibility.

  • Developers should note that several platform enums have been renamed for clarity, and deprecated functions have been removed as part of this cleanup.

Bottom line: This major version matures the library's API surface by aligning it more closely with standard Rust patterns for error handling and optionality. Teams upgrading should review the changelog for renamed enums and adjusted return types to ensure a smooth migration.

Openssl-probe 0.2.0: Maintenance Transitions to Rustls Team

The Recap: The essential utility openssl-probe has released version 0.2.0, officially transferring maintenance to the Rustls team after nine years of individual stewardship. You can view the project details on GitHub.

Unpacked:

  • This release introduces a breaking change where ProbeResult::cert_dir now returns a Vec<PathBuf>, allowing the library to suggest multiple certificate directories rather than just one.

  • The update optimizes performance by adopting shorter per-platform lists for certificate locations, reducing the risk of selecting incorrect or unidiomatic paths.

  • Maintenance has shifted to the Rustls team, securing the long-term viability of this tool which is critical for finding SSL certificates in non-standard environments.

  • Developers will need to update their code to handle the removal of deprecated APIs, resulting in a cleaner and more maintainable interface.

Bottom line: This transition ensures the continued reliability of SSL certificate discovery in the Rust ecosystem while modernizing the library's approach to path resolution. Teams should update their dependency implementation to accommodate the new multiple-directory return format.

The Shortlist

Kube shipped version 3.0.0, upgrading the Kubernetes client with improved runtime abstractions and updated derive macros for Custom Resource Definitions.

Askama launched version 0.15.0, introducing the reject filter, support for caller() aliasing, and new defaults to enhance template rendering capabilities.

Reqwest-middleware integrated support for OpenTelemetry 0.30, enabling developers to adopt the latest observability standards for distributed tracing in HTTP clients.

Base16ct stabilized at version 1.0.0, providing a constant-time hexadecimal encoder and decoder optimized for secure cryptographic implementations.