Skip to content

Releases: bytecodealliance/wasmtime

dev: Refactor how release notes are managed (#8680)

28 Sep 20:31
1422645
Compare
Choose a tag to compare
* Refactor how release notes are managed

This commit updates how Wasmtime manages release notes across released
versions of Wasmtime. One of the most onerous parts about releases right
now is writing release notes in all the locations and making sure
they're all up-to-date and in-sync. This is inevitably forgotten in some
cases and various pieces will slip through the cracks. The basic idea of
this PR is to change our release notes to only document the release
branch that they're on. All historical release notes are relegated to
historical branches.

With this change there's no longer any need to backport or forward-port
release notes for any changes. Instead release notes are written once
on one branch and that's it.

The major downside of this change is that there's no easy way to get a
bird's eye view of all release notes for Wasmtime any more. If necessary
that could theoretically be automated in the future (like
https://releases.rs/), but for now this feels like an acceptable
compromise to make releases much easier.

The contents of this PR are to update `RELEASES.md` with back-links to
historical release notes as well as the various pieces of automation we
have about managing release notes.

* Add more notes about the release process

* Fix a typo

* Make it more obvious that patch releases are documented

v21.0.1: Release Wasmtime 21.0.1 (#8679)

22 May 18:05
cedf9aa
Compare
Choose a tag to compare

21.0.1

Released 2024-05-22.

Fixed

  • Fixed outgoing HTTP requests which don't explicitly specify a port.
    #8671

v21.0.0: Release Wasmtime 21.0.0 (#8666)

20 May 20:23
aaa39cb
Compare
Choose a tag to compare

21.0.0

Released 2024-05-20.

Added

  • The wasmtime explore subcommand now supports *.wat files.
    #8314

  • Wasmtime now supports DWARF Fission *.dwp files.
    #8055

  • The wasmtime crate now supports #![no_std], and more information about
    this transition can be found in
    #8341.
    #8463
    #8483
    #8485
    #8528
    #8533

  • A Config knob is now available for one-entry call_indirect caching to
    speed up modules with lots of call_indirect instructions.
    #8509

  • Cranelift's riscv64 backend has initial support for the Zfa Extension.
    #8536

  • The WebAssembly tail-calls proposal is now enabled by default when using the
    Cranelift backend, except for the s390x architecture.
    #8540

Changed

  • Support for NaN canonicalization on x64 has been optimized to avoid branches.
    #8313

  • The bindgen! macro now defaults to assuming imports cannot trap, but this
    behavior is configurable at macro-generation time.
    #8310

  • The fd_{read,write} implementations in wasmtime-wasi have been optimized.
    #8303

  • The wasmtime-wasi-http crate has been refactored and has improved
    documentation.
    #8332
    #8347

  • Unused with parameters in bindgen! now generate an error.
    #8371

  • The fd_read implementation in wasmtime-wasi now only reads into a single
    iovec per call.
    #8415

  • The wasmtime_val_t type in the C API no longer holds any allocations. This
    type must still be manually managed to properly unroot values, however.
    #8451

  • Add an optimized "sleep" path for poll_oneoff to wasmtime-wasi.
    #8429

  • The Wasmtime-internal wasmtime-runtime crate has been removed.
    #8501

  • The pooling allocator now allows twice as many elements as before.
    #8527

  • Using CMake to build the C API has been improved along a number of axes.
    #8490
    #8497
    #8549

Fixed

  • Pooling allocator CLI options are now respected with the wasmtime serve
    subcommand.
    #8525

  • The read implementation for file input streams in wasmtime-wasi now
    correctly handles zero-length reads.
    #8611

v20.0.2: Release Wasmtime 20.0.2 (#8574)

07 May 19:22
20e5070
Compare
Choose a tag to compare

20.0.2

Released 2024-05-07.

Added

  • Improve error in CMake for when Cargo is not found.
    #8497

  • Use --release in CMake with MinSizeRel and RelWithDebInfo.
    #8549

  • Add a WASMTIME_FASTEST_RUNTIME configuration option for CMake which enables
    LTO and other related optimization options.
    #8554

v20.0.1: Release Wasmtime 20.0.1 (#8538)

03 May 16:59
d1feb03
Compare
Choose a tag to compare

20.0.1

Released 2024-05-03.

Added

  • Make the c-api CMakeLists.txt easier to import.
    #8496

v20.0.0: Release Wasmtime 20.0.0 (#8420)

22 Apr 21:04
9e1084f
Compare
Choose a tag to compare

20.0.0

Released 2024-04-22.

Added

  • Support for shared WebAssembly memories has been added to the C API.
    #7940

  • A Component::component_type method has been added to reflect on the imports
    and exports of a component.
    #8078

  • The with key in bindgen! now supports remapping entire packages and
    namespaces.
    #8083

  • Winch now supports the component model by using Cranelift to generate
    trampolines.
    #8082
    #8109

  • The WASI-NN backend now supports ONNX.
    #7691

  • The wasmtime CLI now has an -S inherit-env flag for inheriting the entire
    process environment.
    #8168

  • Winch now supports the WebAssembly memory64 proposal.
    #8194

  • Embedders can now opt-in to allowing wasmtime-wasi to block the current thread
    with file operations, for example.
    #8190

  • A wasmtime::CodeBuilder type has been added to refine the configuration of
    compiling a Module or a Component.
    #8181

  • The wasmtime serve subcommand now enables configuring preopened directories
    and environment variables.
    #8279

Changed

  • Support for WebAssembly GC is in the process of being implemented which has
    required refactoring and reimplementing the existing gc support for
    externref. Many APIs in this area has changed, see linked PRs for more
    details. Note that the wasm_* parts of the C API no longer support
    externref.
    #8011
    #8196

  • The wasmtime::component::Val type no longer stores type information and
    instead must be interpreted in the context of a type.
    #8062

  • The arguments required for ResourceAny::try_from_resource have been
    simplified by refactoring the internal representation.
    #8061

  • The arguments required for wasmtime::component::Linker::func_new have been
    simplified by refactoring the internal representation.
    #8070

  • The pooling allocator is now enabled by default with wasmtime serve.
    #8073

  • The error message for missing imports in has been improved with components.
    #7645

  • Wasmtime's MSRV is now 1.75.0.
    #8205

  • Wasmtime's translation of table-related instructions has improved codegen in
    some common cases, especially with call_indirect.
    #8063
    #8125
    #8124
    #8134
    #8137
    #8162
    #8159
    #8172
    #8171
    #8139
    #8206

  • Book-based documentation has been reordered and refactored.
    #8130

  • The -S common flag is renamed to -S cli, to better reflect that it provides
    the wasi-cli APIs. -S common is still accepted for now, and will be deprecated
    in the future.
    #8166

  • The tail-call calling convention now supports callee-saved registers to
    improve performance and allow enabling this WebAssembly proposal by default in
    the future.
    #8246

  • The wasmtime-wasi crate has been refactored to restructure some items and
    documentation has been added for most items.
    #8228

  • Support for the WebAssembly threads proposal is now gated by an
    on-by-default Cargo feature named threads.
    #8260

  • Borrow-checking in wiggle has been optimized to not be as fine-grained any
    more. This is a breaking change if users are relying on the ability to safely
    mutably borrow disjoint regions of memory.
    #8277

Fixed

  • Connection timeouts with wasi-http have been fixed.
    #8085

  • Generating bindings with bindgen! now works correctly when some WIT types
    are not used.
    #8065

  • Errors in wasi-http are no longer accidentally returned as traps.
    #8272

  • C API bindings now depend on wasmtime-wasi instead of wasi-common, and the
    wasi_config_preopen_socket function is no longer available as a result.
    #8066

v19.0.2: Release Wasmtime 19.0.2 (#8329)

11 Apr 19:43
040ec92
Compare
Choose a tag to compare

19.0.2

Released 2024-04-11.

  • Fix a panic when compiling invalid components.
    #8322

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

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

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