Releases: bytecodealliance/wasmtime
v37.0.1: Release Wasmtime 37.0.1 (#11738)
37.0.1
Released 2025-09-23.
Fixed
- Cranelift's
cranelift-jitcrate now properly applies relocations toADRP
instructions on aarch64; a zero-extension on the offset was fixed to properly
sign-extend instead.
#11734
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
v36.0.2: Release Wasmtime 36.0.2 (#11541)
36.0.2
Released 2025-08-26.
Fixed
- Wasmtime will no longer panic in the pooling allocator when in near-OOM
conditions related to resetting the linear memory of a slot.
#11510
v36.0.1: Release Wasmtime 36.0.1 (#11477)
36.0.1
Released 2025-08-21.
Added
- Accessors for internal WASI-related contexts are added to
wasmtime_wasi::WasiCtxto account for refactorings that happened in this
release.
#11473
Changed
- Release artifacts for the C API are now smaller than the previous release to
assist with redistribution as-is.
#11483
v36.0.0: Release Wasmtime 36.0.0 (#11471)
36.0.0
Released 2025-08-20.
Added
-
Cranelift's has initial support for inlining between functions. Wasmtime
additionally now has support for inlining as well, for example between modules
in a component.
#11210
#11239
#11228
#11269
#11283 -
The async proposal for the Component Model is now fully implemented in
Wasmtime with a number of WASIp3 interfaces implemented. The implementation
is still off-by-default and the implementation of WASIp3 is not fully
complete, but is remains suitable for testing.
#11127
#11136
#11137
#11238
#11221
#11250
#11257
#11291
#11325
Changed
-
Users who implemented
WasiHttpView::is_forbidden_headerfrom
wasmtime-wasi-httpnow need to includeDEFAULT_FORBIDDEN_HEADERS, e.g.
DEFAULT_FORBIDDEN_HEADERS.contains(name) || name.as_str() == "custom-forbidden-header"
#11292 -
Cranelift's incremental cache has received some optimizations.
#11186 -
Wasmtime's internal implementations of WebAssembly primitives has been
refactored to be modeled with safer internal primitives.
#11211
#11212
#11216
#11229
#11215
#11254
#11255
#11319
#11320 -
Detection of native hardware features has been refactored on s390x.
#11220 -
Further progress has been made towards an implementation of the WebAssembly
exceptions proposal, although it is not yet complete.
#11230
#11321 -
Cranelift's assembler for x64 now supports EVEX encoding.
#11153
#11270
#11303 -
The default implementation of
send_requestin thewasmtime-wasi-httpcrate
is now behind an on-by-default feature gate.
#11323 -
Configuration of the
bindgen!macro has been redesigned to more consistently
configure per-function options such as whether or not it's async.
#11328 -
Initial support fo
mutatishas been added to Wasmtime's fuzzers.
#11290 -
The
debug-builtinscrate feature ofwasmtimeno compiles onno_std
targets.
#11304
Fixed
-
Deserializing external modules no long unnecessarily requires the allocation
to be aligned.
#11306 -
A CMake linker error and warning when using the C API on macOS has been fixed.
#11293
#11315 -
The C API declaration of
wasmtime_component_linker_instance_add_funchas
been fixed.
#11327 -
The calculation of reachable DWARF has been fixed.
#11338
v35.0.0: Release Wasmtime 35.0.0 (#11286)
35.0.0
Released 2025-07-22.
Added
-
A new
InputFiletype has been added for specifying stdin as a file in WASI.
#10968 -
Conditional branches to unconditional traps are now translated to conditional
traps during legalization.
#10988 -
The
TEHTTP header can now be specified by guests.
#11002 -
Winch on AArch64 should now pass all WebAssembly MVP tests. Note that it is
still not yet Tier 1 at this time, however.
#10829
#11013
#11031
#11051 -
The x64 backend now has lowering rules for
{add,sub,or,and} mem, imm
#11043 -
Initial support for WASIp2 in the C API has started to land.
#11055
#11172 -
Initial support for GC support in the component model has started to land
(note that it is not finished yet).
#10967
#11020 -
The
wasmtime-wasi-nncrate now has a feature to use a custom ONNX runtime.
#11060 -
Cranelift now optimizes division-by-constant operations to no longer use
division.
#11129 -
A
native-tlsbackend has been added for the wasi-tls implementation.
#11064
Changed
-
Many more instructions for the x64 backend in Cranelift were migrated to the
new assembler.
#10927
#10928
#10918
#10946
#10954
#10958
#10971
#10942
#10975
#11017
#10898
#10836
... (and more) -
Wasmtime internally uses
Pinfor VM data structures to make the internal
implementations more sound to use. This has no effect on the public API of
Wasmtime.
#10934
#10937
#10943
#10959
#11042 -
Fused adapters between components now transfer the
enumcomponent model type
more efficiently.
#10939 -
Filenames of
--emit-clifnow match the symbol names found in*.cwasm
artifacts and include the function name as well.
#10947
#11040 -
Wasmtime-internal crates are now all named
wasmtime-internal-*to even
further discourage their use.
#10963 -
Codegen of conditional traps with float compares has been improved.
#10966 -
More patterns are now optimized in ISLE mid-end rules.
#10978
#10979
#11173 -
Winch's support for constants/scratch registers has been improved internally.
#10986
#10998 -
The C API artifacts on Windows are now produced with Clang instead of
cl.exe.
#10890 -
WebAssembly operand types are now taken into account during translation to
optimize codegen better in the face of subtyping.
#11030 -
The behavior of
blocking-write-and-flushhas been updated during flushing
whenclosedis found.
#11018 -
WASI WITs have been updated to 0.2.6.
#11049 -
OpenVINO has been updated to v2025.1.
#11054 -
The size of the
wasmtime.addrmapsection in*.cwasmartifacts has been
shrunk slightly.
#11126 -
Authorities in
wasmtime-wasi-httpcan now contain the:character.
#11145 -
Wasmtime now requires Rust 1.86 to compile.
#11142 -
Wasmtime's DRC collector has been optimized and has a new more efficient means
of managing the set of over-approximated roots on the stack.
#11144
#11148
#11167
#11168
#11169
#11175 -
The
ComponentTypetrait in Wasmtime now requires theSendandSync
bounds for all implementors.
#11160 -
The
V128type is now usable on platforms other than aarch64 and x86_64.
#11165 -
Wasmtime's policy on
unsafecode and guidelines has been added.
#11177 -
The
stdcrate will no longer implicitly be used oncfg(unix)and
cfg(windows)targets when thestdCargo feature is disabled. This means
that these platforms now requirestdto be enabled to use the
platform-specific implementation of linear memory, for example.
#11152
Fixed
-
A panic when optimizing
icmpwith vectors has been fixed.
#10948 -
A panic when lowering
scalar_to_vectorwithi16x8types has been fixed.
#10949 -
The vector state register is now considered clobbered by calls on riscv64 to
ensure it's updated across calls.
#11048 -
An instance of
gdbcrashing on DWARF emitted by Wasmtime has been fixed.
#11077 -
Fix a panic in the host caused by preview1 guests using
fd_renumber.
CVE-2025-53901. -
Fix a panic in the preview1 adapter caused by guests using
fd_renumber.
#11277
v34.0.2: Release Wasmtime 34.0.2 (#11275)
34.0.2
Released 2025-07-18.
Fixed
-
Fix a panic in the host caused by preview1 guests using
fd_renumber.
CVE-2025-53901. -
Fix a panic in the preview1 adapter caused by guests using
fd_renumber.
#11277
34.0.1
Released 2025-06-24.
Fixed
- Fix a panic with host-defined tables/globals and concrete reference
types.
#11103
v33.0.2: Release Wasmtime 33.0.2 (#11274)
33.0.2
Released 2025-07-18.
Fixed
-
Fix a panic in the host caused by preview1 guests using
fd_renumber.
CVE-2025-53901. -
Fix a panic in the preview1 adapter caused by guests using
fd_renumber.
#11277
33.0.1
Released 2025-06-24.
Fixed
- Fix a panic with host-defined tables/globals and concrete reference
types.
#11103
v24.0.4: Release Wasmtime 24.0.4 (#11273)
24.0.4
Released 2025-07-18.
Fixed
-
Fix a panic in the host caused by preview1 guests using
fd_renumber.
CVE-2025-53901. -
Fix a panic in the preview1 adapter caused by guests using
fd_renumber.
#11277
24.0.3
Released 2025-06-24.
Fixed
- Fix a panic with host-defined tables/globals and concrete reference
types.
#11103
v34.0.1: Release Wasmtime 34.0.1 (#11119)
34.0.1
Released 2025-06-24.
Fixed
- Fix a panic with host-defined tables/globals and concrete reference
types.
#11103