+ Download Swift SDK for WASI
+
+
+Instructions (Swift SDK for WASI)
From 978a75aa11ad64b3153989910776833bfe314e76 Mon Sep 17 00:00:00 2001
From: Max Desiatov
Date: Wed, 28 May 2025 16:24:58 +0100
Subject: [PATCH 2/9] Add `wasm-getting-started.md` draft
---
_data/authors.yml | 9 +-
_data/documentation.yaml | 4 +
_includes/install/_wasi_sdk_dev.md | 2 +-
.../articles/wasm-getting-started.md | 123 ++++++++++++++++++
4 files changed, 135 insertions(+), 3 deletions(-)
create mode 100644 documentation/articles/wasm-getting-started.md
diff --git a/_data/authors.yml b/_data/authors.yml
index 1ca11d47c..0800bc38f 100644
--- a/_data/authors.yml
+++ b/_data/authors.yml
@@ -490,7 +490,7 @@ george-barnett:
gus-cairo:
name: Gus Cairo
github: gjcairo
-
+
vrylko:
name: Vojtěch Rylko
github: vojtarylko
@@ -508,4 +508,9 @@ chris-mcgee:
parispittman:
name: Paris Pittman
- github: parispittman
\ No newline at end of file
+ github: parispittman
+
+maxdesiatov:
+ name: Max Desiatov
+ github: maxdesiatov
+
diff --git a/_data/documentation.yaml b/_data/documentation.yaml
index 850ccad66..cb8bf73be 100644
--- a/_data/documentation.yaml
+++ b/_data/documentation.yaml
@@ -67,6 +67,10 @@
description: |
Learn how to get started building binaries for Linux with no system dependencies (not even the Swift runtime or C library).
Even better, you can do this from any system with a Swift toolchain, allowing you to develop on macOS or Windows and easily deploy to Linux when you go to production.
+ - title: Getting Started with Swift SDKs for WebAssembly
+ url: /documentation/articles/wasm-getting-started.html
+ description: |
+ Learn how to get started building Swift packages for WebAssembly (Wasm).
#----------------------------------------------------
- header: Contributing
pages:
diff --git a/_includes/install/_wasi_sdk_dev.md b/_includes/install/_wasi_sdk_dev.md
index c62e9ed07..a73b06369 100644
--- a/_includes/install/_wasi_sdk_dev.md
+++ b/_includes/install/_wasi_sdk_dev.md
@@ -18,4 +18,4 @@
Download Swift SDK for WASI
-Instructions (Swift SDK for WASI)
+Instructions (Swift SDK for WASI)
diff --git a/documentation/articles/wasm-getting-started.md b/documentation/articles/wasm-getting-started.md
new file mode 100644
index 000000000..01fa333dc
--- /dev/null
+++ b/documentation/articles/wasm-getting-started.md
@@ -0,0 +1,123 @@
+--
+layout: page
+date: 2025-06-01 12:00:00
+title: Getting Started with Swift SDKs for WebAssembly
+author: [maxdesiatov]
+--
+
+[WebAssembly (Wasm) is a virtual instruction set](https://webassembly.org/) focused on portability, security, and
+performance. Developers can build client and server applications for Wasm and then deploy them in the browser or other
+Wasm runtime implementations.
+
+WebAssembly support in Swift started out as a community project. Any instruction set benefits tremendously from a
+standardized ABI and system interfaces, and from its inception Wasm support in Swift targeted [WebAssembly System
+Interface](https://wasi.dev/), which made porting Swift core libraries to this platform much easier.
+
+We're excited to announce the general availability of [Swift SDKs for WASI distributed by
+swift.org](https://swift.org/download) for Swift 6.2 and development snapshots. You can easily cross-compile and
+run Wasm modules with these Swift SDKs. The distributed artifact bundles also include support for the experimental Embedded
+Swift mode and a subset of Swift Concurrency supported in this mode.
+
+## Installation
+
+1. To install the required version of the Swift toolchain, install `swiftly` first.
+
+ a. On macOS, install swiftly with the following command:
+
+```
+curl -O https://download.swift.org/swiftly/darwin/swiftly.pkg && \
+installer -pkg swiftly.pkg -target CurrentUserHomeDirectory && \
+~/.swiftly/bin/swiftly init --quiet-shell-followup && \
+. ~/.swiftly/env.sh && \
+hash -r
+```
+
+ b. On Linux, the installation command is slightly different:
+
+```
+curl -O "https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz" && \
+tar zxf "swiftly-$(uname -m).tar.gz" && \
+./swiftly init --quiet-shell-followup && \
+. ~/.local/share/swiftly/env.sh && \
+hash -r
+```
+
+2. Note the exact version of Swift with the following command
+
+```
+swift --version
+```
+
+If you’re installing development snapshot with `swiftly install main-snapshot`, note the exact date component in `swiftly`s output.
+
+3. Navigate to https://www.swift.org/install/macos/ and find the “Swift SDK for WASI” section. Find a URL of a version that exactly matches the version from step 2.
+If the corresponding snapshot version is not available for the Swift SDK, you’ll have to install the matching toolchain first.
+
+4. Find the checksum value for the corresponding Swift SDK on the same page, substitute it together with the URL from step 2, and execute the following command:
+
+```
+swift sdk install --checksum
+```
+
+5. Run `swift sdk list` to verify the Swift SDK was installed and note its ID in the output. Embedded Swift SDK for WASI will have `-embedded` suffix in its ID.
+
+6. After installing or selecting a new version of Swift, make sure to follow steps 2-5 to install a Swift SDK exactly matching the toolchain version.
+
+## Building and Running, and Testing
+
+Let's create a simple package to see the Swift SDK in action:
+
+```
+mkdir wasi-example
+cd wasi-example
+swift package init --type executabl
+```
+
+Modify freshly created `Sources/wasi-test/wasi_test.swift` file to print different strings depending on the target
+platform:
+
+```swift
+@main
+struct wasi_test {
+ static func main() {
+#if os(WASI)
+ print("Hello from WASI!")
+#else
+ print("Hello from the host system!")
+#endif
+ }
+}
+```
+
+Build your package with the following command, substituting the ID from step 5 of the "Installation" section above.
+
+```
+swift build --swift-sdk
+```
+
+Recent toolchain snapshots that are compatible with Swift SDKs for WASI also include
+[WasmKit](https://github.com/swiftwasm/wasmkit/), which is a Wasm runtime that `swift run` can delegate to for
+execution. To run the freshly built module, use `swift run` with the same `--swift-sdk` option:
+
+```
+swift run --swift-sdk
+```
+
+You should see the following output:
+
+```
+[1/1] Planning build
+Building for debugging...
+[8/8] Linking wasi-test.wasm
+Build of product 'wasi-test' complete! (1.31s)
+Hello from WASI!
+```
+
+When building with Embedded Swift SDK, make sure you pass `-c release` to `swift build` and `swift run` to enable
+optimizations necessary for Embedded Swift.
+
+## Conclusion
+
+With Swift SDKs for WASI now available for 6.2 and development snapshots, we're working on setting up test suite
+execution for libraries maintained by the Swift project that can support WASI. We invite you to try it out and are
+looking forward to your feedback!
From 595549322d32445e21c264a48768f1d024f6890d Mon Sep 17 00:00:00 2001
From: Max Desiatov
Date: Wed, 28 May 2025 16:38:32 +0100
Subject: [PATCH 3/9] Fix wording and typos
---
.../articles/wasm-getting-started.md | 64 +++++++++----------
1 file changed, 32 insertions(+), 32 deletions(-)
diff --git a/documentation/articles/wasm-getting-started.md b/documentation/articles/wasm-getting-started.md
index 01fa333dc..01d34fb3a 100644
--- a/documentation/articles/wasm-getting-started.md
+++ b/documentation/articles/wasm-getting-started.md
@@ -1,9 +1,9 @@
---
+---
layout: page
date: 2025-06-01 12:00:00
title: Getting Started with Swift SDKs for WebAssembly
author: [maxdesiatov]
---
+---
[WebAssembly (Wasm) is a virtual instruction set](https://webassembly.org/) focused on portability, security, and
performance. Developers can build client and server applications for Wasm and then deploy them in the browser or other
@@ -24,53 +24,53 @@ Swift mode and a subset of Swift Concurrency supported in this mode.
a. On macOS, install swiftly with the following command:
-```
-curl -O https://download.swift.org/swiftly/darwin/swiftly.pkg && \
-installer -pkg swiftly.pkg -target CurrentUserHomeDirectory && \
-~/.swiftly/bin/swiftly init --quiet-shell-followup && \
-. ~/.swiftly/env.sh && \
-hash -r
-```
+ ```
+ curl -O https://download.swift.org/swiftly/darwin/swiftly.pkg && \
+ installer -pkg swiftly.pkg -target CurrentUserHomeDirectory && \
+ ~/.swiftly/bin/swiftly init --quiet-shell-followup && \
+ . ~/.swiftly/env.sh && \
+ hash -r
+ ```
b. On Linux, the installation command is slightly different:
-```
-curl -O "https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz" && \
-tar zxf "swiftly-$(uname -m).tar.gz" && \
-./swiftly init --quiet-shell-followup && \
-. ~/.local/share/swiftly/env.sh && \
-hash -r
-```
+ ```
+ curl -O "https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz" && \
+ tar zxf "swiftly-$(uname -m).tar.gz" && \
+ ./swiftly init --quiet-shell-followup && \
+ . ~/.local/share/swiftly/env.sh && \
+ hash -r
+ ```
2. Note the exact version of Swift with the following command
-```
-swift --version
-```
+ ```
+ swift --version
+ ```
-If you’re installing development snapshot with `swiftly install main-snapshot`, note the exact date component in `swiftly`s output.
+ If you’re installing development snapshot with `swiftly install main-snapshot`, note the exact date component in `swiftly`s output.
-3. Navigate to https://www.swift.org/install/macos/ and find the “Swift SDK for WASI” section. Find a URL of a version that exactly matches the version from step 2.
+3. Navigate to [the downloads page](https://www.swift.org/download/) and find the “Swift SDK for WASI” section. Find a URL of a version that exactly matches the version from step 2.
If the corresponding snapshot version is not available for the Swift SDK, you’ll have to install the matching toolchain first.
4. Find the checksum value for the corresponding Swift SDK on the same page, substitute it together with the URL from step 2, and execute the following command:
-```
-swift sdk install --checksum
-```
+ ```
+ swift sdk install --checksum
+ ```
5. Run `swift sdk list` to verify the Swift SDK was installed and note its ID in the output. Embedded Swift SDK for WASI will have `-embedded` suffix in its ID.
6. After installing or selecting a new version of Swift, make sure to follow steps 2-5 to install a Swift SDK exactly matching the toolchain version.
-## Building and Running, and Testing
+## Building and Running
Let's create a simple package to see the Swift SDK in action:
```
mkdir wasi-example
cd wasi-example
-swift package init --type executabl
+swift package init --type executable
```
Modify freshly created `Sources/wasi-test/wasi_test.swift` file to print different strings depending on the target
@@ -89,7 +89,7 @@ struct wasi_test {
}
```
-Build your package with the following command, substituting the ID from step 5 of the "Installation" section above.
+Build your package with the following command, substituting the ID from step 5 of [the "Installation" section](#installation) above.
```
swift build --swift-sdk
@@ -113,11 +113,11 @@ Build of product 'wasi-test' complete! (1.31s)
Hello from WASI!
```
-When building with Embedded Swift SDK, make sure you pass `-c release` to `swift build` and `swift run` to enable
-optimizations necessary for Embedded Swift.
+When building with Embedded Swift SDK, you have to pass `-c release` to `swift build` and `swift run` to enable
+optimizations required for Embedded Swift.
## Conclusion
-With Swift SDKs for WASI now available for 6.2 and development snapshots, we're working on setting up test suite
-execution for libraries maintained by the Swift project that can support WASI. We invite you to try it out and are
-looking forward to your feedback!
+With Swift SDKs for WASI now available for 6.2 and development snapshots, there's ongoing work on setting up test suite
+execution for libraries under `swiftlang` organization that can support WASI. If you're interested, we invite you to try
+out this new platform with your own packages and are looking forward to your feedback!
From 2d9acd922a0097227581d52ccd55b750ec726883 Mon Sep 17 00:00:00 2001
From: Max Desiatov
Date: Wed, 28 May 2025 18:42:37 +0100
Subject: [PATCH 4/9] Update wording for installation steps, add dedicated
section for embedded
---
.../articles/wasm-getting-started.md | 55 +++++--------------
1 file changed, 15 insertions(+), 40 deletions(-)
diff --git a/documentation/articles/wasm-getting-started.md b/documentation/articles/wasm-getting-started.md
index 01d34fb3a..3fbb90853 100644
--- a/documentation/articles/wasm-getting-started.md
+++ b/documentation/articles/wasm-getting-started.md
@@ -13,42 +13,14 @@ WebAssembly support in Swift started out as a community project. Any instruction
standardized ABI and system interfaces, and from its inception Wasm support in Swift targeted [WebAssembly System
Interface](https://wasi.dev/), which made porting Swift core libraries to this platform much easier.
-We're excited to announce the general availability of [Swift SDKs for WASI distributed by
-swift.org](https://swift.org/download) for Swift 6.2 and development snapshots. You can easily cross-compile and
-run Wasm modules with these Swift SDKs. The distributed artifact bundles also include support for the experimental Embedded
-Swift mode and a subset of Swift Concurrency supported in this mode.
+With Swift 6.2 and development snapshots you can easily cross-compile and run Wasm modules with Swift SDKs for WASI distributed on [swift.org](https://swift.org/download).
+The distributed artifact bundles also include support for the experimental Embedded Swift mode.
## Installation
-1. To install the required version of the Swift toolchain, install `swiftly` first.
+1. [Install `swiftly` per the instructions](https://www.swift.org/install/) for the platform that you're bulding on.
- a. On macOS, install swiftly with the following command:
-
- ```
- curl -O https://download.swift.org/swiftly/darwin/swiftly.pkg && \
- installer -pkg swiftly.pkg -target CurrentUserHomeDirectory && \
- ~/.swiftly/bin/swiftly init --quiet-shell-followup && \
- . ~/.swiftly/env.sh && \
- hash -r
- ```
-
- b. On Linux, the installation command is slightly different:
-
- ```
- curl -O "https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz" && \
- tar zxf "swiftly-$(uname -m).tar.gz" && \
- ./swiftly init --quiet-shell-followup && \
- . ~/.local/share/swiftly/env.sh && \
- hash -r
- ```
-
-2. Note the exact version of Swift with the following command
-
- ```
- swift --version
- ```
-
- If you’re installing development snapshot with `swiftly install main-snapshot`, note the exact date component in `swiftly`s output.
+2. Install latest 6.2 development snapshot with `swiftly install 6.2-snapshot`, note the exact snapshot date component in the output of this command.
3. Navigate to [the downloads page](https://www.swift.org/download/) and find the “Swift SDK for WASI” section. Find a URL of a version that exactly matches the version from step 2.
If the corresponding snapshot version is not available for the Swift SDK, you’ll have to install the matching toolchain first.
@@ -59,9 +31,10 @@ If the corresponding snapshot version is not available for the Swift SDK, you’
swift sdk install --checksum
```
-5. Run `swift sdk list` to verify the Swift SDK was installed and note its ID in the output. Embedded Swift SDK for WASI will have `-embedded` suffix in its ID.
+5. Run `swift sdk list` to verify the Swift SDK was installed and note its ID in the output. Two Swift SDKs will be installed,
+one with support for all Swift features, and the other with a subset of features allowed in the experimental [Embedded Swift mode](#embedded-swift-support).
-6. After installing or selecting a new version of Swift, make sure to follow steps 2-5 to install a Swift SDK exactly matching the toolchain version.
+6. In the future, after installing or selecting a new version of the toolchain with `swiftly` make sure to follow steps 3-5 to install a Swift SDK exactly matching the toolchain version.
## Building and Running
@@ -113,11 +86,13 @@ Build of product 'wasi-test' complete! (1.31s)
Hello from WASI!
```
-When building with Embedded Swift SDK, you have to pass `-c release` to `swift build` and `swift run` to enable
-optimizations required for Embedded Swift.
+# Embedded Swift Support
+
+[Embedded Swift](https://github.com/swiftlang/swift-evolution/blob/main/visions/embedded-swift.md) is an experimental subset of the language
+allowing the toolchain to produce Wasm binaries that are multiple orders of magnitude smaller. One of the Swift SDKs in the artifact bundle you've installed
+with the `swift sdk install` command is tailored specifically for Embedded Swift. A subset of Swift Concurrency is also supported in this mode
+thanks to the functionality provided by WASI.
-## Conclusion
+To build with Embedded Swift SDK, pass its ID as noted in `swift sdk list` output (which has an `-embedded` suffix) in the `--swift-sdk` option. You also have to pass `-c release`
+to `swift build` and `swift run` to enable optimizations required for Embedded Swift.
-With Swift SDKs for WASI now available for 6.2 and development snapshots, there's ongoing work on setting up test suite
-execution for libraries under `swiftlang` organization that can support WASI. If you're interested, we invite you to try
-out this new platform with your own packages and are looking forward to your feedback!
From c041025b81dee5cc9a4f4ee6ad6b62bc2f93e3dc Mon Sep 17 00:00:00 2001
From: Max Desiatov
Date: Mon, 2 Jun 2025 19:18:28 +0100
Subject: [PATCH 5/9] Remove unused file
---
_includes/install/_wasi_sdk_dev.md | 21 ---------------------
1 file changed, 21 deletions(-)
delete mode 100644 _includes/install/_wasi_sdk_dev.md
diff --git a/_includes/install/_wasi_sdk_dev.md b/_includes/install/_wasi_sdk_dev.md
deleted file mode 100644
index a73b06369..000000000
--- a/_includes/install/_wasi_sdk_dev.md
+++ /dev/null
@@ -1,21 +0,0 @@
-{% assign wasi_swift_sdk_dev_builds = site.data.builds.development.wasi_swift_sdk | sort: 'date' | reverse %}
-
Swift SDK for WASI
-
-
-
main
-
-
-
-
- Swift SDK for cross-compilation to WASI (WebAssembly System Interface)
-
-Instructions (Swift SDK for WASI)
From 7a36782b857e9b418d11e994af3a67ee2a37568d Mon Sep 17 00:00:00 2001
From: Max Desiatov
Date: Mon, 2 Jun 2025 21:05:23 +0100
Subject: [PATCH 6/9] Apply suggestions from code review
---
.../articles/wasm-getting-started.md | 20 ++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/documentation/articles/wasm-getting-started.md b/documentation/articles/wasm-getting-started.md
index 3fbb90853..f5075364c 100644
--- a/documentation/articles/wasm-getting-started.md
+++ b/documentation/articles/wasm-getting-started.md
@@ -22,31 +22,33 @@ The distributed artifact bundles also include support for the experimental Embed
2. Install latest 6.2 development snapshot with `swiftly install 6.2-snapshot`, note the exact snapshot date component in the output of this command.
-3. Navigate to [the downloads page](https://www.swift.org/download/) and find the “Swift SDK for WASI” section. Find a URL of a version that exactly matches the version from step 2.
+3. Select the installed toolchain with `swiftly use 6.2-snapshot`.
+
+4. Navigate to [the downloads page](https://www.swift.org/download/) and find the “Swift SDK for WASI” section. Find a URL of a version that exactly matches the version from step 2.
If the corresponding snapshot version is not available for the Swift SDK, you’ll have to install the matching toolchain first.
-4. Find the checksum value for the corresponding Swift SDK on the same page, substitute it together with the URL from step 2, and execute the following command:
+5. Find the checksum value for the corresponding Swift SDK on the same page, substitute it together with the URL from step 2, and execute the following command:
```
swift sdk install --checksum
```
-5. Run `swift sdk list` to verify the Swift SDK was installed and note its ID in the output. Two Swift SDKs will be installed,
+6. Run `swift sdk list` to verify the Swift SDK was installed and note its ID in the output. Two Swift SDKs will be installed,
one with support for all Swift features, and the other with a subset of features allowed in the experimental [Embedded Swift mode](#embedded-swift-support).
-6. In the future, after installing or selecting a new version of the toolchain with `swiftly` make sure to follow steps 3-5 to install a Swift SDK exactly matching the toolchain version.
+7. In the future, after installing or selecting a new version of the toolchain with `swiftly` make sure to follow steps 3-6 to install a Swift SDK exactly matching the toolchain version.
## Building and Running
Let's create a simple package to see the Swift SDK in action:
```
-mkdir wasi-example
-cd wasi-example
+mkdir Hello
+cd Hello
swift package init --type executable
```
-Modify freshly created `Sources/wasi-test/wasi_test.swift` file to print different strings depending on the target
+Modify freshly created `Sources/Hello/Hello.swift` file to print different strings depending on the target
platform:
```swift
@@ -81,8 +83,8 @@ You should see the following output:
```
[1/1] Planning build
Building for debugging...
-[8/8] Linking wasi-test.wasm
-Build of product 'wasi-test' complete! (1.31s)
+[8/8] Linking Hello.wasm
+Build of product 'Hello' complete! (1.31s)
Hello from WASI!
```
From a851b3016f8ee6d42439aaa66e71b90b42347597 Mon Sep 17 00:00:00 2001
From: Max Desiatov
Date: Mon, 2 Jun 2025 21:05:44 +0100
Subject: [PATCH 7/9] Apply suggestions from code review
Co-authored-by: Yuta Saito
---
documentation/articles/wasm-getting-started.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/documentation/articles/wasm-getting-started.md b/documentation/articles/wasm-getting-started.md
index f5075364c..ae16366c3 100644
--- a/documentation/articles/wasm-getting-started.md
+++ b/documentation/articles/wasm-getting-started.md
@@ -35,6 +35,10 @@ If the corresponding snapshot version is not available for the Swift SDK, you’
6. Run `swift sdk list` to verify the Swift SDK was installed and note its ID in the output. Two Swift SDKs will be installed,
one with support for all Swift features, and the other with a subset of features allowed in the experimental [Embedded Swift mode](#embedded-swift-support).
+| SDK ID | Description |
+|:-------:|:-----------:|
+| `swift-_wasm` | Support all Swift features |
+| `swift-_wasm-embedded` | Support a subset of features allowed in the experimental [Embedded Swift mode](#embedded-swift-support) |
7. In the future, after installing or selecting a new version of the toolchain with `swiftly` make sure to follow steps 3-6 to install a Swift SDK exactly matching the toolchain version.
From 87715e2bd31bee759e8697a1ac794c1580d882a3 Mon Sep 17 00:00:00 2001
From: Max Desiatov
Date: Mon, 2 Jun 2025 21:06:18 +0100
Subject: [PATCH 8/9] Revert "Apply suggestions from code review"
This reverts commit a851b3016f8ee6d42439aaa66e71b90b42347597.
---
documentation/articles/wasm-getting-started.md | 4 ----
1 file changed, 4 deletions(-)
diff --git a/documentation/articles/wasm-getting-started.md b/documentation/articles/wasm-getting-started.md
index ae16366c3..f5075364c 100644
--- a/documentation/articles/wasm-getting-started.md
+++ b/documentation/articles/wasm-getting-started.md
@@ -35,10 +35,6 @@ If the corresponding snapshot version is not available for the Swift SDK, you’
6. Run `swift sdk list` to verify the Swift SDK was installed and note its ID in the output. Two Swift SDKs will be installed,
one with support for all Swift features, and the other with a subset of features allowed in the experimental [Embedded Swift mode](#embedded-swift-support).
-| SDK ID | Description |
-|:-------:|:-----------:|
-| `swift-_wasm` | Support all Swift features |
-| `swift-_wasm-embedded` | Support a subset of features allowed in the experimental [Embedded Swift mode](#embedded-swift-support) |
7. In the future, after installing or selecting a new version of the toolchain with `swiftly` make sure to follow steps 3-6 to install a Swift SDK exactly matching the toolchain version.
From 99494e7b75c34fd4d0be9ba3f950b545ee8f5407 Mon Sep 17 00:00:00 2001
From: Max Desiatov
Date: Mon, 2 Jun 2025 21:12:14 +0100
Subject: [PATCH 9/9] Add back the Swift SDK IDs table
---
documentation/articles/wasm-getting-started.md | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/documentation/articles/wasm-getting-started.md b/documentation/articles/wasm-getting-started.md
index f5075364c..88e571e83 100644
--- a/documentation/articles/wasm-getting-started.md
+++ b/documentation/articles/wasm-getting-started.md
@@ -36,6 +36,11 @@ If the corresponding snapshot version is not available for the Swift SDK, you’
6. Run `swift sdk list` to verify the Swift SDK was installed and note its ID in the output. Two Swift SDKs will be installed,
one with support for all Swift features, and the other with a subset of features allowed in the experimental [Embedded Swift mode](#embedded-swift-support).
+ | Swift SDK ID | Description |
+ |:-------:|:-----------:|
+ | `swift-_wasm` | Supports all Swift features |
+ | `swift-_wasm-embedded` | Supports a subset of features allowed in the experimental [Embedded Swift mode](#embedded-swift-support) |
+
7. In the future, after installing or selecting a new version of the toolchain with `swiftly` make sure to follow steps 3-6 to install a Swift SDK exactly matching the toolchain version.
## Building and Running