49.0.0
Released 2026-09-21.
Added
-
Winch now has initial experimental support for the WebAssembly
exception-handling proposal.
#14066
#14081
#14132
#14149
#14180
#14209 -
Wasmtime's type reflection APIs for WebAssembly GC types now have dedicated
enums forHeap{Top,Bottom}Types.
#14208 -
Wasmtime now supports the use of environment variables to configure most CLI
arguments in addition to the preexisting CLI flags.
#14217 -
Cranelift will now fold
u{add,mul}_overflowresults combined withbrif
instructions for more optimal codegen.
#14217
#14254 -
Components can be tested for equality with a new
Component::sameAPI.
#14257 -
The Wasmtime C/C++ API now supports the
component-model-implementsfeature.
#14264 -
Cranelift will now emit the
{u,s}bfminstructions on AArch64.
#14187
Changed
-
The wide-arithmetic WebAssembly proposal is now enabled by default.
#14110 -
Config::operator_costnow applies to operators inside constant expressions
(global initializers, element and data segment offsets, element segment
expressions) and to the synthesized call to a module'sstartfunction.
Previously each of those was charged 1 fuel unit regardless of the configured
cost.
#14215 -
Wasmtime's WASI implementation will no longer over-read stdin where possible.
#14077 -
Wasmtime's WASIp2 implementation now maps host-level "broken pipe" errors to
StreamError::Closed.
#14107 -
Wasmtime's WASIp2 implementation of
wasi:httpnow validates ports in the
same manner as wasip3.
#14123 -
Wasmtime's WASI implementation of
wasi:filesystemnow returns the
is-directoryerror in some situations when a file is provided.
#14135 -
The
wasmtime-wasi-httpcrate now has thep3feature enabled by default.
#14137 -
Wasmtime's WASIp2 implementation of
wasi:httpnow runs more hooks from the
WasiHttpHookstrait in the same manner as wasip3.
#14167 -
Wasmtime now requires Rust 1.96.0 to compile.
#14184 -
Adjustments have been made to the scheduling of threads w.r.t. trapping
behavior for cooperatively threaded components. These changes are made to
align with the upstream component-model specification.
#14146
#14250 -
Fuel for bulk operations is now consumed after the bulk operation has
completed instead of up-front, restoring previous behavior where a failed very
large memory growth doesn't trap the original program.
#14213 -
A number of future
pollcalls throughout the WASIp2 implementation now
explicitly opt-out of Tokio's per-task cooperative budget to better uphold
guarantees of WASIp2 APIs.
#14265 -
The
run_concurrentfunction is now allowed to run recursively for separate
stores, but it still can only be used at most once recursively for any one
store.
#14302 -
The compile-time performance of the alias analysis in Cranelift has been
greatly improved.
#14306