40.0.0
Released 2025-12-20.
Added
-
WASIp3 support for
wasi:httpnow implementsResponse::from_httpto convert
from standard Rust types to WASI types.
#12063 -
Cranelift now supports a "patchable" ABI which has a maximum number of
arguments and clobbers no registers. This is paired as well with a new
patchable_callinstruction which supports being turned into NOPs at runtime.
#12061
#12101
Changed
-
Support for the WebAssembly
threadsproposal is now classified as tier 2 by
default. Additionally creation ofSharedMemoryis disabled by deafult behind
a new config knob/CLI flag.
#12036 -
A variety of peephole-style optimizations have been added to Cranelift's
optimization passes.
#11994
#11995
#11996
#11997
#11998
#11999
#12000
#12006
#12008 -
Component host functions have been slightly optimized to remove an
Arcclone
and reduce contention.
#11987 -
Support for component-model-async has been updated to account for the
changes specified in WebAssembly/component-model#578.
This means that historical binaries using WASIp3, for example, are no longer
valid. Recompilation of historical components will be required and
source-level changes may also be required in some circumstances.
#12031
#12043 -
The
UnsyncBoxBodytype is now used everywhere in wasmtime-wasi-http instead
of just in the wasip3 support.
#12060 -
Initial groundwork for gracefully handling OOM (e.g. returning an error
instead of aborting) has been added.
#12070
#12089 -
Wasmtime will create a private copy of code memory when guest debugging is
enabled to assist with modifying code when adding/removing breakpoints.
#12051 -
The
ResourceTabletype will no longer useTombstonewhen compiled in debug
mode.
#12114 -
Intra-component future/stream reads/writes will now trap instead of
accidentally being allowed.
#12117 -
Cranelift optimization rules have been tweaked after it was discovered that
they could pessimize code containing long chains of computations.
#12116
Fixed
-
Compilation of
i8x16.popcnthas been fixed in Winch for some potential
inputs.
#12010 -
A panic in
Instance::prepare_callfor some component-model-async situations
has been fixed.
#12054 -
An off-by-one error for lifting/lowering enums/variants with 255 cases has
been fixed.
#12066 -
Restarting the read of a host future after cancellation has been fixed.
#12093 -
Compilation for OpenBSD on x86_64 has been fixed.
#12097 -
Components containing a module type which exoprts a
tagare now supported.
#12125