## 0.10.6 * Add: remaining URL properties to `window.location` and `HTMLAnchorElement`. * Fix: the presence of `String.prototype.normalize`, which is available by default in Node 0.11.13 onwards, caused reflected attributes to break. (brock8503) * Fix: iframes now correctly load `about:blank` when the `src` attribute is empty or missing. (mcmathja) * Fix: documents containing only whitespace now correctly generate wrapper documents, just like blank documents do. (nikolas) * Tweak: lazy-load the request module, to improve overall jsdom loading time. (tantaman) ## 0.10.5 * Fix: the list of void elements has been updated to match the latest HTML spec. * Fix: when serializing void elements, don't include a ` /`: i.e. the result is now `
` instead of `
`. ## 0.10.4 * Fix: another case was found where jQuery 1.11's `show()` method would cause errors. * Add: `querySelector` and `querySelectorAll` methods to `DocumentFragment`s. (Joris-van-der-Wel) ## 0.10.3 * Fix: various defaults on `HTMLAnchorElement` and `window.location` should not be `null`; they should usually be the empty string. ## 0.10.2 * Fix: Using jQuery 1.11's `show()` method would cause an error to be thrown. * Fix: `window.location` properties were not updating correctly after using `pushState` or `replaceState`. (toomanydaves) ## 0.10.1 * Fix: `window.location.port` should default to `""`, not `null`. (bpeacock) ## 0.10.0 * Add: a more complete `document.cookie` implementation, that supports multiple cookies. Note that options like `path`, `max-age`, etc. are still ignored. (dai-shi) ## 0.9.0 * Add: implement attribute ordering semantics from WHATWG DOM spec, and in general overhaul attribute storage implementation to be much more awesome and accurate. (lddubeau) * Add: `port` and `protocol` to `HTMLAnchorElement`. (sporchia) * Fix: make `HTMLInputElement` not have a `type` *attribute* by default. It still has a default value for the `type` *property*, viz. `"text"`. (aredridel) * Fix: treat empty namespace URI as meaning "no namespace" with the `getAttributeNS`, `hasAttributeNS`, and `setAttributeNS` functions. (lddubeau) * Fix: reference typed arrays in a way that doesn't immediately break on Node 0.6. Node 0.6 isn't supported in general, though. (kangax) ## 0.8.11 * Add: store and use cookies between requests; customizable cookie jars also possible. (stockholmux) * Fix: attributes named the same as prototype properties of `NamedNodeMap` no longer break jsdom. (papandreou) * Fix: `removeAttributeNS` should not throw on missing attributes. (lddubeau) * Change: remove `__proto__`, `__defineGetter__`, and `__defineSetter__` usage, as part of a project to make jsdom work better across multiple environments. (lawnsea) ## 0.8.10 * Add: `hash` property to `HTMLAnchorElement`. (fr0z3nk0) ## 0.8.9 * Upgrade: `cssom` to 0.3.0, adding support for `@-moz-document` and fixing a few other issues. * Upgrade: `cssstyle` to 0.2.6, adding support for many shorthand properties and better unit handling. ## 0.8.8 * Fix: avoid repeated `NodeList.prototype.length` calculation, for a speed improvement. (peller) ## 0.8.7 * Add: `host` property to `HTMLAnchorElement`. (sporchia) ## 0.8.6 * Fix: stop accidentally modifying `Error.prototype`. (mitar) * Add: a dummy `getBoundingClientRect` method, that returns `0` for all properties of the rectangle, is now implemented. (F1LT3R) ## 0.8.5 * Add: `href` property on `CSSStyleSheet` instances for external CSS files. (FrozenCow) ## 0.8.4 * Add: typed array constructors on the `window`. (nlacasse) * Fix: `querySelector` and `querySelectorAll` should be on the prototypes of `Element` and `Document`, not own-properties. (mbostock) ## 0.8.3 * Fix: when auto-detecting whether the first parameter to `jsdom.env` is a HTML string or a filename, deal with long strings correctly instead of erroring. (baryshev) ## 0.8.2 * Add: basic `window.history` support, including `back`, `forward`, `go`, `pushState`, and `replaceState`. (ralphholzmann) * Add: if an `` declaration starts the document, will try to parse as XML, e.g. not lowercasing the tags. (robdodson) * Fix: tag names passed to `createElement` are coerced to strings before evaluating. ## 0.8.1 (hotfix) * Fix: a casing issue that prevented jsdom from loading on Unix and Solaris systems. (dai-shi) * Fix: `window.location.replace` was broken. (dai-shi) * Fix: update minimum htmlparser2 version, to ensure you get the latest parsing-related bugfixes. ## 0.8.0 * Add: working `XMLHttpRequest` support, including cookie passing! (dai-shi) * Add: there is now a `window.navigator.noUI` property that evaluates to true, if you want to specifically distinguish jsdom in your tests. ## 0.7.0 * Change: the logic when passing `jsdom.env` a string is more accurate, and you can be explicit by using the `html`, `url`, or `file` properties. This is a breaking change in the behavior of `html`, which used to do the same auto-detection logic as the string-only version. * Fix: errors raised in scripts are now passed to `jsdom.env`'s callback. (airportyh) * Fix: set `window.location.href` correctly when using `jsdom.env` to construct a window from a URL, when that URL causes a redirect. (fegs) * Add: a more complete and accurate `window.location` object, which includes firing `hashchange` events when the hash is changed. (dai-shi) * Add: when using a non-implemented feature, mention exactly what it was that is not implemented in the error message. (papandreou) ## 0.6.5 * Fix: custom attributes whose names were the same as properties of `Object.prototype`, e.g. `"constructor"`, would confuse jsdom massively. ## 0.6.4 * Fix: CSS selectors which contain commas inside quotes are no longer misinterpreted. (chad3814) * Add: `` elements now fire `"load"` events when their `src` attributes are changed. (kapouer) ## 0.6.3 * Fix: better automatic detection of URLs vs. HTML fragments when using `jsdom.env`. (jden) ## 0.6.2 * Fix: URL resolution to be amazing and extremely browser-compatible, including the interplay between the document's original URL, any `` tags that were set, and any relative `href`s. This impacts many parts of jsdom having to do with external resources or accurate `href` and `src` attributes. (deitch) * Add: access to frames and iframes via named properties. (adrianlang) * Fix: node-canvas integration, which had been broken since 0.5.7. ## 0.6.1 * Make the code parseable with Esprima. (squarooticus) * Use the correct `package.json` field `"repository"` instead of `"repositories"` to prevent npm warnings. (jonathanong) ## 0.6.0 Integrated a new HTML parser, [htmlparser2](https://npmjs.org/package/htmlparser2), from fb55. This is an actively maintained and much less buggy parser, fixing many of our parsing issues, including: * Parsing elements with optional closing tags, like `

` or ``. * The `innerHTML` of `