• 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, rebasing WASI onto the WebAssembly Component Model's async primitives. The release makes stream<T>, future<T>, and async first-class constructs in the canonical ABI. The previous WASI 0.2 start-foo/finish-foo two-call pattern and the pollable resource collapse into single async func declarations, and input and output streams unify into stream<u8> with an accompanying future for completion and error status. The model is completion-based rather than readiness-based polling, closer to io_uring and IOCP than epoll. The host manages one shared event loop across all components.
  • Why it matters: Native async lets WebAssembly components compose concurrent I/O in-process without per-runtime event loops, removing a primary blocker for WASI-based microservice and plugin architectures; toolchain and runtime support is landing now in Wasmtime and language bindings.
  • Follow-up: Track Wasmtime and guest-language (Rust, Go, Python) toolchain support reaching stable for WASI 0.3.

Send feedback on this story