This release relies on the newly-overhauled vm module of io.js to eliminate the Contextify native module dependency. jsdom should now be much easier to use and install, without requiring a C++ compiler toolchain!
Note that as of this release, jsdom no longer works with Node.js™, and instead requires io.js. You are still welcome to install a release in the 3.x series if you are stuck on legacy technology like Node.js™.
In the process of rewriting parts of jsdom to use vm, a number of related fixes were made regarding the Window object:
- In some cases, state was implicitly shared between
Windowinstances—especially parser- and serializer-related state. This is no longer the case, thankfully. - A number of properties of
Windowwere updated for spec compliance: some data properties became accessors, and all methods moved from the prototype to the instance. - The non-standard
document.parentWindowwas removed, in favor of the standarddocument.defaultView. Our apologies for encouraging use ofparentWindowin our README, tests, and examples.