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