github bytecodealliance/wasmtime v35.0.0

latest releases: dev, v36.0.2, v36.0.1...
one month ago

35.0.0

Released 2025-07-22.

Added

  • A new InputFile type 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 TE HTTP 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-nn crate 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-tls backend 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 Pin for 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 enum component model type
    more efficiently.
    #10939

  • Filenames of --emit-clif now 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-flush has been updated during flushing
    when closed is 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.addrmap section in *.cwasm artifacts has been
    shrunk slightly.
    #11126

  • Authorities in wasmtime-wasi-http can 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 ComponentType trait in Wasmtime now requires the Send and Sync
    bounds for all implementors.
    #11160

  • The V128 type is now usable on platforms other than aarch64 and x86_64.
    #11165

  • Wasmtime's policy on unsafe code and guidelines has been added.
    #11177

  • The std crate will no longer implicitly be used on cfg(unix) and
    cfg(windows) targets when the std Cargo feature is disabled. This means
    that these platforms now require std to be enabled to use the
    platform-specific implementation of linear memory, for example.
    #11152

Fixed

  • A panic when optimizing icmp with vectors has been fixed.
    #10948

  • A panic when lowering scalar_to_vector with i16x8 types 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 gdb crashing 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

Don't miss a new wasmtime release

NewReleases is sending notifications on new releases.