Swift for Wasm September-October 2025 Updates

I'm excited to share an update on the latest progress in the Swift for WebAssembly ecosystem! Last two months of community's work were mainly focused on polishing the Swift toolchain, developing new features in our primary packages (namely JavaScriptKit and WasmKit), while also porting existing Swift libraries to Wasm.

Here’s a list of notable changes prepared with help from @kateinoigakukun, @krodak, and @scottm:

Swift Toolchain

JavaScriptKit

Most of the changes were made in the BridgeJS plugin improving interoperability between Swift and JavaScript/TypeScript:

New Features:

  • Added Swift -> JS protocol support #460 #456;
  • Added Swift -> JS default parameter value support #453;
  • Added Swift -> JS static/class properties & functions support #448;
  • Added Swift -> JS Optional support #444;

Improvements / Fixes:

  • Migrated to code fragment printer #442;
  • Switched to direct TypeSyntax initializer #445;
  • Fixed nested type resolution for MemberTypeSyntax #433;

WasmKit

One of our goals for WasmKit is to enable first-class Swift for Wasm debugging support when using LLDB. This is still early days, but we had some significant progress:

Some other relevant small improvements worth mentioning:

Other Projects

  • DispatchAsync – New community workaround for compiling Swift that uses import Dispatch to Wasm. Provides DispatchQueue, DispatchGroup, DispatchSemaphore, DispatchTime, and DispatchTimeInterval as a drop-in replacement for Dispatch, implemented using Swift Concurrency;
  • swift-distributed-tracing – Introduced CI checks for WebAssembly compilation #175. Compilation fixes were merged previously in #174;
  • WebKit – Added WebAssembly debugging support via Remote Web Inspector.

Improvements prior to September 2025

There were a few notable improvements made that didn't end up included in the previous Q3 update, listed below for completeness:


Thank you for reading, and please feel free to add any comments or suggestions if we missed anything!

29 Likes

when emscripten support?

Excellent work Max, Scott, Krzysztof, and Yuta. Great to see Swift WASM accelerating!

Would you mind elaborating on what you meant by "emscripten support"? Anything you want to use from the Emscripten toolchain?