Skip to content

Releases: bytecodealliance/wasmtime

v18.0.4: Release Wasmtime 18.0.4 (#8328)

11 Apr 19:42
f54c2aa
Compare
Choose a tag to compare

18.0.4

Released 2024-04-11

Fixed

  • Fix bindgen! with trappable_error_type using unversioned/versioned
    packages.
    #8305

  • cranelift: Include clobbers and outgoing args in stack limit.
    #8334

  • Fix a panic when compiling invalid components.
    #8322

v17.0.3: Release Wasmtime 17.0.3 (#8337)

11 Apr 19:54
7be3efc
Compare
Choose a tag to compare

17.0.3

Released 2024-04-11

Fixed

  • cranelift: Include clobbers and outgoing args in stack limit.
    #8334

v19.0.1: Release Wasmtime 19.0.1 (#8289)

02 Apr 19:11
26104f0
Compare
Choose a tag to compare

19.0.1

Released 2024-04-02.

  • Fix a panic using tables with the wrong type.
    #8284

v19.0.0: Release Wasmtime 19.0.0 (#8186)

20 Mar 15:15
6e0abd7
Compare
Choose a tag to compare

19.0.0

Released 2024-03-20.

Added

  • C API bindings for the sampling-based profiler in Wasmtime have been added.
    #7854

  • Add the WasiP1Ctx to ease the use of wasmtime-wasi in place of wasi-common
    #8053

  • The Winch compiler backend is now feature-complete for x64. Note that minor
    issues and fuzz bugs are still being addressed, but now's a good time to test
    if you're interested.
    #7894
    #7909
    #7927
    #7932
    #7949
    #7974
    #8001

  • The typed function references proposal to WebAssembly is now fully
    implemented.
    #7943

  • The component::Linker type is now "semver aware" in that it enables loading
    components referring to past or future versions of interfaces so long as the
    types are compatible.
    #7994

  • Wasmtime can now be built for "custom platforms" which is intended for
    bare-metal builds.
    #7995

  • The wasmtime-wasi-nn crate now has a backend based on WinML.
    #7807

  • The wasmtime CLI now has flags for configuring limits of the pooling
    allocator.
    #8027

Changed

  • The wasmtime serve command no longer binds its port with SO_REUSEADDR
    meaning that if it is invoked twice only one will succeed.
    #7863

  • The sampling-based profiler in Wasmtime now takes an explicit argument of
    the time delta between samples.
    #7873

  • Many accessors for type information now require an &Engine argument to be
    specified in preparation for an implementation of wasm GC.
    #7892

  • The host header is now forbidden in wasi-http.
    #7905

  • Stronger type-checks are now performed for host-owned resources when
    interacting with the component model to help catch mistakes earlier.
    #7902

  • Demangling Rust and C/C++ symbols in WebAssembly modules is now done by
    default in the C API.
    #7962

  • Preview2-based APIs are now located at the root of the wasmtime_wasi crate
    instead of a submodule.
    #7933

  • Components now reserve index 0 for handle tables to match the component model
    specification.
    #7661

  • Support for externref has been moved behind a new gc Cargo feature. This
    will also gate support for wasm gc in the future.
    #7975

  • Require the WASMTIME_WASI_CONFIG_PREOPEN_SOCKET_ALLOW environment variable
    to bet set to allow the use of wasi_config_preopen_socket via the c api, as
    it will be deprecated in 20.0.0.
    #8053

Fixed

  • WIT interface names that are Rust keywords now correctly generate bindings.
    #7790

  • PKRU state is now restored across await points.
    #7789

  • Wasmtime now correctly supports global.get in all constant expressions
    within a module.
    #7996

v18.0.3: Release Wasmtime 18.0.3 (#8103)

12 Mar 22:57
ff528a2
Compare
Choose a tag to compare

18.0.3

Released 2024-03-12

Fixed

  • Fix inferring native flags when a compilation target is specified.
    #7991

v18.0.2: Release Wasmtime 18.0.2 (#8023)

28 Feb 23:26
90db6e9
Compare
Choose a tag to compare

18.0.2

Released 2024-02-28.

Fixed

  • Fix an egraph rule bug that was permitting an incorrect ireduce rewrite to
    unary and binary operations, leading to miscompilations.
    #8005

v17.0.2: Release Wasmtime 17.0.2 (#8024)

28 Feb 23:23
f475c0b
Compare
Choose a tag to compare

17.0.2

Released 2024-02-28

Fixed

  • Fix an egraph rule bug that was permitting an incorrect ireduce rewrite to
    unary and binary operations, leading to miscompilations.
    #8005

v18.0.1: Release Wasmtime 18.0.1 (#7967)

20 Feb 22:08
446862c
Compare
Choose a tag to compare

18.0.1

Released 2024-02-20.

Fixed

  • Fixed a mistake in the CI release process that caused the crates.io
    publication of the 18.0.0 release to not succeed.
    #7966

v18.0.0: Release Wasmtime 18.0.0 (#7958)

20 Feb 19:59
518fd4a
Compare
Choose a tag to compare

18.0.0

Released 2024-02-20.

Added

  • The wasmtime-c-api-impl crate is now published on crates.io.
    #7837

  • A new EngineWeak type enables holding a weak pointer to an engine with the
    ability to dynamically and fallibly upgrade it to an Engine.
    #7797

  • The WebAssembly tail calls proposal can now be enabled through the C API.
    #7811

  • The import and export types of a Component can now be inspected at runtime.
    #7804

  • New APIs/types have been added to support a faster version of looking up
    module exports without using string lookups with Module::get_export_index.
    #7828

Changed

  • Owned resources represented with ResourceAny can now be passed as arguments
    to functions that require a borrow<T> parameter.
    #7783

  • Generated structures from wasmtime::component::bindgen! for exported
    interfaces are now all renamed to Guest to avoid conflicting with WIT names.
    #7794

  • Guest profiler output will now automatically demangle symbols.
    #7809

  • The wasmtime crate now has a runtime Cargo feature which, if disabled,
    enables building Wasmtime with only the ability to compile WebAssembly
    modules. This enables compiling Wasmtime's compilation infrastructure, for
    example, to WebAssembly itself.
    #7766

  • Support for the old wasi-common crate and the original implementation of
    "WASIp1" aka "preview1" is being deprecated in the wasmtime-wasi crate.
    Users should migrate to the wasmtime_wasi::preview2 implementation, which
    supports both WASIp1 and WASIp2, as in the next release the
    wasi-common-based reexports of wasmtime-wasi will be deleted.
    #7881

v17.0.1: Release Wasmtime 17.0.1 (#7890)

07 Feb 23:28
601e229
Compare
Choose a tag to compare

17.0.1

Fixed

  • Fix an egraph elaboration fuzzbug that was allowing values with dependencies
    that shouldn't be duplicated to be chosen in a context that would make them
    invalid.
    #7859
    #7879
  • Fix an egraph rule bug that was allowing unconstrained recursion through the
    DFG to run away on large functions.
    #7882