This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| jsdom | ^25.0.1 → ^30.1.3 |
Release Notes
jsdom/jsdom (jsdom)
v30.1.3
- Improved performance of
getComputedStyle()and computed CSS property reads, including with stylesheets containing attribute selectors. (@scttcper, @asamuzaK) - Fixed slowdowns when focusing elements and running interaction tests, which regressed in v30.1.2. (@scttcper)
- Fixed
XMLHttpRequestreusing credentials supplied toxhr.open()after cross-origin redirects, including in response to authentication challenges from the destination. - Fixed
XMLHttpRequestincorrectly sending and accepting cookies after cross-origin redirects back to the document's origin whenxhr.withCredentialsis false. - Fixed exceptions from malformed CSS math functions, such as
calc(0px - @submenu_space), while parsing documents, stylesheets, and style declarations. (@rnavarro) - Fixed
getComputedStyle()ignoring style rules nested inside multiple@mediarules. - Fixed CSS shorthands overwriting longhands with higher priority or specificity during style computation, including declarations containing CSS variables.
- Fixed
getComputedStyle()returning unresolved or inconsistent shorthand values, including for 'background', 'border', 'flex', 'font', 'margin', and 'padding', and incorrect shorthand defaults and inheritance. - Fixed computed background positions to resolve font-relative lengths using the final font size and handle multiple image layers correctly.
- Fixed computed 'color' values depending on property read order, including unresolved
color-mix()results, which regressed in v29.0.2. - Fixed
currentcolorborder colors incorrectly becoming transparent when 'color' useslight-dark()or relative color syntax. - Fixed CSS calculations that reduce to a percentage incorrectly producing pixel values, which regressed in v30.0.0.
- Fixed numeric font weights in the 'font' shorthand incorrectly setting 'line-height'.
- Fixed selector matching involving XML namespaces, and selectors such as
[data-a|=""]failing to match empty values and values beginning with-. (@asamuzaK)
v30.1.2
- Updated URLs to support Unicode v18.0.0 in internationalized domain names.
- Reduced package size and memory use for CSS property definitions. (@scttcper)
- Fixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (@cmdcolin)
- Fixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an
initialreset. (@scttcper) - Fixed
getComputedStyle()returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets. - Fixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.
- Fixed computed styles for
:focus,:focus-visible,:focus-within, and selectors containing them after focus changes, including inside focus and blur listeners. (@asamuzaK) - Fixed
element.focus()incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (@asamuzaK) - Fixed
getComputedStyle()throwing for elements without inline-style support, including XML and MathML elements. - Fixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after
window.close(). - Fixed memory growth from long-lived
MutationObserverinstances retaining bookkeeping for garbage-collected nodes. (@scttcper) - Fixed retained
select.selectedOptionscollections becoming stale after selection changes and form resets. - Fixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.
- Fixed handling of deeply nested
color-mix()expressions, including exceptions during color resolution. (@asamuzaK)
v30.1.1
- Fixed spurious window
blurandfocusoutevents and incorrectevent.relatedTargetvalues when focusing an element after removing the previously focused element, which regressed in v30.1.0. (@asamuzaK) - Fixed focus and blur behavior across frames, and focusing the document's viewport through
document.documentElement.focus(). (@asamuzaK) - Fixed focus targets removed or disabled by
blurlisteners becoming active, and text selections made by focus and blur listeners being overwritten. (@asamuzaK) - Fixed
element.focus()incorrectly focusing disabled form controls and<input type="hidden">elements withtabindex="". (@scttcper) - Fixed invalid
style.setProperty()calls changing existing!importantpriorities, serialized styles, or mutation records. (@FedgeNo) - Fixed
!importanthandling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (@FedgeNo) - Fixed
<noscript>parsing withincludeNodeLocations: trueor inside frames to honor therunScriptsoption. - Fixed the
storageQuotaoption being ignored by frames. - Fixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.
- Fixed exceptions caused by truncated
charsetparameters in<meta>elements, and encoding detection incorrectly using incomplete<meta>tags. (@FedgeNo) - Fixed XML serialization errors for namespaces named
constructor,toString,__proto__, or"null", and incorrect reuse of namespace prefixes declared on sibling elements. - Fixed
element.innerHTMLandelement.outerHTMLin XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings. - Fixed selector matching for
:lang(),:nth-child(... of ...)after mutations, and:has()with duplicate IDs or nested logical pseudo-classes. (@asamuzaK)
v30.1.0
jsdom is feeling the AGI!
This release is dedicated to @scttcper, who unleashed @codex upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.
We really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.
Thanks to @scttcper, as well as all the other contributors of this release (most of whom were AI-assisted).
- Added named access to elements on
document, such asdocument.myFormfor<form name="myForm">. (@vojtisprime11) - Added
QuotaExceededError, including its use for storage quota errors and oversizedcrypto.getRandomValues()requests. - Added support for the relaxed DOM naming rules when creating elements, attributes, and document types.
- Improved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (@scttcper, @erezrokah)
- Improved performance of
getComputedStyle(), style changes, and CSS serialization. (@scttcper, @jhult) - Improved performance of event dispatch, form control and label lookups, and updates to
<select>elements and radio button groups. (@scttcper) - Reduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (@scttcper)
- Changed
window.close()to preserve access to the document and its DOM through retained references. - Fixed
element.querySelectorAll()returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (@asamuzaK) - Fixed case sensitivity in CSS attribute selectors, including selectors matching
data-state="",title="", and other case-sensitive values. (@asamuzaK) - Fixed
document.querySelector()failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (@vojtisprime11) - Fixed
:focusmatching in shadow trees. (@asamuzaK) - Fixed DOM insertion and replacement, including valid
document.replaceChildren()calls, invalid document element and doctype placements, and mutations duringelement.replaceWith(). - Fixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.
- Fixed queued events and navigation continuing after
window.close()or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (@scttcper) - Fixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.
- Fixed request cancellation across redirects, during pending
requestInterceptor()callbacks, and when reusing anXMLHttpRequestafter aborting it. - Fixed resource loading and
JSDOM.fromURL()potentially hanging when response handling throws and response stream cleanup does not finish. - Fixed successful cached resource loads being treated as aborted.
- Fixed
getComputedStyle()anddocument.styleSheetsusing the wrong stylesheet order after inserting or updating<style>elements. - Fixed
getComputedStyle()ignoring nested@importand@mediarules in imported stylesheets, and returning stale results after imports finish loading. - Fixed style invalidation, stylesheet removal, and frame source updates in shadow trees.
- Fixed repeated
getComputedStyle()calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (@scttcper) - Fixed computed border widths, including borderless elements incorrectly reporting
16px, which regressed in v30.0.0. (@Alberto-BaseNet) - Fixed
getComputedStyle()to resolve'font-weight'keywords to numeric values. (@tianrking) - Fixed
getComputedStyle()to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in'font-size'math functions. (@soroushm) - Fixed serialization of
min()andmax()containing nestedcalc(), which regressed in v30.0.0. (@asamuzaK) - Fixed CSS values mixing lengths or percentages with math functions, such as
'grid-template-columns'values containing both100pxandcalc(). (@rome-xi) - Fixed parsing of
'background'and'border'shorthands with adjacent components, such asurl(a.png)no-repeat, including a crash when parsing inline styles. Also fixed handling of invalid shorthand assignments and escaped or unusual characters in CSS declarations. (@asamuzaK) - Fixed parsing of unitless zero values in
'flex'shorthands, such as35 1 0, and rejection of negative'flex-basis'lengths and percentages. (@asamuzaK) - Fixed shorthand style assignments producing extra mutation records and custom element callbacks for intermediate values. (@scttcper)
- Fixed
RangeandSelectionhandling of CDATA sections, including boundary offsets and range cloning, extraction, deletion, insertion, and stringification. (@scttcper) - Fixed
text.normalize()incorrectly removing the text node or merging its siblings. (@scttcper) - Fixed cloning and importing CDATA sections and processing instructions whose contents have been modified, and serialization of CDATA sections adopted into HTML documents.
- Fixed stale named-property collections on
window, and incorrect named access from empty or namespacedid=""andname=""values. (@scttcper) - Fixed elements in documents created with
DOMParserordocument.implementation.createHTMLDocument()appearing as named properties onwindowand being retained in memory. (@Iaotle) - Fixed memory leaks from mutation observers retaining observed nodes, abort signals retaining removed event listeners, and storage event tracking retaining closed windows. (@scttcper)
- Fixed
storageevents being sent to windows created after the storage change, and ensured surviving recipients still receive events when the source document is destroyed. - Fixed attribute lookups after namespace prefix changes, and namespaced attributes incorrectly affecting ID lookups and element behavior. (@scttcper)
- Fixed
input.listin detached element trees. (@scttcper) - Fixed
attr.ownerDocumentafter setting an attribute node on an element in another document or adopting its element. (@Kjubikstronk) - Fixed fresh
element.getElementsByTagName()calls using the previous document's case-sensitivity rules after adoption between HTML and XML documents. (@Kjubikstronk) - Fixed
element.tagNamereturning stale casing after adoption between HTML and XML documents. - Fixed radio button grouping and checkedness updates for controls with different form owners, controls outside their form, unnamed controls, and canceled clicks.
- Fixed
<select>selection updates when moving options, and unintended selection resets when moving a whole<select>or changing unrelated descendants. - Fixed cloning
<input>elements to preserveinput.indeterminate. - Fixed focus state after removing a focused element or its ancestor, including inside shadow trees.
- Fixed script execution when inserting children into a connected, empty
<script>. (@Kjubikstronk) - Fixed incorrect script execution after changes to
src="", and handling oftype="",for="", andevent="". - Fixed
document.currentScriptduring nested script execution and scripts in shadow trees. - Fixed event dispatch,
window.event, and default passive listener handling for non-node event targets, and event dispatch when user code modifieswindow.constructor. - Fixed
volumechangeandratechangeevents to fire asynchronously. (@christianaurichzm) - Fixed DOM APIs accepting user-created proxies around DOM objects where genuine DOM objects are required.
- Fixed XPath iterator invalidation after DOM mutations and errors for invalid result types.
- Fixed
NodeIteratortraversal when its filter removes nodes. - Fixed
fileReader.readAsText()to honor the blob's MIME type charset when no supported explicit encoding is supplied. - Fixed fractional seconds in time input parsing and serialization. (@Jaybhade)
- Fixed large
input.valueAsNumberassignments for time and local date/time inputs. - Fixed hard wrapping of
<textarea>values to use the numerictextarea.colsvalue. - Fixed
document.readyStateto be"complete"for documents created withdocument.implementation.createDocument()anddocument.implementation.createHTMLDocument(). - Fixed
element.translatefor emptytranslate=""values and elements without a parent. - Fixed XML parsing of lone surrogates to replace them with the Unicode replacement character.
- Fixed
node.lookupNamespaceURI()for thexmlandxmlnsprefixes. (@vojtisprime11) - Fixed
<base>elements to ignoredata:andjavascript:URLs. (@vojtisprime11) - Fixed
svgElement.viewportElementinside<symbol>elements. - Fixed the default
blobEvent.timecodeto beNaN. - Fixed the object shape and property descriptors of
CSS.
v30.0.1
- Fixed
getComputedStyle()withcalc()and other functions throwing an exception, which regressed in v30.0.0. (@asamuzaK) - Sped up up range operations on large documents (@leonidaz)
v30.0.0
Breaking changes:
- Node.js minimum version raised to
^22.22.2 || ^24.15.0 || >=26.0.0.
Other changes:
- Added
CSS.escape()andCSS.supports()functions. (@asamuzaK) - Added
'background-position-x'and'background-position-y'CSS properties. (@olagokemills) - Fixed
getComputedStyle()to convert length values into pixels. (@asamuzaK) - Fixed CSS function serialization, e.g., in the return value of
getPropertyValue(). (@asamuzaK) - Fixed the type of error thrown by
document.evaluate()(@dokson)
v29.1.1
- Fixed
'border-radius'computed style serialization. (@asamuzaK) - Fixed computed style computation when using
'background-origin'and'background-clip'CSS properties. (@asamuzaK) - Significantly optimized initial calls to
getComputedStyle(), before the cache warms up. (@asamuzaK)
v29.1.0
- Added basic support for the ratio CSS type. (@asamuzaK)
- Fixed
getComputedStyle()sometimes returning outdated results after CSS was modified. (@asamuzaK)
v29.0.2
- Significantly improved and sped up
getComputedStyle(). Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such ascurrentcolorand system colors. (@asamuzaK) - Fixed CSS
'background' and'border'shorthand parsing. (@asamuzaK)
v29.0.1
- Fixed CSS parsing of
'border','background', and their sub-shorthands containing keywords orvar(). (@asamuzaK) - Fixed
getComputedStyle()to return a more functionalCSSStyleDeclarationobject, including indexed access support, which regressed in v29.0.0.
v29.0.0
Breaking changes:
- Node.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).
Other changes:
- Overhauled the CSSOM implementation, replacing the
@acemir/cssomandcssstyledependencies with fresh internal implementations built on webidl2js wrappers and thecss-treeparser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases. - Added
CSSCounterStyleRuleandCSSNamespaceRuleto jsdomWindows. - Added
cssMediaRule.matchesandcssSupportsRule.matchesgetters. - Added proper media query parsing in
MediaList, usingcss-treeinstead of naive comma-splitting. Invalid queries become"not all"per spec. - Added
cssKeyframeRule.keyTextgetter/setter validation. - Added
cssStyleRule.selectorTextsetter validation: invalid selectors are now rejected. - Added
styleSheet.ownerNode,styleSheet.href, andstyleSheet.title. - Added bad port blocking per the fetch specification, preventing fetches to commonly-abused ports.
- Improved
Documentinitialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead perDocument. (@thypon) - Fixed a memory leak when stylesheets were removed from the document.
- Fixed
CSSStyleDeclarationmodifications to properly trigger custom element reactions. - Fixed nested
@mediarule parsing. - Fixed
CSSStyleSheet's "disallow modification" flag not being checked in all mutation methods. - Fixed
XMLHttpRequest'sresponsegetter returning parsed JSON during theLOADINGstate instead ofnull. - Fixed
getComputedStyle()crashing in XHTML documents when stylesheets contained at-rules such as@pageor@font-face. - Fixed a potential hang in synchronous
XMLHttpRequestcaused by a race condition with the worker thread's idle timeout.
v28.1.0
- Added
blob.text(),blob.arrayBuffer(), andblob.bytes()methods. - Improved
getComputedStyle()to account for CSS specificity when multiple rules apply. (@asamuzaK) - Improved synchronous
XMLHttpRequestperformance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one. - Improved performance of
node.getRootNode(),node.isConnected, andevent.dispatchEvent()by caching the root node of document-connected trees. - Fixed
getComputedStyle()to correctly handle!importantpriority. (@asamuzaK) - Fixed
document.getElementById()to return the first element in tree order when multiple elements share the same ID. - Fixed
<svg>elements to no longer incorrectly proxy event handlers to theWindow. - Fixed
FileReaderevent timing andfileReader.resultstate to more closely follow the spec. - Fixed a potential hang when synchronous
XMLHttpRequestencountered dispatch errors. - Fixed compatibility with environments where Node.js's built-in
fetch()has been used before importing jsdom, by working around undici v6/v7 incompatibilities.
v28.0.0
- Overhauled resource loading customization. See the new README for details on the new API.
- Added MIME type sniffing to
<iframe>and<frame>loads. - Regression:
WebSockets are no longer correctly throttled to one connection per origin. This is a result of the bug at nodejs/undici#4743. - Fixed decoding of the query components of
<a>and<area>elements in non-UTF-8 documents. - Fixed
XMLHttpRequestfetches andWebSocketupgrade requests to be interceptable by the new customizable resource loading. (Except synchronousXMLHttpRequests.) - Fixed the referrer of a document to be set correctly when redirects are involved; it is now the initiating page, not the last hop in the redirect chain.
- Fixed correctness bugs when passing
ArrayBuffers or typed arrays to various APIs, where they would not correctly snapshot the data. - Fixed
require("url").parse()deprecation warning when usingWebSockets. - Fixed
<iframe>,<frame>, and<img>(whencanvasis installed) to fireloadevents, noterrorevents, on non-OK HTTP responses. - Fixed many small issues in
XMLHttpRequest.
v27.4.0
- Added
TextEncoderandTextDecoder. - Improved decoding of HTML bytes by using the new
@exodus/bytespackage; it is now much more correct. (@ChALkeR) - Improved decoding of XML bytes to use UTF-8 more often, instead of sniffing for
<meta charset>or using the parent frame's encoding. - Fixed a memory leak when
Ranges were used and then the elements referred to by those ranges were removed.
v27.3.0
- Improved CSS parsing and CSSOM object APIs via updates to
@acemir/cssom. (@acemir)
v27.2.0
- Added
CSSGroupingRule,CSSNestedDeclarations,CSSConditionRule,CSSContainerRule,CSSScopeRule,CSSSupportsRule,CSSLayerBlockRule, andCSSLayerStatementRuleto jsdomWindows. (@acemir) - Improved CSS parsing and CSSOM object APIs via updates to
@acemir/cssom. (@acemir) - Fixed
@import-ed stylesheets to be properly exposed to CSSOM, and not to overwrite the sheet created from the<link>or<style>element. (@acemir)
v27.1.0
- Improved CSS parsing by switching to
@acemir/cssom, including support for nested selectors, nested declarations, layer statements, and improved at-rule validation. (@acemir) - Fixed some selector cache invalidation issues where changes to attributes were not being picked up. (@asamuzaK)
- Fixed
package.json"engines"field to reflect the new minimum Node.js versions needed to run jsdom, as noted in the changelog for v27.0.1.
v27.0.1
This release inadvertently raised the minimum Node.js version from v20.0.0 to v20.19.0+, v22.12.0+, v24.0.0+. (This happened via a dependency update.) This probably should have been a breaking (major) change, instead of happening in a patch version, since it prevents using earlier Node.js versions.
After further testing, we found that most of our development dependencies also require these versions, and so it's not feasible for the jsdom project to support earlier Node.js versions. (For example, our testing frameworks will not run on them.) If you need to use such earlier versions, or otherwise are working in an environment which gives related errors such as ERR_REQUIRE_ESM, then please stick with the v26.1.0 release of jsdom. (Noting, of course, that such versions are unsupported, and we will not respond to bug reports opened against them.)
Subsequent jsdom releases will explicitly require these minimum Node.js versions, and will have CI testing to ensure that the minimum version is not accidentally raised again.
Normal changelog:
- Fixed some regressions in CSS selectors. Most such regression fixes were done in a minor update of a dependency, and thus available for all fresh installs of v27.0.0. However, one related to
class=""attribute changes is only possible with a new version of jsdom. (@asamuzaK)
v27.0.0
Changes since 26.1.0
- Node.js v20 is now the minimum supported version.
- Added a variety of event constructors, even though we do not implement their associated specifications or ever fire them:
BeforeUnloadEvent,BlobEvent,DeviceMotionEvent(omittingrequestPermission()),DeviceOrientationEvent(omittingrequestPermission()),PointerEvent,PromiseRejectionEvent, andTransitionEvent. - Added
movementXandmovementYtoMouseEvent. (These are from the Pointer Lock specification, the rest of which is not implemented.) - Added
customElements.getName(). (@mash-graz) - Updated the virtual console:
"jsdomError"events are now documented, with specifictypeproperties and other properties that depend on the type.sendTo()was renamed toforwardTo().- The
jsdomErrorsoption toforwardTo()can be used to control which errors are sent to the Node.js console. This replaces the previousomitJSDOMErrorsboolean option. "jsdomError"s for failedXMLHttpRequestfetches are no longer emitted.- The values that are printed when forwarding
"jsdomError"s to the Node.js console are streamlined.
- Switched our CSS selector engine from
nwsapito@asamuzakjp/dom-selector, closing over 20 selector-related bugs. - Upgraded
tough-cookie, which now considers URLs likehttp://localhost/to be secure contexts (per the spec), and thus will returnSecure-flagged cookies for such URLs. (@colincasey) - Upgraded
cssstyle, which brings along many improvements and fixes to theCSSStyleDeclarationobject and its properties. - Updated the user agent stylesheet to be derived from the HTML Standard, instead of from an old revision of Chromium.
- Changed
element.click()to fire aPointerEventinstead of aMouseEvent. - Changed certain events to be passive by default.
- Changed the
<input>element'spattern=""attribute to use thevregular expression flag, instead ofu. - Fixed many specification conformance issues with the
Windowobject, including named properties and changing various data properties to accessor properties. - Fixed
document.createEvent()to accept a more correct set of event names. - Fixed the
ElementInternalsaccessibility getters and setters. (They were introduced in v23.1.0, but due to inadequate test coverage never actually worked.) - Fixed using
Object.defineProperty()on certain objects, such asHTMLSelectElementinstances. - Fixed
jsdom.reconfigure({ url })not updatingdocument.baseURIor properties derived from it. (This regressed in v26.1.0.) - Fixed CSS system colors, as well as the
initial,inherit, andunsetkeywords, to resolve correctly. (@asamuzaK) - Fixed CSS
displaystyle resolution. (@asamuzaK)
Changes since 27.0.0-beta.3
- Upgraded
cssstyle, which brings along various CSS parsing fixes.
v26.1.0
- Added at least partial support for various SVG elements and their classes:
<defs>(SVGDefsElement),<desc>(SVGDescElement),<g>(SVGGElement),<metadata>(SVGMetadataElement),<switch>(SVGSwitchElement), and<symbol>(SVGSymbolElement). - Added
SVGAnimatedPreserveAspectRatioandSVGAnimatedRect, including support in the reflection layer. - Added the
SVGSVGElementcreateSVGRect()method, and theSVGRecttype (which is distinct fromDOMRect.) - Added indexed property support to
HTMLFormElement. - Updated the
SVGElementviewportElement()method to correctly establish the viewport based on ancestor elements. - Removed the now-bloated
form-datadependency in favor of our own smaller implementation ofmultipart/form-dataserialization. No functional changes are expected. - Various performance improvements, caches, microoptimizations, and deferred object creation.
v26.0.0
Breaking change: canvas peer dependency requirement has been upgraded from v2 to v3. (@sebastianwachter)
Other changes:
- Added
AbortSignal.any(). (@jdbevan) - Added initial support for form-associated custom elements, in particular making them labelable and supporting the
ElementInternalslabelsproperty. The form-associated callbacks are not yet supported. (@hesxenon) - Updated
whatwg-url, adding support forURL.parse(). - Updated
cssstyleandrrweb-cssom, to improve CSS parsing capabilities. - Updated
nwsapi, improving CSS selector matching. - Updated
parse5, fixing a bug around<noframes>elements and HTML entity decoding. - Fixed
JSDOM.fromURL()to properly reject the returned promise if the server redirects to an invalid URL, instead of causing an uncaught exception.
Configuration
📅 Schedule: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.