From 5b804a2a9b5dfc1f830cc0bb3622cfb0523715d7 Mon Sep 17 00:00:00 2001 From: Eric Gregory Date: Tue, 16 Dec 2025 15:06:41 -0500 Subject: [PATCH 1/6] Add Languages page with support chart Signed-off-by: Eric Gregory --- docs/languages.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 docs/languages.md diff --git a/docs/languages.md b/docs/languages.md new file mode 100644 index 0000000..4529030 --- /dev/null +++ b/docs/languages.md @@ -0,0 +1,35 @@ +--- +title: "Languages" +sidebar_position: 2.5 +--- +## Language support for components + +Currently, these languages can be compiled to Wasm components. Some languages have first-party support for Wasm components, while other languages rely on externally maintained tools. + +| Language | Name | WASI Version | Maintained By | Notes | +| ------------------------- | ------------------------------------------------------------------------------------------------------ | ------------ | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| C and C++ | [`wasi-sdk`](https://github.com/WebAssembly/wasi-sdk) | 0.2 + 0.3 | W3C Wasm CG | 0.3 is in-progress | +| C# | [`componentize-dotnet`](https://github.com/bytecodealliance/componentize-dotnet) | 0.2 | Bytecode Alliance | | +| Go | [`go-modules`](https://github.com/bytecodealliance/go-modules) | 0.2 | Bytecode Alliance | | +| Java | [`graal`](https://github.com/oracle/graal) | - | Oracle | Planned - [Tracking Issue](https://github.com/oracle/graal/issues/9762), [Roadmap](https://github.com/orgs/oracle/projects/21/views/1) | +| JavaScript and TypeScript | [`jco`](https://github.com/bytecodealliance/jco) | 0.2 | Bytecode Alliance | | +| Kotlin | [Kotlin](https://kotlinlang.org/docs/wasm-wasi.html) | 0.2 | JetBrains | Planned - [Tracking Issue](https://youtrack.jetbrains.com/issue/KT-64568) | +| Python | [`componentize-py`](https://github.com/bytecodealliance/componentize-py) | 0.2 | Bytecode Alliance | | +| Python | [`cpython`](https://snarky.ca/state-of-wasi-support-for-cpython-march-2024/) | 0.2 | Python | In-progress | +| Ruby | [`ruby.wasm`](https://github.com/ruby/ruby.wasm) | 0.2 | Ruby | In-progress | +| Rust | [`wasm32-wasip2`](https://doc.rust-lang.org/rustc/platform-support/wasm32-wasip2.html) compiler target | 0.2 + 0.3 | Rust Project | [0.2 Introduction](https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets/), [0.2 Stabilization](https://blog.rust-lang.org/2024/11/26/wasip2-tier-2/), 0.3 is planned | +| Swift | [Swift](https://www.swift.org/) | 0.2 | Swift | Planned - [Roadmap Accepted](https://forums.swift.org/t/accepted-vision-a-vision-for-webassembly-support-in-swift/80332) | + +### Bindings generators + +The bindings generators below provide a way to make Wasm function calls using [interfaces](./interfaces.md) in a given language. + +| From | To | Name | +| -------------------- | -------------------- | ------------------------------------------------------------------------------------------------- | +| Wasm Interface Types | C and C++ | [wit-bindgen c](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/c) | +| Wasm Interface Types | C# | [wit-bindgen csharp](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/csharp) | +| Wasm Interface Types | JSON Schema | [component2json](https://github.com/microsoft/wassette/tree/main/crates/component2json) | +| Wasm Interface Types | Markdown | [wit-bindgen markdown](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/markdown) | +| Wasm Interface Types | Moonbit | [wit-bindgen moonbit](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/moonbit) | +| Wasm Interface Types | Rust | [wit-bindgen rust](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/guest-rust) | +| WebIDL | Wasm Interface Types | [webidl2wit](https://github.com/wasi-gfx/webidl2wit) | \ No newline at end of file From cad3a7f1acc752cba71a606cdc9b6e0db2b06903 Mon Sep 17 00:00:00 2001 From: Eric Gregory Date: Wed, 17 Dec 2025 19:33:06 -0500 Subject: [PATCH 2/6] update GraalWasm link and clarify notes Signed-off-by: Eric Gregory --- docs/languages.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/languages.md b/docs/languages.md index 4529030..5887cb5 100644 --- a/docs/languages.md +++ b/docs/languages.md @@ -8,15 +8,15 @@ Currently, these languages can be compiled to Wasm components. Some languages ha | Language | Name | WASI Version | Maintained By | Notes | | ------------------------- | ------------------------------------------------------------------------------------------------------ | ------------ | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| C and C++ | [`wasi-sdk`](https://github.com/WebAssembly/wasi-sdk) | 0.2 + 0.3 | W3C Wasm CG | 0.3 is in-progress | +| C and C++ | [`wasi-sdk`](https://github.com/WebAssembly/wasi-sdk) | 0.2 + 0.3 | W3C Wasm CG | 0.3 implementation is in progress | | C# | [`componentize-dotnet`](https://github.com/bytecodealliance/componentize-dotnet) | 0.2 | Bytecode Alliance | | | Go | [`go-modules`](https://github.com/bytecodealliance/go-modules) | 0.2 | Bytecode Alliance | | -| Java | [`graal`](https://github.com/oracle/graal) | - | Oracle | Planned - [Tracking Issue](https://github.com/oracle/graal/issues/9762), [Roadmap](https://github.com/orgs/oracle/projects/21/views/1) | +| Java | [GraalWasm](https://github.com/oracle/graal/tree/master/wasm) | - | Oracle | Planned - [Tracking Issue](https://github.com/oracle/graal/issues/9762), [Roadmap](https://github.com/orgs/oracle/projects/21/views/1) | | JavaScript and TypeScript | [`jco`](https://github.com/bytecodealliance/jco) | 0.2 | Bytecode Alliance | | | Kotlin | [Kotlin](https://kotlinlang.org/docs/wasm-wasi.html) | 0.2 | JetBrains | Planned - [Tracking Issue](https://youtrack.jetbrains.com/issue/KT-64568) | | Python | [`componentize-py`](https://github.com/bytecodealliance/componentize-py) | 0.2 | Bytecode Alliance | | -| Python | [`cpython`](https://snarky.ca/state-of-wasi-support-for-cpython-march-2024/) | 0.2 | Python | In-progress | -| Ruby | [`ruby.wasm`](https://github.com/ruby/ruby.wasm) | 0.2 | Ruby | In-progress | +| Python | [`cpython`](https://snarky.ca/state-of-wasi-support-for-cpython-march-2024/) | 0.2 | Python | Implementation in progress | +| Ruby | [`ruby.wasm`](https://github.com/ruby/ruby.wasm) | 0.2 | Ruby | Implementation in progress | | Rust | [`wasm32-wasip2`](https://doc.rust-lang.org/rustc/platform-support/wasm32-wasip2.html) compiler target | 0.2 + 0.3 | Rust Project | [0.2 Introduction](https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets/), [0.2 Stabilization](https://blog.rust-lang.org/2024/11/26/wasip2-tier-2/), 0.3 is planned | | Swift | [Swift](https://www.swift.org/) | 0.2 | Swift | Planned - [Roadmap Accepted](https://forums.swift.org/t/accepted-vision-a-vision-for-webassembly-support-in-swift/80332) | From f5aa7edd772e34c4319ababbf6df15dc4f21c553 Mon Sep 17 00:00:00 2001 From: Eric Gregory Date: Fri, 19 Dec 2025 13:27:12 -0500 Subject: [PATCH 3/6] update GraalVM link and notes Signed-off-by: Eric Gregory --- docs/languages.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/languages.md b/docs/languages.md index 5887cb5..7c5604b 100644 --- a/docs/languages.md +++ b/docs/languages.md @@ -6,19 +6,19 @@ sidebar_position: 2.5 Currently, these languages can be compiled to Wasm components. Some languages have first-party support for Wasm components, while other languages rely on externally maintained tools. -| Language | Name | WASI Version | Maintained By | Notes | -| ------------------------- | ------------------------------------------------------------------------------------------------------ | ------------ | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| C and C++ | [`wasi-sdk`](https://github.com/WebAssembly/wasi-sdk) | 0.2 + 0.3 | W3C Wasm CG | 0.3 implementation is in progress | -| C# | [`componentize-dotnet`](https://github.com/bytecodealliance/componentize-dotnet) | 0.2 | Bytecode Alliance | | -| Go | [`go-modules`](https://github.com/bytecodealliance/go-modules) | 0.2 | Bytecode Alliance | | -| Java | [GraalWasm](https://github.com/oracle/graal/tree/master/wasm) | - | Oracle | Planned - [Tracking Issue](https://github.com/oracle/graal/issues/9762), [Roadmap](https://github.com/orgs/oracle/projects/21/views/1) | -| JavaScript and TypeScript | [`jco`](https://github.com/bytecodealliance/jco) | 0.2 | Bytecode Alliance | | -| Kotlin | [Kotlin](https://kotlinlang.org/docs/wasm-wasi.html) | 0.2 | JetBrains | Planned - [Tracking Issue](https://youtrack.jetbrains.com/issue/KT-64568) | -| Python | [`componentize-py`](https://github.com/bytecodealliance/componentize-py) | 0.2 | Bytecode Alliance | | -| Python | [`cpython`](https://snarky.ca/state-of-wasi-support-for-cpython-march-2024/) | 0.2 | Python | Implementation in progress | -| Ruby | [`ruby.wasm`](https://github.com/ruby/ruby.wasm) | 0.2 | Ruby | Implementation in progress | -| Rust | [`wasm32-wasip2`](https://doc.rust-lang.org/rustc/platform-support/wasm32-wasip2.html) compiler target | 0.2 + 0.3 | Rust Project | [0.2 Introduction](https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets/), [0.2 Stabilization](https://blog.rust-lang.org/2024/11/26/wasip2-tier-2/), 0.3 is planned | -| Swift | [Swift](https://www.swift.org/) | 0.2 | Swift | Planned - [Roadmap Accepted](https://forums.swift.org/t/accepted-vision-a-vision-for-webassembly-support-in-swift/80332) | +| Language | Name | WASI Version | Maintained By | Notes | +| ------------------------- | ------------------------------------------------------------------------------------------------------ | ------------ | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| C and C++ | [`wasi-sdk`](https://github.com/WebAssembly/wasi-sdk) | 0.2 + 0.3 | W3C Wasm CG | 0.3 implementation is in progress | +| C# | [`componentize-dotnet`](https://github.com/bytecodealliance/componentize-dotnet) | 0.2 | Bytecode Alliance | | +| Go | [`go-modules`](https://github.com/bytecodealliance/go-modules) | 0.2 | Bytecode Alliance | | +| Java | [GraalVM](https://www.graalvm.org/) | - | Oracle | Planned - [Tracking Issue](https://github.com/oracle/graal/issues/9762), [Roadmap](https://github.com/orgs/oracle/projects/21/views/1), [Presentation](https://youtu.be/uefc2t9AmQI?t=1218) | +| JavaScript and TypeScript | [`jco`](https://github.com/bytecodealliance/jco) | 0.2 | Bytecode Alliance | | +| Kotlin | [Kotlin](https://kotlinlang.org/docs/wasm-wasi.html) | 0.2 | JetBrains | Planned - [Tracking Issue](https://youtrack.jetbrains.com/issue/KT-64568) | +| Python | [`componentize-py`](https://github.com/bytecodealliance/componentize-py) | 0.2 | Bytecode Alliance | | +| Python | [`cpython`](https://snarky.ca/state-of-wasi-support-for-cpython-march-2024/) | 0.2 | Python | Implementation in progress | +| Ruby | [`ruby.wasm`](https://github.com/ruby/ruby.wasm) | 0.2 | Ruby | Implementation in progress | +| Rust | [`wasm32-wasip2`](https://doc.rust-lang.org/rustc/platform-support/wasm32-wasip2.html) compiler target | 0.2 + 0.3 | Rust Project | [0.2 Introduction](https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets/), [0.2 Stabilization](https://blog.rust-lang.org/2024/11/26/wasip2-tier-2/), 0.3 is planned | +| Swift | [Swift](https://www.swift.org/) | 0.2 | Swift | Planned - [Roadmap Accepted](https://forums.swift.org/t/accepted-vision-a-vision-for-webassembly-support-in-swift/80332) | ### Bindings generators From 37d2562659ebc9dce6828bef2dc9b5020ea063f7 Mon Sep 17 00:00:00 2001 From: Eric Gregory Date: Tue, 9 Jun 2026 16:08:43 -0400 Subject: [PATCH 4/6] Reframe Languages page around modules and components; refresh matrix Reframes the page so that it covers both component-producing and module-producing toolchains, rather than components only. Adds an Output column to the support table, plus Notes, Building guides, and per-language updates: - C and C++: clarify that 0.3 toolchain support is not yet shipped (addresses the reviewer question on the prior "in progress" note) - JavaScript: jco now ships a preview3-shim with streams support - Rust: cite both wasm32-wasip2 (Tier 2 stable) and wasm32-wasip3 (Tier 3 nightly) - Add MoonBit and Zig rows - Add an upstream Go (GOOS=wasip1) row covering module output Adds a Notes section covering modules vs components, the wasm-tools component adapter pattern, P3 ecosystem state, and the WIT snapshot-pinning gotcha. Adds a Building guides list linking to the Component Model book per-language guides. Splits the C and C++ bindings generator row to call out wit-bindgen cpp separately. Signed-off-by: Eric Gregory --- docs/languages.md | 63 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 43 insertions(+), 20 deletions(-) diff --git a/docs/languages.md b/docs/languages.md index 7c5604b..0a98a4e 100644 --- a/docs/languages.md +++ b/docs/languages.md @@ -2,34 +2,57 @@ title: "Languages" sidebar_position: 2.5 --- -## Language support for components - -Currently, these languages can be compiled to Wasm components. Some languages have first-party support for Wasm components, while other languages rely on externally maintained tools. - -| Language | Name | WASI Version | Maintained By | Notes | -| ------------------------- | ------------------------------------------------------------------------------------------------------ | ------------ | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| C and C++ | [`wasi-sdk`](https://github.com/WebAssembly/wasi-sdk) | 0.2 + 0.3 | W3C Wasm CG | 0.3 implementation is in progress | -| C# | [`componentize-dotnet`](https://github.com/bytecodealliance/componentize-dotnet) | 0.2 | Bytecode Alliance | | -| Go | [`go-modules`](https://github.com/bytecodealliance/go-modules) | 0.2 | Bytecode Alliance | | -| Java | [GraalVM](https://www.graalvm.org/) | - | Oracle | Planned - [Tracking Issue](https://github.com/oracle/graal/issues/9762), [Roadmap](https://github.com/orgs/oracle/projects/21/views/1), [Presentation](https://youtu.be/uefc2t9AmQI?t=1218) | -| JavaScript and TypeScript | [`jco`](https://github.com/bytecodealliance/jco) | 0.2 | Bytecode Alliance | | -| Kotlin | [Kotlin](https://kotlinlang.org/docs/wasm-wasi.html) | 0.2 | JetBrains | Planned - [Tracking Issue](https://youtrack.jetbrains.com/issue/KT-64568) | -| Python | [`componentize-py`](https://github.com/bytecodealliance/componentize-py) | 0.2 | Bytecode Alliance | | -| Python | [`cpython`](https://snarky.ca/state-of-wasi-support-for-cpython-march-2024/) | 0.2 | Python | Implementation in progress | -| Ruby | [`ruby.wasm`](https://github.com/ruby/ruby.wasm) | 0.2 | Ruby | Implementation in progress | -| Rust | [`wasm32-wasip2`](https://doc.rust-lang.org/rustc/platform-support/wasm32-wasip2.html) compiler target | 0.2 + 0.3 | Rust Project | [0.2 Introduction](https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets/), [0.2 Stabilization](https://blog.rust-lang.org/2024/11/26/wasip2-tier-2/), 0.3 is planned | -| Swift | [Swift](https://www.swift.org/) | 0.2 | Swift | Planned - [Roadmap Accepted](https://forums.swift.org/t/accepted-vision-a-vision-for-webassembly-support-in-swift/80332) | +## Language support + +The languages below can be compiled to WebAssembly with WASI support. Some toolchains produce **components** built to the [Component Model](https://component-model.bytecodealliance.org/) (and can use WASI 0.2 or 0.3), while others produce core Wasm **modules** (which can use WASI 0.1). Some languages have first-party support, while others rely on externally maintained tools. + +| Language | Name | Output | WASI Version | Maintained By | Notes | +| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- | ---------------------- | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| C and C++ | [`wasi-sdk`](https://github.com/WebAssembly/wasi-sdk) | Modules; components via `wasm-tools component new` | 0.1, 0.2 | W3C Wasm CG | 0.3 toolchain support is not yet shipped | +| C# | [`componentize-dotnet`](https://github.com/bytecodealliance/componentize-dotnet) | Components | 0.2 | Bytecode Alliance | Pre-release toolchain | +| Go | Upstream Go (`GOOS=wasip1`) | Modules | 0.1 | Go Project | | +| Go | [`go-modules`](https://github.com/bytecodealliance/go-modules); [TinyGo](https://tinygo.org/) | Components | 0.2 | Bytecode Alliance; TinyGo Project | | +| Java | [GraalVM](https://www.graalvm.org/) | Planned | Planned | Oracle | Planned: see the [tracking issue](https://github.com/oracle/graal/issues/9762), [roadmap](https://github.com/orgs/oracle/projects/21/views/1), and [presentation](https://youtu.be/uefc2t9AmQI?t=1218) | +| JavaScript and TypeScript | [`jco`](https://github.com/bytecodealliance/jco) | Components | 0.2; 0.3 in progress | Bytecode Alliance | The `preview3-shim` package ships P3 host bindings; streams support landed, futures support following | +| Kotlin | [Kotlin](https://kotlinlang.org/docs/wasm-wasi.html) | Modules | 0.2 | JetBrains | Implementation in progress; see the [tracking issue](https://youtrack.jetbrains.com/issue/KT-64568) | +| MoonBit | MoonBit compiler with [`wit-bindgen` MoonBit backend](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/moonbit) | Modules; components via `wasm-tools component new` | 0.2 | MoonBit | | +| Python | [`componentize-py`](https://github.com/bytecodealliance/componentize-py) | Components | 0.2 | Bytecode Alliance | | +| Python | [`cpython`](https://snarky.ca/state-of-wasi-support-for-cpython-march-2024/) | Modules | 0.2 | Python | Implementation in progress | +| Ruby | [`ruby.wasm`](https://github.com/ruby/ruby.wasm) | Modules | 0.2 | Ruby | Implementation in progress | +| Rust | [`wasm32-wasip2`](https://doc.rust-lang.org/rustc/platform-support/wasm32-wasip2.html) and [`wasm32-wasip3`](https://doc.rust-lang.org/nightly/rustc/platform-support/wasm32-wasip3.html) compiler targets | Modules and components | 0.1, 0.2; 0.3 nightly | Rust Project | `wasm32-wasip2` is Tier 2 on stable; `wasm32-wasip3` is Tier 3, nightly only. See the [0.2 introduction](https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets/) and [0.2 stabilization](https://blog.rust-lang.org/2024/11/26/wasip2-tier-2/) | +| Swift | [Swift](https://www.swift.org/) | Planned | Planned | Swift | Planned: see the [accepted roadmap vision](https://forums.swift.org/t/accepted-vision-a-vision-for-webassembly-support-in-swift/80332) | +| Zig | `zig build-exe -target wasm32-wasi` | Modules | 0.1 | Zig | No first-party Zig component toolchain | + +### Notes + +- **Modules vs components.** A Wasm **module** is a single binary in the core WebAssembly format and can use WASI 0.1. A **component** is built to the Component Model and can use WASI 0.2 or 0.3, gaining composability, cross-language interoperability, and richer interface types. See [Releases](./releases/) for the full distinction. +- **Adapting modules to components.** Several toolchains produce core modules today and wrap them into components using [`wasm-tools component new`](https://github.com/bytecodealliance/wasm-tools) with a P1-to-P2 adapter. This is the path for C/C++ and MoonBit. +- **WASI 0.3 ecosystem state.** Broad language-level P3 support is still landing. The Rust `wasm32-wasip3` target is Tier 3 (nightly only). `jco` ships a `preview3-shim` package with streams support landed and futures support following. Other toolchains have not yet shipped P3 support. See [WASI 0.3 runtime and tooling support](./releases/wasi-p3.md#runtime-and-tooling-support) for the runtime side. +- **Snapshot pinning.** When working with WASI 0.3, all WIT-aware tools must target the same snapshot (currently `0.3.0-rc-2026-03-15`). Mismatches surface as confusing `wrong type` errors at instantiation. + +### Building guides + +For hands-on guides covering setup and a "hello world" per language, see the Component Model documentation: + +- [Rust](https://component-model.bytecodealliance.org/language-support/building-a-simple-component/rust.html) +- [JavaScript](https://component-model.bytecodealliance.org/language-support/building-a-simple-component/javascript.html) +- [Python](https://component-model.bytecodealliance.org/language-support/building-a-simple-component/python.html) +- [Go](https://component-model.bytecodealliance.org/language-support/building-a-simple-component/go.html) +- [C](https://component-model.bytecodealliance.org/language-support/building-a-simple-component/c.html) +- [C#](https://component-model.bytecodealliance.org/language-support/building-a-simple-component/csharp.html) +- [MoonBit](https://component-model.bytecodealliance.org/language-support/building-a-simple-component/moonbit.html) ### Bindings generators -The bindings generators below provide a way to make Wasm function calls using [interfaces](./interfaces.md) in a given language. +The bindings generators below provide a way to make Wasm function calls using [interfaces](./releases/) in a given language. | From | To | Name | | -------------------- | -------------------- | ------------------------------------------------------------------------------------------------- | -| Wasm Interface Types | C and C++ | [wit-bindgen c](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/c) | +| Wasm Interface Types | C | [wit-bindgen c](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/c) | +| Wasm Interface Types | C++ | [wit-bindgen cpp](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/cpp) | | Wasm Interface Types | C# | [wit-bindgen csharp](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/csharp) | | Wasm Interface Types | JSON Schema | [component2json](https://github.com/microsoft/wassette/tree/main/crates/component2json) | | Wasm Interface Types | Markdown | [wit-bindgen markdown](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/markdown) | | Wasm Interface Types | Moonbit | [wit-bindgen moonbit](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/moonbit) | | Wasm Interface Types | Rust | [wit-bindgen rust](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/guest-rust) | -| WebIDL | Wasm Interface Types | [webidl2wit](https://github.com/wasi-gfx/webidl2wit) | \ No newline at end of file +| WebIDL | Wasm Interface Types | [webidl2wit](https://github.com/wasi-gfx/webidl2wit) | From eec072426a055d4d970a7375bc663fca907e0c41 Mon Sep 17 00:00:00 2001 From: Eric Gregory Date: Tue, 9 Jun 2026 16:15:40 -0400 Subject: [PATCH 5/6] Fix broken cross-doc links in Languages page Docusaurus 3.5.2 with trailingSlash:false and onBrokenLinks:'throw' rejects two link patterns the previous commit used: - ./releases/ -- the trailing slash gets normalized off, and there is no doc with slug "releases", only releases/index.md. - ./releases/wasi-p3.md#anchor -- the .md extension is preserved in the resolved URL when a hash fragment is present, breaking route matching. Switch the three internal links to use the bare relative paths the rest of the codebase uses (e.g. releases/wasi-p3.md), and drop the hash anchor on the WASI 0.3 runtime/tooling reference in favor of a page-level link. Signed-off-by: Eric Gregory --- docs/languages.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/languages.md b/docs/languages.md index 0a98a4e..2f55449 100644 --- a/docs/languages.md +++ b/docs/languages.md @@ -25,9 +25,9 @@ The languages below can be compiled to WebAssembly with WASI support. Some toolc ### Notes -- **Modules vs components.** A Wasm **module** is a single binary in the core WebAssembly format and can use WASI 0.1. A **component** is built to the Component Model and can use WASI 0.2 or 0.3, gaining composability, cross-language interoperability, and richer interface types. See [Releases](./releases/) for the full distinction. +- **Modules vs components.** A Wasm **module** is a single binary in the core WebAssembly format and can use WASI 0.1. A **component** is built to the Component Model and can use WASI 0.2 or 0.3, gaining composability, cross-language interoperability, and richer interface types. See [Releases](releases/index.md) for the full distinction. - **Adapting modules to components.** Several toolchains produce core modules today and wrap them into components using [`wasm-tools component new`](https://github.com/bytecodealliance/wasm-tools) with a P1-to-P2 adapter. This is the path for C/C++ and MoonBit. -- **WASI 0.3 ecosystem state.** Broad language-level P3 support is still landing. The Rust `wasm32-wasip3` target is Tier 3 (nightly only). `jco` ships a `preview3-shim` package with streams support landed and futures support following. Other toolchains have not yet shipped P3 support. See [WASI 0.3 runtime and tooling support](./releases/wasi-p3.md#runtime-and-tooling-support) for the runtime side. +- **WASI 0.3 ecosystem state.** Broad language-level P3 support is still landing. The Rust `wasm32-wasip3` target is Tier 3 (nightly only). `jco` ships a `preview3-shim` package with streams support landed and futures support following. Other toolchains have not yet shipped P3 support. See the [WASI 0.3 release page](releases/wasi-p3.md) for runtime support details. - **Snapshot pinning.** When working with WASI 0.3, all WIT-aware tools must target the same snapshot (currently `0.3.0-rc-2026-03-15`). Mismatches surface as confusing `wrong type` errors at instantiation. ### Building guides @@ -44,7 +44,7 @@ For hands-on guides covering setup and a "hello world" per language, see the Com ### Bindings generators -The bindings generators below provide a way to make Wasm function calls using [interfaces](./releases/) in a given language. +The bindings generators below provide a way to make Wasm function calls using [interfaces](releases/index.md) in a given language. | From | To | Name | | -------------------- | -------------------- | ------------------------------------------------------------------------------------------------- | From 92b84f00977961ce0889ba962fcca7dd604e9576 Mon Sep 17 00:00:00 2001 From: Eric Gregory Date: Tue, 9 Jun 2026 16:40:37 -0400 Subject: [PATCH 6/6] Align Languages page cross-doc links with current main Following the rebase onto upstream main, the Notes section and bindings generators table now reference the actual pages present on main (interfaces.md, roadmap.md) rather than the docs/releases/ directory tree that exists only on a separate in-flight branch. Drops the WASI 0.3 release page link since there is no such page on main yet; the surrounding text stands on its own. Signed-off-by: Eric Gregory --- docs/languages.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/languages.md b/docs/languages.md index 2f55449..96636df 100644 --- a/docs/languages.md +++ b/docs/languages.md @@ -25,9 +25,9 @@ The languages below can be compiled to WebAssembly with WASI support. Some toolc ### Notes -- **Modules vs components.** A Wasm **module** is a single binary in the core WebAssembly format and can use WASI 0.1. A **component** is built to the Component Model and can use WASI 0.2 or 0.3, gaining composability, cross-language interoperability, and richer interface types. See [Releases](releases/index.md) for the full distinction. +- **Modules vs components.** A Wasm **module** is a single binary in the core WebAssembly format and can use WASI 0.1. A **component** is built to the Component Model and can use WASI 0.2 or 0.3, gaining composability, cross-language interoperability, and richer interface types. See the [Interfaces](interfaces.md) and [Roadmap](roadmap.md) pages for more on the WASI releases. - **Adapting modules to components.** Several toolchains produce core modules today and wrap them into components using [`wasm-tools component new`](https://github.com/bytecodealliance/wasm-tools) with a P1-to-P2 adapter. This is the path for C/C++ and MoonBit. -- **WASI 0.3 ecosystem state.** Broad language-level P3 support is still landing. The Rust `wasm32-wasip3` target is Tier 3 (nightly only). `jco` ships a `preview3-shim` package with streams support landed and futures support following. Other toolchains have not yet shipped P3 support. See the [WASI 0.3 release page](releases/wasi-p3.md) for runtime support details. +- **WASI 0.3 ecosystem state.** Broad language-level P3 support is still landing. The Rust `wasm32-wasip3` target is Tier 3 (nightly only). `jco` ships a `preview3-shim` package with streams support landed and futures support following. Other toolchains have not yet shipped P3 support. - **Snapshot pinning.** When working with WASI 0.3, all WIT-aware tools must target the same snapshot (currently `0.3.0-rc-2026-03-15`). Mismatches surface as confusing `wrong type` errors at instantiation. ### Building guides @@ -44,7 +44,7 @@ For hands-on guides covering setup and a "hello world" per language, see the Com ### Bindings generators -The bindings generators below provide a way to make Wasm function calls using [interfaces](releases/index.md) in a given language. +The bindings generators below provide a way to make Wasm function calls using [interfaces](interfaces.md) in a given language. | From | To | Name | | -------------------- | -------------------- | ------------------------------------------------------------------------------------------------- |