Releases: swiftwasm/JavaScriptKit
Releases · swiftwasm/JavaScriptKit
0.30.0
What's Changed
- PackageToJS: Add hint for missing
.enableExperimentalFeature("Extern")
setting by @kateinoigakukun in #364 - PackageToJS: Fail tests when continuation leaks are detected by @kateinoigakukun in #365
- BridgeJS: Add runtime tests for importing TypeScript functions by @kateinoigakukun in #368
- BridgeJS: Require placing
bridge-js.config.json
in target directory by @kateinoigakukun in #370 - BridgeJS: Enhance importing TS classes by @kateinoigakukun in #371
- BridgeJS: Add support for JSObject in exported Swift interface by @kateinoigakukun in #372
- BridgeJS: Add support for throwing JSException from Swift by @kateinoigakukun in #373
- Fix Benchmarks build by regen bridge-js files by @kateinoigakukun in #374
- Make
SwiftRuntime.memory
constant property by @kateinoigakukun in #375 - CI: Update toolchain snapshot to 2025-06-12 by @kateinoigakukun in #366
- BridgeJS: Add more smoke tests for throwing functions by @kateinoigakukun in #376
Full Changelog: 0.29.1...0.30.0
0.29.1
What's Changed
- Restricting throwable exception type to JSException for closures by @kateinoigakukun in #359
- Remove redundant catch block for
any Error
by @kateinoigakukun in #360 - BridgeJS: Add support for Void return type in exported functions by @kateinoigakukun in #361
- PackageToJS: Extend instantiation hooks to allow instance instrumentation by @kateinoigakukun in #362
Full Changelog: 0.29.0...0.29.1
0.29.0
What's Changed
JavaScriptEventLoop
now conforms to the newExecutorFactory
-family APIs (only for Swift 6.2 and later)WebWorkerDedicatedExecutor
now conforms toTaskExecutor
Pull Requests
- Unify the installGlobalExecutor process for JavaScriptEventLoop and WebWorkerTaskExecutor by @kateinoigakukun in #351
- Remove use of deprecated API
WebWorkerTaskExecutor.installGlobalExecutor()
by @kateinoigakukun in #352 - Fix
JavaScriptEventLoop
not building with Embedded Swift by @MaxDesiatov in #354 - Use the new
ExecutorFactory
protocol to provide a default executor by @kateinoigakukun in #353 - PackageToJS: Report stack trace on proc_exit by @kateinoigakukun in #355
- Fix null-ptr write with
pthread_create
by @kateinoigakukun in #356 - Add
TaskExecutor
conformance toWebWorkerDedicatedExecutor
by @kateinoigakukun in #357
Full Changelog: 0.28.0...0.29.0
0.28.0
What's Changed
- PackageToJS: Add WebAssembly namespace option to instantiate by @kateinoigakukun in #341
- Build benchmarks with PackageToJS by @kateinoigakukun in #343
- Remove UMD build of JS runtime library by @kateinoigakukun in #342
- Fix some Embedded Swift issues in
JavaScriptEventLoop
by @MaxDesiatov in #344 - Stop using higher-order functions to convert JSValues to RawJSValues by @kateinoigakukun in #346
- Fix typecheck error around TypedArray by @kateinoigakukun in #347
- Ensure a job enqueued on a worker must be run within the same macro task by @kateinoigakukun in #348
- Capture error message at JSException construction by @kateinoigakukun in #349
Full Changelog: 0.27.0...0.28.0
0.27.0
What's Changed
- Add CI matrix for Swift 6.1 by @kateinoigakukun in #331
- Throw error if the worker thread creation fails by @kateinoigakukun in #332
- Introduce BridgeJS, a declarative JS interop system by @kateinoigakukun in #330
- Export
UnsafeEventLoopYield
error type by @kateinoigakukun in #339 - Expose UnsafeEventLoopYield by property by @kateinoigakukun in #340
Full Changelog: 0.26.2...0.27.0
0.26.2
What's Changed
- docs: Add a guide on deploying with Vite by @kateinoigakukun in #327
- Fix node version diagnostic handling on test harness by @kateinoigakukun in #328
- build: Fix native build for missing symbol by @kateinoigakukun in #329
Full Changelog: 0.26.1...0.26.2
0.26.1
What's Changed
- Make JSValue's subscript setter nonmutating by @kateinoigakukun in #321
- 'async' modifier cannot be used in an ambient context. by @kateinoigakukun in #322
- Place the runtime JS files beside the template files by @kateinoigakukun in #323
- Apply tsc check for
Plugins/PackageToJS/Templates
files by @kateinoigakukun in #324 - Effectively revert the trait-based manifest change by @kateinoigakukun in #325
Full Changelog: 0.26.0...0.26.1
0.26.0
What's Changed
- Make
JSObject
conform toExpressibleByDictionaryLiteral
by @MaxDesiatov in #312 - Use JS's
==
operator forJSString
equality comparison by @MaxDesiatov in #313 - Unlock
JSTypedArray
for Embedded Swift by @kateinoigakukun in #317 - Fix potential use-after-free in JSString by @kateinoigakukun in #318
- Use package-trait to enable Embedded specific options by @kateinoigakukun in #319
- Enable
Embedded
feature for more modules by @kateinoigakukun in #320
Full Changelog: 0.25.1...0.26.0
0.25.1
What's Changed
- Add
JSTypedArray.copyMemory(to:)
method by @kateinoigakukun in #315 - PackageToJS: Inherit
swift package -c
configuration by default by @kateinoigakukun in #316
Full Changelog: 0.25.0...0.25.1
0.25.0
What's Changed
- Add .swift-format configuration and add a script to format by @kateinoigakukun in #308
- Add
--configuration
option toswift package js
command by @kateinoigakukun in #309 - Update all npm dependencies by @kateinoigakukun in #310
- PackageToJS: Package TypeScript type definitions for runtime by @kateinoigakukun in #311
- Add
JSTypedArray.init(buffer:)
initializer by @kateinoigakukun in #314
Full Changelog: 0.24.1...0.25.0