## 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 `
` or `