github bytecodealliance/wasmtime v49.0.0

latest release: dev
5 hours ago

49.0.0

Released 2026-09-21.

Added

  • Winch now has initial experimental support for the WebAssembly
    exception-handling proposal.
    #14066
    #14081
    #14132
    #14149
    #14180
    #14209

  • Wasmtime's type reflection APIs for WebAssembly GC types now have dedicated
    enums for Heap{Top,Bottom}Types.
    #14208

  • Wasmtime now supports the use of environment variables to configure most CLI
    arguments in addition to the preexisting CLI flags.
    #14217

  • Cranelift will now fold u{add,mul}_overflow results combined with brif
    instructions for more optimal codegen.
    #14217
    #14254

  • Components can be tested for equality with a new Component::same API.
    #14257

  • The Wasmtime C/C++ API now supports the component-model-implements feature.
    #14264

  • Cranelift will now emit the {u,s}bfm instructions on AArch64.
    #14187

Changed

  • The wide-arithmetic WebAssembly proposal is now enabled by default.
    #14110

  • Config::operator_cost now applies to operators inside constant expressions
    (global initializers, element and data segment offsets, element segment
    expressions) and to the synthesized call to a module's start function.
    Previously each of those was charged 1 fuel unit regardless of the configured
    cost.
    #14215

  • Wasmtime's WASI implementation will no longer over-read stdin where possible.
    #14077

  • Wasmtime's WASIp2 implementation now maps host-level "broken pipe" errors to
    StreamError::Closed.
    #14107

  • Wasmtime's WASIp2 implementation of wasi:http now validates ports in the
    same manner as wasip3.
    #14123

  • Wasmtime's WASI implementation of wasi:filesystem now returns the
    is-directory error in some situations when a file is provided.
    #14135

  • The wasmtime-wasi-http crate now has the p3 feature enabled by default.
    #14137

  • Wasmtime's WASIp2 implementation of wasi:http now runs more hooks from the
    WasiHttpHooks trait in the same manner as wasip3.
    #14167

  • Wasmtime now requires Rust 1.96.0 to compile.
    #14184

  • Adjustments have been made to the scheduling of threads w.r.t. trapping
    behavior for cooperatively threaded components. These changes are made to
    align with the upstream component-model specification.
    #14146
    #14250

  • Fuel for bulk operations is now consumed after the bulk operation has
    completed instead of up-front, restoring previous behavior where a failed very
    large memory growth doesn't trap the original program.
    #14213

  • A number of future poll calls throughout the WASIp2 implementation now
    explicitly opt-out of Tokio's per-task cooperative budget to better uphold
    guarantees of WASIp2 APIs.
    #14265

  • The run_concurrent function is now allowed to run recursively for separate
    stores, but it still can only be used at most once recursively for any one
    store.
    #14302

  • The compile-time performance of the alias analysis in Cranelift has been
    greatly improved.
    #14306

Don't miss a new wasmtime release

NewReleases is sending notifications on new releases.