Releases: Salve-Software/react-native-nitro-jsdom
Releases Β· Salve-Software/react-native-nitro-jsdom
Release list
v2.1.0
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
v2.0.0
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...
v1.1.0
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)
- 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)
- 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)
- ios: bump CocoaPods version in Podfile.lock (3ccb20c)
π Bug Fixes
π Documentation
π οΈ Other changes
v1.0.1
v1.0.0
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 [#...