Skip to content

runtime: Bump wasmtime from 38.0.4 to 44.0.1#6577

Draft
incrypto32 wants to merge 3 commits into
graphprotocol:masterfrom
incrypto32:incrypto32/bump-wasmtime-44
Draft

runtime: Bump wasmtime from 38.0.4 to 44.0.1#6577
incrypto32 wants to merge 3 commits into
graphprotocol:masterfrom
incrypto32:incrypto32/bump-wasmtime-44

Conversation

@incrypto32
Copy link
Copy Markdown
Member

@incrypto32 incrypto32 commented May 21, 2026

Bumps wasmtime from 38.0.4 to 44.0.1.

The only API change across these releases that affects graph-node is from wasmtime 42: wasmtime::Error is no longer a re-export of anyhow::Error, and Config::async_support is now a no-op. Fixes are localized to the runtime crate and convert at the wasmtime boundary.

  • runtime/wasm/src/module/instance.rs: .map_err(anyhow::Error::from) at wasmtime call boundaries; wasmtime::Error::msg / wasmtime::Error::from_anyhow for errors going into wasmtime.
  • runtime/wasm/src/module/into_wasm_ret.rs: map anyhow→wasmtime via from_anyhow in the WasmRet impl.
  • runtime/wasm/src/module/mod.rs: trap.into() before host_export_error_from_trap.
  • runtime/test/src/test.rs: same boundary conversion.
  • runtime/wasm/src/mapping.rs: drop deprecated config.async_support(true).

Verified: `cargo check --workspace [--tests | --release]`, `just lint`. Unit tests / runner tests not yet run.

Closes #6549.
Closes #6506.
Closes #6513.
Closes #6338.

In wasmtime 42 `wasmtime::Error` was split from `anyhow::Error` and
`Config::async_support` became a no-op. Convert at the wasmtime
boundary so the rest of the runtime keeps using anyhow internally.
@incrypto32 incrypto32 force-pushed the incrypto32/bump-wasmtime-44 branch from 021581d to 51fa498 Compare May 21, 2026 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment