Summary
Track draft WASI Preview 3 implementation in wasd using the same execution-ordered issue roadmap style as Preview1 and Preview2, but with async component-model foundations first and the current v0.3.0-rc-2025-09-16 WASI package set layered on top.
Current repo and spec state:
README.md still marks Preview 2 as not implemented, so Preview 3 capability is also not available today.
As of 2026-03-14, the official WebAssembly/WASI docs do not publish a Preview3.md or formal Preview 3 launch note.
The component-model README still describes Preview 3 as a subsequent milestone, and docs/Preview2.md still says "When Preview 3 is launched", so this tracker targets draft or RC sources rather than a released Preview 3 spec.
Preview 3 cannot reuse node:wasi; node support must be implemented through JS interop host adapters for each capability.
Preview 3 package work here intentionally targets the current official RC tag v0.3.0-rc-2025-09-16, and the async component-model references are pinned to commit 2e4800866d529aedc1b7730bc9452a4f85b97d8f.
Execution rules:
Each capability issue is expected to bring its own focused tests.
The checklist below is already sorted by dependency order; reading it top-to-bottom is the intended implementation path inside Preview 3.
The Blocked by notes explain why a later item is placed where it is; if you follow the checklist order, you should not need extra dependency triage.
References
Execution Order
Phase 1: Async Component Foundations
Implement component-model parsing and validation for WASI Preview 3 future/stream constructs #71 Implement component-model parsing and validation for WASI Preview 3 future/stream constructs. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/component-model/blob/2e4800866d529aedc1b7730bc9452a4f85b97d8f/design/mvp/WIT.md , https://github.com/WebAssembly/component-model/blob/2e4800866d529aedc1b7730bc9452a4f85b97d8f/design/mvp/Binary.md , https://github.com/WebAssembly/component-model/blob/2e4800866d529aedc1b7730bc9452a4f85b97d8f/design/mvp/Concurrency.md
Implement Canonical ABI lifting and lowering for WASI Preview 3 futures and streams #72 Implement Canonical ABI lifting and lowering for WASI Preview 3 futures and streams. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/component-model/blob/2e4800866d529aedc1b7730bc9452a4f85b97d8f/design/mvp/WIT.md , https://github.com/WebAssembly/component-model/blob/2e4800866d529aedc1b7730bc9452a4f85b97d8f/design/mvp/CanonicalABI.md , https://github.com/WebAssembly/component-model/blob/2e4800866d529aedc1b7730bc9452a4f85b97d8f/design/mvp/Concurrency.md Blocked by: Implement component-model parsing and validation for WASI Preview 3 future/stream constructs #71
Implement async import/export ABI dispatch required for WASI Preview 3 #73 Implement async import/export ABI dispatch required for WASI Preview 3. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/component-model/blob/2e4800866d529aedc1b7730bc9452a4f85b97d8f/design/mvp/CanonicalABI.md , https://github.com/WebAssembly/component-model/blob/2e4800866d529aedc1b7730bc9452a4f85b97d8f/design/mvp/Concurrency.md Blocked by: Implement Canonical ABI lifting and lowering for WASI Preview 3 futures and streams #72
Implement waitables, backpressure, and cancellation runtime semantics for WASI Preview 3 #74 Implement waitables, backpressure, and cancellation runtime semantics for WASI Preview 3. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/component-model/blob/2e4800866d529aedc1b7730bc9452a4f85b97d8f/design/mvp/Concurrency.md Blocked by: Implement async import/export ABI dispatch required for WASI Preview 3 #73
Implement task/thread built-ins and async component instantiation required for WASI Preview 3 #75 Implement task/thread built-ins and async component instantiation required for WASI Preview 3. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/component-model/blob/2e4800866d529aedc1b7730bc9452a4f85b97d8f/design/mvp/WIT.md , https://github.com/WebAssembly/component-model/blob/2e4800866d529aedc1b7730bc9452a4f85b97d8f/design/mvp/Linking.md , https://github.com/WebAssembly/component-model/blob/2e4800866d529aedc1b7730bc9452a4f85b97d8f/design/mvp/Concurrency.md Blocked by: Implement component-model parsing and validation for WASI Preview 3 future/stream constructs #71 , Implement waitables, backpressure, and cancellation runtime semantics for WASI Preview 3 #74
Add WASI Preview 3 host binding scaffolding for native, web, and node backends #76 Add WASI Preview 3 host binding scaffolding for native, web, and node backends. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/component-model/blob/2e4800866d529aedc1b7730bc9452a4f85b97d8f/design/mvp/WIT.md , https://github.com/WebAssembly/component-model/blob/2e4800866d529aedc1b7730bc9452a4f85b97d8f/design/mvp/Concurrency.md Blocked by: Implement task/thread built-ins and async component instantiation required for WASI Preview 3 #75
Phase 2: Preview 3 Draft Packages
Implement wasi:[email protected] draft package for WASI Preview 3 #77 Implement wasi:[email protected] draft package for WASI Preview 3. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/wasi-clocks/tree/v0.3.0-rc-2025-09-16 , https://github.com/WebAssembly/wasi-clocks/blob/v0.3.0-rc-2025-09-16/imports.md , https://github.com/WebAssembly/wasi-clocks/blob/v0.3.0-rc-2025-09-16/wit-0.3.0-draft/world.wit Blocked by: Add WASI Preview 3 host binding scaffolding for native, web, and node backends #76
Implement wasi:[email protected] draft package for WASI Preview 3 #78 Implement wasi:[email protected] draft package for WASI Preview 3. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/wasi-random/tree/v0.3.0-rc-2025-09-16 , https://github.com/WebAssembly/wasi-random/blob/v0.3.0-rc-2025-09-16/imports.md , https://github.com/WebAssembly/wasi-random/blob/v0.3.0-rc-2025-09-16/wit-0.3.0-draft/world.wit Blocked by: Add WASI Preview 3 host binding scaffolding for native, web, and node backends #76
Implement wasi:[email protected] draft package for WASI Preview 3 #79 Implement wasi:[email protected] draft package for WASI Preview 3. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/wasi-filesystem/tree/v0.3.0-rc-2025-09-16 , https://github.com/WebAssembly/wasi-filesystem/blob/v0.3.0-rc-2025-09-16/imports.md , https://github.com/WebAssembly/wasi-filesystem/blob/v0.3.0-rc-2025-09-16/path-resolution.md , https://github.com/WebAssembly/wasi-filesystem/blob/v0.3.0-rc-2025-09-16/wit-0.3.0-draft/world.wit Blocked by: Implement wasi:[email protected] draft package for WASI Preview 3 #77
Implement wasi:[email protected] draft package for WASI Preview 3 #80 Implement wasi:[email protected] draft package for WASI Preview 3. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/wasi-sockets/tree/v0.3.0-rc-2025-09-16 , https://github.com/WebAssembly/wasi-sockets/blob/v0.3.0-rc-2025-09-16/imports.md , https://github.com/WebAssembly/wasi-sockets/blob/v0.3.0-rc-2025-09-16/TcpSocketOperationalSemantics-0.3.0-draft.md , https://github.com/WebAssembly/wasi-sockets/blob/v0.3.0-rc-2025-09-16/wit-0.3.0-draft/world.wit Blocked by: Implement wasi:[email protected] draft package for WASI Preview 3 #77
Implement wasi:[email protected] draft command support for WASI Preview 3 #81 Implement wasi:[email protected] draft command support for WASI Preview 3. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/wasi-cli/tree/v0.3.0-rc-2025-09-16 , https://github.com/WebAssembly/wasi-cli/blob/v0.3.0-rc-2025-09-16/README.md , https://github.com/WebAssembly/wasi-cli/blob/v0.3.0-rc-2025-09-16/command.md , https://github.com/WebAssembly/wasi-cli/blob/v0.3.0-rc-2025-09-16/wit-0.3.0-draft/imports.wit Blocked by: Implement wasi:[email protected] draft package for WASI Preview 3 #78 , Implement wasi:[email protected] draft package for WASI Preview 3 #79 , Implement wasi:[email protected] draft package for WASI Preview 3 #80
Implement wasi:[email protected] draft proxy support for WASI Preview 3 #82 Implement wasi:[email protected] draft proxy support for WASI Preview 3. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/wasi-http/tree/v0.3.0-rc-2025-09-16 , https://github.com/WebAssembly/wasi-http/blob/v0.3.0-rc-2025-09-16/imports.md , https://github.com/WebAssembly/wasi-http/blob/v0.3.0-rc-2025-09-16/proxy.md , https://github.com/WebAssembly/wasi-http/blob/v0.3.0-rc-2025-09-16/wit-0.3.0-draft/proxy.wit Blocked by: Implement wasi:[email protected] draft command support for WASI Preview 3 #81
Phase 3: Verification and Documentation
Exit Criteria
Close this tracker only when one of these is true:
The async component foundations and the selected Preview 3 draft packages are implemented with tested behavior across the intended runtimes.
Any remaining Preview 3 draft exclusions or RC-baseline caveats are explicitly documented, and package docs stop implying broader or more stable support than the runtime actually provides.
Summary
Track draft WASI Preview 3 implementation in
wasdusing the same execution-ordered issue roadmap style as Preview1 and Preview2, but with async component-model foundations first and the currentv0.3.0-rc-2025-09-16WASI package set layered on top.Current repo and spec state:
README.mdstill marks Preview 2 as not implemented, so Preview 3 capability is also not available today.WebAssembly/WASIdocs do not publish aPreview3.mdor formal Preview 3 launch note.component-modelREADME still describes Preview 3 as a subsequent milestone, anddocs/Preview2.mdstill says "When Preview 3 is launched", so this tracker targets draft or RC sources rather than a released Preview 3 spec.node:wasi; node support must be implemented through JS interop host adapters for each capability.v0.3.0-rc-2025-09-16, and the async component-model references are pinned to commit2e4800866d529aedc1b7730bc9452a4f85b97d8f.Execution rules:
Blocked bynotes explain why a later item is placed where it is; if you follow the checklist order, you should not need extra dependency triage.References
wasi:clocksRC tree: https://github.com/WebAssembly/wasi-clocks/tree/v0.3.0-rc-2025-09-16wasi:randomRC tree: https://github.com/WebAssembly/wasi-random/tree/v0.3.0-rc-2025-09-16wasi:filesystemRC tree: https://github.com/WebAssembly/wasi-filesystem/tree/v0.3.0-rc-2025-09-16wasi:socketsRC tree: https://github.com/WebAssembly/wasi-sockets/tree/v0.3.0-rc-2025-09-16wasi:cliRC tree: https://github.com/WebAssembly/wasi-cli/tree/v0.3.0-rc-2025-09-16wasi:httpRC tree: https://github.com/WebAssembly/wasi-http/tree/v0.3.0-rc-2025-09-16Execution Order
Phase 1: Async Component Foundations
Phase 2: Preview 3 Draft Packages
wasi:[email protected]draft package for WASI Preview 3 #77 Implementwasi:[email protected]draft package for WASI Preview 3. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/wasi-clocks/tree/v0.3.0-rc-2025-09-16 , https://github.com/WebAssembly/wasi-clocks/blob/v0.3.0-rc-2025-09-16/imports.md , https://github.com/WebAssembly/wasi-clocks/blob/v0.3.0-rc-2025-09-16/wit-0.3.0-draft/world.wit Blocked by: Add WASI Preview 3 host binding scaffolding for native, web, and node backends #76wasi:[email protected]draft package for WASI Preview 3 #78 Implementwasi:[email protected]draft package for WASI Preview 3. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/wasi-random/tree/v0.3.0-rc-2025-09-16 , https://github.com/WebAssembly/wasi-random/blob/v0.3.0-rc-2025-09-16/imports.md , https://github.com/WebAssembly/wasi-random/blob/v0.3.0-rc-2025-09-16/wit-0.3.0-draft/world.wit Blocked by: Add WASI Preview 3 host binding scaffolding for native, web, and node backends #76wasi:[email protected]draft package for WASI Preview 3 #79 Implementwasi:[email protected]draft package for WASI Preview 3. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/wasi-filesystem/tree/v0.3.0-rc-2025-09-16 , https://github.com/WebAssembly/wasi-filesystem/blob/v0.3.0-rc-2025-09-16/imports.md , https://github.com/WebAssembly/wasi-filesystem/blob/v0.3.0-rc-2025-09-16/path-resolution.md , https://github.com/WebAssembly/wasi-filesystem/blob/v0.3.0-rc-2025-09-16/wit-0.3.0-draft/world.wit Blocked by: Implementwasi:[email protected]draft package for WASI Preview 3 #77wasi:[email protected]draft package for WASI Preview 3 #80 Implementwasi:[email protected]draft package for WASI Preview 3. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/wasi-sockets/tree/v0.3.0-rc-2025-09-16 , https://github.com/WebAssembly/wasi-sockets/blob/v0.3.0-rc-2025-09-16/imports.md , https://github.com/WebAssembly/wasi-sockets/blob/v0.3.0-rc-2025-09-16/TcpSocketOperationalSemantics-0.3.0-draft.md , https://github.com/WebAssembly/wasi-sockets/blob/v0.3.0-rc-2025-09-16/wit-0.3.0-draft/world.wit Blocked by: Implementwasi:[email protected]draft package for WASI Preview 3 #77wasi:[email protected]draft command support for WASI Preview 3 #81 Implementwasi:[email protected]draft command support for WASI Preview 3. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/wasi-cli/tree/v0.3.0-rc-2025-09-16 , https://github.com/WebAssembly/wasi-cli/blob/v0.3.0-rc-2025-09-16/README.md , https://github.com/WebAssembly/wasi-cli/blob/v0.3.0-rc-2025-09-16/command.md , https://github.com/WebAssembly/wasi-cli/blob/v0.3.0-rc-2025-09-16/wit-0.3.0-draft/imports.wit Blocked by: Implementwasi:[email protected]draft package for WASI Preview 3 #78, Implementwasi:[email protected]draft package for WASI Preview 3 #79, Implementwasi:[email protected]draft package for WASI Preview 3 #80wasi:[email protected]draft proxy support for WASI Preview 3 #82 Implementwasi:[email protected]draft proxy support for WASI Preview 3. Refs: https://github.com/WebAssembly/WASI/blob/main/docs/Preview2.md , https://github.com/WebAssembly/wasi-http/tree/v0.3.0-rc-2025-09-16 , https://github.com/WebAssembly/wasi-http/blob/v0.3.0-rc-2025-09-16/imports.md , https://github.com/WebAssembly/wasi-http/blob/v0.3.0-rc-2025-09-16/proxy.md , https://github.com/WebAssembly/wasi-http/blob/v0.3.0-rc-2025-09-16/wit-0.3.0-draft/proxy.wit Blocked by: Implementwasi:[email protected]draft command support for WASI Preview 3 #81Phase 3: Verification and Documentation
wasi:[email protected]draft proxy support for WASI Preview 3 #82Exit Criteria
Close this tracker only when one of these is true: