Skip to content

Releases: bytecodealliance/wasmtime

v24.0.2: Release Wasmtime 24.0.2 (#9563)

05 Nov 19:20
c29a9bb
Compare
Choose a tag to compare

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)

22 Oct 15:23
c92317b
Compare
Choose a tag to compare

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 in wasi-http now returns none when trailers are
    absent.
    #9208

  • The Cranelift instructions iadd_cin and isub_bin were removed. The
    isub_borrow and iadd_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

  • Stack slots in Cranelift are now aligned from the start instead of the end.
    #9279

  • The WASIp1 adapter now correctly handles allocations where the initial
    alignment consumes the entire allocation.
    #9356

v25.0.2: Release Wasmtime 25.0.2 (#9366)

09 Oct 16:56
52a565b
Compare
Choose a tag to compare

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)

09 Oct 16:55
eb42159
Compare
Choose a tag to compare

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)

09 Oct 16:59
72bedc1
Compare
Choose a tag to compare

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)

09 Oct 16:57
6e4dbe3
Compare
Choose a tag to compare

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)

09 Oct 17:03
70ceccd
Compare
Choose a tag to compare

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)

24 Sep 21:40
b4cb894
Compare
Choose a tag to compare

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)

20 Sep 15:43
0b195ef
Compare
Choose a tag to compare

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 has ArrayRef 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 of list arguments. The new behavior of the tracing option
    is that it does not print list values without verbose_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 and output-stream for
    filesystems in wasmtime-wasi have been refactored to directly implement
    the corresponding host traits. This additionally helps cleanup the internal
    organization of host-side resources in wasmtime-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)

20 Aug 15:19
6fc3d27
Compare
Choose a tag to compare

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 the Debug 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 to wasmtime 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 the Copy trait.
    #9024

  • Wasmtime's wasi-nn implementation has been updated to track the upstream
    specification.
    #9056

  • Names provided to trappable_imports in bindgen! are now validated to be
    used.
    #9057

  • Support for multi-package *.wit files now requires a package ...; header
    at the top of the file.
    #9053