Releases: bytecodealliance/wasmtime
dev
Debugging: add integration test with LLDB and some minor tweaks. (#12…
v43.0.0: Release Wasmtime 43.0.0 (#12806)
43.0.0
Released 2026-03-20.
Added
-
Wasmtime now supports the WASIp3 snapshot
0.3.0-rc-2026-03-15.
#12557 -
The number of frames captured in backtrace collection can now be configured.
#12542 -
Wasmtime now supports fine-grained operator cost configuration for when fuel
is enabled.
#12541 -
Configuring the
gc_supportoption is now possible through the C API.
#12630 -
Configuring the
concurrency_supportoption is now possible through the C
API.
#12703 -
Debugging-related APIs have been added to access all modules and instances on
a store.
#12637 -
All store entities now expose a "unique ID" for debugging purposes.
#12645 -
Cranelift's x64 backend now supports the
clsinstruction for all integer
types.
#12644
Changed
-
Internal refactoring and support necessary for handling OOM gracefully
throughout the runtime is proceeding apace. New APIs such as
FuncType::try_neware available in addition to many internal changes.
#12530
#12537
(... and many more ...) -
Wasmtime's representation of stack frames in the debugging API no longer
borrows the store itself and is instead represented as a handle.
#12566 -
Wasmtime now unconditionally sets
SO_REUSEADDRfor guest-bound sockets.
#12597 -
Cranelift now supports more
VRegs which means effectively that larger
functions will be compilable by default rather than returning a "function too
large" error.
#12611 -
WASIp3 implementations now limit returned memory by default for randomness and
HTTP headers.
#12745
#12761
Fixed
-
Running
wasmtime wizerover components with modules that contain an
_initializefunction no longer removes the function to preserve the validity
of the component.
#12540 -
Borrow state for host async tasks is now handled more correctly throughout
Wasmtime, especially in the face of cancellation.
#12550 -
Bindings generation now accounts for the fact that
futureandstreamare
not cloneable types.
#12155 -
The impementation of UDP in WASIp2 has had some wakeup-related bugs fixed.
#12629 -
Cancellation of host subtasks for component-model-async has been improved and
works more reliably.
#12640 -
Subtask management for component-model-async now no longer reparents which
fixes a number spec-related divergences.
#12570 -
Converting a
wasmtime::Errorintoanyhow::Errorand usingdowncasthas
been fixed.
#12689 -
Async stream/future read/write cancellation has had some corner cases fixed.
#12704 -
Cranelift's timing infrastructure is now more robust in the face of buggy
system clocks.
#12709 -
The currently running guest task has been corrected in a number of cases
related to component-model-async and cooperative threading.
#12718
#12735
#12736
#12737 -
An issue of lost wakeups with the WASIp3 stdin implementation has been fixed.
#12745
v42.0.1: Release Wasmtime 42.0.1 (#12666)
v42.0.0: Release Wasmtime 42.0.0 (#12627)
42.0.0
Released 2026-02-20.
Added
-
Cranelift now supports bitwise operations on floats on aarch64.
#12326 -
Cranelift now supports NaN canonicalization of f16 and f128.
#12337 -
Wasmtime has gained minimal support to implement fixed-length lists in the
component model being communicated between composed components.
#10619 -
Wasmtime's
ErrorandResulttypes are now built-in to thewasmtimecrate
and are no longer defined by theanyhowcrate. Wasmtime exports a
mostly-compatibleanyhow-like API atwasmtime::errorwhich is used
instead. Wasmtime's ownErrorhandles OOM internally and is foundational
part of Wasmtime's work-in-progress support to gracefully handle OOM.
#12309 -
Wasmtime now exports an extension trait to convert
anyhow::Result<T>into
wasmtime::Result<T>.
#12255 -
Wasmtime supports a new
bindgen!option to generate bindings specifically
withanyhow::Resultinstead ofwasmtime::Result.
#12331 -
The Nvidia-Cuda execution provider is now supported for the wasi-nn onnx
backend.
#12044 -
Non-exported and private entities can now be accessed through the debugger
API.
#12367 -
A new
Store::try_newAPI has been added which handles OOM.
#12415 -
Initial configuration knobs for record-and-replay support have been added.
#12375 -
Cranelift's s390x backend now has support for instructions added in z17.
#12319 -
Wasmtime's implementation of fibers can now be compiled on riscv32imac
platforms.
#12506 -
Wasmtime's implementation of WASI now correctly limits resource consumption on
behalf of the guest, such as host-allocated memory, by default. This means
that some behaviors previously allowed by Wasmtime are now disallowed by
default if they rely on transferring a large amount of data from the guest to
the host. Additionally calls towasi:random/random.get-random-bytes, for
example, now have limits in place by default to avoid allocating too much
memory on the host. For more information on this see the related security
advisory with further details on knobs added and what behaviors are now
restricted by default.
GHSA-852m-cvvp-9p4w
Changed
-
Reentrance rules for WebAssembly components have changed in accordance with
upstream specification changes. Embeddings are not expected to be affected,
but please reach out if you find problems.
#12349 -
Wasmtime's
Config::async_supportoption is now removed and no longer
necessary. Embeddings can likely just remove turning this on and everything
should keep working like normal.
#12371 -
Wasmtime now supports
Config::concurrency_supportas a knob to enable or
disable*_concurrentAPIs at runtime when thecomponent-model-asynccrate
feature is enabled.
#12416 -
The
post_return-style functions in Wasmtime's API are now noops and will be
removed in the future.
#12498 -
Translation of
global.getof a defined, immutable global is now turned into
a CLIF constant.
#12234 -
The
wasmtime-wasi-nncrate's dependency onorthas been updated.
#12162 -
Error bounds requiring using
hyper::Errorinwasmtime-wasi-httphave been
relaxed to takingE: Into<ErrorCode>instead.
#12227 -
The
cranelift-assembler-x64, andcranelift-islecrates now supports
no_std targets. Thecranelift-codegencrate now mostly supports no_std,
but not entirely.
#12222
#12235
#12236 -
Android release binaries are now compiled with a larger page size configured.
#12246 -
Implicit binds are now allowed for WASIp3 sockets.
#12225 -
Wasmtime's implementation of component-model-async now correctly checks for
whether tasks are allowed to block in all guest-to-guest situations.
#12282 -
The
wasmtime-wasi-tlscrate now has an OpenSSL backend.
#12228 -
Wasmtime's
OutOfMemoryerror now keeps track of the attempted allocation
size that failed.
#12351 -
Wasmtime's
*_uncheckedfunctions now work withMaybeUninit<ValRaw>instead
ofValRawdirectly.
#12366 -
Wasmtime now requires Rust 1.91.0 to compile.
#12392 -
Wasmtime's management of component-model-async tasks is now consistently done
in all boundaries between guest/host tasks.
#12379
Fixed
-
The
HeapType::matchesimplementation forNoExnhas been fixed.
#12350 -
Enum discriminant validation for composed components has been fixed.
#12356 -
Shifts in some situations on aarch64 with Winch have been fixed.
#12501 -
Debug value locations around cold blocks have been improved.
#12484 -
Panics when adding too many headers to a
wasi:http/types.fieldshas been
resolved
GHSA-243v-98vx-264h
v41.0.4: Release Wasmtime 41.0.4 (#12654)
41.0.4
Released 2026-02-24.
Changed
- Wasmtime's implementation of WASI now has the ability to limit resource
consumption on behalf of the guest, such as host-allocated memory. This means
that some behaviors previously allowed by Wasmtime can now disallowed, such as
transferring excessive data from the guest to the host. Additionally calls to
wasi:random/random.get-random-bytes, for example, can have limits in place
to avoid allocating too much memory on the host. To preserve
backwards-compatible behavior these limits are NOT set by default. Embedders
must opt-in to configuring these knobs as appropriate for their embeddings.
For more information on this see the related security advisory with further
details on knobs added and what behaviors can be restricted.
GHSA-852m-cvvp-9p4w
Fixed
-
Panics when adding too many headers to a
wasi:http/types.fieldshas been
resolved
GHSA-243v-98vx-264h -
Panic when dropping a
[Typed]Func::call_asyncfuture.
GHSA-xjhv-v822-pf94
v40.0.4: Release Wasmtime 40.0.4 (#12655)
40.0.4
Released 2026-02-24.
Changed
- Wasmtime's implementation of WASI now has the ability to limit resource
consumption on behalf of the guest, such as host-allocated memory. This means
that some behaviors previously allowed by Wasmtime can now disallowed, such as
transferring excessive data from the guest to the host. Additionally calls to
wasi:random/random.get-random-bytes, for example, can have limits in place
to avoid allocating too much memory on the host. To preserve
backwards-compatible behavior these limits are NOT set by default. Embedders
must opt-in to configuring these knobs as appropriate for their embeddings.
For more information on this see the related security advisory with further
details on knobs added and what behaviors can be restricted.
GHSA-852m-cvvp-9p4w
Fixed
-
Panics when adding too many headers to a
wasi:http/types.fieldshas been
resolved
GHSA-243v-98vx-264h -
Panic when dropping a
[Typed]Func::call_asyncfuture.
GHSA-xjhv-v822-pf94
v36.0.6: Release Wasmtime 36.0.6 (#12656)
36.0.6
Released 2026-02-24.
Changed
- Wasmtime's implementation of WASI now has the ability to limit resource
consumption on behalf of the guest, such as host-allocated memory. This means
that some behaviors previously allowed by Wasmtime can now disallowed, such as
transferring excessive data from the guest to the host. Additionally calls to
wasi:random/random.get-random-bytes, for example, can have limits in place
to avoid allocating too much memory on the host. To preserve
backwards-compatible behavior these limits are NOT set by default. Embedders
must opt-in to configuring these knobs as appropriate for their embeddings.
For more information on this see the related security advisory with further
details on knobs added and what behaviors can be restricted.
GHSA-852m-cvvp-9p4w
Fixed
- Panics when adding too many headers to a
wasi:http/types.fieldshas been
resolved
GHSA-243v-98vx-264h
v24.0.6: Release Wasmtime 24.0.6 (#12653)
24.0.6
Released 2026-02-24.
Changed
- Wasmtime's implementation of WASI now has the ability to limit resource
consumption on behalf of the guest, such as host-allocated memory. This means
that some behaviors previously allowed by Wasmtime can now disallowed, such as
transferring excessive data from the guest to the host. Additionally calls to
wasi:random/random.get-random-bytes, for example, can have limits in place
to avoid allocating too much memory on the host. To preserve
backwards-compatible behavior these limits are NOT set by default. Embedders
must opt-in to configuring these knobs as appropriate for their embeddings.
For more information on this see the related security advisory with further
details on knobs added and what behaviors can be restricted.
GHSA-852m-cvvp-9p4w
Fixed
- Panics when adding too many headers to a
wasi:http/types.fieldshas been
resolved
GHSA-243v-98vx-264h
v41.0.3: Release Wasmtime 41.0.3 (#12529)
41.0.3
Released 2026-02-04.
Fixed
- Fix an incorrect mid-end optimization rule that could cause a compiler panic
due to mismatched types.
#12504
v41.0.2: Release Wasmtime 41.0.2 (#12499)
41.0.2
Released 2026-02-03.
Fixed
- Reduce the dependencies of the
wasmtime-internal-jit-icache-coherencecrate.
#12446