From 5cd56c8085e18c3c61b89f276516ebfc9f226065 Mon Sep 17 00:00:00 2001
From: Nicolas Dreno
Date: Mon, 10 Aug 2026 10:50:17 +0200
Subject: [PATCH 1/2] chore(deps): bump wasmtime 43 -> 47 to fix
RUSTSEC-2026-0222
The scheduled supply-chain audit failed on RUSTSEC-2026-0222 ("Stores can
mix up type indices between engines", GHSA-hgjw-h833-99q9) affecting
wasmtime 43.0.2. The 43.x line received no backport; the advisory's fixed
ranges are >=24.0.12 <25, >=36.0.13 <37, >=46.0.2 <47 and >=47.0.3, so the
only forward move is the 47 line.
wasmtime 47 requires rustc 1.94, so the workspace MSRV moves 1.91 -> 1.94
along with the msrv CI job, the README badge and the contributor docs.
No source changes were needed: the API surface we use (Config, Engine,
Module, Linker, Store, Caller, Memory, TypedFunc, ResourceLimiter,
OptLevel) is unchanged across 43 -> 47.
Verified locally: cargo deny check advisories passes, cargo check
--workspace --all-targets is clean, both CI clippy invocations are clean,
and cargo test -p barbacane-wasm passes (195 tests + 1 doctest).
---
.github/workflows/ci.yml | 2 +-
CONTRIBUTING.md | 2 +-
Cargo.lock | 310 ++++++++++++-------------------
Cargo.toml | 10 +-
README.md | 2 +-
docs/contributing/development.md | 2 +-
6 files changed, 124 insertions(+), 204 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index c57a51c..33d61b4 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -114,7 +114,7 @@ jobs:
uses: dtolnay/rust-toolchain@stable
with:
# Keep in sync with workspace.package.rust-version in Cargo.toml.
- toolchain: "1.91"
+ toolchain: "1.94"
targets: wasm32-unknown-unknown
- name: Cache cargo registry
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 346df15..2a0559d 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -35,7 +35,7 @@ Be respectful. We're all here to build something useful.
### Prerequisites
-- Rust 1.91+ (the project MSRV, enforced by CI)
+- Rust 1.94+ (the project MSRV, enforced by CI)
- PostgreSQL (for control plane tests)
### Building
diff --git a/Cargo.lock b/Cargo.lock
index 7b9d7fa..220d2a9 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -601,15 +601,6 @@ dependencies = [
"serde_core",
]
-[[package]]
-name = "bitmaps"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2"
-dependencies = [
- "typenum",
-]
-
[[package]]
name = "block-buffer"
version = "0.10.4"
@@ -871,9 +862,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
[[package]]
name = "cpp_demangle"
-version = "0.4.5"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2bb79cb74d735044c972aae58ed0aaa9a837e85b01106a54c39e42e97f62253"
+checksum = "0667304c32ea56cb4cd6d2d7c0cfe9a2f8041229db8c033af7f8d69492429def"
dependencies = [
"cfg-if",
]
@@ -889,27 +880,27 @@ dependencies = [
[[package]]
name = "cranelift-assembler-x64"
-version = "0.130.2"
+version = "0.134.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adc822414b18d1f5b1b33ce1441534e311e62fef86ebb5b9d382af857d0272c9"
+checksum = "d552bd33b7a56dc70aeb1e1c960e51a218fa0db50f23873b500a310379450b2d"
dependencies = [
"cranelift-assembler-x64-meta",
]
[[package]]
name = "cranelift-assembler-x64-meta"
-version = "0.130.2"
+version = "0.134.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c646808b06f4532478d8d6057d74f15c3322f10d995d9486e7dcea405bf521a"
+checksum = "078e80e4c222279e3330f6aa1a256ca77ddf156d4453166a9f09defedc4594dd"
dependencies = [
"cranelift-srcgen",
]
[[package]]
name = "cranelift-bforest"
-version = "0.130.2"
+version = "0.134.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b5996f01a686b2349cdb379083ec5ad3e8cb8767fb2d495d3a4f2ee4163a18d"
+checksum = "820ce15d4ad3562d613c31a67b6d0434d403e7091a68d1349903842f7d31737e"
dependencies = [
"cranelift-entity",
"wasmtime-internal-core",
@@ -917,9 +908,9 @@ dependencies = [
[[package]]
name = "cranelift-bitset"
-version = "0.130.2"
+version = "0.134.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "523fea83273f6a985520f57788809a4de2165794d9ab00fb1254fceb4f5aa00c"
+checksum = "61bca563d4b86d285928d9e27f97f27039bb33a0fc524fa130d7d0c106bf8ab3"
dependencies = [
"serde",
"serde_derive",
@@ -928,9 +919,9 @@ dependencies = [
[[package]]
name = "cranelift-codegen"
-version = "0.130.2"
+version = "0.134.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d73d1e372730b5f64ed1a2bd9f01fe4686c8ec14a28034e3084e530c8d951878"
+checksum = "709f4b7c0fb57d952658d5b5c07fbdc4149acd7b7f0de9678ae754b9c981949a"
dependencies = [
"bumpalo",
"cranelift-assembler-x64",
@@ -942,13 +933,16 @@ dependencies = [
"cranelift-entity",
"cranelift-isle",
"gimli",
- "hashbrown 0.16.1",
+ "hashbrown 0.17.0",
"libm",
"log",
+ "postcard",
"pulley-interpreter",
"regalloc2",
"rustc-hash",
"serde",
+ "serde_derive",
+ "sha2",
"smallvec",
"target-lexicon",
"wasmtime-internal-core",
@@ -956,9 +950,9 @@ dependencies = [
[[package]]
name = "cranelift-codegen-meta"
-version = "0.130.2"
+version = "0.134.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0319c18165e93dc1ebf78946a8da0b1c341c95b4a39729a69574671639bdb5f"
+checksum = "903dc8915af62aad1d9d0f39a5968d33fa80b9aa899ed6f56e47f40ca4512e1e"
dependencies = [
"cranelift-assembler-x64-meta",
"cranelift-codegen-shared",
@@ -969,24 +963,24 @@ dependencies = [
[[package]]
name = "cranelift-codegen-shared"
-version = "0.130.2"
+version = "0.134.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9195cd8aeecb55e401aa96b2eaa55921636e8246c127ed7908f7ef7e0d40f270"
+checksum = "0522d74c227e49f3fd49ab055311486ae4f09083262b66705bed676952491469"
[[package]]
name = "cranelift-control"
-version = "0.130.2"
+version = "0.134.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8976c2154b74136322befc74222ab5c7249edd7e2604f8cbef2b94975541ffb9"
+checksum = "66560ea1c5cef72e170b18e46d263dba2d3169c9d39e8cafdab2173c6362cc1a"
dependencies = [
"arbitrary",
]
[[package]]
name = "cranelift-entity"
-version = "0.130.2"
+version = "0.134.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6038b3147c7982f4951150d5f96c7c06c1e7214b99d4b4a98607aadf8ded89d1"
+checksum = "b62ef5b17cc814d27e96b66a5b46da0e4ce2b8ac55a6d478048bb99d04b05526"
dependencies = [
"cranelift-bitset",
"serde",
@@ -996,11 +990,12 @@ dependencies = [
[[package]]
name = "cranelift-frontend"
-version = "0.130.2"
+version = "0.134.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cbd294abe236e23cc3d907b0936226b6a8342db7636daa9c7c72be1e323420e"
+checksum = "a87e0aaa39dbf70693b348a221e45904111704ee8f9fef140498471005f9842d"
dependencies = [
"cranelift-codegen",
+ "hashbrown 0.17.0",
"log",
"smallvec",
"target-lexicon",
@@ -1008,15 +1003,15 @@ dependencies = [
[[package]]
name = "cranelift-isle"
-version = "0.130.2"
+version = "0.134.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5a90b6ed3aba84189352a87badeb93b2126d3724225a42dc67fdce53d1b139c"
+checksum = "cf79003ebfa1eed5e87f3b84446ad5236f540268289960e14f387dc9b28e40b7"
[[package]]
name = "cranelift-native"
-version = "0.130.2"
+version = "0.134.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3ec0cc1a54e22925eacf4fc3dc815f907734d3b377899d19d52bec04863e853"
+checksum = "05bf4f235743c81e67ee4db617c5a4a0b65d58d3f0cfc575ee0f1a4e0cd58273"
dependencies = [
"cranelift-codegen",
"libc",
@@ -1025,9 +1020,9 @@ dependencies = [
[[package]]
name = "cranelift-srcgen"
-version = "0.130.2"
+version = "0.134.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "948865622f87f30907bb46fbb081b235ae63c1896a99a83c26a003305c1fa82d"
+checksum = "f6977c2a71ab1e0d1e62f966b411a498aa04c4dce47d93d52f8a360a06058922"
[[package]]
name = "crc"
@@ -1849,17 +1844,17 @@ name = "hashbrown"
version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
-dependencies = [
- "foldhash 0.2.0",
- "serde",
- "serde_core",
-]
[[package]]
name = "hashbrown"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51"
+dependencies = [
+ "foldhash 0.2.0",
+ "serde",
+ "serde_core",
+]
[[package]]
name = "hashlink"
@@ -2167,20 +2162,6 @@ dependencies = [
"icu_properties",
]
-[[package]]
-name = "im-rc"
-version = "15.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe"
-dependencies = [
- "bitmaps",
- "rand_core 0.6.4",
- "rand_xoshiro",
- "sized-chunks",
- "typenum",
- "version_check",
-]
-
[[package]]
name = "indexmap"
version = "2.14.0"
@@ -2485,12 +2466,9 @@ dependencies = [
[[package]]
name = "mach2"
-version = "0.4.3"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44"
-dependencies = [
- "libc",
-]
+checksum = "dae608c151f68243f2b000364e1f7b186d9c29845f7d2d85bd31b9ad77ad552b"
[[package]]
name = "matchers"
@@ -2774,12 +2752,12 @@ dependencies = [
[[package]]
name = "object"
-version = "0.38.1"
+version = "0.39.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271638cd5fa9cca89c4c304675ca658efc4e64a66c716b7cfe1afb4b9611dbbc"
+checksum = "2e5a6c098c7a3b6547378093f5cc30bc54fd361ce711e05293a5cc589562739b"
dependencies = [
"crc32fast",
- "hashbrown 0.16.1",
+ "hashbrown 0.17.0",
"indexmap",
"memchr",
]
@@ -3220,9 +3198,9 @@ dependencies = [
[[package]]
name = "pulley-interpreter"
-version = "43.0.2"
+version = "47.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ec12fe19a9588315a49fe5704502a9c02d6a198303314b0c7c86123b06d29e5"
+checksum = "bc5c8c21ea032e4efbdf2d067dc45171779dbe0c8ecf20ef4a57efa7474f2b0a"
dependencies = [
"cranelift-bitset",
"log",
@@ -3232,9 +3210,9 @@ dependencies = [
[[package]]
name = "pulley-macros"
-version = "43.0.2"
+version = "47.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36f7d5ef31ebf1b46cd7e722ffef934e670d7e462f49aa01cde07b9b76dca580"
+checksum = "9f10925455d5dde962e3604eade797ba5488644c8ee14a44191e2f2b58980574"
dependencies = [
"proc-macro2",
"quote",
@@ -3376,15 +3354,6 @@ dependencies = [
"getrandom 0.3.4",
]
-[[package]]
-name = "rand_xoshiro"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa"
-dependencies = [
- "rand_core 0.6.4",
-]
-
[[package]]
name = "rayon"
version = "1.12.0"
@@ -3482,15 +3451,16 @@ dependencies = [
[[package]]
name = "regalloc2"
-version = "0.15.0"
+version = "0.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "952ddbfc6f9f64d006c3efd8c9851a6ba2f2b944ba94730db255d55006e0ffda"
+checksum = "757712e8e61590d6d4f5d563483755538b5aa13467837a3b41cd9832509a7f85"
dependencies = [
"allocator-api2",
"bumpalo",
- "hashbrown 0.15.5",
+ "hashbrown 0.17.0",
"log",
"rustc-hash",
+ "serde",
"smallvec",
]
@@ -4100,16 +4070,6 @@ version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214"
-[[package]]
-name = "sized-chunks"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e"
-dependencies = [
- "bitmaps",
- "typenum",
-]
-
[[package]]
name = "slab"
version = "0.4.12"
@@ -5216,22 +5176,18 @@ dependencies = [
[[package]]
name = "wasm-compose"
-version = "0.245.1"
+version = "0.252.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fd23d12cc95c451c1306db5bc63075fbebb612bb70c53b4237b1ce5bc178343"
+checksum = "d59b710751a35d54732a63851cdfacbfb2266b7160ce174faf269d3f4e84e31b"
dependencies = [
"anyhow",
"heck",
- "im-rc",
"indexmap",
"log",
"petgraph",
- "serde",
- "serde_derive",
- "serde_yaml",
"smallvec",
- "wasm-encoder 0.245.1",
- "wasmparser 0.245.1",
+ "wasm-encoder 0.252.0",
+ "wasmparser 0.252.0",
"wat",
]
@@ -5247,22 +5203,22 @@ dependencies = [
[[package]]
name = "wasm-encoder"
-version = "0.245.1"
+version = "0.252.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9dca005e69bf015e45577e415b9af8c67e8ee3c0e38b5b0add5aa92581ed5c"
+checksum = "8185ae345fa5687c054626ff9a50e7089797a343d9904d1dc9820eb4c4d3196f"
dependencies = [
"leb128fmt",
- "wasmparser 0.245.1",
+ "wasmparser 0.252.0",
]
[[package]]
name = "wasm-encoder"
-version = "0.246.2"
+version = "0.255.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61fb705ce81adde29d2a8e99d87995e39a6e927358c91398f374474746070ef7"
+checksum = "9b524283fb5df62eec102ed0574838961bdd7ba5ac9c50d38e2756c51c971a42"
dependencies = [
"leb128fmt",
- "wasmparser 0.246.2",
+ "wasmparser 0.255.0",
]
[[package]]
@@ -5304,12 +5260,12 @@ dependencies = [
[[package]]
name = "wasmparser"
-version = "0.245.1"
+version = "0.252.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f08c9adee0428b7bddf3890fc27e015ac4b761cc608c822667102b8bfd6995e"
+checksum = "d3eb099dcadcde5be9eef55e3a337128efd4e44b4c93122487e4d2e4e1c6627c"
dependencies = [
"bitflags 2.11.0",
- "hashbrown 0.16.1",
+ "hashbrown 0.17.0",
"indexmap",
"semver",
"serde",
@@ -5317,9 +5273,9 @@ dependencies = [
[[package]]
name = "wasmparser"
-version = "0.246.2"
+version = "0.255.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71cde4757396defafd25417cfb36aa3161027d06d865b0c24baaae229aac005d"
+checksum = "e8e329ef4b5d46e73b91d3ac6924417cad55a8cbbf869c199283383427c3320b"
dependencies = [
"bitflags 2.11.0",
"indexmap",
@@ -5328,20 +5284,20 @@ dependencies = [
[[package]]
name = "wasmprinter"
-version = "0.245.1"
+version = "0.252.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f41517a3716fbb8ccf46daa9c1325f760fcbff5168e75c7392288e410b91ac8"
+checksum = "7142797de29b35ab8dbf15c00f55fda75d409da4c423a8ab8bd6b667a785824b"
dependencies = [
"anyhow",
"termcolor",
- "wasmparser 0.245.1",
+ "wasmparser 0.252.0",
]
[[package]]
name = "wasmtime"
-version = "43.0.2"
+version = "47.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efb1ed5899dde98357cfdcf647a4614498798719793898245b4b34e663addabf"
+checksum = "c80ca6098e0d4d06886d91d7f2cc3cb6623eb583c4c0ab3c89cbfb6098c8586c"
dependencies = [
"addr2line",
"async-trait",
@@ -5372,8 +5328,8 @@ dependencies = [
"target-lexicon",
"tempfile",
"wasm-compose",
- "wasm-encoder 0.245.1",
- "wasmparser 0.245.1",
+ "wasm-encoder 0.252.0",
+ "wasmparser 0.252.0",
"wasmtime-environ",
"wasmtime-internal-cache",
"wasmtime-internal-component-macro",
@@ -5385,16 +5341,16 @@ dependencies = [
"wasmtime-internal-jit-icache-coherence",
"wasmtime-internal-unwinder",
"wasmtime-internal-versioned-export-macros",
- "wasmtime-internal-winch",
"wat",
"windows-sys 0.61.2",
+ "wit-parser 0.252.0",
]
[[package]]
name = "wasmtime-environ"
-version = "43.0.2"
+version = "47.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4172382dcc785c31d0e862c6780a18f5dd437914d22c4691351f965ef751c821"
+checksum = "134f9d136d29c76f6c1b4c9b468e97a2efc38c7d49fd188e39b64870b2fea701"
dependencies = [
"anyhow",
"cpp_demangle",
@@ -5402,7 +5358,7 @@ dependencies = [
"cranelift-bitset",
"cranelift-entity",
"gimli",
- "hashbrown 0.16.1",
+ "hashbrown 0.17.0",
"indexmap",
"log",
"object",
@@ -5414,8 +5370,8 @@ dependencies = [
"sha2",
"smallvec",
"target-lexicon",
- "wasm-encoder 0.245.1",
- "wasmparser 0.245.1",
+ "wasm-encoder 0.252.0",
+ "wasmparser 0.252.0",
"wasmprinter",
"wasmtime-internal-component-util",
"wasmtime-internal-core",
@@ -5423,9 +5379,9 @@ dependencies = [
[[package]]
name = "wasmtime-internal-cache"
-version = "43.0.2"
+version = "47.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ed398988226d7aa0505ac6bb576e09532ad722d702ec4e66365d78ed695c95f"
+checksum = "65db2eb1bfc5371a3b4107dbf539d0b93d05016fc29625b1648146b47db02071"
dependencies = [
"base64",
"directories-next",
@@ -5443,9 +5399,9 @@ dependencies = [
[[package]]
name = "wasmtime-internal-component-macro"
-version = "43.0.2"
+version = "47.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae5ec9fff073ff13b81732d56a9515d761c245750bcda09093827f84130ebc25"
+checksum = "2bf7b91fed3fc34781d57f9c6654ea2513bf0a99f7b0b0523c00de1e6efebe1c"
dependencies = [
"anyhow",
"proc-macro2",
@@ -5453,32 +5409,32 @@ dependencies = [
"syn",
"wasmtime-internal-component-util",
"wasmtime-internal-wit-bindgen",
- "wit-parser 0.245.1",
+ "wit-parser 0.252.0",
]
[[package]]
name = "wasmtime-internal-component-util"
-version = "43.0.2"
+version = "47.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "935d9ab293ba27d1ec9aa7bc1b3a43993dbe961af2a8f23f90a11e1331b4c13f"
+checksum = "fc8a678149885cae00289f806fbe74c7863084cf74cace0b8dc73602279400e1"
[[package]]
name = "wasmtime-internal-core"
-version = "43.0.2"
+version = "47.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a3820b174f477d2a7083209d1ad5353fcdb11eaea434b2137b8681029460dd3"
+checksum = "8a0092c4b9d070ac5e278b6d0db10f5e71214190f0347ca57502b4692f796321"
dependencies = [
"anyhow",
- "hashbrown 0.16.1",
+ "hashbrown 0.17.0",
"libm",
"serde",
]
[[package]]
name = "wasmtime-internal-cranelift"
-version = "43.0.2"
+version = "47.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1679d205caf9766c6aa309d45bb3e7c634d7725e3164404df33824b9f7c4fb7"
+checksum = "6851ebc9e03cab23d9821d2b2505d380bdfe38f35ccec945247b05274d85c98b"
dependencies = [
"cfg-if",
"cranelift-codegen",
@@ -5494,7 +5450,7 @@ dependencies = [
"smallvec",
"target-lexicon",
"thiserror 2.0.18",
- "wasmparser 0.245.1",
+ "wasmparser 0.252.0",
"wasmtime-environ",
"wasmtime-internal-core",
"wasmtime-internal-unwinder",
@@ -5503,9 +5459,9 @@ dependencies = [
[[package]]
name = "wasmtime-internal-fiber"
-version = "43.0.2"
+version = "47.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1e505254058be5b0df458d670ee42d9eafe2349d04c1296e9dc01071dc20a85"
+checksum = "9b26da6d5f60d4c438da70bba3553fe810a840533a64156be287dca2081c6991"
dependencies = [
"cc",
"cfg-if",
@@ -5518,9 +5474,9 @@ dependencies = [
[[package]]
name = "wasmtime-internal-jit-debug"
-version = "43.0.2"
+version = "47.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c2e05b345f1773e59c20e6ad7298fd6857cdea245023d88bb659c96d8f0ea72"
+checksum = "ed621ba25d7bf78b7edd7b4749abbb27c2e5cdba836c9504a424ee74b6c23149"
dependencies = [
"cc",
"object",
@@ -5530,9 +5486,9 @@ dependencies = [
[[package]]
name = "wasmtime-internal-jit-icache-coherence"
-version = "43.0.2"
+version = "47.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b86701b234a4643e3f111869aa792b3a05a06e02d486ee9cb6c04dae16b52dab"
+checksum = "5684ba160951baad06a725696f3c590e2fb0e8067c2aebee27bf7f9259058e85"
dependencies = [
"cfg-if",
"libc",
@@ -5542,9 +5498,9 @@ dependencies = [
[[package]]
name = "wasmtime-internal-unwinder"
-version = "43.0.2"
+version = "47.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f63558d801beb83dde9b336eb4ae049019aee26627926edb32cd119d7e4c83cd"
+checksum = "112eead527bffa8ff0646a11fb4339a9d52ddd1da2b9a6fce4aff84c815dd94f"
dependencies = [
"cfg-if",
"cranelift-codegen",
@@ -5555,63 +5511,46 @@ dependencies = [
[[package]]
name = "wasmtime-internal-versioned-export-macros"
-version = "43.0.2"
+version = "47.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "737c4d956fc3a848541a064afb683dd2771132a6b125be5baaf95c4379aa47df"
+checksum = "153592e0bed824fc13c6696203fa1bd7bd20eb355316475e39a55f081ef80eca"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
-[[package]]
-name = "wasmtime-internal-winch"
-version = "43.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f599b79545e3bba0b7913406055ebede5bb0dabee9ba2015ef25a9f4c9f47807"
-dependencies = [
- "cranelift-codegen",
- "gimli",
- "log",
- "object",
- "target-lexicon",
- "wasmparser 0.245.1",
- "wasmtime-environ",
- "wasmtime-internal-cranelift",
- "winch-codegen",
-]
-
[[package]]
name = "wasmtime-internal-wit-bindgen"
-version = "43.0.2"
+version = "47.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2192a77a00b9a67800c2b4e1c70fb6abca79d6b529e53a2ef9dcdcc36090330d"
+checksum = "c456ad6e81e0f46abfeca43687d18ea15e289c395b262ea6e0023e2682e088be"
dependencies = [
"anyhow",
"bitflags 2.11.0",
"heck",
"indexmap",
- "wit-parser 0.245.1",
+ "wit-parser 0.252.0",
]
[[package]]
name = "wast"
-version = "246.0.2"
+version = "255.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe3fe8e3bf88ad96d031b4181ddbd64634b17cb0d06dfc3de589ef43591a9a62"
+checksum = "55ffec530f199bd3d553ac442c13dd108353cad533cad8514bc41e1f1f0fe686"
dependencies = [
"bumpalo",
"leb128fmt",
"memchr",
"unicode-width",
- "wasm-encoder 0.246.2",
+ "wasm-encoder 0.255.0",
]
[[package]]
name = "wat"
-version = "1.246.2"
+version = "1.255.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bd7fda1199b94fff395c2d19a153f05dbe7807630316fa9673367666fd2ad8c"
+checksum = "dda82c82e1486c7eed42a0465e544d80fff37abc3b39482e0d34dbaabe2fe5b1"
dependencies = [
"wast",
]
@@ -5695,25 +5634,6 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-[[package]]
-name = "winch-codegen"
-version = "43.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52dbb0cf07b0dfe7b7a1ca8efb8f94ba98bd0fb144c411ea1665c78f0449e958"
-dependencies = [
- "cranelift-assembler-x64",
- "cranelift-codegen",
- "gimli",
- "regalloc2",
- "smallvec",
- "target-lexicon",
- "thiserror 2.0.18",
- "wasmparser 0.245.1",
- "wasmtime-environ",
- "wasmtime-internal-core",
- "wasmtime-internal-cranelift",
-]
-
[[package]]
name = "windows-core"
version = "0.62.2"
@@ -6123,12 +6043,12 @@ dependencies = [
[[package]]
name = "wit-parser"
-version = "0.245.1"
+version = "0.252.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "330698718e82983499419494dd1e3d7811a457a9bf9f69734e8c5f07a2547929"
+checksum = "4266bea110371c620ccf3201c5023676046bc4556e5c7cfb5d500bda5ebc162d"
dependencies = [
"anyhow",
- "hashbrown 0.16.1",
+ "hashbrown 0.17.0",
"id-arena",
"indexmap",
"log",
@@ -6136,8 +6056,8 @@ dependencies = [
"serde",
"serde_derive",
"serde_json",
- "unicode-xid",
- "wasmparser 0.245.1",
+ "unicode-ident",
+ "wasmparser 0.252.0",
]
[[package]]
diff --git a/Cargo.toml b/Cargo.toml
index e2f2827..daeba05 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -21,9 +21,9 @@ resolver = "2"
[workspace.package]
version = "0.8.1"
edition = "2021"
-# Minimum supported Rust version, set by the dependency floor: wasmtime 43 and
-# cranelift 0.130 require rustc 1.91. Enforced by the `msrv` CI job.
-rust-version = "1.91"
+# Minimum supported Rust version, set by the dependency floor: wasmtime 47
+# requires rustc 1.94. Enforced by the `msrv` CI job.
+rust-version = "1.94"
license = "AGPL-3.0-only"
repository = "https://github.com/barbacane-dev/Barbacane"
homepage = "https://github.com/barbacane-dev/Barbacane"
@@ -101,8 +101,8 @@ parking_lot = "0.12"
jsonschema = "0.26"
# WASM runtime
-wasmtime = { version = "43", features = ["cranelift", "pooling-allocator"] }
-wasmtime-wasi = { version = "43" }
+wasmtime = { version = "47", features = ["cranelift", "pooling-allocator"] }
+wasmtime-wasi = { version = "47" }
# Plugin manifest
toml = "0.8"
diff --git a/README.md b/README.md
index 253456e..83593a1 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@
-
+
diff --git a/docs/contributing/development.md b/docs/contributing/development.md
index c989a11..5f6b180 100644
--- a/docs/contributing/development.md
+++ b/docs/contributing/development.md
@@ -4,7 +4,7 @@ This guide helps you set up a development environment for contributing to Barbac
## Prerequisites
-- **Rust 1.91+** - Install via [rustup](https://rustup.rs/). This is the project MSRV (enforced by CI); the dependency floor (wasmtime/cranelift) requires it.
+- **Rust 1.94+** - Install via [rustup](https://rustup.rs/). This is the project MSRV (enforced by CI); the dependency floor (wasmtime/cranelift) requires it.
- **Git** - For version control
- **Node.js 20+** - For the UI (if working on the web interface)
- **PostgreSQL 14+** - For the control plane (or use Docker)
From 148e146c82ad9b30c56195451cbce639f160810d Mon Sep 17 00:00:00 2001
From: Nicolas Dreno
Date: Mon, 10 Aug 2026 11:04:26 +0200
Subject: [PATCH 2/2] chore(docker): bump builder images to Rust 1.94 for the
new MSRV
The Dockerfiles pinned rust:1.93-slim-bookworm, one minor below the
workspace MSRV that wasmtime 47 raised to 1.94, so every image build would
have failed on the rust-version gate. Docker builds do not run on pull
requests, so CI did not catch it.
Covers Dockerfile, Dockerfile.control and both builder stages of
Dockerfile.standalone, plus the copy-pasteable snippets in ADR-0019 and
the FIPS guide.
---
Dockerfile | 4 ++--
Dockerfile.control | 4 ++--
Dockerfile.standalone | 4 ++--
adr/0019-packaging-and-release-strategy.md | 2 +-
docs/guide/fips.md | 2 +-
5 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index 89276ec..7085764 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,8 +1,8 @@
# Barbacane Data Plane - Multi-stage build
# Produces a minimal, rootless container image
-# Build stage - Rust 1.91+ required (MSRV; wasmtime 43 / cranelift 0.130 floor), Bookworm for glibc compat
-FROM rust:1.93-slim-bookworm AS builder
+# Build stage - Rust 1.94+ required (MSRV; wasmtime 47 floor), Bookworm for glibc compat
+FROM rust:1.94-slim-bookworm AS builder
# Install build dependencies for aws-lc-rs
RUN apt-get update && apt-get install -y --no-install-recommends \
diff --git a/Dockerfile.control b/Dockerfile.control
index ac77082..fc248f3 100644
--- a/Dockerfile.control
+++ b/Dockerfile.control
@@ -9,8 +9,8 @@ RUN npm ci
COPY ui/ ./
RUN npm run build
-# Rust build stage - Rust 1.91+ required (MSRV; wasmtime 43 / cranelift 0.130 floor)
-FROM rust:1.93-slim-bookworm AS rust-builder
+# Rust build stage - Rust 1.94+ required (MSRV; wasmtime 47 floor)
+FROM rust:1.94-slim-bookworm AS rust-builder
# Install build dependencies for aws-lc-rs
RUN apt-get update && apt-get install -y --no-install-recommends \
diff --git a/Dockerfile.standalone b/Dockerfile.standalone
index 7feeb7b..aa84ea4 100644
--- a/Dockerfile.standalone
+++ b/Dockerfile.standalone
@@ -20,7 +20,7 @@
# ---------------------------------------------------------------------------
# Stage 1: Build the barbacane binary
# ---------------------------------------------------------------------------
-FROM rust:1.93-slim-bookworm AS binary-builder
+FROM rust:1.94-slim-bookworm AS binary-builder
RUN apt-get update && apt-get install -y --no-install-recommends \
cmake \
@@ -40,7 +40,7 @@ RUN cargo build --release --package barbacane && \
# ---------------------------------------------------------------------------
# Stage 2: Build all WASM plugins
# ---------------------------------------------------------------------------
-FROM rust:1.93-slim-bookworm AS plugin-builder
+FROM rust:1.94-slim-bookworm AS plugin-builder
RUN rustup target add wasm32-unknown-unknown
diff --git a/adr/0019-packaging-and-release-strategy.md b/adr/0019-packaging-and-release-strategy.md
index d677617..790ffec 100644
--- a/adr/0019-packaging-and-release-strategy.md
+++ b/adr/0019-packaging-and-release-strategy.md
@@ -79,7 +79,7 @@ We will publish the following artifacts for each release:
```dockerfile
# Data plane - multi-stage build, rootless
# Use -bookworm suffix to match glibc in distroless cc-debian12
-FROM rust:1.93-slim-bookworm AS builder
+FROM rust:1.94-slim-bookworm AS builder
WORKDIR /build
COPY . .
RUN cargo build --release --package barbacane
diff --git a/docs/guide/fips.md b/docs/guide/fips.md
index 44b6cb8..556b32d 100644
--- a/docs/guide/fips.md
+++ b/docs/guide/fips.md
@@ -88,7 +88,7 @@ The first FIPS build takes longer because `aws-lc-fips-sys` compiles AWS-LC from
Update the Dockerfile to install Go for the FIPS build:
```dockerfile
-FROM rust:1.93-slim-bookworm AS builder
+FROM rust:1.94-slim-bookworm AS builder
# Build dependencies — Go required for aws-lc-fips-sys
RUN apt-get update && apt-get install -y --no-install-recommends \