WASI 0.3(bytecodealliance.org)
254 points by mavdol04 2 days ago | 95 comments
tl;dr: WASI 0.3 has been ratified, moving async primitives (stream<T>, future<T>, async functions) into the WebAssembly Component Model's canonical ABI, eliminating the per-component event loops and the awkward start/finish/subscribe patterns of 0.2. The host now drives a single shared event loop with completion-based scheduling, enabling idiomatic async bindings across languages (Rust, Go, JS, Python, C#) and allowing direct composition of components—e.g., wasi:http's new middleware world supports service chaining that collapses microservice calls from milliseconds to nanoseconds. Wasmtime 45 runs it now, with 46 enabling it by default.
HN Discussion:
  • Official announcement post sharing additional context and examples
  • Skepticism about WASI's slow progress and unfulfilled component promises
  • Component model is wrong direction; WASI should stay simple Unix-like API
  • Curiosity about real-world use cases and language-specific examples
  • Technical questions about implementation details like stack-switching and introspection