Released 2024-10-09.
-
Fix a runtime crash when combining tail-calls with host imports that capture a stack trace or trap. GHSA-q8hx-mm92-4wvg
-
Fix a race condition could lead to WebAssembly control-flow integrity and type safety violations. GHSA-7qmx-3fpx-r45m
Released 2024-06-20.
-
The CMake-based build of Wasmtime's C API now adds a
WASMTIME_FASTEST_RUNTIME
option which activates the "fastest-runtime" compilation profile which enables LTO. #8554 -
Cranelift supports more instructions in the RISC-V Zfa and ZiCond extensions. #8582 #8695
-
Support for fused-multiply-and-add on RISC-V has been improved. #8596 #8588
-
Release binaries for
{aarch64,x86_64}-android
have been added. Note that Android is still a Tier 3 target. #8601 -
Wasmtime now supports supertypes and finality in the type hierarchy for wasm gc. #8595
-
Lazy initialization of tables can now be tuned with a CLI flags and configuration option. #8531
-
Wasmtime now compiles for x86_64 OpenBSD. Note that this is a Tier 3 target and continued support is always appreciated. #8613
-
Stack slots in Cranelift can now specify custom alignment. #8635
-
Wasm function names are now used in compiled objects to assist with debugging and introspection with native tools. #8627
-
Wasmtime's release artifacts now includes
wasmtime-platform.h
for use withno_std
targets. #8644 -
Release binaries for x86_64 Alpine Linux have been added. #8668
-
A new
Component::define_unknown_imports_as_traps
function has been added to stub out functions in a component linker. #8672
-
Wasmtime and Cranelift's now require Rust 1.76.0 to build. #8560
-
The
wasi_config_preopen_dir
function no longer always returnstrue
in the C API. Additionallywasi_config_set_env
andwasi_config_set_argv
may now return an error. #8572 -
Cranelift now updates registers of backend instructions in-place, simplifying register allocation and assignment. #8566 #8581 #8592 #8604 #8605
-
Wasmtime now attempts to batch memory decommits into one tight loop. #8581 #8590
-
Bindings generated with
bindgen!
now have generatedGetHost
traits andadd_to_linker_get_host
functions which enable a more general means by which to acquire host implementations from a store'sT
. #8448 -
The
wasmtime serve
subcommand will now dynamically determine whether to use the pooling allocator by default based on the system's available virtual memory. #8610 -
Implementations of
Host
traits in thewasmtime-wasi
crate are now forWasiImpl<T>
instead of blanket impls forT
. #8609 #8766 -
The concepts of "virtual sp offset" and "nominal sp" have been removed from all Cranelift backends. #8631 #8643
-
The maximum size of linear memory in the pooling allocator is now specified in bytes instead of pages. #8628
-
Wasmtime no longer has two different host ABIs for host functions and instead only has one. The "array" calling convention is now unconditionally used instead of having a split between the "native" calling convention and the "array" calling convention. This means that
Func::new
is now available even when thecranelift
feature is disabled. #8629 #8646 -
Wasmtime's C API bindings for CMake have been refactored and now supports specifying Cargo features directly. Functions that are configured out are now also gated in header files. #8642
-
Wasmtime's C API can now be built without Cranelift or Winch. #8661
-
Wasmtime's release binaries have Winch compiled in by default now. #8660
-
The output of
wasmtime explore
now shows function names in addition to indices. #8639 -
Support for the Wasmtime 13-and-prior CLI has been removed. #8597
-
Wiggle-based borrow checking has been removed in favor of modeling host usage of guest memory with Rust-level borrows. #8702
-
Wasmtime's
bindgen!
macro will now generate the same hierarchy of traits/types/modules even when thewith
module is used via newpub use
statements. #8721 -
The
WasiCtxBuilder::socket_addr_check
function now takes anasync
closure. #8715 -
The
Func::wrapN_async
functions and friends have all been consolidated into a single function with a slightly different signature of taking a tuple of arguments rather than "splatted" arguments. #8732
-
Trampoline lookup for wasm gc functions that may use subtyping on the host to match a guest's desired type now no longer panics. #8579
-
The total size of arguments, environment variables, and preopens is now allowed to exceed 64k when using the wasip1 component adapter. #8594
-
Performing a zero-length
read
on file streams is now fixed in WASI. #8611 -
Tail calls are now turned by default after a mistake was discovered in the previous releases's intent to enable them by default. #8682
-
Winch support for
f64
comparison instructions has been fixed. #8685 -
The
SO_REUSEADDR
option is reenabled for Unix platforms withwasmtime serve
. #8738
Release notes for previous releases of Wasmtime can be found on the respective release branches of the Wasmtime repository.