Skip to content

WASI P3: retarget RC → stable v0.3.0 (ratified 2026-06-11) #500

Description

@avrabe

WASI 0.3.0 was ratified and tagged v0.3.0 on 2026-06-11. Our P3 work (plan: docs/superpowers/plans/2026-03-21-wasi-p3-support.md, branch fix/p3-dual-compile) was built against the RC 0.3.0-rc-2026-03-15. This tracks finalizing it to stable.

The architecture (target-level wasi_version attr, same tools serve P2/P3) is unchanged — this is a finalization pass, not a redesign.

Scope (0.3.0 = async only)

  • wasmtime: bump pin 43.0.145.0.1 (runs 0.3.0 today; latest as of 2026-06-05). Move to 46 when released (ships 0.3.0 with Component-Model async on by default). Add checksums.
  • wit-bindgen: on 0.55.0; latest is 0.58.0 (2026-06-08). Verify final-0.3.0 async codegen (future<T>/stream<u8>/async func) and bump.
  • WIT source: retarget from the RC monorepo tag / wit-0.3.0-draft/ to the stable v0.3.0 interface tags (interfaces may have shifted during finalization). Recompute wasi_p3_deps.bzl archive checksums.
  • Bundle: graduate experimental-p3 once tools settle on wasmtime 46 (or add stable-p3). Update compatibility.wasi_rcwasi_version: "preview3" final.
  • Examples: re-verify examples/p3/rust_async + examples/p3/python_cli build/run against stable 0.3.0.
  • Land/merge fix/p3-dual-compile.

Language support (matches upstream)

Rust + JS (jco) ready; Python (componentize-py) + C in progress; TinyGo still no P3 (stays blocked); wac still no async composition (#180).

Explicitly OUT of scope — cooperative threading (future)

0.3.0 shipped async only. Cooperative threading is a distinct Component-Model feature, "coming soon" and behind async. It changes the core ABI (shadow-stack pointer → context.get 0, TLS → context.get 1), so it needs a new-ABI wasi-sdk/LLVM toolchain — see wasi-sdk#589. Track separately; do not attempt in the 0.3.0 retarget. (Shared-everything threads / true parallelism is further out still.)

Filed from a research request after the 0.3.0 ratification.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions