Skip to content

Commit d91b0b9

Browse files
authored
blog: add release post for Wasmtime 27.0 (#110)
* blog: add release post for Wasmtime 27.0 Signed-off-by: Eric Gregory <eric@cosmonic.com> * remove vscode file Signed-off-by: Eric Gregory <eric@cosmonic.com> --------- Signed-off-by: Eric Gregory <eric@cosmonic.com>
1 parent d9ef934 commit d91b0b9

1 file changed

Lines changed: 60 additions & 0 deletions

File tree

_posts/2024-11-25-wasmtime-27.0.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
title: "Wasmtime 27.0: Complete Wasm GC support, PyTorch backend, and more"
3+
author: "Eric Gregory"
4+
date: "2024-11-25"
5+
github_name: "ericgregory"
6+
excerpt_separator: <!--end_excerpt-->
7+
---
8+
9+
This month's v27.0 release of [Wasmtime](https://github.com/bytecodealliance/wasmtime)&mdash;the fast, secure, and standards-compliant WebAssembly (Wasm) runtime&mdash;includes enhancements such as completed support for the new Wasm garbage collection proposal, a PyTorch backend for `wasi-nn`, link-time feature gate configuration for unstable WIT APIs, and more.
10+
11+
<!--end_excerpt-->
12+
13+
* Wasmtime now fully supports the [WebAssembly Garbage Collection (GC) proposal](https://github.com/WebAssembly/gc). In addition to the GC, Wasmtime now includes a "null" collector that bump-allocates until the heap is exhausted.
14+
* A PyTorch backend [has been added](https://github.com/bytecodealliance/wasmtime/pull/9234) for `wasi-nn`, gated behind a `wasi-nn` feature flag: `--features pytorch`
15+
* Wasmtime's in-repo documentation has been updated to track [the implementation of various Wasm proposals in Wasmtime](https://github.com/bytecodealliance/wasmtime/blob/main/docs/stability-wasm-proposals.md).
16+
17+
## What's new in Wasmtime v27.0
18+
19+
There are a variety of enhancements and fixes in Wasmtime 27.0. You can find the release notes [here](https://github.com/bytecodealliance/wasmtime/releases/tag/v27.0.0).
20+
21+
### Added
22+
23+
* Support for the Wasm GC proposal is now complete. A new "null" GC has also been added, which does not ever collect garbage. [#9389](https://github.com/bytecodealliance/wasmtime/pull/9389) [#9392](https://github.com/bytecodealliance/wasmtime/pull/9392) [#9401](https://github.com/bytecodealliance/wasmtime/pull/9401) [#9435](https://github.com/bytecodealliance/wasmtime/pull/9435) [#9437](https://github.com/bytecodealliance/wasmtime/pull/9437) [#9438](https://github.com/bytecodealliance/wasmtime/pull/9438) [#9446](https://github.com/bytecodealliance/wasmtime/pull/9446) [#9448](https://github.com/bytecodealliance/wasmtime/pull/9448) [#9454](https://github.com/bytecodealliance/wasmtime/pull/9454) [#9455](https://github.com/bytecodealliance/wasmtime/pull/9455) [#9484](https://github.com/bytecodealliance/wasmtime/pull/9484)
24+
* Unstable WIT APIs now have feature gates configured at link-time and new `-Scli-exit-with-code` / `-Snetwork-error-code` options are available as well. [#9381](https://github.com/bytecodealliance/wasmtime/pull/9381) [#9276](https://github.com/bytecodealliance/wasmtime/pull/9276)
25+
* Initial support for the wide-arithmetic proposal has been implemented. [#9403](https://github.com/bytecodealliance/wasmtime/pull/9403) [#9500](https://github.com/bytecodealliance/wasmtime/pull/9500)
26+
* Guests on s390x now implement the "inline probestacks" for Cranelift to more robustly detect stack overflows. [#9423](https://github.com/bytecodealliance/wasmtime/pull/9423)
27+
* Missing CLI options for the pooling allocator have been filled out. [#9447](https://github.com/bytecodealliance/wasmtime/pull/9447)
28+
* Cranelift now supports 128-bit atomics on x64. [#9459](https://github.com/bytecodealliance/wasmtime/pull/9459)
29+
* A new Cargo feature has been added to the `wasmtime` crate to reexport the `wasmparser` dependency. [#9485](https://github.com/bytecodealliance/wasmtime/pull/9485)
30+
* Support for a new PyTorch backend for wasi-nn has been added. [#9234](https://github.com/bytecodealliance/wasmtime/pull/9234)
31+
* A new `-Cnative-unwind-info` flag has been added to the `wasmtime` CLI. [#9494](https://github.com/bytecodealliance/wasmtime/pull/9494)
32+
* Initial support for illumos has been added. [#9535](https://github.com/bytecodealliance/wasmtime/pull/9535)
33+
* A new `Caller::get_module_export` API has been added. [#9525](https://github.com/bytecodealliance/wasmtime/pull/9525)
34+
* Basic debug logging has been added to the debug info transformatino. [#9526](https://github.com/bytecodealliance/wasmtime/pull/9526)
35+
36+
### Changed
37+
38+
* The WASI WITs vendored are now updated to 0.2.2. [#9395](https://github.com/bytecodealliance/wasmtime/pull/9395)
39+
* The `wasmtime-wasi-runtime-config` is now named `wasmtime-wasi-config`. [#9404](https://github.com/bytecodealliance/wasmtime/pull/9404)
40+
* Documentation on the implementation status of WebAssembly proposals has been updated. [#9434](https://github.com/bytecodealliance/wasmtime/pull/9434)
41+
* Wasmtime's WASI documentation has been overhauled. [#9471](https://github.com/bytecodealliance/wasmtime/pull/9471)
42+
* The `wasi_config_preopen_dir` in Wasmtime's C API now takes file/directory permissions. [#9477](https://github.com/bytecodealliance/wasmtime/pull/9477)
43+
* Detection of libunwind vs libgcc is now done with weak symbols. [#9479](https://github.com/bytecodealliance/wasmtime/pull/9479)
44+
* Winch has improved detection of unsupported features in a `Config`. [#9490](https://github.com/bytecodealliance/wasmtime/pull/9490)
45+
* Winch now supports fuel-based interruption. [#9472](https://github.com/bytecodealliance/wasmtime/pull/9472)
46+
* Wasmtime's minimum supported Rust version is now 1.80. [#9496](https://github.com/bytecodealliance/wasmtime/pull/9496)
47+
* ISLE no longer supports scheme-style booleans. [#9522](https://github.com/bytecodealliance/wasmtime/pull/9522)
48+
* ISLE now supports block comments. [#9529](https://github.com/bytecodealliance/wasmtime/pull/9529)
49+
* Support for shared memory in the C API has been added. [#9507](https://github.com/bytecodealliance/wasmtime/pull/9507)
50+
* Configuration options for guard size regions have been merged into a single option. [#9528](https://github.com/bytecodealliance/wasmtime/pull/9528)
51+
52+
### Fixed
53+
54+
* Double-registration of debug information for modules in components has been fixed. [#9470](https://github.com/bytecodealliance/wasmtime/pull/9470)
55+
* A panic on AArch64 for vector constants has been fixed. [#9482](https://github.com/bytecodealliance/wasmtime/pull/9482)
56+
* A miscompile with `sdiv` and `INT_MIN / -1` has been fixed on aarch64. [#9541](https://github.com/bytecodealliance/wasmtime/pull/9541)
57+
58+
## Get involved
59+
60+
Thanks to Dan Gohman for his work on this release. If you'd like to get involved with Wasmtime, join our [Zulip chat](https://bytecodealliance.zulipchat.com/) and check out the [Wasmtime contributors' guide](https://docs.wasmtime.dev/contributing.html) for more information.

0 commit comments

Comments
 (0)