Skip to content

Releases: PassiveLogic/JavaScriptKit

0.60.0-pl.1

Choose a tag to compare

@krodak krodak released this 16 Oct 07:38
b8369d9

Based on upstream JavaScriptKit 0.60.0 with PassiveLogic additions:

  • JavaScriptEventLoop.yieldInterval - opt-in time limit for one drain of the job queue, so long-running async work yields to the JavaScript event loop (#26, upstream: swiftwasm#821)

Usage in Package.swift:

.package(
    url: "https://github.com/PassiveLogic/JavaScriptKit",
    exact: "0.60.0-pl.1",
),

If another dependency requires swiftwasm/JavaScriptKit by version range, pin the revision instead, because a version range never matches a pre-release tag:

.package(
    url: "https://github.com/PassiveLogic/JavaScriptKit",
    revision: "b8369d9d8417fa55d64e513c74f5f031a6bd4ec3",
),

0.50.2-pl.1

Choose a tag to compare

@krodak krodak released this 21 Apr 10:59
f562fcb

Based on upstream JavaScriptKit 0.50.2 with PassiveLogic additions:

  • Pointer identity mode (identityMode: "pointer") - opt-in WeakRef-based cache ensuring same Swift heap pointer returns same JS object (=== equality)
  • Configuration via bridge-js.config.json - follows exposeToGlobal pattern
  • Retain leak fix - balances passRetained on identity cache hits
  • Identity mode benchmarks - roundtrip, pool, churn, memory profiling scenarios
  • IQR outlier removal - improved benchmark statistics for all benchmarks

Usage in Package.swift:

.package(
    url: "https://github.com/PassiveLogic/JavaScriptKit",
    exact: "0.50.2-pl.1",
),