All Versions
Latest Version
Avg Release Cycle
36 days
Latest Release
37 days ago

Changelog History
Page 4

  • v9.12.0

    • ➕ Added the Option named constructor. (NAlexPear)
    • ➕ Added support for the canvas-prebuilt npm package as an alternative to canvas. (asturur)
    • 🛠 Fixed setTimeout() and setInterval() to always return a positive integer, instead of returning 0 the first time were called. (yefremov)
    • 🛠 Fixed jsdom.env() to preserve URL fragments across redirects. (josephfrazier)
    • 🛠 Fixed optionEl.text and optionEl.value to be more spec-compliant.
    • 🛠 Fixed event.stopImmediatePropagation() to actually stop immediate propagation, not just propagation.
    • 🛠 Fixed clearTimeout() and clearInterval() to work correctly when using jsdom browserified.
  • v9.11.0

    • ➕ Added dummy properties offsetTop, offsetLeft, offsetWidth, and offsetHeight that always return 0, and offsetParent which always returns null, for all HTML elements. (yefremov)
    • 🛠 Fixed various edge cases in our type conversions applied to method arguments and setters throughout the web platform APIs implemented by jsdom.
  • v9.10.0

    • ➕ Added forEach, keys, values, and entries methods to NodeList.
    • ➕ Added event.cancelBubble.
    • ➕ Added dummy properties scrollWidth, scrollHeight, clientTop, clientLeft, clientWidth, and clientHeight that always return 0 to all elements. (alistairjcbrown)
    • ⚡️ Updated many aspects of Blob, File, and FileReader to better match the File API specification. (TimothyGu)
    • 🛠 Fixed the progress and readystatechange events fired by XMLHttpRequest to match recent specification changes and test updates.
    • 🛠 Fixed element.getClientRects() to return an empty array, instead of an array containing a dummy bounding box. (alistairjcbrown)
    • 🔄 Changed navigator.vendor to return "Apple Computer, Inc." instead of "Google Inc.", since we have chosen the WebKit navigator compatibility mode.
  • v9.9.1

    • ✂ Removed the use of array.includes to fix a compatibility issue with Node.js v4.
  • v9.9.0

    • ➕ Added CDATASection nodes, including document.createCDATASection. (snuggs)
    • ➕ Added node.wholeText. (jdanyow)
    • ➕ Added a setter for document.body.
    • ➕ Added document.embeds, document.plugsin, and document.scripts. These were supposed to be added in 9.5.0 but were mistakenly omitted.
    • 🛠 Fixed element.insertAdjacentHTML to work when the element has null or the document as its parent node, as long as the insertion position is "afterbegin" or "beforeend".
    • Fixed form submission to only hit the "not implemented" virtual console message when form submission is not canceled, instead of when it is.
    • 🛠 Fixed an issue where the event listener was not being correctly removed when using the { once: true } option to addEventListener. (i8-pi)
    • 🛠 Fixed an error that was thrown when using XHTMLHttpRequest and POSTing JSON contents to an endpoint that requires CORS while using an Authorization header. (dunnock)
    • 🛠 Fixed document.body and document.title to act more correctly in various edge cases.
    • 🛠 Fixed HTMLCollection named access to return the first element encountered, not the last.
  • v9.8.3

    • 🛠 Fixed syntax errors in Node.js v4.
  • v9.8.2

    • 🛠 Fixed DOMTokenList and getElementsByClassName to only split on ASCII whitespace, not all Unicode whitespace.
  • v9.8.1

    • 🛠 Fixed an error that occurred when passing no class names to getElementsByClassName, e.g. getElementsByClassName("") or getElementsByClassName(" ").
  • v9.8.0

    • ➕ Added the blob.isClosed property. (TimothyGu)
    • 🛠 Fixed the file.lastModified property to be on File instead of on Blob. (TimothyGu)
    • 🛠 Fixed the file.lastModified property to default to the time of the File object's creation, not the time that the property is accessed. (TimothyGu)
    • 🛠 Fixed a minor edge-case regression where non-HTML elements with the name "iframe" became focusable in v9.7.0.
  • v9.7.1

    • 🛠 Fixed a performance regression introduced in 9.5.0 for modifying the DOM. It was particularly noticable during initial parsing of a document with many elements; for example, one test showed parsing ten thousand elements taking 36.4 seconds, whereas after this fix it is back to a more reasonable 0.4 seconds.