## 9.8.3 * Fixed syntax errors in node v4. ## 9.8.2 * Fixed `DOMTokenList` and `getElementsByClassName` to only split on ASCII whitespace, not all Unicode whitespace. ## 9.8.1 * Fixed an error that occurred when passing no class names to `getElementsByClassName`, e.g. `getElementsByClassName("")` or `getElementsByClassName(" ")`. ## 9.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 9.7.0. ## 9.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. ## 9.7.0 * Added `EventListenerOptions` support to `addEventListener` and `removeEventListener`, including both the `once` and `capture` options. (GianlucaGuarini) * Added `document.hasFocus()` (acusti) * Fixed the focus management to ensure that focusing something inside an `iframe` will also focus the `iframe` itself (acusti) ## 9.6.0 * Added `HTMLCollection.prototype[Symbol.iterator]`, so you can use `for`-`of` loops over `HTMLCollection`s now. (i8-pi) * Fixed `file.lastModified` to return the current time as the default, instead of `0`. * Fixed cloning of `Attr`s to properly clone the namespace prefix. * Tweaked `XMLHttpRequest` progress event ordering slightly to better match the spec and browsers. * Tweaked the behavior of calling `event.stopPropagation` and `event.stopImmediatePropagation` on already-dispatched events, per [the latest changes to the DOM Standard](https://github.com/whatwg/dom/commit/806d4aab584f6fc38c21f8e088b51b8ba3e27e20). ## 9.5.0 * Added `document.scripts`, `document.embeds`, and `document.plugins`. * Fixed `document.getElementsByTagName` and `document.getElementsByTagNameNS` to return `HTMLCollection`s instead of `NodeList`s, and to follow the spec algorithms more exactly. * Fixed various `HTMLCollection`-returning getters such as `document.applets` or `table.cells` to be more spec-compliant. * Fixed the resource loader to respect the `agent` and `agentClass` options, not just the `agentOptions` one. * Fixed `console.groupCollapse` to be `console.groupCollapsed` (and changed the virtual console accordingly). ## 9.4.5 * Fixed `"error"` events from failed resource loads going missing since 9.4.3. I really should have tested that release better. ## 9.4.4 * Fixed a leftover `console.log` introduced in the error handling path in 9.4.3. ## 9.4.3 * Fixed spurious `"jsdomError"`s occuring when closing a window, due to aborted resource loads. ## 9.4.2 * Fixed what would happen when inline event handlers (such as `element.onclick`) would return non-boolean values (such as `undefined`); it would previously erroneously cancel the event, in many cases. (dmethvin) * Upgraded the minimum tough-cookie version to ensure all installations are protected against [a security advisory](https://nodesecurity.io/advisories/130). ## 9.4.1 * Implemented the cloning steps for `` elements, so that cloned inputs properly copy over their value, checkedness, dirty value flag, and dirty checkedness flag. (matthewp) ## 9.4.0 * Added the `DOMParser` API. It is spec-compliant, including producing `` elements, except that the produced documents do not have the same URL as the creating document (they instead always have `"about:blank"`). * Added strict XML parsing when using `parsingMode: "xml"`. Creating documents will now fail, just like in a browser, when ill-formed XHTML markup is used. * Added some rudimentary application of XML ``. * Updated `FormData` for [recent spec fixes](https://github.com/whatwg/xhr/commit/1a75845e67792418a7721d516266ad01a90f2062): blobs, files, and filenames should now all work like you'd expect. * Updated the `FormData` constructor to use the proper, rather-complex, [constructing the form data set](https://html.spec.whatwg.org/multipage/forms.html#constructing-form-data-set) algorithm. * Fixed all constructors that appears as globals on the jsdom `window` object to be non-enumerable. * Fixed `