v37.0.0: Release Wasmtime 37.0.0 (#11724)
37.0.0
Released 2025-09-20.
Added
-
Wasmtime now fully implements the WebAssembly exception-handling proposal.
Support is still disabled by default but is ready for testing. The proposal
will be enabled by default in a future release of Wasmtime.
#11326 -
An initial implementation of WASIp3 is available for the
0.3.0-rc-2025-08-15
tag made for the WASIp3 release. Note that this is not production ready yet
but is an excellent time to start kicking the tires in preparation for an
upcoming officialy WASIp3 0.3.0 release. Users of the CLI can opt-in with
-Sp3 -Wcomponent-model-async.
#11406
#11423
#11443 -
Wasmtime has initial support for the Linux
PAGEMAP_SCANioctl which can
greatly improve instantiation throughput in scenarios with a high number of
instantiations and short instance lifetime. This support is disabled by
default but will likely be enabled by default in a future release.
#11372
#11433 -
GC support can now be configured in
Configand not only through crate
features throughConfig::gc_support.
#11463 -
Wasmtime now supports reading metrics of the pooling allocator at runtime.
#11490 -
The
ManuallyRootedtype is now replaced withOwnedRootedwhich is intended
to make management of GC object lifetimes on the host easier.
#11514 -
Wasmtime's documentation of the C++ embedding API and examples has been
expanded.
#11569 -
Wasmtime's support for the stack-switching WebAssembly proposal continues to
progress on x86_64 Linux.
#11003
Changed
-
The
preview0andpreview1modules and features in thewasmtime-wasi
crate are now calledp0andp1.
#11380 -
Release artifacts for the C API are now unconditionally built with unwind
tables.
#11383 -
Wasmtime now requires Rust 1.87.0 or later to build.
#11396 -
The component-model-async gated
AbortHandleis now namedJoinHandle.
#11414 -
Wasmtime's internal implementation details are now
asyncin many more
locations to help ensure the implementation is more sound.
#11411
#11416
#11442
#11444
#11457
#11460
#11461
#11468
#11470
#11481
#11496 -
Component-model-async primitives such as streams, tasks, etc, now use the same
table as resources in a component. This means that guest-visible allocated
indices are updated slightly.
#11374 -
Wasmtime's precompiled binaries available from CI now include the
component-model-asyncfeature.
#11429 -
C API release artifacts are now built with LTO so they have a smaller size.
#11483 -
Code can no longer be loaded on
x86_64-unknown-noneby default without
opting-in to a contract that either the host is compiled with SSE2 support or
wasm is compiled with enough features that libcalls aren't used.
#11553 -
Host support for component model async futures/streams has been updated to a
new API.
#11515
Fixed
-
GC of dead DWARF has been improved.
#11402 -
Wasm-gc branching instructions now correctly check for fuel.
#11426 -
The
array.new_defaultinstruction now checks for fuel/epochs in its inner
loop.
#11428 -
The "min" C API artifacts now have correct headers.
#11479 -
GC OOM during const eval no longer panics.
#11557 -
Wasmtime now properly respects a disabled
stdfeature even on targets which
havestdavailable.
#11568