Releases: swiftwasm/JavaScriptKit
Releases · swiftwasm/JavaScriptKit
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
0.24.1
What's Changed
- PackageToJS: Emit hints for permission denied errors by @kateinoigakukun in #305
- Make
JSObject.id
getter inlinable by @kateinoigakukun in #306 - PackageToJS: Generalize
--verbose
flag to all commands by @kateinoigakukun in #307
Full Changelog: 0.24.0...0.24.1
0.24.0
PackageToJS
Plugin: A New Packaging System
This release introduces PackageToJS, a new packaging system designed to replace carton. The new workflow simplifies package setup and improves build time.
Check Hello World example
Added APIs
WebWorkerDedicatedExecutor
type is added to run actors on a dedicated web worker
Pull Requests
- Workaround Swift 6.0 compiler crash by @kateinoigakukun in #293
- Packaging Plugin by @kateinoigakukun in #288
- Add Hello world tutorial by @kateinoigakukun in #294
- Remove custom test framework by @kateinoigakukun in #295
- PackageToJS: Fix the missing dependency on the stripWasm task by @kateinoigakukun in #296
- Add WebWorkerDedicatedExecutor to run actors on a dedicated web worker by @kateinoigakukun in #297
- Setup unit test infrastructure for PackageToJS by @kateinoigakukun in #298
- Add
--enable-code-coverage
by @kateinoigakukun in #299 - Add
-Xnode
option to pass extra arguments to node by @kateinoigakukun in #300 - PackageToJS: Bring XCTest output formatter from carton by @kateinoigakukun in #301
- PackageToJS: Add
--debug-info-format
option by @kateinoigakukun in #302 - PackageToJS: Use the actual wasm filename in the final product by @kateinoigakukun in #303
Full Changelog: 0.23.0...0.24.0