Languages and runtimes
WASI 0.3 ratified with first-class async
- Category: Languages
- Status: confirmed
- Sources: Bytecode Alliance announcement, WASI v0.3.0 release, HN discussion
- Summary: The WASI Subgroup ratified WASI 0.3.0 on 2026-06-11. The release moves async into the WebAssembly Component Model canonical ABI, making
stream<T>andfuture<T>first-class constructs and replacing the WASI 0.2 pollable and resource-based stream patterns. The model shifts from readiness-based to completion-based async, with the host managing one shared event loop for all components instead of each component carrying its own.wasi:httpis reorganized intoserviceandmiddlewareworlds, enabling component-to-component service chaining without network calls. Wasmtime 45 supports the release candidate; Wasmtime 46 will ship WASI 0.3.0 with async enabled by default. ThejcoJavaScript toolchain supports it, and guest toolchain support for Rust, Go, JavaScript, Python, and C is in progress. - Why it matters: First-class async in the canonical ABI removes the per-component event-loop workarounds that made WASI 0.2 async awkward, and direct component composition lets WebAssembly microservices chain without network hops.
- Follow-up: Track Wasmtime 46 stable, jco default-enabled release, and Rust, Go, and Python guest toolchain support reaching stable.