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_SCAN
ioctl 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
Config
and not only through crate features throughConfig::gc_support
. #11463 -
Wasmtime now supports reading metrics of the pooling allocator at runtime. #11490
-
The
ManuallyRooted
type is now replaced withOwnedRooted
which 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
preview0
andpreview1
modules and features in thewasmtime-wasi
crate are now calledp0
andp1
. #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
AbortHandle
is now namedJoinHandle
. #11414 -
Wasmtime's internal implementation details are now
async
in 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-async
feature. #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-none
by 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_default
instruction 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
std
feature even on targets which havestd
available. #11568