# Swift for Wasm January 2026 Updates

**URL:** <https://forums.swift.org/t/swift-for-wasm-january-2026-updates/84458>\
**Category:** Swift for WebAssembly\
**Created:** [January 29, 2026, 6:39pm UTC](https://forums.swift.org/t/swift-for-wasm-january-2026-updates/84458 "2026-01-29T18:39:17Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![scottm](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/scottm/32/37369_2.png) [@scottm](https://forums.swift.org/u/scottm)\
**Post date:** [January 29, 2026, 6:39pm UTC](https://forums.swift.org/t/swift-for-wasm-january-2026-updates/84458/1 "2026-01-29T18:39:17Z")

</div>

# Swift for Wasm January 2026 Updates

I'm excited to share our recent progress by the Swift for WebAssembly community.

Our number of active contributors is growing, and we're happy to see Simon Leeb announcing the launch of [ElementaryUI](https://elementary.codes) website. ElementaryUI is a new framework for creating dynamic web apps using Swift, powered by Embedded Swift for WebAssembly.

In some other notable news, we have updates for `Thread` and `NSLock` availability, re-enabled reg2mem compiler optimization, agents skills repository, improved JS-Swift interop with BridgeJS, experimental autodiff support, expanded Wasm features support in WasmKit, and many more improvements throughout the Swift ecosystem.

Check out the full list of improvements below!

## [Swift Toolchain](https://github.com/swiftlang/swift)

- `wasmstdlib.py` added `SWIFT_ENABLE_EXPERIMENTAL_DIFFERENTIABLE_PROGRAMMING` in main ([#86552](https://github.com/swiftlang/swift/pull/86552)) and 6.3 ([#86656](https://github.com/swiftlang/swift/pull/86656));
- Re-enabled aggressive reg2mem optimization when targeting Wasm in `main` ([#86624](https://github.com/swiftlang/swift/pull/86624)) and 6.3 ([#86658](https://github.com/swiftlang/swift/pull/86658)), fixing [#77567](https://github.com/swiftlang/swift/issues/77567);
- CMake: added option for header-only `clang` resource installation [#86548](https://github.com/swiftlang/swift/pull/86548);
- tests: enabled more Embedded Swift ([#86639](https://github.com/swiftlang/swift/pull/86639)) and DebugInfo ([#86742](https://github.com/swiftlang/swift/pull/86742)) tests for Wasm;
- `NSLock` and `Thread` are now available for `wasip1-threads` target [#5293](https://github.com/swiftlang/swift-corelibs-foundation/pull/5293);
- WasmKit 0.2.0 now included in `main` development snapshots [#86440](https://github.com/swiftlang/swift/pull/86440);
- Fixed build errors ([#86533](https://github.com/swiftlang/swift/issues/86533)) when passing `--enable-code-coverage` to `swift build` in [#86572](https://github.com/swiftlang/swift/pull/86572).

## [JavaScriptKit](https://github.com/swiftwasm/JavaScriptKit)

- [JavaScriptKit 0.39.0 released](https://github.com/swiftwasm/JavaScriptKit/releases/tag/0.39.0);
- New repository: Agent Skills for JavaScriptKit - [swiftwasm/skills](https://forums.swift.org/t/agent-skills-expert-recipes-for-swift-on-webassembly/84075);
- Documentation: added JavaScript Interop Cheat Sheet [#491](https://github.com/swiftwasm/JavaScriptKit/pull/491);
- Documentation: extended `README.md` and various BridgeJS guides updates [#502](https://github.com/swiftwasm/JavaScriptKit/pull/502) [#503](https://github.com/swiftwasm/JavaScriptKit/pull/503).

### [BridgeJS](https://swiftpackageindex.com/swiftwasm/javascriptkit/main/documentation/javascriptkit#BridgeJS)

- Macro-annotated imports from TypeScript [#499](https://github.com/swiftwasm/JavaScriptKit/pull/499);
- Support `export { thing } from "pkg"` form in `bridge-js.d.ts` [#506](https://github.com/swiftwasm/JavaScriptKit/pull/506);
- Fix `enumHelper` availability [#493](https://github.com/swiftwasm/JavaScriptKit/pull/493);
- Import TypeScript enums into Swift [#521](https://github.com/swiftwasm/JavaScriptKit/pull/521);
- Support closure types in imported JS APIs [#524](https://github.com/swiftwasm/JavaScriptKit/pull/524);
- Support UnsafePointer-family types [#525](https://github.com/swiftwasm/JavaScriptKit/pull/525);
- Add `init(unsafelyCopying:)` for `@JS` structs [#527](https://github.com/swiftwasm/JavaScriptKit/pull/527);
- Allow imports from `globalThis` [#530](https://github.com/swiftwasm/JavaScriptKit/pull/530);
- Fix codegen for `Float`/`Double` raw value enums in struct fields and optional context [#533](https://github.com/swiftwasm/JavaScriptKit/pull/533);
- Support `@JS` Swift struct types in imported JS signatures [#535](https://github.com/swiftwasm/JavaScriptKit/pull/535);
- Support bridging Swift arrays to JS [#542](https://github.com/swiftwasm/JavaScriptKit/pull/542).

## [WasmKit](https://github.com/swiftlang/swift)

- WASI: added new `MemoryFileSystem` API for better virtualization support [#230](https://github.com/swiftwasm/WasmKit/pull/230);
- WebAssembly Text Format: added `threads` instructions parsing support [#257](https://github.com/swiftwasm/WasmKit/pull/257);
- WasmParser: added SIMD instructions parsing support [#263](https://github.com/swiftwasm/WasmKit/pull/263);
- Implemented SIMD instructions in Wasm runtime [#270](https://github.com/swiftwasm/WasmKit/pull/270);
- Implemented threads and atomic instructions in Wasm runtime [#284](https://github.com/swiftwasm/WasmKit/pull/284);
- WASI: Implemented `path_readlink` syscall [#261](https://github.com/swiftwasm/WasmKit/pull/261);
- Adopted typed throws in the `WAT` module [#265](https://github.com/swiftwasm/WasmKit/pull/265);
- Added `WasmParserBenchmark`, now with most benchmarks running on CI [#278](https://github.com/swiftwasm/WasmKit/pull/278).

## [swift-async-algorithms](https://github.com/apple/swift-async-algorithms)

- Wasm Compilation: Improved support for compiling to non-pthreads WASI platforms [#389](https://github.com/apple/swift-async-algorithms/pull/389);
- Improved documentation on Wasm threading support [#393](https://github.com/apple/swift-async-algorithms/pull/393/).

## [swift-log](https://github.com/apple/swift-log)

- Added locking support when compiling to pthread-supporting WASI platforms [#398](https://github.com/apple/swift-log/pull/398/).

## [swift-nio](https://github.com/apple/swift-nio)

- Enabled dependencies on `NIOEmbedded` when building for WASI [#3484](https://github.com/apple/swift-nio/pull/3484);
- Enabled dependencies on `NIOPosix` when building for WASI [#3485](https://github.com/apple/swift-nio/pull/3485).

## [ElementaryUI](https://elementary.codes)

- Launched [elementary.codes](https://elementary.codes) with guides and templates to get started with building Swift apps in the browser. ElementaryUI is a web frontend framework inspired by SwiftUI, and powered by Embedded Swift for WebAssembly to achieve an impressively small binary footprint.

* * *

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

If you'd like to catch up with changes from previous months, here's a list of relevant updates:

- [December 2025](https://forums.swift.org/t/swift-for-wasm-december-2025-updates/83778);
- [November 2025](https://forums.swift.org/t/swift-for-wasm-november-2025-updates/83450);
- [September-October 2025](https://forums.swift.org/t/swift-for-wasm-september-october-2025-updates/82966);
- [Q3 2025](https://forums.swift.org/t/swift-for-wasm-q3-2025-updates/81956).
