Changelog History
Page 5
-
v11.8.0 Changes
- โ Added the full constraint validation API, i.e.
willValidate
,validity
,validationMessage
,checkValidity()
,reportValidity()
, andsetCustomValidity()
, onHTMLButtonElement
,HTMLFieldSetElement
,HTMLFormElement
,HTMLInputElement
,HTMLObjectElement
,HTMLOutputElement
,HTMLSelectElement
, andHTMLTextAreaElement
. (kontomondo) - โ Added
getElementById()
toDocumentFragment
.
- โ Added the full constraint validation API, i.e.
-
v11.7.0 Changes
- โ Added the boolean return value to
DOMTokenList
'sreplace()
method, per the recent spec addition. - โ Added
FileReader
'sreadAsBinaryString()
method, as it has been added back to the specification. - ๐ Fixed event handlers to be own properties of each
Window
, instead of onWindow.prototype
. (Fetz) - ๐ Fixed an exception that would sometimes get raised when removing an
<img>
element'ssrc=""
attribute. (atsikov) - ๐ Fixed
abort
events onAbortSignal
s to have theirisTrusted
set to true. - ๐ Fixed some argument conversions in
XMLHttpRequest
'sopen()
method. - ๐ Improved MIME type and
data:
URL parsing throughout jsdom, by using the newwhatwg-mimetype
anddata-urls
packages. - โ Removed some unnecessary
.webidl
files that were included in the npm package.
- โ Added the boolean return value to
-
v11.6.2 Changes
- ๐ Fixed another regression (since v11.6.0) in
<style>
elements, where they would omit a series of parsingjsdomError
events for any style sheet text containing spaces. - ๐
Generally improved the spec-conformance of when
<style>
and<script>
elements are evaluated; for example,<script>
elements inserted byinnerHTML
are no longer evaluated.
- ๐ Fixed another regression (since v11.6.0) in
-
v11.6.1 Changes
- ๐ Fixed one regression (since v11.6.0) in
<style>
elements, where theirsheet
property would sometimes benull
when it should not be. - ๐ Fixed a case where a
<style>
element'ssheet
property would be left as aCSSStyleSheet
despite it not being in the document.
๐ Another regression remains where we are emitting spurious CSS-parsing
jsdomError
events; see #2123. We also discovered a large amount of preexisting brokenness around<style>
,<link>
, and@import
; see #2124 for more details.We'll try to fix these soon, especially the regression.
- ๐ Fixed one regression (since v11.6.0) in
-
v11.6.0 Changes
- โ Added a fully-functioning
WebSocket
implementation! - โ Added a
window.performance
implementation, including the basics of the High Resolution Time specification:performance.now()
,performance.timeOrigin
, andperformance.toJSON()
. - โ Added support for all of the public API of
HTMLMeterElement
, except formeterEl.labels
. - โ Added the
locationbar
,menubar
,personalbar
,scrollbars
,statusbar
, andtoolbar
properties toWindow
. - โ Added more properties to
window.screen
:availWidth
,availHeight
,colorDepth
, andpixelDepth
. All of its properties are now getters as well. - โ Added
window.devicePixelRatio
. - โ Added
getModifierState()
toMouseEvent
andKeyboardEvent
. - โ Added a setter for
HTMLInputElement
'sfiles
property. - โ Added support for the
endings
option to theBlob
constructor. - ๐ Fixed firing various event firings to have the correct default values, e.g. the properties of
MouseEvent
when usingelement.click()
. - ๐ Fixed the firing of
popstate
andhashchange
events during fragment navigation to make them trusted events. - ๐ Fixed
data:
URL parsing to not include the fragment portions. - ๐ Fixed all URL-accepting properties to properly perform scalar value string conversion and URL resolution.
- ๐ Fixed many other small edge-case conformance issues in the API surface of various web APIs; see #2053 and #2081 for more information.
- ๐ Fixed various APIs to use ASCII lowercasing, instead of Unicode lowercasing, for element and attribute names.
- ๐ Fixed the encoding of a document created via
new Document()
to be UTF-8. - ๐ Fixed event handler properties behavior when given non-callable objects.
- ๐ Increased the performance of parsing HTML documents with large numbers of sibling elements.
- โ Removed
probablySupportsContext()
andsetContext()
fromHTMLCanvasElement
, per spec updates. - โ Removed the nonstandard
window.scrollLeft
andwindow.scrollTop
properties, and thewindow.createPopup()
method.
- โ Added a fully-functioning
-
v11.5.1 Changes
๐ (This should have been a minor release; oops.)
- โ Added
AbortSignal
andAbortController
. - ๐ Fixed validation for file
<input>
s and implemented validation for more input types.
- โ Added
-
v11.4.0 Changes
๐ For this release we'd like to welcome @Zirro to the core team; his contributions over the course of this year have enhanced jsdom immensely.
- โ Added a rudimentary set of SVG element classes, namely
SVGElement
,SVGGraphicsElement
,SVGSVGElement
,SVGTests
,SVGAnimatedString
,SVGNumber
, andSVGStringList
. The main impact here is that SVG elements are now instances ofSVGElement
, instead of being simplyElement
(as they were in v11.3.0) orHTMLUnknownElement
(as they were in v11.2.0 and previously). The only concrete subclass that is implemented isSVGSVGElement
, for<svg>
itself; other tags will not map to their correct classes, because those classes are not yet implemented. - โ Added the new
pretendToBeVisual
option, which controls the presence of the newrequestAnimationFrame()
andcancelAnimationFrame()
methods, and the new values ofdocument.hidden
/document.visibilityState
. See the README for more information. (SimenB) - โ Added the
append()
andprepend()
methods toDocument
,DocumentFragment
, andElement
. (caub) - โ Added the
before()
,after()
, andreplaceWith()
methods toDocumentType
,Element
, andCharacterData
. (caub) - โ Added
node.isConnected
. - โ Added
node.isSameNode()
. - โ Added support for parsing CDATA sections in XML documents, including in
domParser.parseFromString()
. (myabc) - โ Added appropriate
input.value
getter/setter logic for<input type="file">
. - Significantly improved the spec-compliance of
NamedNodeMap
, i.e. ofelement.attributes
, such that retrieving named or indexed properties will now always work properly. - ๐ Fixed
domParser.parseFromString()
to not parse HTML character entities in XML documents. (myabc) - ๐ Fixed
xhr.abort()
to clear any set headers. - ๐ Fixed
XMLHttpRequest
to always decoded responses as UTF-8 whenresponseType
is set to"json"
. - ๐ Fixed
XMLHttpRequest
CORS header handling, especially with regard to preflights and Access-Control-Allow-Headers. (ScottAlbertine) - ๐ Fixed the behavior of
radioButton.click()
to fire appropriateinput
andchange
events. (liqwid) - ๐ Fixed
querySelector()
/querySelectorAll()
behavior for SVG elements inside<template>
contentsDocumentFragment
s, including those created byJSDOM.fragment()
. (caub) - ๐ Fixed the line number reporting in exception stack traces when using
<script>
elements, whenincludeNodeLocations
is set. - โ Removed the
<applet>
element, following the spec.
- โ Added a rudimentary set of SVG element classes, namely
-
v11.3.0 Changes
๐ For this release we'd like to formally welcome @TimothyGu to the core team, as a prolific contributor. He will join the illustrious ranks of those who do so much work on jsdom that we no longer note their names in the changelog.
- โ Added
table.tHead
,table.tFoot
, andtable.caption
setters, and thetable.createTBody()
method. - โ Added
CompositionEvent
andWheelEvent
classes. - โ Added a
<details>
element implementation. (Zirro) - โ Added stub
<marquee>
and<picture>
element implementations. (Zirro) - โก๏ธ Updated
uiEvent.initUIEvent()
,keyboardEvent.initKeyboardEvent()
, andmouseEvent.initiMouseEvent()
to match the latest specifications. - Converted
DOMTokenList
(used by, e.g.,element.classList
) to use proxies for improved specification compliance and "liveness". - ๐ Fixed the
DOMException
class to be spec-compliant, including its constructor signature. - ๐ Fixed some subtle interactions between inline event handlers and other event listeners.
- ๐ Fixed the element interface used when creating many of the more obscure elements.
- ๐ Fixed the behavior of the
table.rows
getter, and thetable.createCaption()
andtable.deleteRow()
methods. - ๐ Fixed incorrect sharing of methods between interfaces that used mixins (e.g. previously
document.querySelector === documentFragment.querySelector
, incorrectly). - ๐ Fixed
FocusEvent
creation, which regressed in v11.2.0. - ๐ Fixed
UIEvent
to only allow initializing withWindow
objects for itsview
property. - ๐ Fixed the behavior of
tr.rowIndex
andtr.deleteCall()
. - ๐ Fixed the element interface for
<td>
and<th>
to be simplyHTMLTableCellElement
, and improved that class's spec compliance. - ๐ Fixed calling
label.click()
to not trigger the labeled control's activation behavior when the control is disabled. (schreifels) - ๐ Fixed
document.getElementsByName()
to return aNodeList
instead of aHTMLCollection
. (Zirro) - ๐ Significantly sped up synchronous
XMLHttpRequest
. (Zirro)
- โ Added
-
v11.2.0 Changes
๐ This release brings with it a much-awaited infrastructure change, as part of webidl2js v7.3.0 by the ever-amazing TimothyGu: jsdom can now generate spec-compliant versions of classes that have "
Proxy
-like" behavior, i.e. allow getting or setting keys in unusual ways. This enables a number of improvements, also by TimothyGu:- Significantly improved the spec-compliance and "liveness" of both
NodeList
andHTMLCollection
, such that retrieving properties via indices or (inHTMLCollection
's case)id
/name
values will always work correctly. - โ Added
element.dataset
support. - โ Added indexed and named access to
<select>
elements, as well as the correspondingitem()
andnamedItem()
methods. - โ Added suport for
FileList
indexed properties, i.e.fileList[i]
. - Made
select.options
an instance of the newly-implementedHTMLOptionsCollection
, instead of just aHTMLCollection
.
This infrastructure will allow us to improve and implement many other similar behaviors; that work is being tracked in #1129.
In addition to these improvements to the object model, we have more work to share:
- โ Added no-op APIs
document.clear()
,document.captureEvents()
,document.releaseEvents()
,window.external.AddSearchProvider()
, andwindow.external.IsSearchProviderInstalled()
. (Zirro) - โ Added active checks to prevent reentrancy in
TreeWalker
andNodeIterator
. - โก๏ธ Updated the interaction between a
<textarea>
'svalue
,defaultValue
, andtextContent
per a recent spec change - ๐ Fixed elements with
id="undefined"
shadowing theundefined
property of the global object. (TimothyGu) - ๐ Fixed matching in
getElementsByClassName()
to be ASCII case-insensitive, instead of using JavaScript'stoLowerCase()
. - ๐ Improved some behaviors around navigating to fragments. (ForbesLindesay)
- ๐ Improved
XMLHttpRequest
andFileReader
behavior, mainly around event handlers,abort()
, and network errors. - ๐ Improved edge-case spec compliance of
NodeIterator
.
- Significantly improved the spec-compliance and "liveness" of both
-
v11.1.0 Changes
- โ Added
javascript:
URL "navigation" viawindow.location
, at least by evaluating the side effects. It still doesn't actually navigate anywhere. (ForbesLindesay) - โก๏ธ Updated
whatwg-url
to v6.1.0, bringing along origin serialization changes andURLSearchParams
among various other fixes. (ForbesLindesay) - ๐ Fixed
javascript:
URL loading for iframes to do proper percent-decoding and error reporting. - ๐ Fixed corrupted
XMLHttpRequest
responses when they were over 1 MiB. - ๐ Fixed timers to not start after a window is
close()
d, which could cause strange errors since most objects are unusable at that point. (Enverbalalic)
- โ Added