Skip to content

Latest commit

 

History

History
182 lines (145 loc) · 9.7 KB

File metadata and controls

182 lines (145 loc) · 9.7 KB

40.0.2

Released 2026-01-14.

Fixed

  • A possible stack overflow in the x64 backend with cmp emission has been fixed. #12333

  • Some ISLE optimization rules which created erroneous IR for vector inputs have been fixed. #12179 #12335

  • The x64 lowering of shld has been fixed for some edge caxes. #12321


40.0.1

Released 2026-01-07.

Changed

  • This release is a test of Wasmtime's CI-based crate publishing infrastructure. Wasmtime is switching to crates.io-based trusted publishing for this release and is testing that everything works. #12257

40.0.0

Released 2025-12-20.

Added

  • WASIp3 support for wasi:http now implements Response::from_http to convert from standard Rust types to WASI types. #12063

  • Cranelift now supports a "patchable" ABI which has a maximum number of arguments and clobbers no registers. This is paired as well with a new patchable_call instruction which supports being turned into NOPs at runtime. #12061 #12101

Changed

  • Support for the WebAssembly threads proposal is now classified as tier 2 by default. Additionally creation of SharedMemory is disabled by deafult behind a new config knob/CLI flag. #12036

  • A variety of peephole-style optimizations have been added to Cranelift's optimization passes. #11994 #11995 #11996 #11997 #11998 #11999 #12000 #12006 #12008

  • Component host functions have been slightly optimized to remove an Arc clone and reduce contention. #11987

  • Support for component-model-async has been updated to account for the changes specified in WebAssembly/component-model#578. This means that historical binaries using WASIp3, for example, are no longer valid. Recompilation of historical components will be required and source-level changes may also be required in some circumstances. #12031 #12043

  • The UnsyncBoxBody type is now used everywhere in wasmtime-wasi-http instead of just in the wasip3 support. #12060

  • Initial groundwork for gracefully handling OOM (e.g. returning an error instead of aborting) has been added. #12070 #12089

  • Wasmtime will create a private copy of code memory when guest debugging is enabled to assist with modifying code when adding/removing breakpoints. #12051

  • The ResourceTable type will no longer use Tombstone when compiled in debug mode. #12114

  • Intra-component future/stream reads/writes will now trap instead of accidentally being allowed. #12117

  • Cranelift optimization rules have been tweaked after it was discovered that they could pessimize code containing long chains of computations. #12116

Fixed

  • Compilation of i8x16.popcnt has been fixed in Winch for some potential inputs. #12010

  • A panic in Instance::prepare_call for some component-model-async situations has been fixed. #12054

  • An off-by-one error for lifting/lowering enums/variants with 255 cases has been fixed. #12066

  • Restarting the read of a host future after cancellation has been fixed. #12093

  • Compilation for OpenBSD on x86_64 has been fixed. #12097

  • Components containing a module type which exoprts a tag are now supported. #12125


Release notes for previous releases of Wasmtime can be found on the respective release branches of the Wasmtime repository.