Released 2025-02-25.
- MinGW C API builds are now built with a newer version of GCC which seems to fix an issue caused by #9929. #10290
- The
cranelift-codegencrate now no longer depends onarbitrary, a now-unnecessary dependency. #10217
Released 2025-02-21.
- Fixes an issue building the
cranelift-assembler-x64crate on Windows when the Rust toolchain is on a different drive than the project usingwasmtime. For more details, see the Zulip discussion. #10270
Released 2025-02-20.
-
New
wasmtime-wasi-iocrate provides a#![no_std]wasi:io implementation, factored out ofwasmtime-wasi. Users ofwasmtime-wasidon't have to depend on this new crate. #10036 -
Wasmtime's interpreter, Pulley, is now complete and has been listed as tier 2. #9897 #9884 #9943 #9944 #9983 #9966 #9935 #10034 #10057 #10095
-
Wasmtime's CI now checks that the repository builds for
aarch64-apple-ios. Note that no tests are run for this target, so it's still tier 3. #9888 -
Winch's support for AArch64 and simd on x64 have continued to progress well. Winch additionally now fully supports the
threadsWebAssembly proposal. #9889 #9970 #9950 #9987 #9990 #9959 #10008 #10028 #10029 #10023 #10042 #10050 #10039 #10082 #10092 #10109 #10148 #10147 -
The
memory64WebAssembly feature is now enabled by default. This WebAssembly proposal is now considered a tier 1 feature. #9937 #10159 -
Wasmtime's full test suite and CI now includes 32-bit platforms such as x86 and armv7 Linux. These platforms have been added to tier 3 status and use Pulley as their execution backend. #10025
-
Initial experimental support for WASIp3 and async features of the Component Model have started to land. These features are not yet ready for general-purpose use. #10044 #10047 #10083 #10103
-
The
wasmtimeCLI now supports using a TOML configuration file via--configin addition to CLI options. #9811 #10132 -
Initial support for a new assembler on x64 has been added. #10110 #10178
-
wasmtime-wasisplit theWasiViewtrait intoIoViewandWasiView, andwasmtime-wasi-httpre-usesIoViewinWasiHttpView. Details on porting for embedders in PR. #10016 -
wasmtime-wasirenamed some exported types and traits. Embedders which usePollable,InputStream,OutputStream,Subscribe,HostInputStream,HostOutputStream,PollableFuture, orClosureFuturefrom that crate will need to rename those imports to their new names, describe in PR. #10036 -
Components using a 64-bit linear memory should never have worked before, but they're now rejected earlier in the validation process. #9952
-
Module validation is now deterministic in the face of multiple errors. #9947
-
Wasmtime's minimum supported version of Rust is now 1.82.0. #9956
-
Cranelift will now deduplicate
trap[n]zinstructions. #10004 -
The
--emit-clifoption towasmtime compilenow emits post-optimization CLIF. #10011 -
The
signals-based-trapsCargo feature has been removed in favor of auto-detection of available features based on the#[cfg]directives available for the target platform. #9941 -
The
async_stack_zeroingconfiguration knob now covers all stack allocations, not just those from the pooling allocator. #10027 -
Wasmtime should work-by-default on more platforms, even those where Cranelift has no support for the architecture. This is done by ensuring some architecture and platform-specific bits are removed on unknown platforms (and Pulley is used instead). #10107
-
Wasmtime now compiles on platforms missing 64-bit atomics. #10134
-
Fixed a missing case for
Ref::matches_tyshould returntrue. #9985 -
A bug with using the
single_passregister allocation algorithm on x64/s390x has been fixed by refactoring how branches are represented. #10086 #10087 -
A bug with argument extensions on riscv64 has been fixed. #10069
-
The
PartialEqimplementation forRegisteredTypehas been fixed. #10091 -
The output of
component::bindgen!now works with#![no_std]crates. #10105 -
Fix
wasmtime wastwhen combined with--fuel. #10121 -
The
watfeature of the C API is now plumbed correctly in a few more locations. #10124 -
Spurious wake-ups in
blocking_*methods ofInputStreamandOutputStreamhave been fixed. #10113
Release notes for previous releases of Wasmtime can be found on the respective release branches of the Wasmtime repository.