Skip to content

Releases: Salve-Software/react-native-nitro-jsdom

v2.1.0

Choose a tag to compare

@github-actions github-actions released this 25 Jul 22:52

2.1.0 (2026-07-25)

✨ Features

  • dom: add document.currentScript (5cfc356)
  • dom: add insertAdjacentElement/insertAdjacentText (c68ef93)
  • dom: add Intl.NumberFormat/DateTimeFormat polyfill (e585025)
  • dom: add named access on the window object (11c2848)
  • dom: add v0.17 ergonomics gaps (7b0cd52)
  • dom: decompose / href into URL parts (4992fdf)
  • dom: reflect hidden/title/lang/dir on Element (272d88f)
  • intl: add Intl.RelativeTimeFormat and Intl.PluralRules (27f664c)
  • sandbox: make onConfirm awaitable (bd9e8d3)

πŸ› Bug Fixes

  • android: register IntlBindings.cpp in CMake sources (d344c02)
  • dom: harden named-access registry mutations (90b2e8c)
  • dom: mirror window.location as document.location (f912087)
  • dom: selectedIndex/selectedOptions default consistently (e32be89)
  • dom: stop Element.prototype.host from breaking Shadow DOM traversal (62dda99)
  • dom: tighten Intl currency/dateStyle/timeStyle handling (1673826)
  • events: wire onchange/oninput/onsubmit/onreset handlers (2d2c62c)
  • intl: don't round values for RelativeTimeFormat numeric:auto (20f58d0)
  • test: test frame's name attribute via createElement (bbb8423)

πŸ“š Documentation

  • add v0.18 roadmap entry (b09eb4c)
  • changelog: remove erroneous breaking-change note from v2.0.0 (4159964)

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 24 Jul 12:15

2.0.0 (2026-07-24)

✨ Features

  • blob: add File constructor (6a52021)
  • cssom: add getComputedStyle stub (bdb26cf)
  • document: add readyState (374c289)
  • dom: add console ergonomics and navigator.clipboard stub (4468c46)
  • dom: add createElementNS/namespaceURI support (2b11cd2)
  • dom: add DOMParser and document.implementation.createHTMLDocument (3d2c5ac)
  • dom: add entries()/keys()/values() to NodeList/HTMLCollection (18cbf4d)
  • dom: add Event.composed and composedPath() (cc3a151)
  • dom: add forEach to NodeList/HTMLCollection (379d30c)
  • dom: add getAttributeNS/setAttributeNS and element.prefix/baseURI (a6f18e6)
  • dom: add item()/namedItem() and document metadata properties (a6e7393)
  • dom: add labels, requestIdleCallback, performance.mark/measure, sendBeacon (3b89d9a)
  • dom: add Node.getRootNode() (c7eab27)
  • dom: add Node.isConnected, namespace lookup methods, layout aliases (b62b422)
  • dom: add ownerDocument, importNode, CharacterData.data/length, innerText (a2cf59b)
  • dom: add standalone EventTarget (bdeb981)
  • dom: add TreeWalker/NodeIterator (256b5fd)
  • dom: add window.reportError() (ec940e8)
  • dom: expose Node type constants (ELEMENT_NODE, etc.) (39640e5)
  • events: add element click()/focus()/blur() (555bfa0)
  • events: add onclick/onload/onerror handler props (15083d5)
  • events: add window error/unhandledrejection events (0204142)
  • fetch: add Request constructor (21898f9)
  • forms: add Constraint Validation API (199ff03)
  • forms: add element.form / form.elements (0e9af6d)
  • layout: add geometry/scroll stub bindings (398b760)
  • network: add AbortSignal.any() (985fdb8)
  • url: add URL.canParse() (913db2e)
  • window: add crypto.randomUUID() (8ac6160)
  • window: add history/selection stubs (5aaec5a)
  • window: add structuredClone() (4c77b17)

πŸ› Bug Fixes

  • android: add DOMParserBindings.cpp to CMake sources (4d1b82b)
  • blob: coerce File lastModified per Web IDL (2f2d0bd)
  • blob: normalize Blob type and make File properties readonly (6c0a471)
  • crypto: use OS-backed CSPRNG for getRandomValues/randomUUID (8156903)
  • dom: add missing document.baseURI and fix item()/namedItem() test (928b4c0)
  • dom: address CodeRabbit findings on EventTarget, labels, performance.measure (712aaf3)
  • dom: address CodeRabbit review on DOMParser PR (a80fd14)
  • dom: avoid native crash in createElementNS with a known tag name (d1bc9c1)
  • dom: correct composedPath shadow retargeting and stale path (c554ece)
  • dom: make DOMContentLoaded non-cancelable (b1a5b3a)
  • dom: make getRootNode() return document, not a native wrapper (d434eda)
  • dom: make ownerDocument return the actual document JS object (26b6c34)
  • dom: validate createElementNS namespace/qualified name per spec (5e0da56)
  • events: honor false from onX handler callbacks (e5a6234)
  • events: keep property handlers distinct from addEventListener (08d33bd)
  • fetch: copy Headers and enforce one-shot Request body consumption (0924860)
  • ios: sync Podfile.lock with NitroJsdom 1.1.0 (e610d88)
  • release: bump major version on breaking changes (c442968)
  • window: clone history state, truncate go() delta (1867016)

πŸ“š Documentation

  • add v0.11 roadmap section (c17d128)
  • log v0.11 stub additions (e930290)
  • log v0.12 roadmap (layout stubs, TreeWalker/NodeIterator) (1914d50)
  • log v0.13 roadmap (ergonomics round 3) (e6d7aec)
  • log v0.14 roadmap (namespaces, composed events, console) (e291e25)
  • log v0.15 roadmap (namespaced attributes, collection/doc ergonomics) (c3f7974)
  • log v0.16 road...
Read more

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 23 Jul 01:45

1.1.0 (2026-07-23)

✨ Features

  • customelements: add customElements.upgrade(root) (7e2f115)
  • dom: add .content (ba186c6)
  • dom: add Blob and FileReader (fab5aeb)
  • dom: add CSSOM (document.styleSheets, CSSStyleRule, insertRule) (b84048a)
  • dom: add document.cookie (1c857be)
  • dom: add document.doctype and forms/images/scripts/links/getElementsByName (a6ade18)
  • dom: add DOMContentLoaded/load events on document/window (db4701b)
  • dom: add DOMException with legacy error codes (2ce3c3d)
  • dom: add FormData and form submit flow (064d4f0)
  • dom: add node.normalize() and compareDocumentPosition() (2998d2c)
  • dom: add Shadow DOM (attachShadow/shadowRoot) (085b27e)
  • dom: add template/doctype/normalize/comparePosition natives (5ee4302)
  • dom: add value/checked form element properties (4a8761b)
  • dom: add XMLSerializer.serializeToString() (ef05e1b)
  • dom: implement Custom Elements bindings (cfa91e6)
  • events: add KeyboardEvent and MouseEvent constructors (7e03e91)
  • quickjs: add AbortController/AbortSignal (965ab96)
  • quickjs: add crypto.getRandomValues (de258a7)
  • quickjs: add global URL/URLSearchParams (dd68bc8)
  • quickjs: add requestAnimationFrame, performance.now, queueMicrotask (f848f48)
  • quickjs: expose Node/Element/HTMLElement/Document globals (8c252bb)
  • quickjs: make children/childNodes/getElementsBy* live (6061b3a)
  • quickjs: stub getBoundingClientRect() with a zeroed rect (b325286)
  • sandbox: add atob/btoa globals (c903a0f)
  • sandbox: add navigator and matchMedia (07a587f)
  • sandbox: add TextEncoder/TextDecoder (cf20ae2)
  • sandbox: wire up pretendToBeVisual to document.hidden (92935b0)
  • shadowdom: add slot assignment and slotchange (bfe6f1e)
  • πŸ› Bug Fixes

    • android: register CustomElementsBindings.cpp in CMakeLists (e63ed02)
    • customelements: bound sync cost to the touched subtree (325af7e)
    • customelements: make subtree sync shadow-aware (f08f86d)
    • customelements: throw TypeError for non-Node upgrade() root (e680bb7)
    • deps: add nkf/tsort gems for Ruby 4.0 stdlib removal (051c753)
    • dom: add document/window removeEventListener (5c95c98)
    • dom: cache document.doctype for stable identity (f05dc9a)
    • dom: invalidate deep node cache in textarea value setter too (71a5572)
    • dom: notify MutationObserver from select/textarea/checked setters (11dd0c9)
    • dom: preserve exceptions and invalidate full subtrees on destroy (8d926f2)
    • dom: treat cookie expires/max-age as deletion (d082acb)
    • lexbor: skip non-JS <script type> execution (3aa5e04)
    • quickjs: anchor performance.now() to a time origin (3a4d0bb)
    • quickjs: guard LiveCollectionBindings class ID against reallocation (6fde459)
    • quickjs: prevent evaluate() reentrancy deadlock (e17961d)
    • quickjs: respect registration order for AbortSignal.onabort (6bd3955)
    • quickjs: use byteLength and a real CSPRNG in getRandomValues (98f9e06)
    • sandbox: catch script errors during initialize (6899947)
    • sandbox: preserve embedded NUL bytes in atob/btoa (da7199a)

    πŸ“š Documentation

    • overview: add v0.9/v0.10 to the roadmap (59d9845)
    • overview: check off v0.10 roadmap items (4a5915a)
    • testing: document harness test convention for C++ bindings (7b52e53)
    • website: add testing WebView logic guide (ba75f58)

    πŸ› οΈ Other changes

    • ios: bump CocoaPods version in Podfile.lock (3ccb20c)

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 19 Jul 01:07

1.0.1 (2026-07-19)

πŸ› Bug Fixes

  • pkg: point homepage to docs site (132e649)

πŸ“š Documentation

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 19 Jul 00:20

1.0.0 (2026-07-19)

✨ Features

  • api: reduce JSDOM class to create/evaluate/serialize/dispose (b0a6650)
  • bindings: node identity cache β€” one JS wrapper per native node (9a1ebbb)
  • bindings: register window.alert/confirm/prompt as QuickJS C functions (e0449c0)
  • docs: add docusaurus documentation site (8d674f8)
  • dom: add timers, events, console bindings (3d6f6a0)
  • dom: implement element bindings for QuickJS (32f7974)
  • dom: implement runScripts support (4487a13)
  • example: add fetch playground section (55e054e)
  • example: add interactive button to result cards (b6536ee)
  • example: add storage playground section (502c5f3)
  • example: collapsible sections in playground (34786b9)
  • example: wire interactive alert/confirm to RN Alert (5349afd)
  • hybrid: implement setDialogCallbacks in HybridHtmlSandbox (8c8f468)
  • implement HtmlSandbox foundation with Nitro spec and C++ structure (5f9eb72)
  • jsdom: add onFetch option to JSDOM.create (cb5dcf9)
  • lexbor: implement real DOM parsing and queries (f532333)
  • mutation-observer: add example demo + tick roadmap (2c983c5)
  • mutation-observer: add MutationObservers skeleton + lifecycle wiring (1192aee)
  • mutation-observer: implicit attribute/characterData enable + TypeError guard (5457f81)
  • mutation-observer: instrument DOM mutation hooks + detached-node safety (c2471ad)
  • nitro: add setConsoleCallback to Nitro spec + TS API (5db1abd)
  • quickjs: implement DOM bindings wiring QuickJS to Lexbor (a550b05)
  • quickjs: implement isolated JS runtime with evaluate (c40e67c)
  • runtime: add dialog callback slots and setters to QuickJSRuntime (949578a)
  • sandbox: add CustomEvent (597f89a)
  • sandbox: add document.title (4939b84)
  • sandbox: add generic Node traversal (6338ca5)
  • sandbox: add getElementsByClassName/getElementsByTagName (d651ac4)
  • sandbox: add localStorage/sessionStorage stubs (907575f)
  • sandbox: add v0.7 Node identity & DOM ergonomics (d0cdcbd)
  • sandbox: add v0.8 attribute enumeration & node comparison (516beb4)
  • sandbox: add window.location (24ee9fd)
  • sandbox: add XMLHttpRequest stub (016e07a)
  • sandbox: bridge fetch() through QuickJS to RN's network stack (092f52e)
  • sandbox: finish v0.6 Node & Style API roadmap (49d4a6e)
  • spec: add setDialogCallbacks to HtmlSandbox Nitro spec (d761eff)
  • spec: add setFetchCallback to native HtmlSandbox spec (b3687c7)
  • spec: collapse Nitro spec to initialize/evaluate/serialize (0019789)
  • ts: add onAlert/onConfirm/onPrompt options; wire setDialogCallbacks (13a0a6a)

πŸ› Bug Fixes

  • a11y: add table semantics (f512b76)
  • android: resolve QuickJS stack overflow on async thread (31276b0)
  • bindings: guard JS_NewClassID against multi-runtime overwrite (276c246)
  • bindings: propagate JS_EXCEPTION from JS_ToString in dialog fns (f4a7b20)
  • classList: implement full DOMTokenList token contract (f43ca89)
  • custom-event: consume bubbles/cancelable getter exceptions (23cc760)
  • docs: remove unimplemented option (c02eb4b)
  • dom: resolve JSValue leaks and listener key collision in DOMBindings (2267aa5)
  • element: use-after-free in removedNodes, comment textContent, insertBefore ownership (0a9004f)
  • events: dedup listeners, honor removal during dispatch, document receiver (59a82b0)
  • example: add jest as a devDependency for react-native-harness (5267a51), closes #15
  • fetch: propagate exceptions, guard callbacks, fix headers, json() as promise (59c30f1)
  • harness: point iOS runner at an installed simulator (54d6e4f)
  • hybrid: match generated Promise/Promise signatures (f8228f1)
  • hybrid: use await().get() for confirm/prompt callbacks (09441d9)
  • ios: resolve iOS build failures (cf934e0), closes [#...
Read more