Releases: swiftwasm/JavaScriptKit
Releases · swiftwasm/JavaScriptKit
0.43.1
0.43.0
What's Changed
- BridgeJS: Generate Swift doc-comment based on JSDoc by @kateinoigakukun in #596
- BridgeJS: Improve diagnostics and fix-its for macros by @kateinoigakukun in #597
- BridgeJS: Add
JSTypedClosureAPI by @kateinoigakukun in #578
Full Changelog: 0.42.1...0.43.0
0.42.1
What's Changed
Full Changelog: 0.42.0...0.42.1
0.42.0
What's Changed
- [NFC] BridgeJS: Add push/pop JS codegen helpers by @kateinoigakukun in #587
- [NFC] BridgeJS: Remove explicit stack storage captures from enum/struct helpers by @kateinoigakukun in #588
- BridgeJS: Add Dictionary support by @kateinoigakukun in #581
- PackageToJS: Fix skeleton file discovery path for build plugin output by @krodak in #591
- [NFC] BridgeJS: Remove remaining explicit captures from enum/struct helpers by @kateinoigakukun in #589
- Add ts2swift Record to Dictionary mapping by @kateinoigakukun in #582
- BridgeJS: Add missing
functionkeyword for namespace function declarations in TypeScript by @krodak in #592 - [NFC] BridgeJS: Make Stack ABI storage direction agnostic by @kateinoigakukun in #590
Full Changelog: 0.41.0...0.42.0
0.41.0
What's Changed
- BridgeJS: Fix namespace enum with
@JS(namespace:)attribute by @krodak in #562 - BridgeJS: Add intrinsic extensions for stack-based lifting and refactor Swift glue code generation to use them by @krodak in #554
- BridgeJS: Re-organize snapshot test structure by @kateinoigakukun in #561
- BridgeJS: Enforce throws(JSException) on @js protocol methods by @krodak in #563
- Revert "BridgeJS: Enforce throws(JSException) on @js protocol methods" by @kateinoigakukun in #565
- BridgeJS: Add JSObject and @jsclass struct support for arrays and struct by @krodak in #566
- TS2Swift: Skip type checks when translating TS -> Swift by @kateinoigakukun in #567
- BridgeJS: emit typed throws without extra space by @kateinoigakukun in #571
- BridgeJS: Support static @JSFunction imports by @kateinoigakukun in #568
- BridgeJS: T | null and T | undefined support by @kateinoigakukun in #569
- [NFC] BridgeJS: Avoid emitting empty skeletons by @kateinoigakukun in #574
- [NFC] BridgeJS: Omit trailing spaces on empty lines in generated JS code by @kateinoigakukun in #575
- BridgeJS: Perf-tune
SwiftToSkeletonby avoiding unnecessary Syntax node allocation by @kateinoigakukun in #577 - BridgeJS: Add JSValue parameter/return support by @kateinoigakukun in #570
- BridgeJS: Support all missing types as associated values in exported enums by @krodak in #579
- build-examples.sh: re-enable Embedded example package by @MaxDesiatov in #490
- BridgeJS: Import-side Array Support by @krodak in #573
- BridgeJS: Fix throws hint spacing by @kateinoigakukun in #584
- [NFC] BridgeJS: Split out OptionalSupportTests.swift by @kateinoigakukun in #583
- BridgeJS: Fix optional String return handling in generated JS glue code by @kateinoigakukun in #585
- BridgeJS: Add support for
[JSValue]by @kateinoigakukun in #580 - BridgeJS: Skip directories in generate input file processing by @krodak in #586
Full Changelog: 0.40.0...0.41.0
0.40.0
What's Changed
- BridgeJS: support jsName for imported bindings by @kateinoigakukun in #526
- BridgeJS: support UnsafePointer-family types by @kateinoigakukun in #525
- BridgeJS: add init(unsafelyCopying:) for @js structs by @kateinoigakukun in #527
- Turn JSValue from enum to struct to have flexibility for future changes by @kateinoigakukun in #528
- BridgeJS: allow imports from globalThis by @kateinoigakukun in #530
- Benchmarks: optional-return cases and runner tweaks by @kateinoigakukun in #529
- BridgeJS: Remove unnecessary helper enums for struct bridging by @kateinoigakukun in #532
- BridgeJS: Use let for non-mutated __bjs_self in generated toJSObject() by @krodak in #531
- BridgeJS: Fix codegen for Float/Double raw value enums in struct fields and optional context by @krodak in #533
- BridgeJS: Support
@JSSwift struct types in imported JS signatures by @kateinoigakukun in #535 - NFC: BridgeJS: Rename raise to lift in struct and enum helpers by @krodak in #539
- Bump playwright from 1.52.0 to 1.55.1 by @dependabot[bot] in #538
- BridgeJS: Swift Array support by @krodak in #542
- Re-apply Playwright upgrade by @kateinoigakukun in #550
- Add opt-in tracing hooks for JS bridge by @kateinoigakukun in #548
- BridgeJS: Array benchmarks by @krodak in #549
- BridgeJS: Add UInt support by @krodak in #551
- Fix
ExperimentalCustomExecutorsSPI import build issues by @kateinoigakukun in #552 - [BridgeJS] Formalizing ABI Part 1 by @kateinoigakukun in #553
- Fix: Ensure
BridgeJS.Macros.swiftis processed bySwiftToSkeletonby @fjtrujy in #556 - Fix missing comma in @_expose attribute for SwiftSyntax602 by @zhiqipan in #555
- Examples: Build SwiftSyntax in debug mode for macro plugins by @kateinoigakukun in #558
- BridgeJS: Fix macro test suites silently ignoring failures by @kateinoigakukun in #559
New Contributors
Full Changelog: 0.39.0...0.40.0
0.39.0
What's Changed
- BridgeJS: Remove call to
getImportswhen no JS interface is imported by @kateinoigakukun in #492 - BridgeJS: Fix enumHelper availability by @krodak in #493
- BridgeJS: Unify JS function calling convention code emission by @kateinoigakukun in #494
- Drop Swift 6.0 support by @kateinoigakukun in #500
- BridgeJS: Macro-annotated import notations by @kateinoigakukun in #499
- chore: Update main README.md to mention BridgeJS and link more articles by @krodak in #502
- chore: Minor updates to BridgeJS documentation by @krodak in #503
- BridgeJS: Generate
_JSBridgedClassconformance via macro by @kateinoigakukun in #504 - [BridgeJS] Support @js var declarations for global scope imports by @kateinoigakukun in #505
- TS2Swift: Remove unused type definitions by @kateinoigakukun in #507
- [BridgeJS][ImportTS] Support
export { thing } from "pkg"form inbridge-js.d.tsby @kateinoigakukun in #506 - Test building
BridgeJSToolon macOS on CI by @MaxDesiatov in #511 - BridgeJS: Relax SwiftSyntax version constraint to support 602 and 603 by @kateinoigakukun in #513
- BridgeJS: Remove adhoc
exportedProtocolNameByKeyrecording by @kateinoigakukun in #514 - BridgeJS: Merge small core files into single Misc.swift by @kateinoigakukun in #515
- Add SwiftToSkeleton unified Swift-to-skeleton API by @kateinoigakukun in #516
- PackageToJS: Rename SWIFT_PATH to SWIFT_BIN_PATH env var by @kateinoigakukun in #518
- BridgeJS: Unify Swift type lookup logic between import/export by @kateinoigakukun in #517
- BridgeJS: Add internal debug tool for inspecting intermediate stages by @kateinoigakukun in #519
- BridgeJS: Remove BridgeType usage from ts2swift by @kateinoigakukun in #520
- BridgeJS: Import TypeScript enums into Swift by @kateinoigakukun in #521
- BridgeJS: allow exported APIs to use imported @jsclass types by @kateinoigakukun in #522
- Restrict @jsclass to structs by @kateinoigakukun in #523
- BridgeJS: support closure types in imported JS APIs by @kateinoigakukun in #524
Full Changelog: 0.38.0...0.39.0
0.38.0
What's Changed
- BridgeJS: Fix ordering issue with multiple stack based parameters by @krodak in #472
- Add Node.js example by @kateinoigakukun in #473
- build: Allow swift-syntax 6.2.0 by @scottmarchant in #474
- workflows/test.yml: update
mainsnapshots, add 6.3 snapshot by @MaxDesiatov in #476 - BridgeJS: Swift struct support by @krodak in #479
- BridgeJS: Enable struct as default parameter and enable default parameters in struct init / methods by @krodak in #480
- BridgeJS: Struct and struct vs classes benchmarks by @krodak in #481
- [NFC] BridgeJS: Codegen code organisation and minor cleanups by @krodak in #482
- Fix typo: rename
BridgeJSInstrincicstoBridgeJSIntrinsicsby @MaxDesiatov in #485 - Use
swift formatcommand provided by the Swift toolchain by @MaxDesiatov in #484 - Fix
Examples/Embeddednot building with Swift 6.2.3 by @MaxDesiatov in #483 - BridgeJS: Fix multifile declaration resolution order issue by @kateinoigakukun in #488
- Documentation: Add JavaScript Interop Cheat Sheet by @kateinoigakukun in #491
New Contributors
- @scottmarchant made their first contribution in #474
Full Changelog: 0.37.0...0.38.0
0.37.0
What's Changed
- Unify JSFunction with JSObject by @kateinoigakukun in #446
- Follow up
SchedulableExecutor->SchedulingExecutorrename by @kateinoigakukun in #443 - Fix Swift 6.2 compile issue around ExecutorFactory API by @kateinoigakukun in #447
- BridgeJS: Adding support for static / class properties & functions by @krodak in #448
- [BridgeJS] Support default values by @krodak in #453
- PackageToJS: Remove "playwright" dependency declaration from generated package.json by @kateinoigakukun in #454
- BridgeJS: Fix support for negative enum values for raw value types by @krodak in #455
- [PackageToJS] Fix flaky
timestampBasedRebuildtest by abstracting file system operations by @kateinoigakukun in #458 - PackageToJS: Expose Playwright Launch Options in test harness by @kateinoigakukun in #459
- BridgeJS:
@JSProtocol with methods support by @krodak in #456 - Add
--default-platformoption topackage jsby @t089 in #457 - BridgeJS: Improved
@JSProtocol support - properties, Optional, enums by @krodak in #460 - Implement
onPageLoadfor playwright by @fjtrujy in #464 - Tests: Reduce usage of Xlinker flags in Makefile by @kateinoigakukun in #465
- CI: Fix documentation redirect for "https://swiftwasm.org/JavaScriptKit" by @kateinoigakukun in #467
- BridgeJS: Swift closure support by @krodak in #463
- BridgeJS: Namespaced elements in Exports by @krodak in #468
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #470
- BridgeJS: Adjust for the latest top-level requirement for
@_extern(wasm)by @kateinoigakukun in #471 - BridgeJS: exposeToGlobal configuration option to control declare global declaration by @krodak in #469
New Contributors
Full Changelog: 0.36.0...0.37.0
0.36.0
What's Changed
- Bump actions/upload-pages-artifact from 3 to 4 by @dependabot[bot] in #430
- BridgeJS: Fix nested type resolution for MemberTypeSyntax (e.g., Networking.API.Method) by @krodak in #433
- added
import _Concurrencyin JSPromise by @sliemeobn in #432 - fix: Benchmark setup fixes and filtering option by @krodak in #439
- BridgeJS: Support for multiple associated values in enums using binary buffer format by @krodak in #436
- BridgeJS: Migrate to IntrinsicJSFragment for enums by @krodak in #441
- [NFC] BridgeJS: Migrate to code fragment printer by @krodak in #442
- BridgeJS: Swift -> JS Optionals support by @krodak in #444
- BridgeJS: fix: switch to direct TypeSyntax initialiser by @krodak in #445
Full Changelog: 0.35.0...0.36.0