Rust 1.91.1 released
The Rust team just rolled out version 1.91.1, a new point update for the popular programming language.
If you're already using rustup, updating to this latest release should be easy. You can grab it by simply running rustup update stable. If you haven't got Rustup yet, check out their website; there's a download link for you somewhere on the relevant page.
This newest version tackles two important issues that showed up in the previous point release, 1.91.0. One involved WebAssembly targets. Specifically, it addresses the handling of symbols, which are defined by both their name and a Wasm module name to prevent conflicts. There's an attribute called #[link(wasm_import_module)] that lets you customize this module name for imported functions.
But in Rust 1.91.0, there was a regression with that feature. It could cause linker failures while compiling if the symbol names didn't match up properly or lead to problems at runtime like crashes and data corruption because of mismatches between expectations and reality.
The good news is that version 1.91.1 fixes the Wasm bug, ensuring better integration for WebAssembly targets now than before, preventing those potential downstream headaches.
Another significant change improves Cargo's behavior on illumos systems. Illumos is a Unix-like operating system; you might find rustup and its newer features potentially useful here. Builds fail if the underlying filesystem doesn't support file locking mechanisms used by default in Rust build scripts, or even worse, they are unable to lock at all.
Cargo recently switched from using custom code for file locking during builds (previously handled internally) to the standard library File::lock function. Rust 1.89.0 stabilized that method, which led to this change.
The problem surfaced on Illumos because the system's implementation of certain filesystem operations sometimes didn't properly support or return relevant lock information. As a result, Cargo couldn't reliably determine if it could actually lock files needed for building, which is essential to prevent concurrent access issues and keep builds clean and predictable.
1.91.1 restores this functionality. It brings back the ability for Cargo on Illumos systems to use the File::lock methods correctly when they are available from the filesystem. This means build directory locking now works properly where it should, making compilations more reliable across different setups.
Announcing Rust 1.91.1 | Rust Blog
Empowering everyone to build reliable and efficient software.
