Today we’re releasing WASI 0.3.1. This is the first point release in the 0.3.x series, which we’ll be releasing every two months. See the release schedule for all planned releases through 2027.
The highlights for this release are the addition of implements and map<K, V> dependencies in the component model. That means additional expressivity to WIT interfaces. For example: with implements it allows a component to import (or export) more than one instance of the same interface under distinct names. We might want to say we aren’t just importing any key-value interface, but more specifically a valkey interface for remote storage and an in-memory cache.
map<K, V> brings a first-class associative dictionary type to WIT. This makes it possible to express dynamic sets of keys and values directly from WIT, replacing the previous pattern of needing to write list<tuple<K, V>>.
Starting with 0.3.1, WIT interfaces in WASI are allowed to make use of these features. And both runtimes and toolchains must support these features in order to be compatible with WASI 0.3.1 or later. See our process documentation for more on this.
What's Changed
- Require OCI package available for phase 2 entry by @yoshuawuyts in #938
- Update wasi-gfx to wasi-webgpu by @yoshuawuyts in #939
- Allow re-casing when serializing for transmission by @cceckman-at-fastly in #926
- Document release train by @yoshuawuyts in #945
- Add process for adopting Component Model features by @ricochet in #941
- Adopt Component Model map and implements features for 0.3.1 by @ricochet in #950
New Contributors
- @cceckman-at-fastly made their first contribution in #926
Full Changelog: v0.3.0...v0.3.1