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 XMLHttpRequest fetches and WebSocket upgrade requests to be interceptable by the new customizable resource loading. (Except synchronous XMLHttpRequests.)
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 using WebSockets.
Fixed <iframe>, <frame>, and <img> (when canvas is installed) to fire load events, not error events, on non-OK HTTP responses.
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [jsdom](https://github.com/jsdom/jsdom) | [`^27.2.0` → `^28.0.0`](https://renovatebot.com/diffs/npm/jsdom/27.2.0/28.0.0) |  |  |  |  |
---
### Release Notes
<details>
<summary>jsdom/jsdom (jsdom)</summary>
### [`v28.0.0`](https://github.com/jsdom/jsdom/blob/HEAD/Changelog.md#2800)
[Compare Source](https://github.com/jsdom/jsdom/compare/27.4.0...28.0.0)
- Overhauled resource loading customization. See [the new README](https://github.com/jsdom/jsdom/blob/2b65c6a80af2c899e32933c5e0cb842164852149/README.md#loading-subresources) for details on the new API.
- Added MIME type sniffing to `<iframe>` and `<frame>` loads.
- Regression: `WebSocket`s are no longer correctly throttled to one connection per origin. This is a result of the bug at [nodejs/undici#4743](https://github.com/nodejs/undici/issues/4743).
- Fixed decoding of the query components of `<a>` and `<area>` elements in non-UTF-8 documents.
- Fixed `XMLHttpRequest` fetches and `WebSocket` upgrade requests to be interceptable by the new customizable resource loading. (Except synchronous `XMLHttpRequest`s.)
- 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 `ArrayBuffer`s or typed arrays to various APIs, where they would not correctly snapshot the data.
- Fixed `require("url").parse()` deprecation warning when using `WebSocket`s.
- Fixed `<iframe>`, `<frame>`, and `<img>` (when `canvas` is installed) to fire `load` events, not `error` events, on non-OK HTTP responses.
- Fixed many small issues in `XMLHttpRequest`.
### [`v27.4.0`](https://github.com/jsdom/jsdom/blob/HEAD/Changelog.md#2740)
[Compare Source](https://github.com/jsdom/jsdom/compare/27.3.0...27.4.0)
- Added `TextEncoder` and `TextDecoder`.
- Improved decoding of HTML bytes by using the new [`@exodus/bytes`](https://www.npmjs.com/package/@​exodus/bytes) package; 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 `Range`s were used and then the elements referred to by those ranges were removed.
### [`v27.3.0`](https://github.com/jsdom/jsdom/blob/HEAD/Changelog.md#2730)
[Compare Source](https://github.com/jsdom/jsdom/compare/27.2.0...27.3.0)
- Improved CSS parsing and CSSOM object APIs via updates to [`@acemir/cssom`](https://www.npmjs.com/package/@​acemir/cssom). (acemir)
</details>
---
### Configuration
📅 **Schedule**: 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.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNS4xIiwidXBkYXRlZEluVmVyIjoiNDMuMTUuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
^27.2.0→^28.0.0Release Notes
jsdom/jsdom (jsdom)
v28.0.0Compare Source
<iframe>and<frame>loads.WebSockets are no longer correctly throttled to one connection per origin. This is a result of the bug at nodejs/undici#4743.<a>and<area>elements in non-UTF-8 documents.XMLHttpRequestfetches andWebSocketupgrade requests to be interceptable by the new customizable resource loading. (Except synchronousXMLHttpRequests.)ArrayBuffers or typed arrays to various APIs, where they would not correctly snapshot the data.require("url").parse()deprecation warning when usingWebSockets.<iframe>,<frame>, and<img>(whencanvasis installed) to fireloadevents, noterrorevents, on non-OK HTTP responses.XMLHttpRequest.v27.4.0Compare Source
TextEncoderandTextDecoder.@exodus/bytespackage; it is now much more correct. (ChALkeR)<meta charset>or using the parent frame's encoding.Ranges were used and then the elements referred to by those ranges were removed.v27.3.0Compare Source
@acemir/cssom. (acemir)Configuration
📅 Schedule: 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.
This PR has been generated by Renovate Bot.