Releases: bytecodealliance/wasmtime
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
v19.0.1: Release Wasmtime 19.0.1 (#8289)
v19.0.0: Release Wasmtime 19.0.0 (#8186)
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 ofwasi-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 withSO_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 newgc
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 ofwasi_config_preopen_socket
via the c api, as
it will be deprecated in20.0.0
.
#8053
Fixed
v18.0.3: Release Wasmtime 18.0.3 (#8103)
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)
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