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