diff --git a/CHANGELOG.md b/CHANGELOG.md index 73faba3..cffaba0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,19 @@ versions still track specification maturity rather than a released product. ## [Unreleased] +### Security + +- Raised the pinned Wasmtime engine from `46.0.1` to `46.0.2` to clear + [RUSTSEC-2026-0222](https://rustsec.org/advisories/RUSTSEC-2026-0222) + ("Stores can mix up type indices between engines"). The pin is exact, so the + bump moves `crates/edict-provider-host-wasmtime/Cargo.toml`, the + `provider-runtime-dependencies` boundary check in `xtask`, and the providers + architecture shelf together. Patch-level within `46.x`; no host API, provider + ABI, or golden artifact changes. The provider component fixture inventory + records a new `sourceDigest` because the workspace `Cargo.lock` is one of its + hashed provenance inputs; all five component digests are unchanged, since the + guest components do not depend on the host engine version. + ### Changed - Replaced sentinel external-request schema and reconciliation identities diff --git a/Cargo.lock b/Cargo.lock index 95cb482..99b6352 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -169,27 +169,27 @@ dependencies = [ [[package]] name = "cranelift-assembler-x64" -version = "0.133.1" +version = "0.133.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e06aeba2c965fc446d13c56a6ccb2631b78445d7544543dd9a25289977630914" +checksum = "47ca6361f42d0c945fadc1103501e1c07438e034fd5a86896a3074eff3e860bd" dependencies = [ "cranelift-assembler-x64-meta", ] [[package]] name = "cranelift-assembler-x64-meta" -version = "0.133.1" +version = "0.133.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee2d2dde4ec1352715595b5cfa6fe2e5b8ebb9da3457b3ee8db0aa2808c069aa" +checksum = "2c1dbc96db7cebf747bd5722d482338a5acff91d6be43b6bec145f9471327ffa" dependencies = [ "cranelift-srcgen", ] [[package]] name = "cranelift-bforest" -version = "0.133.1" +version = "0.133.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b4982ef9fa54ec9eee841e891e7ddc5434be1250e88de31572e000c888f30b" +checksum = "353b309eef494e4adb4c6cca76f30ef27daa907534db7d05b5986500f51aa4e1" dependencies = [ "cranelift-entity", "wasmtime-internal-core", @@ -197,9 +197,9 @@ dependencies = [ [[package]] name = "cranelift-bitset" -version = "0.133.1" +version = "0.133.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "529143118c4eeb58c39ecb02319557d512be6c61348486422974ab8e3906b8a8" +checksum = "e3cafe127a4c5d9765b1df54052245d2cbaca7238782805bb5ac94986ccdb591" dependencies = [ "serde", "serde_derive", @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "cranelift-codegen" -version = "0.133.1" +version = "0.133.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7780677247ad3577e3a6a3ebf43f39b325a11d6393db72b2c9968a910d4d13d" +checksum = "3964f31c6dc9d21e926ef884d3eec2f1ca83266a233521da4a737143262ceb84" dependencies = [ "bumpalo", "cranelift-assembler-x64", @@ -239,9 +239,9 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.133.1" +version = "0.133.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac9645250416cbf92454fe61160e17e026e0ce405906a54500b114f923ddffc9" +checksum = "b2f8b35746603b792e4ae34499a39251f310a06c98d4bc2ca02cf4bd29ce3c84" dependencies = [ "cranelift-assembler-x64-meta", "cranelift-codegen-shared", @@ -252,24 +252,24 @@ dependencies = [ [[package]] name = "cranelift-codegen-shared" -version = "0.133.1" +version = "0.133.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20ee8d222ff0fd3681791979afbf88586ac9f49010d3db96b3cbe4c96759aee3" +checksum = "584bd91987927dfe35e79c5d6dd52a117cb64c4fce26df881d02dcc17bd59a8f" [[package]] name = "cranelift-control" -version = "0.133.1" +version = "0.133.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "591abe6f5312bd2c4220f1b3bead56c2ad00257c52668015ba013b85dcf2a17a" +checksum = "af277352af76db01bb42fa4978b672a44406715798edb693cc02e363e12dc505" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.133.1" +version = "0.133.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5300c49cf940526fe771517b3b3eabd5d0ff164ee61698579cf403fe8d3af3c" +checksum = "42ad4f0c556d3d57580d07477be9e665f4d2a826971a5ab4642ead20a19df443" dependencies = [ "cranelift-bitset", "serde", @@ -279,9 +279,9 @@ dependencies = [ [[package]] name = "cranelift-frontend" -version = "0.133.1" +version = "0.133.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da4adbf760207fdbbe130f1191cce01cdef66831a9f648b1f39ff2800d126d45" +checksum = "29d69a6b7d8412c716e8599c7330dfbd122c1bc145f3bda05a9e237fba20419d" dependencies = [ "cranelift-codegen", "hashbrown 0.17.1", @@ -292,15 +292,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.133.1" +version = "0.133.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8315b21ff018226a42a60a4702c2dd75f6447cac26e9bca622e14c22088c2ff5" +checksum = "52fcdcd4a5c7fa8bfea35e72c0979ad5a699c836364870f0a84169d02a085a88" [[package]] name = "cranelift-native" -version = "0.133.1" +version = "0.133.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d506ef23a60715bde451b06620b14402166ded3b648454fccbf04f3e46a4aa70" +checksum = "0fee933cf8ec90e58e68163a02bdb0e4d29f2260a7592b3f09cbba52fcd34d12" dependencies = [ "cranelift-codegen", "libc", @@ -309,9 +309,9 @@ dependencies = [ [[package]] name = "cranelift-srcgen" -version = "0.133.1" +version = "0.133.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48ed47e602652e3410f9387fc0db70fefadcee4d78a78881421aabcab4e26b89" +checksum = "6bd75e1e2719808c80af27ebe168d2220ec10e519e1d5a52bdbed9bd5cac1a32" [[package]] name = "crc32fast" @@ -753,9 +753,9 @@ dependencies = [ [[package]] name = "pulley-interpreter" -version = "46.0.1" +version = "46.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b92604caae1a1899b6a5b54967289dd538177c626004c91accf9d0ec7e4a12" +checksum = "3683e69168d2e2374cea51a79fce2e9870e7c622366b8bf7af87fb5c2428a2a9" dependencies = [ "cranelift-bitset", "log", @@ -765,9 +765,9 @@ dependencies = [ [[package]] name = "pulley-macros" -version = "46.0.1" +version = "46.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a7ac85c0bb3fb351f10d531230aaa5e366b46d7c4e5328e5f02801d6dac1165" +checksum = "8ebbd6dada1e3df36ea4a4b8feca2ed230aa92d59e55bf5714eb4286cdd632b0" dependencies = [ "proc-macro2", "quote", @@ -1123,9 +1123,9 @@ dependencies = [ [[package]] name = "wasmtime" -version = "46.0.1" +version = "46.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4213d2f019a5e44aa8a61d8826dd33a505bff79f749b14a8bafd67321cb9351" +checksum = "ed27b4a4a5271d2608406a99c8d1cf8aea1e894fe4ec361d470063bcf342f1d7" dependencies = [ "addr2line", "async-trait", @@ -1165,9 +1165,9 @@ dependencies = [ [[package]] name = "wasmtime-environ" -version = "46.0.1" +version = "46.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d45863de41977ec6453e859cf843d456fa3fcb45a659b66d16e794f90ec4f5b7" +checksum = "7712f99b0920d4638023405eb9723ef200efd6d39bfc7466c92e926ca5d130f0" dependencies = [ "anyhow", "cpp_demangle", @@ -1196,9 +1196,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-component-macro" -version = "46.0.1" +version = "46.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1e48f8d4966d62a10b6d70722bc432c1e163890be2801d3b5784589ad36ffc3" +checksum = "f60f3492a55dbd4eb2e4f1f33ed0626d141f5f4cf4c0194168a4c5006f6601b0" dependencies = [ "anyhow", "proc-macro2", @@ -1211,15 +1211,15 @@ dependencies = [ [[package]] name = "wasmtime-internal-component-util" -version = "46.0.1" +version = "46.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819ad5abd5822a22dbf4014475cdfd1fe790707761cd732d74aaa3ba4d5ba489" +checksum = "c777c83bb4c3414b23fe84fecd47a46016a0a0b0a39aa786cad0a701fe3cbc7f" [[package]] name = "wasmtime-internal-core" -version = "46.0.1" +version = "46.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fc28372e36eaf8cf70faa83b5779137f7e99c8d18569a125d1580e735cc9e4d" +checksum = "ffb54b5de8723a9acf2c0bc531df8e773462796a5f87e8f49a3d5ea5c3b32ef7" dependencies = [ "hashbrown 0.17.1", "libm", @@ -1228,9 +1228,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-cranelift" -version = "46.0.1" +version = "46.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a433efc6e35112a5457e1dc8bc4d8d39820ac7722267e89bc04e5df641f32124" +checksum = "9c60bb70116a88791ccceef605b31010c4888a7305e450f01dc7d4f430ad25f0" dependencies = [ "cfg-if", "cranelift-codegen", @@ -1255,9 +1255,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-fiber" -version = "46.0.1" +version = "46.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18a1d3a39d0d210f6b8574ee96a4315e0a14c67f3a1fc3cd5372cb10d2fb4422" +checksum = "24bdf54907e0bad31ad6676d03ed1008fa21489725635136f9c38979c39a98ed" dependencies = [ "cc", "cfg-if", @@ -1270,9 +1270,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-jit-debug" -version = "46.0.1" +version = "46.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f667288cb4dfa68a4639ffac4d5628535dda64ebdc2b990526efb12b30ba803" +checksum = "ef4edaf07e20511f3ca070a4a0f026c407969f09e536075729872f548ca6f8d4" dependencies = [ "cc", "wasmtime-internal-versioned-export-macros", @@ -1280,9 +1280,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-jit-icache-coherence" -version = "46.0.1" +version = "46.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eba651d44ab0faad4c58106b3adb45068189fb65ef50f0c404b6d9e3bf81a357" +checksum = "f96a6d7eb246d1306b7db8915a169cd8628a9e6b8299d1d1f8ab109801ef0a66" dependencies = [ "cfg-if", "libc", @@ -1292,9 +1292,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-unwinder" -version = "46.0.1" +version = "46.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ecc52563b0558af2a7487eb710de07cc4532564b55528876129238e83118cb1" +checksum = "39472572ea3eb11b7cc7fe7bd6df0005cef87b580eb06a3378d103ac99d45bc3" dependencies = [ "cfg-if", "cranelift-codegen", @@ -1305,9 +1305,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-versioned-export-macros" -version = "46.0.1" +version = "46.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e747f4a074699ba1b4e4d841fb263f9b7df5bd1555181c4752bf5990d21ba676" +checksum = "7bf2eff1c108b01566a7c8870de34821e7bda7d327e86e12a548c026e1e3677d" dependencies = [ "proc-macro2", "quote", @@ -1316,9 +1316,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-wit-bindgen" -version = "46.0.1" +version = "46.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80009f46991622814196d96fac6fc0a938f46b5cba737a8f4e21e24e5a03856f" +checksum = "d1d9d3ffd05d6e864adc35cff702f56307c454caec3b1d2d89dd6c843219b663" dependencies = [ "anyhow", "bitflags", diff --git a/crates/edict-provider-host-wasmtime/Cargo.toml b/crates/edict-provider-host-wasmtime/Cargo.toml index e9c584e..709b4fe 100644 --- a/crates/edict-provider-host-wasmtime/Cargo.toml +++ b/crates/edict-provider-host-wasmtime/Cargo.toml @@ -16,7 +16,7 @@ edict-provider-schema = { path = "../edict-provider-schema" } edict-syntax = { path = "../edict-syntax" } sha2 = "0.10.9" wasmparser = { version = "=0.251.0", default-features = false, features = ["component-model", "std", "validate"] } -wasmtime = { version = "=46.0.1", default-features = false, features = ["component-model", "cranelift", "runtime", "std"] } +wasmtime = { version = "=46.0.2", default-features = false, features = ["component-model", "cranelift", "runtime", "std"] } [dev-dependencies] wasm-encoder = "=0.251.0" diff --git a/docs/topics/providers/architecture.md b/docs/topics/providers/architecture.md index f930371..0198122 100644 --- a/docs/topics/providers/architecture.md +++ b/docs/topics/providers/architecture.md @@ -36,7 +36,7 @@ present. ## Engine And Store -`ProviderComponentHost` owns one Wasmtime 46.0.1 engine. The configuration +`ProviderComponentHost` owns one Wasmtime 46.0.2 engine. The configuration enables the component model and fuel, disables epochs, SIMD, relaxed SIMD, tail calls, memory64, multi-memory, and copy-on-write initialization, canonicalizes NaNs, and fixes the maximum Wasm stack. Epoch interruption is absent, so this diff --git a/fixtures/providers/components/inventory.json b/fixtures/providers/components/inventory.json index 3420f39..9d73486 100644 --- a/fixtures/providers/components/inventory.json +++ b/fixtures/providers/components/inventory.json @@ -7,5 +7,5 @@ "malformed-lowerer": "sha256:dfcd171918373d18b9dff16778e98b7618eeb4ac85976dd7134b9e201562f41b", "verifier": "sha256:9fa8e16ed7735075d559e3094685ce846d06425b4bb479be31f7498417bf87e4" }, - "sourceDigest": "sha256:0f4d719b50a0ec4073693905bf254ef7bf59d43b2ca2f2b4d2bfd8bea08b1992" + "sourceDigest": "sha256:ddd74b104927c021fdd753582697b3a16da065697faebabc14e6d90ea84740f7" } diff --git a/xtask/src/provider_dependencies.rs b/xtask/src/provider_dependencies.rs index 7ea30df..d5731c1 100644 --- a/xtask/src/provider_dependencies.rs +++ b/xtask/src/provider_dependencies.rs @@ -5,7 +5,7 @@ use std::process::Command; use serde_json::Value; -const WASMTIME_VERSION: &str = "46.0.1"; +const WASMTIME_VERSION: &str = "46.0.2"; pub(crate) fn provider_runtime_dependencies(root: &Path) -> Result<(), String> { let cargo = env::var_os("CARGO").unwrap_or_else(|| "cargo".into()); @@ -87,14 +87,14 @@ fn check_metadata(metadata: &Value) -> Result<(), String> { "workspace package `{package_name}` must not declare Wasmtime" )); } - if dependency.get("req").and_then(Value::as_str) != Some("=46.0.1") + if dependency.get("req").and_then(Value::as_str) != Some("=46.0.2") || dependency .get("uses_default_features") .and_then(Value::as_bool) != Some(false) { return Err( - "provider host must pin Wasmtime 46.0.1 with default features disabled" + "provider host must pin Wasmtime 46.0.2 with default features disabled" .to_owned(), ); }