GitHub

dev: Fix handling of context slots in component compositions (#14139)

Pre-release

This commit fixes handling of `context.{get,set}` slots in sync-to-sync
adapters generated by Wasmtime's FACT pass. Previously no care was taken
here meaning that the context slots were wrong for `post-return` and
`realloc` calls. All slots are now managed as they are on the host,
mirroring the logic internally for management.

v47.0.3: Release Wasmtime 47.0.3 (#14037)

Immutable release. Only release title and notes can be modified.

47.0.3

Released 2026-07-31.

Fixed

v46.0.2: Release Wasmtime 46.0.2 (#14038)

Immutable release. Only release title and notes can be modified.

46.0.2

Released 2026-07-31.

Fixed

v36.0.13: Release Wasmtime 36.0.13 (#14035)

Immutable release. Only release title and notes can be modified.

36.0.13

Released 2026-07-31.

Fixed

v24.0.12: Release Wasmtime 24.0.12 (#14040)

Immutable release. Only release title and notes can be modified.

24.0.12

Released 2026-07-31.

Fixed

v47.0.2: Release Wasmtime 47.0.2 (#13925)

Immutable release. Only release title and notes can be modified.

47.0.2

Released 2026-07-21.

Fixed

  • Fix async-delivered write-closed events for futures.
    #13914

  • Fix call hooks with yields and concurrent execution.
    #13871

v47.0.1: Release Wasmtime 47.0.1 (#13907)

Immutable release. Only release title and notes can be modified.

47.0.1

Released 2026-07-20.

Fixed

  • Fixed publication of wasmtime-cli to crates.io.
    #13902

v47.0.0: Release Wasmtime 47.0.0 (#13898)

Immutable release. Only release title and notes can be modified.

47.0.0

Released 2026-07-20.

Added

  • Wasmtime now has the WebAssembly GC proposal enabled by default.
    #13594

  • Wasmtime now has the WebAssembly exception-handling proposal enabled by
    default.
    #13603

  • Cranelift now supports the compact unwind format on Mach-O platforms.
    #13586

  • Wasmtime now supports bounds-checked unsafe intrinsics which take spectre
    mitigations into account.
    #13597

  • The wasmtime::Engine type now supports reflection to determine the value of
    most Config options that were selected during creation.
    #13671

  • Support for fibers on unsupported architectures is now supported through an
    opt-in compile time Cargo feature defining a C API embedders can implement.
    #13620

  • Embedders can now create an ArrayRef with a memcpy-style constructor.
    #13716

  • A new Accessor::poll_ready_for_concurrent_call API can be used to detect
    when backpressure indicates that a function is ready to be invoked.
    #13683

Changed

  • Support for wasi-threads and Wasmtime's wasi-common crate have been removed.
    For more information see the associated RFC in Wasmtime.
    #13558

  • The call_indirect instruction of final super types has been optimized when
    the GC proposal is enabled.
    #13572

  • Cranelift's *_imm builder helpers have been deprecated in favor of
    *_imm_{s,u} helpers.
    #13583

  • The wasmtime CLI's syntax supported for --invoke with components now
    supports fully qualified WIT interface names.
    #13564

  • Cranelift's stack_{load,store} instructions have been removed.
    #13580

  • Cranelift's {band,bor,bxor}_not instructions have been removed.
    #13590

  • Cranelift's global_value instruction has been removed.
    #13682

  • The wasmtime wizer subcommand now supports specifying the initialization
    function with WAVE for components.
    #13582

  • Wasmtime's codegen on aarch64 for the i32x4.relaxed_dot_i8x16_i7x16_add_s
    wasm instruction now uses a single sdot instruction where possible.
    #13640

  • Wasmtime's .wasmtime{traps,addrmap} sections in *.cwasm files are now
    significantly smaller.
    #13628

  • Wasmtime now supports removing symbols from *.cwasm files and additionally
    has a documentation page about producing minimally-sized *.cwasm outputs.
    #13630

  • Wasmtime now suports resources in the named_imports option of bindgen!.
    #13666

  • Wasmtime now invokes the host's socket_addr_check callback for implicit
    binds performed in WASIp3.
    #13677

  • Wasmtime's component-to-component sync-to-sync fused adapters have been
    optimized.
    #13695

  • Cranelift now supports RISC-V's Zvbb extension.
    #13738

Fixed

  • The IPV6_V6ONLY option is now set for UDP sockets.
    #13596

  • Uncaught wasm exceptions at component boundaries are now turned into traps to
    prevent components catching exceptions from other components.
    #13613

  • Addresses being sent do with WASIp3 and UDP are now validated as they are in
    WASIp2.
    #13631

  • GC roots on component model fiber stacks are now properly traced.
    #13693

  • An unaligned load when reading debug state slot values has been fixed.
    #13791

v46.0.1: Release Wasmtime 46.0.1 (#13722)

Immutable release. Only release title and notes can be modified.

46.0.1

Released 2026-06-24.

Fixed

  • WASI hard links and renames check wasmtime-wasi's FilePerms for destination
    GHSA-4ch3-9j33-3pmj
  • Explicit hint for generic call in wasmtime wit-bindgen.
    #13719

v45.0.3: Release Wasmtime 45.0.3 (#13724)

Immutable release. Only release title and notes can be modified.

45.0.3

Released 2026-06-24.

Fixed

  • WASI hard links and renames check wasmtime-wasi's FilePerms for destination
    GHSA-4ch3-9j33-3pmj

Read the original on github.com ↗