Releases: bytecodealliance/wasmtime
v24.0.2: Release Wasmtime 24.0.2 (#9563)
24.0.2
Released 2024-11-05.
Fixed
- Update to cap-std 3.4.1, for #9559, which fixes a wasi-filesystem sandbox
escape on Windows.
CVE-2024-51745.
v26.0.0: Release Wasmtime 26.0.0 (#9489)
26.0.0
Released 2024-10-22.
Added
-
The "table64" extension of the memory64 proposals to WebAssembly has been
implemented.
#9206 -
Initial support has been added for compiling WebAssembly modules with Pulley,
Wasmtime's interpreter. Note that the interpreter is not feature complete yet.
#9240 -
Wasmtime can now execute code without relying on host-based signal handlers.
#9230 -
Work has continued on implementing the GC proposals in Wasmtime.
#9246
#9244
#9271
#9275
#9278
#9282
#9285
#9326
#9341
#9358 -
Support for ARM64 Windows has been finished with support for unwinding.
Release binaries are now also available for this platform.
#9266
#9283 -
The
bindgen!
macro now supports multiple paths to load WIT from.
#9288 -
A new
-W async-stack-size=N
argument has been added to the CLI.
#9302 -
A new
wasmtime completion
subcommand can be used to generate a completion
script for the Wasmtime CLI.
#9312 -
Components now support
initialize_copy_on_write_image
like core modules.
#9357 -
Initial support for the ISLE verifier Crocus has landed.
#9178
Changed
-
Wasmtime now requires Rust 1.79.0 to compile.
#9202 -
The
future-trailers.get
inwasi-http
now returnsnone
when trailers are
absent.
#9208 -
The Cranelift instructions
iadd_cin
andisub_bin
were removed. The
isub_borrow
andiadd_carry
instructions were renamed to{u,s}add_carry
and{u,s}sub_borrow
.
#9199 -
Winch now supports multi-value results on AArch64.
#9218 -
Some issues related to
shutdown
have been fixed with WASI sockets.
#9225 -
Cranelift now has a Cargo feature to enable support for all native ISAs and
not Pulley.
#9237 -
Cranelift support for
StructArgument
in the arm64, riscv64, and s390x
backends has been removed.
#9258 -
The pooling allocator no longer limits instances/memories/tables by default.
#9257 -
Stack overflow on an async stack will now print a message that this happened.
#9304 -
Cranelift's
cranelift-wasm
crate has been removed and folded directly into
wasmtime-cranelift
.
#9313 -
Cranelift's
TrapCode
type is now represented with a single byte.
#9338
Fixed
v25.0.2: Release Wasmtime 25.0.2 (#9366)
25.0.2
Released 2024-10-09.
Fixed
-
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
v24.0.1: Release Wasmtime 24.0.1 (#9370)
24.0.1
Released 2024-10-09.
Fixed
-
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
v23.0.3: Release Wasmtime 23.0.3 (#9365)
23.0.3
Released 2024-10-09.
Fixed
-
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
v22.0.1: Release Wasmtime 22.0.1 (#9364)
22.0.1
Released 2024-10-09.
Fixed
-
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
v21.0.2: Release Wasmtime 21.0.2 (#9363)
21.0.2
Released 2024-10-09.
Fixed
-
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
v25.0.1: Release Wasmtime 25.0.1 (#9306)
25.0.1
Released 2024-09-24.
Added
- The
wasmtime
CLI's-Wmax-wasm-stack
option now automatically configures
the async stack size as well. A new-Wasync-stack-size
option was
additionally added to configure it too.
#9302
v25.0.0: Release Wasmtime 25.0.0 (#9289)
25.0.0
Released 2024-09-20.
Added
-
The WinML backend of wasmtime-wasi-nn now supports FP16 and I64.
#8964 -
Pooling allocator configuration options for table elements and core instance
size can now be changed on the CLI.
#9138 -
Wasmtime now supports the extended-const WebAssembly proposal.
#9141 -
The
wasmtime
crate embedding API now hasArrayRef
for allocating wasm GC
arrays.
#9145 -
Cranelift now has a
stack_switch
CLIF instruction to be used with the
WebAssembly stack switching proposal.
#9078 -
There are now more constructors available on
bindgen!
-generated structures
for component exports now which use instantiated components rather than
pre-instantiated components.
#9177
Changed
-
The host bindgen macro now accepts a new
verbose_tracing
option, which will
trace the value oflist
arguments. The new behavior of thetracing
option
is that it does not printlist
values withoutverbose_tracing
also being
present.
#9262 -
Wasmtime's support for WASI is now listed with the 0.2.1 version instead of
0.2.0. This is expected to not cause fallout or breakage, but please open an
issue if you see any problems.
#9063 -
Work continues on Winch's AArch64 backend.
#9114
#9092
#9171 -
Component model resource methods can now be generated as
async
and will do
so by default if async is enabled for all functions.
#9091 -
Work has continued on Wasmtime's interpreter backend, Pulley.
#9089 -
The internal implementation of
input-stream
andoutput-stream
for
filesystems inwasmtime-wasi
have been refactored to directly implement
the corresponding host traits. This additionally helps cleanup the internal
organization of host-side resources inwasmtime-wasi
.
#9129 -
Wasmtime now uses the new "user" stack maps in Cranelift rather than the old
regalloc-based stack maps for GC references.
#9082 -
Wasmtime's handling of WebAssembly features now works slightly differently
from before to provide better error messages and fewer panics on unsupported
WebAssembly features depending on compiler and target selection. Additionally
the reference-types WebAssembly proposal is always on-by-default regardless of
crate features.
#9158
#9162 -
The
wasmtime
CLI will now use the async version of I/O where possible to
properly support-Wtimeout
and timing out instances blocked in I/O.
#9184
Fixed
-
Use
tracing::Instrument
in generated bindings when tracing and async are
enabled, ensuring that spans aren't present in traces from unrelated async
tasks.
#9217
#9263 -
Completed support for the
CallHook
API when using the component model.
#9196 -
The compile time for a component model
enum
type with many cases should be
much improved now.
#9122 -
Some minor bugfixes have been made for when Wasmtime is working with split
DWARF in WebAssembly files.
#9109
#9132
#9134
#9139
#9151 -
An issue with bounds checks and dynamic checks has been fixed in Winch to
ensure bounds checks are correctly implemented.
#9156
v24.0.0: Release Wasmtime 24.0.0 (#9147)
24.0.0
Released 2024-08-20.
Added
-
A new
wasmtime_engine_clone
function was added to the C API.
#8907 -
Wasmtime now has basic support for allocating a
StructRef
in the embedder
API.
#8933 -
The
wasmtime run
subcommand now support a--argv0
flag indicating the
value of the first element to arguments reported to wasm if it shouldn't be
the default of the wasm binary name itself.
#8961 -
Support for Winch on AArch64 continued to improve.
#8921
#9018
#9033
#9051 -
An initial implementation of the
wasi-runtime-config
proposal was added to
Wasmtime.
#8950
#8970
#8981 -
Initial support for f16 and f128 in Cranelift continued to improve.
#8893
#9045 -
More types in
wasmtime-wasi-http
implement theDebug
trait.
#8979 -
The
wasmtime explore
subcommand now supports exploring CLIF too.
#8972 -
Support for SIMD in Winch has begun, but it is not complete yet.
#8990
#9006 -
Initial work on Pulley, an interpreter for Wasmtime, has begun.
#9008
#9013
#9014 -
The
-Wunknown-imports-trap
flag towasmtime run
now supports components.
#9021 -
An initial implementation of the
wasi-keyvalue
proposal was added to
Wasmtime.
#8983
#9032
#9050
#9062 -
An
unsafe
API has been added to unload process trap handlers.
#9022 -
The s390x backend now fully supports tail calls.
#9052
Changed
-
The
flags
type in the component model now has a hard limit of 32-or-fewer
flags. For more information about this transition see
WebAssembly/component-model#370.
#8882 -
Multiple returns for functions in the component model are now gated by default
and are planned to be removed.
#8965 -
TCP streams in WASIp2 will now immediately return
StreamError::Closed
when
the TCP stream is closed or shut down.
#8968
#9055 -
Cranelift will now perform constant propagation on some floating-point
operations.
#8954 -
Wasmtime and Cranelift now require at least Rust 1.78.0 to compile.
#9010 -
The
wasmtime::Val
type now implements theCopy
trait.
#9024 -
Wasmtime's wasi-nn implementation has been updated to track the upstream
specification.
#9056 -
Names provided to
trappable_imports
inbindgen!
are now validated to be
used.
#9057 -
Support for multi-package
*.wit
files now requires apackage ...;
header
at the top of the file.
#9053