-
Notifications
You must be signed in to change notification settings - Fork 28
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
blog: add release post for Wasmtime 27.0 (#110)
* blog: add release post for Wasmtime 27.0 Signed-off-by: Eric Gregory <[email protected]> * remove vscode file Signed-off-by: Eric Gregory <[email protected]> --------- Signed-off-by: Eric Gregory <[email protected]>
- Loading branch information
1 parent
d9ef934
commit d91b0b9
Showing
1 changed file
with
60 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
--- | ||
title: "Wasmtime 27.0: Complete Wasm GC support, PyTorch backend, and more" | ||
author: "Eric Gregory" | ||
date: "2024-11-25" | ||
github_name: "ericgregory" | ||
excerpt_separator: <!--end_excerpt--> | ||
--- | ||
|
||
This month's v27.0 release of [Wasmtime](https://github.com/bytecodealliance/wasmtime)—the fast, secure, and standards-compliant WebAssembly (Wasm) runtime—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. | ||
|
||
<!--end_excerpt--> | ||
|
||
* 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. | ||
* 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` | ||
* 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). | ||
|
||
## What's new in Wasmtime v27.0 | ||
|
||
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). | ||
|
||
### Added | ||
|
||
* 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) | ||
* 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) | ||
* 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) | ||
* Guests on s390x now implement the "inline probestacks" for Cranelift to more robustly detect stack overflows. [#9423](https://github.com/bytecodealliance/wasmtime/pull/9423) | ||
* Missing CLI options for the pooling allocator have been filled out. [#9447](https://github.com/bytecodealliance/wasmtime/pull/9447) | ||
* Cranelift now supports 128-bit atomics on x64. [#9459](https://github.com/bytecodealliance/wasmtime/pull/9459) | ||
* A new Cargo feature has been added to the `wasmtime` crate to reexport the `wasmparser` dependency. [#9485](https://github.com/bytecodealliance/wasmtime/pull/9485) | ||
* Support for a new PyTorch backend for wasi-nn has been added. [#9234](https://github.com/bytecodealliance/wasmtime/pull/9234) | ||
* A new `-Cnative-unwind-info` flag has been added to the `wasmtime` CLI. [#9494](https://github.com/bytecodealliance/wasmtime/pull/9494) | ||
* Initial support for illumos has been added. [#9535](https://github.com/bytecodealliance/wasmtime/pull/9535) | ||
* A new `Caller::get_module_export` API has been added. [#9525](https://github.com/bytecodealliance/wasmtime/pull/9525) | ||
* Basic debug logging has been added to the debug info transformatino. [#9526](https://github.com/bytecodealliance/wasmtime/pull/9526) | ||
|
||
### Changed | ||
|
||
* The WASI WITs vendored are now updated to 0.2.2. [#9395](https://github.com/bytecodealliance/wasmtime/pull/9395) | ||
* The `wasmtime-wasi-runtime-config` is now named `wasmtime-wasi-config`. [#9404](https://github.com/bytecodealliance/wasmtime/pull/9404) | ||
* Documentation on the implementation status of WebAssembly proposals has been updated. [#9434](https://github.com/bytecodealliance/wasmtime/pull/9434) | ||
* Wasmtime's WASI documentation has been overhauled. [#9471](https://github.com/bytecodealliance/wasmtime/pull/9471) | ||
* The `wasi_config_preopen_dir` in Wasmtime's C API now takes file/directory permissions. [#9477](https://github.com/bytecodealliance/wasmtime/pull/9477) | ||
* Detection of libunwind vs libgcc is now done with weak symbols. [#9479](https://github.com/bytecodealliance/wasmtime/pull/9479) | ||
* Winch has improved detection of unsupported features in a `Config`. [#9490](https://github.com/bytecodealliance/wasmtime/pull/9490) | ||
* Winch now supports fuel-based interruption. [#9472](https://github.com/bytecodealliance/wasmtime/pull/9472) | ||
* Wasmtime's minimum supported Rust version is now 1.80. [#9496](https://github.com/bytecodealliance/wasmtime/pull/9496) | ||
* ISLE no longer supports scheme-style booleans. [#9522](https://github.com/bytecodealliance/wasmtime/pull/9522) | ||
* ISLE now supports block comments. [#9529](https://github.com/bytecodealliance/wasmtime/pull/9529) | ||
* Support for shared memory in the C API has been added. [#9507](https://github.com/bytecodealliance/wasmtime/pull/9507) | ||
* Configuration options for guard size regions have been merged into a single option. [#9528](https://github.com/bytecodealliance/wasmtime/pull/9528) | ||
|
||
### Fixed | ||
|
||
* Double-registration of debug information for modules in components has been fixed. [#9470](https://github.com/bytecodealliance/wasmtime/pull/9470) | ||
* A panic on AArch64 for vector constants has been fixed. [#9482](https://github.com/bytecodealliance/wasmtime/pull/9482) | ||
* A miscompile with `sdiv` and `INT_MIN / -1` has been fixed on aarch64. [#9541](https://github.com/bytecodealliance/wasmtime/pull/9541) | ||
|
||
## Get involved | ||
|
||
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. |