Download Latest Version ios-arm64_x86_64-simulatorNativeScript.framework.dSYM.zip (17.5 MB) Google Add to Preferred Sources
Home / v9.1.0
Name Modified Size InfoDownloads / Week
Parent folder
ios-arm64-maccatalystNativeScript.framework.dSYM.zip 2026-08-27 8.6 MB
ios-arm64NativeScript.framework.dSYM.zip 2026-08-27 8.6 MB
ios-arm64_x86_64-simulatorNativeScript.framework.dSYM.zip 2026-08-27 17.5 MB
NativeScript.visionos.xcframework.zip 2026-08-27 42.2 MB
NativeScript.xcframework.zip 2026-08-27 78.8 MB
TKLiveSync.visionos.xcframework.zip 2026-08-27 710.0 kB
TKLiveSync.xcframework.zip 2026-08-27 1.2 MB
README.md 2026-08-27 18.0 kB
v9.1.0 source code.tar.gz 2026-08-27 7.2 MB
v9.1.0 source code.zip 2026-08-27 7.6 MB
Totals: 10 Items   172.5 MB 0

9.1.0 (2026-08-27)

Bug Fixes

  • add buffer-length check in unzip.cpp (#429) (131611a)
  • add SharedArrayBuffer support and fix byteOffset handling across all buffer paths (#370) (5555935)
  • clear pending exception before rejecting a builtin dynamic import (3232fb5)
  • close the inspector client socket on disconnect (#390) (e271a77)
  • delete self-owned URL wrappers at isolate teardown (#438) (73e22b5)
  • enable interruption of V8 execution on Debugger.pause command (#378) (714be8c)
  • enhance nullable type handling in method parameter validation (#367) (e0d30a8)
  • error handling with ES module compilation, instantiation, and evaluation (#375) (4dadac8)
  • loader additional hardening (#443) (#444) (f1b0e4d)
  • make V8 string to NSString conversions UTF-16 faithful (#392) (6778dfd)
  • native methods expecting a NSError arg will now throw a JS exception if the error arg is not passed (#311) (217873b)
  • only marshal promise resolution when created on the runtime loop (#396) (721633a), closes #330
  • own native blocks with Block_copy/Block_release (#394) (e40de8a)
  • re-throw exceptions in both debug and release modes for better error handling (#368) (1eaf03d)
  • release our own blocks and release instead of dealloc data (a65b729)
  • report the rejection reason when ES module evaluation fails (#410) (164e752)
  • resolve race condition in nsld.sh with parallel linker invocations (#356) (a61d35c)
  • serialize extended-class allocate/register to prevent duplicate class names (#421) (f5f9200)
  • stop over-releasing objects wrapped from a raw pointer (#432) (bddaacb)
  • throw JS exception instead of silent warning for disposed native object calls in debug mode (#354) (becb19b)
  • typed array offset (6cb26c0)
  • URLSearchParams construction and iteration spec compliance (#388) (ad920c6)
  • use -fmodule-map-file for Swift metadata discovery in nsld.sh (#374) (ecd3598)
  • use-after-free in interop.bufferFromData under memory pressure (#372) (90ac16c)
  • workers should gracefully shutdown on close() (#369) (4644fce)
  • Xcode 26.4 build for runtime, inspector, and metadata-generator (#376) (5e34fec)
  • console: find custom toString on deep prototype chains (3d178e7)
  • hooks: stop the pre-commit hook from swallowing failures (f860466)
  • inspect: bound Map/Set iteration and harden proxy handling (9bebe69)
  • inspector: answer the Tracing domain off the JS thread, stop swapping the trace buffer (b68a963)
  • inspector: make the Tracing domain protocol-correct and faster (87ab586)
  • metadata-generator: emit UIKit metadata for Mac Catalyst (#433) (7291cf3)
  • metadata-generator: handle spaces in xcode path by appending the paths directly post split (#344) (327f9ba)
  • metadata-generator: strip nullability wrappers before structural type checks (#389) (05224d3)
  • napi: enter the env's context around async-work completion (3645898), closes #441
  • performance: treat a null measure() options argument as absent (4af8d21)
  • release: default to embedded SwiftPM packaging and restore portable local/PR packages (#406) (2098243)
  • release: shape the ios-spm manifest per channel and verify the real manifest (#405) (746d4da)
  • runtime: configureLoader volatilePatterns replaces wholesale, empty included (828d913)
  • runtime: correct allocator use and ownership metadata in wrapper teardown (addf287)
  • runtime: finalizer-safe handle ownership and deferred JSBlock teardown (#457) (70ad372)
  • runtime: interop memory-safety fixes from the worker memory-corruption hunt (#458) (5d4569c), closes #459
  • runtime: loader callbacks throw TypeErrors on invalid input (ee51d74)
  • runtime: lock process-global caches shared across isolates (3a6332a)
  • runtime: plug native memory leaks found by Instruments (8080bc0)
  • test-runner: make junit report delivery resilient on starved CI VMs (#419) (e5e84e0)
  • url: resync cached searchParams when search/href changes (#422) (10547cc)
  • urlpattern: match capture groups in test()/exec() (#402) (9f21329)
  • v8: pin the prebuilt release that exports the public V8 API (9fb910c)
  • v8: pin the release without the cppgc caged heap (2f47ad9)
  • worker: worker path resolution parity with android and error handling for missing scripts (20ce8d4)

Features

  • Ada v4 (#413) (9b6df7d)
  • add more null types for types the runtime accept or returns as null (#363) (fb0a5f4)
  • add Node-style primordials to runtime builtins (#415) (d5c187c)
  • add support for nullable types and ArrayBuffers for pointers (#357) (961dc76)
  • allow custom priority for workers (#377) (8d238ed)
  • budgeted console formatter (inspect builtin) (#416) (5e40702)
  • enable TestRunner suite and metadata availability checks on visionOS (#407) (d907487)
  • ESM resolver hardening, HTTP module loader, ns:module dev surface (#383) (c5e9886)
  • guard released-native-object access behind a policy (ns:runtime) (4193a8e)
  • improve profiler performance (#332) (c371b6c)
  • Node-API (napi) surface for plugin developers (#437) (3900e1c)
  • ns:util builtin module (inspect, format) (#418) (22226ba)
  • per-runtime EventLoop - v8 platform tasks + two-lane scheduler (CFRunLoop timer/source) (#439) (4a90925)
  • scope worker-created extended class names to their isolate (#428) (77b1ea3)
  • ship TypeScript declarations for the ns:* builtin modules (5e470f4)
  • structuredClone global (HTML structured clone, ArrayBuffer transfer) (#431) (5ad8bb1)
  • swift package release workflow (#395) (732c439)
  • update libffi to upstream with FFI_TYPE_VECTOR support (#408) (485cdbb)
  • upgrade V8 to 14.9.207.39 (#412) (0e89474)
  • web-compliant error handling (unhandled rejections, error events, interop.escapeException) (#409) (55ffdef)
  • WHATWG performance API (hr-time, user timing, performance timeline) (#430) (e338870)
  • inspector: attach Chrome DevTools to Web Worker isolates (#386) (cd28c41)
  • inspector: serve source maps to DevTools via Network.loadNetworkResource (#385) (91ce499)
  • performance: structured-clone mark/measure detail per spec (6dd5523)
  • runtime: add AbortController and AbortSignal (#447) (292a9e3)
  • runtime: DOMException and CustomEvent as lazy globals (#452) (d7bf2c7)
  • runtime: expose timers under the standard global names (9399899)
  • runtime: lazy-global tier with native TextEncoder/TextDecoder and atob/btoa (#448) (ac195f0)
  • runtime: requestAnimationFrame and Android-parity frame callbacks (#446) (e9ce46e)
  • runtime: typed per-isolate state slots on Caches (abe7ffe)

Performance Improvements

  • convert strings across the V8/Obj-C bridge without the UTF-8 round trip (#442) (bfc6c5e)
  • metadata: small size reductions in metadata.bin (#434) (ba922a7)

Reverts

  • swift package release workflow and follow-ups (#404) (2c2b63f)

BREAKING CHANGES

  • V8 is upgraded from 10.3.22 to 14.9.207.39 (#412). The prebuilt V8 libraries and vendored headers are no longer committed to the repo — download_v8.sh (run automatically by build_nativescript.sh) installs them from the release pinned in V8_RELEASE. require() of an unresolvable module now throws at require time instead of returning a placeholder that fails on property access. The embedder API migration notes live in docs/knowledge/v8-14-migration.md.
Source: README.md, updated 2026-08-27