Skip to content

v28.0.0: Release Wasmtime 28.0.0 (#9876)

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 20 Dec 16:26
· 131 commits to main since this release
2e584e8

28.0.0

Released 2024-12-20.

Added

  • The ISLE DSL used for Cranelift now has a first-class bool type.
    #9593

  • Cranelift now supports a new single-pass register allocator designed for
    compile-time performance (unlike the current default which is optimized for
    runtime-of-generated-code performance).
    #9611

  • The wasmtime crate now natively supports the wasm-wave crate and its
    encoding of component value types.
    #8872

  • A Module can now be created from an already-open file.
    #9571

  • A new default-enabled crate feature, signals-based-traps, has been added to
    the wasmtime crate. When disabled then runtime signal handling is not
    required by the host. This is intended to help with future effort to port
    Wasmtime to more platforms.
    #9614

  • Linear memories may now be backed by malloc in certain conditions when guard
    pages are disabled, for example.
    #9614
    #9634

  • Wasmtime's async feature no longer requires std.
    #9689

  • The buffer and budget capacity of OutgoingBody in wasmtime-wasi-http are
    now configurable.
    #9670

Changed

  • Wasmtime's external and internal distinction of "static" and "dynamic"
    memories has been refactored and reworded. All options are preserved but
    exported under different names with improved documentation about how they all
    interact with one another. (and everything should be easier to understand)
    #9545

  • Each Store<T> now caches a single fiber stack in async mode to avoid
    allocating/deallocating if the store is used multiple times.
    #9604

  • Linear memories now have a 32MiB guard region at the end instead of a 2GiB
    guard region by default.
    #9606

  • Wasmtime will no longer validate dependencies between WebAssembly features,
    instead delegating this work to wasmparser's validator.
    #9623

  • Cranelift's isle-in-source-tree feature has been re-worked as an environment
    variable.
    #9633

  • Wasmtime's minimum supported Rust version is now 1.81.
    #9692

  • Synthetic types in DWARF are now more efficiently represented.
    #9700

  • Debug builtins on Windows are now exported correctly.
    #9706

  • Documentation on Config now clarifies that defaults of some options may
    differ depending on the selected target or compiler depending on features
    supported.
    #9705

  • Wasmtime's error-related types now all unconditionally implement the Error
    trait, even in #[no_std] mode.
    #9702

Fixed

  • Field type matching for subtyping with wasm GC has been fixed.
    #9724

  • Native unwind info generated for s390x has been fixed in the face of tail
    calls.
    #9725