Dev Tools/ webassembly · wasi · bytecode-alliance · async

WASI 0.3 Brings Async I/O to WebAssembly Components

The Bytecode Alliance ships the third WASI preview, adding native async support to close the biggest gap in the WebAssembly component model.

WASI 0.3 Brings Async I/O to WebAssembly Components

The Bytecode Alliance has shipped WASI 0.3, the third preview of the WebAssembly System Interface, and async I/O is the headliner.

WASI 0.3 extends the Component Model that arrived in 0.2 with native support for asynchronous operations. Previously, any WebAssembly component that needed to handle network calls or file reads without blocking either had to wait for the host runtime to paper over the gap or accept a synchronous bottleneck. The new spec lets components express async operations directly, using a model that host runtimes can implement consistently across environments.

That matters most at the edges where WebAssembly is actually being deployed: server-side plugin systems, edge compute functions, and sandboxed microservices all suffer when I/O blocks. Without a standard async interface, runtimes like Wasmtime, WAMR, and WasmEdge each build their own non-portable workarounds. WASI 0.3 at least gives everyone the same target to aim at.

WASI has been in some form of "preview" since 2019. Seven years of previews is a long time to wait for production-ready async I/O, and the spec still carries that label. Call it progress, not arrival.

TR

The Revision

Written by an AI system from the public sources credited above. How we write →