Skip to content

Commit 9f01630

Browse files
committed
add blog post for rust 1.91.1
1 parent 13dff99 commit 9f01630

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

content/Rust-1.91.1.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
+++
2+
path = "2025/11/10/Rust-1.91.1"
3+
title = "Announcing Rust 1.91.1"
4+
authors = ["The Rust Release Team"]
5+
aliases = ["releases/1.91.1"]
6+
7+
[extra]
8+
release = true
9+
+++
10+
11+
The Rust team has published a new point release of Rust, 1.91.1. Rust is a
12+
programming language that is empowering everyone to build reliable and
13+
efficient software.
14+
15+
If you have a previous version of Rust installed via rustup, getting Rust
16+
1.91.1 is as easy as:
17+
18+
```
19+
rustup update stable
20+
```
21+
22+
If you don't have it already, you can [get `rustup`][rustup] from the
23+
appropriate page on our website.
24+
25+
[rustup]: https://www.rust-lang.org/install.html
26+
27+
## What's in 1.91.1
28+
29+
Rust 1.91.1 includes fixes for two regressions introduced in the 1.91.0 release.
30+
31+
### *"Import module mismatch"* linker errors on WASM
32+
33+
Most targets supported by Rust identify symbols by their name, but WASM
34+
identifies them with a symbol name *and* a module name. The
35+
[`#[link(wasm_import_module)]`][wasm_import_module] attribute allows to
36+
customize the module name an `extern` block refers to:
37+
38+
```rust
39+
#[link(wasm_import_module = "hello")]
40+
extern "C" {
41+
pub fn world();
42+
}
43+
```
44+
45+
Rust 1.91.0 introduced a regression in the attribute, causing linker failures
46+
with the "import module mismatch" error (at either compile time or runtime,
47+
depending on the linking configuration) when a symbol within a module had the
48+
same name as symbols in other modules or non-WASM symbols.
49+
50+
Rust 1.91.1 fixes the regression. More details are available in [issue #148347].
51+
52+
[wasm_import_module]: https://doc.rust-lang.org/reference/items/external-blocks.html#r-items.extern.attributes.link.wasm_import_module
53+
[issue #148347]: https://github.com/rust-lang/rust/issues/148347
54+
55+
### Cargo target directory locking broken on illumos
56+
57+
Cargo relies on locking the `target/` directory during a build to prevent
58+
concurrent invocations of Cargo from interfering with each other. Not all
59+
filesystems support locking (most notably some networked ones): if the OS
60+
returns the `Unsupported` error, Cargo assumes locking is not supported and
61+
proceeds without it.
62+
63+
Cargo 1.91.0 switched from custom code interacting with the OS APIs to the
64+
[`File::lock`] standard library method (recently stabilized in Rust 1.89.0). Due
65+
to an oversight, that method always returned `Unsupported` on the illumos
66+
target, causing Cargo to never lock the build directory on illumos regardless of
67+
whether the filesystem supported it.
68+
69+
Rust 1.91.1 fixes the oversight in the standard library by enabling the
70+
[`File::lock`] family of functions on illumos, indirectly fixing the Cargo
71+
regression.
72+
73+
[`File::lock`]: https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.lock
74+
75+
### Contributors to 1.91.1
76+
77+
Many people came together to create Rust 1.91.1. We couldn't have done it
78+
without all of you. [Thanks!](https://thanks.rust-lang.org/rust/1.91.1/)

0 commit comments

Comments
 (0)