Releases: bytecodealliance/wasmtime
dev: Refactor how release notes are managed (#8680)
* 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)
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)
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-entrycall_indirect
caching to
speed up modules with lots ofcall_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 inbindgen!
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
v20.0.2: Release Wasmtime 20.0.2 (#8574)
v20.0.1: Release Wasmtime 20.0.1 (#8538)
v20.0.0: Release Wasmtime 20.0.0 (#8420)
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 inbindgen!
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 aModule
or aComponent
.
#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 thewasm_*
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 withcall_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 namedthreads
.
#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 ofwasi-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)
v18.0.4: Release Wasmtime 18.0.4 (#8328)
v17.0.3: Release Wasmtime 17.0.3 (#8337)
17.0.3
Released 2024-04-11
Fixed
- cranelift: Include clobbers and outgoing args in stack limit.
#8334