Skip to content

chore(release): v4.12.0#5122

Merged
WilcoFiers merged 60 commits into
masterfrom
release-2026-06-01
Jun 1, 2026
Merged

chore(release): v4.12.0#5122
WilcoFiers merged 60 commits into
masterfrom
release-2026-06-01

Conversation

@attest-team-ci

Copy link
Copy Markdown
Contributor

4.12.0 (2026-06-01)

Features

  • add gather-internals.js external script (#5099) (c61d58b), closes #5080
  • aria-allowed/prohibited-attr, aria-required-parent/children: partially support element internals role (#5080) (417b48a), closes #5039 #4259
  • axe.externalAPIs: add public api for setting elementInternal data (#5105) (63bab8f)
  • core: expose normalizeRunOptions (#4998) (b8e6a59)
  • expose axe.resetLocale() to restore the default locale (#5108) (c2b5292), closes #5107
  • getRules: include rule enabled state in returned objects (#5118) (75bf772), closes #5116
  • list,listitem: support element internals role (#5119) (7d9d696)
  • new-rule: check that aria-tab have an accessible name (#5001) (0d4e4e7), closes #4842
  • rules: deprecate landmark-complementary-is-top-level rules (#4992) (9e09139), closes #4950
  • utils: add getElementInternals function (#5077) (1c15f82)

Bug Fixes

  • aria-allowed-attr: restrict br and wbr elements to aria-hidden only (#4974) (c6245e7)
  • aria-conditional-attr: add support for radio (#5100) (8223c98)
  • aria-valid-attr-value: handle multiple aria-errormessage IDs (#4973) (0489e30)
  • aria: prevent getOwnedVirtual from returning duplicate nodes (#4987) (48ca955), closes #4840
  • commons/text: exclude natively hidden elements from aria-labelledby accessible name (#5076) (ea7202c), closes #4704
  • DqElement: avoid calling constructors with cloneNode (#5013) (0281fa1)
  • existing-rule: aria-busy now shows an error message for a use with unallowed children (#5017) (2067b87)
  • helpUrl: ensure axe.configure always updates the help URLs (#5114) (c4f60ff)
  • label-content-name-mismatch: match visible text with aria-label and exclude invisible text (#5096) (3a012a1)
  • locale: ensure all subtags are correctly set (#5112) (13005ed)
  • scrollable-region-focusable: clarify the issue is in safari (#4995) (4ec5211), closes WebKit#190870 WebKit#277290
  • scrollable-region-focusable: do not fail scroll areas when all content is visible without scrolling (#4993) (838707a)
  • target-size: determine offset using clientRects if target is display:inline (#5012) (a4b8091)
  • target-size: ignore position: fixed elements that are offscreen when page is scrolled (#5066) (1229a6e), closes #5065
  • target-size: ignore widgets that are inline with other inline elements (#5000) (a8dd81b)
  • utils/getAncestry: escape node name (#5079) (d1fabaa), closes #5078
  • utils: Add null check to parseCrossOriginStylesheet, closes #5074 (#5075) (f12ef32)
  • utils: update isShadowRoot to use spec-compliant custom element regex (#5059) (edc6ce2), closes #5030

This PR was opened by a robot 🤖 🎉

straker and others added 30 commits January 6, 2026 13:41
Our first [GHA GitHub release
failed](https://github.com/dequelabs/axe-core/actions/runs/20758308118/job/59607316910).
Looks like the script expects the env which wasn't set.
Running `npm run test:unit` results in loads of failures. After racking
my brain about why, I remembered I had a similar problem in my [fixing
`npm run test:debug`
pr](#4769) where resetting the
memoize functions results in them not being able to clear the cache
between tests. Turns out that was the issue here.

Note: this isn't a problem in our pr runs or nightly tests because we
either call `npm run: test:unit:<name>` directly or run `npm test` which
runs all the tests in turn. This only happens when running `npm run
test:unit` since the browser doesn't close between test types.
Deprecated landmark-complementary-is-top-level rules based on recent
ARIA and HTML-AAM changes

Closes: [#4950 ](#4950)
)

When aria-errormessage contains multiple space-separated IDs, the check
now correctly verifies that all IDs are present in aria-describedby
instead of failing to match the entire string against tokenized values.

Closes: #4957
Part of #4830

Doesn't close the issue, but people keep reporting this as a false
positive because we don't make it clear this is a Safari-only issue.
Axe-core explicitly calling out a browser or screen reader is unusual,
but I think the problem not doing this creates here is bigger than the
overhead it would be for us to keep an eye on this and pull this out. If
Safari ever addresses this the rule can be deprecated completely.

See related Webkit bugs:

- [WebKit#190870: Make scrollable element
focusable](https://bugs.webkit.org/show_bug.cgi?id=190870)
- [WebKit#277290: AX: Scrolling containers inoperable with
keyboard](https://bugs.webkit.org/show_bug.cgi?id=277290)
It would seem that the `GITHUB_OUTPUT` syntax [does not allow line
breaks](https://github.com/orgs/community/discussions/106666). Since the
output to `git status --porcelain` produces a line with 2 changes

```
 M doc/rule-descriptions.md
 M locales/_template.json
```

removing the line breaks from the variable should fix the problem.
Bumps [globals](https://github.com/sindresorhus/globals) from 16.5.0 to
17.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sindresorhus/globals/releases">globals's
releases</a>.</em></p>
<blockquote>
<h2>v17.1.0</h2>
<ul>
<li>Add <code>webpack</code> and <code>rspack</code> globals (<a
href="https://redirect.github.com/sindresorhus/globals/issues/333">#333</a>)
65cae73</li>
</ul>
<hr />
<p><a
href="https://github.com/sindresorhus/globals/compare/v17.0.0...v17.1.0">https://github.com/sindresorhus/globals/compare/v17.0.0...v17.1.0</a></p>
<h2>v17.0.0</h2>
<h3>Breaking</h3>
<ul>
<li>Split <code>audioWorklet</code> environment from
<code>browser</code> (<a
href="https://redirect.github.com/sindresorhus/globals/issues/320">#320</a>)
7bc293e</li>
</ul>
<h3>Improvements</h3>
<ul>
<li>Update globals (<a
href="https://redirect.github.com/sindresorhus/globals/issues/329">#329</a>)
ebe1063</li>
<li>Get all browser globals from both <code>chrome</code> and
<code>firefox</code> (<a
href="https://redirect.github.com/sindresorhus/globals/issues/321">#321</a>)
59ceff8</li>
<li>Add <code>bunBuiltin</code> environment (<a
href="https://redirect.github.com/sindresorhus/globals/issues/324">#324</a>)
1bc6e3b</li>
<li>Add <code>denoBuiltin</code> environment (<a
href="https://redirect.github.com/sindresorhus/globals/issues/324">#324</a>)
1bc6e3b</li>
<li>Add <code>paintWorklet</code> environment (<a
href="https://redirect.github.com/sindresorhus/globals/issues/323">#323</a>)
4b78f56</li>
<li>Add <code>sharedWorker</code> environment (<a
href="https://redirect.github.com/sindresorhus/globals/issues/322">#322</a>)
4a02a85</li>
</ul>
<hr />
<p><a
href="https://github.com/sindresorhus/globals/compare/v16.5.0...v17.0.0">https://github.com/sindresorhus/globals/compare/v16.5.0...v17.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sindresorhus/globals/commit/7a2f3546a195b67ee07d76acce39499d34b4c8fe"><code>7a2f354</code></a>
17.1.0</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/65cae7345cd365d2b0ea26958b545644aea5a6df"><code>65cae73</code></a>
Add <code>webpack</code> and <code>rspack</code> globals (<a
href="https://redirect.github.com/sindresorhus/globals/issues/333">#333</a>)</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/3efe5aad90231cee41c8caea7b987706390f889b"><code>3efe5aa</code></a>
Remove script transform (<a
href="https://redirect.github.com/sindresorhus/globals/issues/332">#332</a>)</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/bb89b18916b00f6c4f089baa0d66cb7f0771ab1b"><code>bb89b18</code></a>
17.0.0</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/ebe106340137419b4ac0150f746b7567fb78ce03"><code>ebe1063</code></a>
Update globals (2026-01-01) (<a
href="https://redirect.github.com/sindresorhus/globals/issues/329">#329</a>)</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/e3d8da349da72d66fcadf94d926d4ff96da3319c"><code>e3d8da3</code></a>
Revert &quot;Automate script for <code>paintWorklet</code> environment
(<a
href="https://redirect.github.com/sindresorhus/globals/issues/325">#325</a>)&quot;
(<a
href="https://redirect.github.com/sindresorhus/globals/issues/328">#328</a>)</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/e7c0453f80840ebcef3a6bccaabc7a9dc0cb7a84"><code>e7c0453</code></a>
Automate script for <code>paintWorklet</code> environment (<a
href="https://redirect.github.com/sindresorhus/globals/issues/325">#325</a>)</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/1bc6e3bc6658d4243a714bb7dd7401f206fd3bc5"><code>1bc6e3b</code></a>
Add <code>bunBuiltin</code> and <code>denoBuiltin</code> (<a
href="https://redirect.github.com/sindresorhus/globals/issues/324">#324</a>)</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/4b78f56c1c305e34161183e8fd5ac89e92c72e84"><code>4b78f56</code></a>
Add <code>paintWorklet</code> environment (<a
href="https://redirect.github.com/sindresorhus/globals/issues/323">#323</a>)</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/59ceff80cb22de31a78651acdda4db1a91eefb11"><code>59ceff8</code></a>
Get all browser globals from both <code>chrome</code> and
<code>firefox</code> (<a
href="https://redirect.github.com/sindresorhus/globals/issues/321">#321</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/sindresorhus/globals/compare/v16.5.0...v17.1.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=globals&package-manager=npm_and_yarn&previous-version=16.5.0&new-version=17.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [jquery](https://github.com/jquery/jquery) from 3.7.1 to 4.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jquery/jquery/releases">jquery's
releases</a>.</em></p>
<blockquote>
<h2>Release 4.0.0</h2>
<h1>Changelog</h1>
<p><a
href="https://blog.jquery.com/2026/01/17/jquery-4-0-0/">https://blog.jquery.com/2026/01/17/jquery-4-0-0/</a></p>
<h2>Ajax</h2>
<ul>
<li>Don't treat array data as binary (<a
href="https://github.com/jquery/jquery/commit/992a1911d0b6195012edc25fd5a48810d4be64b5">992a1911</a>)</li>
<li>Allow <code>processData: true</code> even for binary data (<a
href="https://github.com/jquery/jquery/commit/ce264e0789116e37fe371503537a217c038dfae8">ce264e07</a>)</li>
<li>Support binary data (including FormData) (<a
href="https://github.com/jquery/jquery/commit/a7ed9a7b6364273b1b964fd2cf9691dec2cbec6b">a7ed9a7b</a>)</li>
<li>Support <code>headers</code> for script transport even when
cross-domain (<a
href="https://redirect.github.com/jquery/jquery/issues/5142">#5142</a>,
<a
href="https://github.com/jquery/jquery/commit/6d1364431b63b0d3bbe1c5fd604131f9db453396">6d136443</a>)</li>
<li>Support <code>null</code> as success functions in
<code>jQuery.get</code> (<a
href="https://redirect.github.com/jquery/jquery/issues/4989">#4989</a>,
<a
href="https://github.com/jquery/jquery/commit/74978b7e892537559850cda7332bdab8106e6354">74978b7e</a>)</li>
<li>Don't auto-execute scripts unless dataType provided (<a
href="https://redirect.github.com/jquery/jquery/issues/4822">#4822</a>,
<a
href="https://github.com/jquery/jquery/commit/025da4dd343e6734f3d3c1b4785b1548498115d8">025da4dd</a>)</li>
<li>Make responseJSON work for erroneous same-domain JSONP requests (<a
href="https://github.com/jquery/jquery/commit/68b4ec59c8f290d680e9db4bc980655660817dd1">68b4ec59</a>)</li>
<li>Execute JSONP error script responses (<a
href="https://redirect.github.com/jquery/jquery/issues/4771">#4771</a>,
<a
href="https://github.com/jquery/jquery/commit/a1e619b03a557b47c3e26a5e74af12b63a0d5e73">a1e619b0</a>)</li>
<li>Avoid CSP errors in the script transport for async requests (<a
href="https://redirect.github.com/jquery/jquery/issues/3969">#3969</a>,
<a
href="https://github.com/jquery/jquery/commit/07a8e4a177550025c1a08d7ac754839733943f55">07a8e4a1</a>)</li>
<li>Drop the json to jsonp auto-promotion logic (<a
href="https://redirect.github.com/jquery/jquery/issues/1799">#1799</a>,
<a
href="https://redirect.github.com/jquery/jquery/issues/3376">#3376</a>,
<a
href="https://github.com/jquery/jquery/commit/e7b3bc488d01d584262e12a7c5c25f935d0d034b">e7b3bc48</a>)</li>
<li>Overwrite s.contentType with content-type header value, if any (<a
href="https://redirect.github.com/jquery/jquery/issues/4119">#4119</a>,
<a
href="https://github.com/jquery/jquery/commit/7fb90a6beaeffe16699800f73746748f6a5cc2de">7fb90a6b</a>)</li>
<li>Deprecate AJAX event aliases, inline event/alias into deprecated (<a
href="https://github.com/jquery/jquery/commit/23d53928f383b0e7440bf4b08b7524e6af232fad">23d53928</a>)</li>
<li>Do not execute scripts for unsuccessful HTTP responses (<a
href="https://redirect.github.com/jquery/jquery/issues/4250">#4250</a>,
<a
href="https://github.com/jquery/jquery/commit/50871a5a85cc802421b40cc67e2830601968affe">50871a5a</a>)</li>
<li>Simplify jQuery.ajaxSettings.xhr (<a
href="https://redirect.github.com/jquery/jquery/issues/1967">#1967</a>,
<a
href="https://github.com/jquery/jquery/commit/abdc89ac2e581392b800c0364e0f5f2b6a82cdc6">abdc89ac</a>)</li>
</ul>
<h2>Attributes</h2>
<ul>
<li>Make <code>.attr( name, false )</code> remove for all non-ARIA attrs
(<a
href="https://redirect.github.com/jquery/jquery/issues/5388">#5388</a>,
<a
href="https://github.com/jquery/jquery/commit/063831b6378d518f9870ec5c4f1e7d5d16e04f36">063831b6</a>)</li>
<li>Shave off a couple of bytes (<a
href="https://github.com/jquery/jquery/commit/b40a4807b604efbde51faf075d11e25441af1990">b40a4807</a>)</li>
<li>Don't stringify attributes in the setter (<a
href="https://redirect.github.com/jquery/jquery/issues/4948">#4948</a>,
<a
href="https://github.com/jquery/jquery/commit/4250b628783d7bfa92ec6c5550c6e4b22fab6034">4250b628</a>)</li>
<li>Drop the <code>toggleClass(boolean|undefined)</code> signature (<a
href="https://redirect.github.com/jquery/jquery/issues/3388">#3388</a>,
<a
href="https://github.com/jquery/jquery/commit/a4421101fd6d9d7b0550210f8e8690641733dd9a">a4421101</a>)</li>
<li>Refactor val(): don't strip carriage return, isolate IE workarounds
(<a
href="https://github.com/jquery/jquery/commit/ff2819911da6cbbed5ee42c35d695240f06e65e3">ff281991</a>)</li>
<li>Don't set the type attr hook at all outside of IE (<a
href="https://github.com/jquery/jquery/commit/9e66fe9acf0ef27681f5a21149fc61678f791641">9e66fe9a</a>)</li>
</ul>
<h2>CSS</h2>
<ul>
<li>Fix dimensions of table <code>&lt;col&gt;</code> elements (<a
href="https://redirect.github.com/jquery/jquery/issues/5628">#5628</a>,
<a
href="https://github.com/jquery/jquery/commit/eca2a56457e1c40c071aeb3ac87efeb8bbb8013e">eca2a564</a>)</li>
<li>Drop the cache in finalPropName (<a
href="https://github.com/jquery/jquery/commit/640d5825df5ff223560c5690f1a268681c32f9fa">640d5825</a>)</li>
<li>Tests: Fix tests &amp; support tests under CSS Zoom (<a
href="https://redirect.github.com/jquery/jquery/issues/5489">#5489</a>,
<a
href="https://github.com/jquery/jquery/commit/071f6dba6bd1d8db3f36ce4694aab5ff437b9e36">071f6dba</a>)</li>
<li>Fix reliableTrDimensions support test for initially hidden iframes
(<a
href="https://github.com/jquery/jquery/commit/b1e66a5faaf46ffcbcc27c79a9a224aaf851a987">b1e66a5f</a>)</li>
<li>Selector: Align with 3.x, remove the outer <code>selector.js</code>
wrapper (<a
href="https://github.com/jquery/jquery/commit/53cf7244da2a2040333335c36e435b1c12efdff9">53cf7244</a>)</li>
<li>Make the reliableTrDimensions support test work with Bootstrap CSS
(<a
href="https://redirect.github.com/jquery/jquery/issues/5270">#5270</a>,
<a
href="https://github.com/jquery/jquery/commit/65b85031fb5688361c077bc04e641e4b502671e1">65b85031</a>)</li>
<li>Make <code>offsetHeight( true )</code>, etc. include negative
margins (<a
href="https://redirect.github.com/jquery/jquery/issues/3982">#3982</a>,
<a
href="https://github.com/jquery/jquery/commit/bce13b72c1753e16cc0db53ebf0f0456bdcf6b48">bce13b72</a>)</li>
<li>Return <code>undefined</code> for whitespace-only CSS variable
values (<a
href="https://redirect.github.com/jquery/jquery/issues/5120">#5120</a>)
(<a
href="https://github.com/jquery/jquery/commit/7eb0019640a5856c42b451551eb7f995d913eba9">7eb00196</a>)</li>
<li>Don’t trim whitespace of undefined custom property (<a
href="https://redirect.github.com/jquery/jquery/issues/5105">#5105</a>,
<a
href="https://github.com/jquery/jquery/commit/ed306c0261ab63746040e5d58bb4477c3069a427">ed306c02</a>)</li>
<li>Skip falsy values in <code>addClass( array )</code>, compress code
(<a
href="https://redirect.github.com/jquery/jquery/issues/4998">#4998</a>,
<a
href="https://github.com/jquery/jquery/commit/a338b407f2479f82df40635055effc163835183f">a338b407</a>)</li>
<li>Justify use of rtrim on CSS property values (<a
href="https://github.com/jquery/jquery/commit/655c0ed5e204b1f6427e09d615a49586a7bc84eb">655c0ed5</a>)</li>
<li>Trim whitespace surrounding CSS Custom Properties values (<a
href="https://redirect.github.com/jquery/jquery/issues/4926">#4926</a>,
<a
href="https://github.com/jquery/jquery/commit/efadfe991a5c287af561a9326bf1427d726c91c1">efadfe99</a>)</li>
<li>Include <code>show</code>, <code>hide</code> &amp;
<code>toggle</code> methods in the jQuery slim build (<a
href="https://github.com/jquery/jquery/commit/297d18dd13f7b810ea5a4afeefa4cb15d9e16e16">297d18dd</a>)</li>
<li>Remove the opacity CSS hook (<a
href="https://github.com/jquery/jquery/commit/865469f5e60f55feb28469bb0a7526dd22f04b4e">865469f5</a>)</li>
<li>Workaround buggy getComputedStyle on table rows in IE/Edge (<a
href="https://redirect.github.com/jquery/jquery/issues/4490">#4490</a>,
<a
href="https://github.com/jquery/jquery/commit/26415e081b318dbe1d46d2b7c30e05f14c339b75">26415e08</a>)</li>
<li>Don't automatically add &quot;px&quot; to properties with a few
exceptions (<a
href="https://redirect.github.com/jquery/jquery/issues/2795">#2795</a>,
<a
href="https://github.com/jquery/jquery/commit/00a9c2e5f4c855382435cec6b3908eb9bd5a53b7">00a9c2e5</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jquery/jquery/commit/4f2fae08f23b54ce09322e62e73cce6161b8d3cb"><code>4f2fae0</code></a>
Release: 4.0.0</li>
<li><a
href="https://github.com/jquery/jquery/commit/c838cfb5bb0c6cd17cfaa1dd83aca8d20589de99"><code>c838cfb</code></a>
Release: remove dist files from main branch</li>
<li><a
href="https://github.com/jquery/jquery/commit/97525193735ed32c332f0dbaf2f782df8b1b949b"><code>9752519</code></a>
Release: 4.0.0-rc.2</li>
<li><a
href="https://github.com/jquery/jquery/commit/c128d5d8a8fd9e9b3dcd3efa493e71f6a1649bd8"><code>c128d5d</code></a>
Release: Update AUTHORS.txt</li>
<li><a
href="https://github.com/jquery/jquery/commit/5fe9c298c0538f7cffc1c92c3abc8fadca644dde"><code>5fe9c29</code></a>
Build: De-dupe three authors via mailmap</li>
<li><a
href="https://github.com/jquery/jquery/commit/afdd032fdbc90e22f49a69627f4dec0dd3a2f0a4"><code>afdd032</code></a>
Build: Post beta browser tests errors to jquery/dev on Matrix</li>
<li><a
href="https://github.com/jquery/jquery/commit/546a1eb03c345e1bafb72ae1aeb898abb5b3e51b"><code>546a1eb</code></a>
Build: Bump the github-actions group with 4 updates</li>
<li><a
href="https://github.com/jquery/jquery/commit/ec738b3190a3b67d08f51451e1faa15f1f4bf916"><code>ec738b3</code></a>
Build: Fix Chrome beta tests</li>
<li><a
href="https://github.com/jquery/jquery/commit/c28c26aef0b3238f578690d73703382951cb355d"><code>c28c26a</code></a>
Build: Add periodic tests on beta versions of browsers</li>
<li><a
href="https://github.com/jquery/jquery/commit/f513413ac81acabe68769e8879ce19c10eff1f59"><code>f513413</code></a>
Build: Bump the github-actions group with 2 updates</li>
<li>Additional commits viewable in <a
href="https://github.com/jquery/jquery/compare/3.7.1...4.0.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jquery&package-manager=npm_and_yarn&previous-version=3.7.1&new-version=4.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ontent is visible without scrolling (#4993)

Scrollable-region-focusable-matches now tests the text rects or bounding
rect of all content to see if is outside the bounding rect of the scroll
container. Only then does it pass the matcher.

This changed made many of the integration test cases inapplicable so I
moved them to the bottom of the file to be grouped with the other
inapplicable results. For the unit tests I had to pad some of the tests
with more content in order for the visible content to require scrolling.

Closes: #4535
Move normalizeOptions from axe._audit to axe.utils.normalizeRunOptions

Related to: dequelabs/axe-pro-ml-service#1296
…5008)

Bumps the npm-low-risk group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
|
[@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core)
| `7.28.5` | `7.28.6` |
|
[@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env)
| `7.28.5` | `7.28.6` |
|
[@babel/runtime-corejs3](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3)
| `7.28.4` | `7.28.6` |
|
[core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js)
| `3.47.0` | `3.48.0` |
| [globals](https://github.com/sindresorhus/globals) | `17.1.0` |
`17.2.0` |
| [jsdom](https://github.com/jsdom/jsdom) | `27.3.0` | `27.4.0` |
| [prettier](https://github.com/prettier/prettier) | `3.7.4` | `3.8.1` |
| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) |
`4.39.0` | `4.40.0` |


Updates `@babel/core` from 7.28.5 to 7.28.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/babel/babel/releases"><code>@​babel/core</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v7.28.6 (2026-01-12)</h2>
<p>Thanks <a
href="https://github.com/kadhirash"><code>@​kadhirash</code></a> and <a
href="https://github.com/kolvian"><code>@​kolvian</code></a> for your
first PRs!</p>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-cli</code>, <code>babel-code-frame</code>,
<code>babel-core</code>,
<code>babel-helper-check-duplicate-nodes</code>,
<code>babel-helper-fixtures</code>,
<code>babel-helper-plugin-utils</code>, <code>babel-node</code>,
<code>babel-plugin-transform-flow-comments</code>,
<code>babel-plugin-transform-modules-commonjs</code>,
<code>babel-plugin-transform-property-mutators</code>,
<code>babel-preset-env</code>, <code>babel-traverse</code>,
<code>babel-types</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17589">#17589</a>
Improve Unicode handling in code-frame tokenizer (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-regenerator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17556">#17556</a>
fix: <code>transform-regenerator</code> correctly handles scope (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-react-jsx</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17538">#17538</a>
fix: Keep jsx comments (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>:nail_care: Polish</h4>
<ul>
<li><code>babel-core</code>, <code>babel-standalone</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17606">#17606</a>
Polish(standalone): improve message on invalid preset/plugin (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>

<li><code>babel-plugin-bugfix-v8-static-class-fields-redefine-readonly</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-proposal-import-attributes-to-assertions</code>,
<code>babel-plugin-proposal-import-wasm-source</code>,
<code>babel-plugin-syntax-async-do-expressions</code>,
<code>babel-plugin-syntax-decorators</code>,
<code>babel-plugin-syntax-destructuring-private</code>,
<code>babel-plugin-syntax-do-expressions</code>,
<code>babel-plugin-syntax-explicit-resource-management</code>,
<code>babel-plugin-syntax-export-default-from</code>,
<code>babel-plugin-syntax-flow</code>,
<code>babel-plugin-syntax-function-bind</code>,
<code>babel-plugin-syntax-function-sent</code>,
<code>babel-plugin-syntax-import-assertions</code>,
<code>babel-plugin-syntax-import-attributes</code>,
<code>babel-plugin-syntax-import-defer</code>,
<code>babel-plugin-syntax-import-source</code>,
<code>babel-plugin-syntax-jsx</code>,
<code>babel-plugin-syntax-module-blocks</code>,
<code>babel-plugin-syntax-optional-chaining-assign</code>,
<code>babel-plugin-syntax-partial-application</code>,
<code>babel-plugin-syntax-pipeline-operator</code>,
<code>babel-plugin-syntax-throw-expressions</code>,
<code>babel-plugin-syntax-typescript</code>,
<code>babel-plugin-transform-async-generator-functions</code>,
<code>babel-plugin-transform-async-to-generator</code>,
<code>babel-plugin-transform-class-properties</code>,
<code>babel-plugin-transform-class-static-block</code>,
<code>babel-plugin-transform-dotall-regex</code>,
<code>babel-plugin-transform-duplicate-named-capturing-groups-regex</code>,
<code>babel-plugin-transform-explicit-resource-management</code>,
<code>babel-plugin-transform-exponentiation-operator</code>,
<code>babel-plugin-transform-json-strings</code>,
<code>babel-plugin-transform-logical-assignment-operators</code>,
<code>babel-plugin-transform-nullish-coalescing-operator</code>,
<code>babel-plugin-transform-numeric-separator</code>,
<code>babel-plugin-transform-object-rest-spread</code>,
<code>babel-plugin-transform-optional-catch-binding</code>,
<code>babel-plugin-transform-optional-chaining</code>,
<code>babel-plugin-transform-private-methods</code>,
<code>babel-plugin-transform-private-property-in-object</code>,
<code>babel-plugin-transform-regexp-modifiers</code>,
<code>babel-plugin-transform-unicode-property-regex</code>,
<code>babel-plugin-transform-unicode-sets-regex</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17580">#17580</a>
Allow Babel 8 in compatible Babel 7 plugins (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:running_woman: Performance</h4>
<ul>
<li><code>babel-plugin-transform-react-jsx</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17555">#17555</a>
perf: Use lighter traversal for jsx <code>__source,__self</code> (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 7</h4>
<ul>
<li>Babel Bot (<a
href="https://github.com/babel-bot"><code>@​babel-bot</code></a>)</li>
<li>Eliot Pontarelli (<a
href="https://github.com/kolvian"><code>@​kolvian</code></a>)</li>
<li>Huáng Jùnliàng (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li>Kadhirash Sivakumar (<a
href="https://github.com/kadhirash"><code>@​kadhirash</code></a>)</li>
<li>Nicolò Ribaudo (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
<li><a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a></li>
<li>coderaiser (<a
href="https://github.com/coderaiser"><code>@​coderaiser</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/babel/babel/commit/d7f400889567ae18ef9ac41b024b5120f6060e17"><code>d7f4008</code></a>
v7.28.6</li>
<li><a
href="https://github.com/babel/babel/commit/e130225028e93e106135586f344cfa44c4aac847"><code>e130225</code></a>
Polish(standalone): improve message on invalid preset/plugin (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/17606">#17606</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/99dcba5e71de3bd81ce14077cfa5b6df58e9b177"><code>99dcba5</code></a>
chore: enable some ts-eslint rules (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/17592">#17592</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/c92c4919771105140015167f25f7bacac77c90d9"><code>c92c491</code></a>
Improve Unicode handling in code-frame tokenizer (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/17589">#17589</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/d725e399fd6a4da463cff4918cf71aa03b8beb14"><code>d725e39</code></a>
Add <code>BABEL_7_TO_8_DANGEROUSLY_DISABLE_VERSION_CHECK</code> (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/17569">#17569</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/c1b55f6ad56523ccc96fa68721de0bed2f2cdb23"><code>c1b55f6</code></a>
Use <code>eslint.config.mts</code> (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/17573">#17573</a>)</li>
<li>See full diff in <a
href="https://github.com/babel/babel/commits/v7.28.6/packages/babel-core">compare
view</a></li>
</ul>
</details>
<br />

Updates `@babel/preset-env` from 7.28.5 to 7.28.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/babel/babel/releases"><code>@​babel/preset-env</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v7.28.6 (2026-01-12)</h2>
<p>Thanks <a
href="https://github.com/kadhirash"><code>@​kadhirash</code></a> and <a
href="https://github.com/kolvian"><code>@​kolvian</code></a> for your
first PRs!</p>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-cli</code>, <code>babel-code-frame</code>,
<code>babel-core</code>,
<code>babel-helper-check-duplicate-nodes</code>,
<code>babel-helper-fixtures</code>,
<code>babel-helper-plugin-utils</code>, <code>babel-node</code>,
<code>babel-plugin-transform-flow-comments</code>,
<code>babel-plugin-transform-modules-commonjs</code>,
<code>babel-plugin-transform-property-mutators</code>,
<code>babel-preset-env</code>, <code>babel-traverse</code>,
<code>babel-types</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17589">#17589</a>
Improve Unicode handling in code-frame tokenizer (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-regenerator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17556">#17556</a>
fix: <code>transform-regenerator</code> correctly handles scope (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-react-jsx</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17538">#17538</a>
fix: Keep jsx comments (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>:nail_care: Polish</h4>
<ul>
<li><code>babel-core</code>, <code>babel-standalone</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17606">#17606</a>
Polish(standalone): improve message on invalid preset/plugin (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>

<li><code>babel-plugin-bugfix-v8-static-class-fields-redefine-readonly</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-proposal-import-attributes-to-assertions</code>,
<code>babel-plugin-proposal-import-wasm-source</code>,
<code>babel-plugin-syntax-async-do-expressions</code>,
<code>babel-plugin-syntax-decorators</code>,
<code>babel-plugin-syntax-destructuring-private</code>,
<code>babel-plugin-syntax-do-expressions</code>,
<code>babel-plugin-syntax-explicit-resource-management</code>,
<code>babel-plugin-syntax-export-default-from</code>,
<code>babel-plugin-syntax-flow</code>,
<code>babel-plugin-syntax-function-bind</code>,
<code>babel-plugin-syntax-function-sent</code>,
<code>babel-plugin-syntax-import-assertions</code>,
<code>babel-plugin-syntax-import-attributes</code>,
<code>babel-plugin-syntax-import-defer</code>,
<code>babel-plugin-syntax-import-source</code>,
<code>babel-plugin-syntax-jsx</code>,
<code>babel-plugin-syntax-module-blocks</code>,
<code>babel-plugin-syntax-optional-chaining-assign</code>,
<code>babel-plugin-syntax-partial-application</code>,
<code>babel-plugin-syntax-pipeline-operator</code>,
<code>babel-plugin-syntax-throw-expressions</code>,
<code>babel-plugin-syntax-typescript</code>,
<code>babel-plugin-transform-async-generator-functions</code>,
<code>babel-plugin-transform-async-to-generator</code>,
<code>babel-plugin-transform-class-properties</code>,
<code>babel-plugin-transform-class-static-block</code>,
<code>babel-plugin-transform-dotall-regex</code>,
<code>babel-plugin-transform-duplicate-named-capturing-groups-regex</code>,
<code>babel-plugin-transform-explicit-resource-management</code>,
<code>babel-plugin-transform-exponentiation-operator</code>,
<code>babel-plugin-transform-json-strings</code>,
<code>babel-plugin-transform-logical-assignment-operators</code>,
<code>babel-plugin-transform-nullish-coalescing-operator</code>,
<code>babel-plugin-transform-numeric-separator</code>,
<code>babel-plugin-transform-object-rest-spread</code>,
<code>babel-plugin-transform-optional-catch-binding</code>,
<code>babel-plugin-transform-optional-chaining</code>,
<code>babel-plugin-transform-private-methods</code>,
<code>babel-plugin-transform-private-property-in-object</code>,
<code>babel-plugin-transform-regexp-modifiers</code>,
<code>babel-plugin-transform-unicode-property-regex</code>,
<code>babel-plugin-transform-unicode-sets-regex</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17580">#17580</a>
Allow Babel 8 in compatible Babel 7 plugins (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:running_woman: Performance</h4>
<ul>
<li><code>babel-plugin-transform-react-jsx</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17555">#17555</a>
perf: Use lighter traversal for jsx <code>__source,__self</code> (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 7</h4>
<ul>
<li>Babel Bot (<a
href="https://github.com/babel-bot"><code>@​babel-bot</code></a>)</li>
<li>Eliot Pontarelli (<a
href="https://github.com/kolvian"><code>@​kolvian</code></a>)</li>
<li>Huáng Jùnliàng (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li>Kadhirash Sivakumar (<a
href="https://github.com/kadhirash"><code>@​kadhirash</code></a>)</li>
<li>Nicolò Ribaudo (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
<li><a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a></li>
<li>coderaiser (<a
href="https://github.com/coderaiser"><code>@​coderaiser</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/babel/babel/commit/d7f400889567ae18ef9ac41b024b5120f6060e17"><code>d7f4008</code></a>
v7.28.6</li>
<li><a
href="https://github.com/babel/babel/commit/99dcba5e71de3bd81ce14077cfa5b6df58e9b177"><code>99dcba5</code></a>
chore: enable some ts-eslint rules (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17592">#17592</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/c92c4919771105140015167f25f7bacac77c90d9"><code>c92c491</code></a>
Improve Unicode handling in code-frame tokenizer (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17589">#17589</a>)</li>
<li>See full diff in <a
href="https://github.com/babel/babel/commits/v7.28.6/packages/babel-preset-env">compare
view</a></li>
</ul>
</details>
<br />

Updates `@babel/runtime-corejs3` from 7.28.4 to 7.28.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/babel/babel/releases"><code>@​babel/runtime-corejs3</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v7.28.6 (2026-01-12)</h2>
<p>Thanks <a
href="https://github.com/kadhirash"><code>@​kadhirash</code></a> and <a
href="https://github.com/kolvian"><code>@​kolvian</code></a> for your
first PRs!</p>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-cli</code>, <code>babel-code-frame</code>,
<code>babel-core</code>,
<code>babel-helper-check-duplicate-nodes</code>,
<code>babel-helper-fixtures</code>,
<code>babel-helper-plugin-utils</code>, <code>babel-node</code>,
<code>babel-plugin-transform-flow-comments</code>,
<code>babel-plugin-transform-modules-commonjs</code>,
<code>babel-plugin-transform-property-mutators</code>,
<code>babel-preset-env</code>, <code>babel-traverse</code>,
<code>babel-types</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17589">#17589</a>
Improve Unicode handling in code-frame tokenizer (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-regenerator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17556">#17556</a>
fix: <code>transform-regenerator</code> correctly handles scope (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-react-jsx</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17538">#17538</a>
fix: Keep jsx comments (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>:nail_care: Polish</h4>
<ul>
<li><code>babel-core</code>, <code>babel-standalone</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17606">#17606</a>
Polish(standalone): improve message on invalid preset/plugin (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>

<li><code>babel-plugin-bugfix-v8-static-class-fields-redefine-readonly</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-proposal-import-attributes-to-assertions</code>,
<code>babel-plugin-proposal-import-wasm-source</code>,
<code>babel-plugin-syntax-async-do-expressions</code>,
<code>babel-plugin-syntax-decorators</code>,
<code>babel-plugin-syntax-destructuring-private</code>,
<code>babel-plugin-syntax-do-expressions</code>,
<code>babel-plugin-syntax-explicit-resource-management</code>,
<code>babel-plugin-syntax-export-default-from</code>,
<code>babel-plugin-syntax-flow</code>,
<code>babel-plugin-syntax-function-bind</code>,
<code>babel-plugin-syntax-function-sent</code>,
<code>babel-plugin-syntax-import-assertions</code>,
<code>babel-plugin-syntax-import-attributes</code>,
<code>babel-plugin-syntax-import-defer</code>,
<code>babel-plugin-syntax-import-source</code>,
<code>babel-plugin-syntax-jsx</code>,
<code>babel-plugin-syntax-module-blocks</code>,
<code>babel-plugin-syntax-optional-chaining-assign</code>,
<code>babel-plugin-syntax-partial-application</code>,
<code>babel-plugin-syntax-pipeline-operator</code>,
<code>babel-plugin-syntax-throw-expressions</code>,
<code>babel-plugin-syntax-typescript</code>,
<code>babel-plugin-transform-async-generator-functions</code>,
<code>babel-plugin-transform-async-to-generator</code>,
<code>babel-plugin-transform-class-properties</code>,
<code>babel-plugin-transform-class-static-block</code>,
<code>babel-plugin-transform-dotall-regex</code>,
<code>babel-plugin-transform-duplicate-named-capturing-groups-regex</code>,
<code>babel-plugin-transform-explicit-resource-management</code>,
<code>babel-plugin-transform-exponentiation-operator</code>,
<code>babel-plugin-transform-json-strings</code>,
<code>babel-plugin-transform-logical-assignment-operators</code>,
<code>babel-plugin-transform-nullish-coalescing-operator</code>,
<code>babel-plugin-transform-numeric-separator</code>,
<code>babel-plugin-transform-object-rest-spread</code>,
<code>babel-plugin-transform-optional-catch-binding</code>,
<code>babel-plugin-transform-optional-chaining</code>,
<code>babel-plugin-transform-private-methods</code>,
<code>babel-plugin-transform-private-property-in-object</code>,
<code>babel-plugin-transform-regexp-modifiers</code>,
<code>babel-plugin-transform-unicode-property-regex</code>,
<code>babel-plugin-transform-unicode-sets-regex</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17580">#17580</a>
Allow Babel 8 in compatible Babel 7 plugins (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:running_woman: Performance</h4>
<ul>
<li><code>babel-plugin-transform-react-jsx</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17555">#17555</a>
perf: Use lighter traversal for jsx <code>__source,__self</code> (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 7</h4>
<ul>
<li>Babel Bot (<a
href="https://github.com/babel-bot"><code>@​babel-bot</code></a>)</li>
<li>Eliot Pontarelli (<a
href="https://github.com/kolvian"><code>@​kolvian</code></a>)</li>
<li>Huáng Jùnliàng (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li>Kadhirash Sivakumar (<a
href="https://github.com/kadhirash"><code>@​kadhirash</code></a>)</li>
<li>Nicolò Ribaudo (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
<li><a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a></li>
<li>coderaiser (<a
href="https://github.com/coderaiser"><code>@​coderaiser</code></a>)</li>
</ul>
<h2>v7.28.5 (2025-10-23)</h2>
<p>Thank you <a
href="https://github.com/CO0Ki3"><code>@​CO0Ki3</code></a>, <a
href="https://github.com/Olexandr88"><code>@​Olexandr88</code></a>, and
<a href="https://github.com/youthfulhps"><code>@​youthfulhps</code></a>
for your first PRs!</p>
<h4>:eyeglasses: Spec Compliance</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17446">#17446</a>
Allow <code>Runtime Errors for Function Call Assignment Targets</code>
(<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-validator-identifier</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17501">#17501</a>
fix: update identifier to unicode 17 (<a
href="https://github.com/fisker"><code>@​fisker</code></a>)</li>
</ul>
</li>
</ul>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-plugin-proposal-destructuring-private</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17534">#17534</a>
Allow mixing private destructuring and rest (<a
href="https://github.com/CO0Ki3"><code>@​CO0Ki3</code></a>)</li>
</ul>
</li>
<li><code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17521">#17521</a>
Improve <code>@babel/parser</code> error typing (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li><a
href="https://redirect.github.com/babel/babel/pull/17491">#17491</a>
fix: improve ts-only declaration parsing (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-proposal-discard-binding</code>,
<code>babel-plugin-transform-destructuring</code></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/babel/babel/commit/d7f400889567ae18ef9ac41b024b5120f6060e17"><code>d7f4008</code></a>
v7.28.6</li>
<li>See full diff in <a
href="https://github.com/babel/babel/commits/v7.28.6/packages/babel-runtime-corejs3">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by [GitHub Actions](<a
href="https://www.npmjs.com/~GitHub">https://www.npmjs.com/~GitHub</a>
Actions), a new releaser for <code>@​babel/runtime-corejs3</code> since
your current version.</p>
</details>
<br />

Updates `core-js` from 3.47.0 to 3.48.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/zloirock/core-js/blob/master/CHANGELOG.md">core-js's
changelog</a>.</em></p>
<blockquote>
<h3><a
href="https://github.com/zloirock/core-js/releases/tag/v3.48.0">3.48.0 -
2026.01.21</a></h3>
<ul>
<li>Changes <a
href="https://github.com/zloirock/core-js/compare/v3.47.0...v3.48.0">v3.47.0...v3.48.0</a>
(126 commits)</li>
<li><a href="https://github.com/tc39/proposal-upsert"><code>Map</code>
upsert proposal</a>:
<ul>
<li>Built-ins:
<ul>
<li><code>Map.prototype.getOrInsert</code></li>
<li><code>Map.prototype.getOrInsertComputed</code></li>
<li><code>WeakMap.prototype.getOrInsert</code></li>
<li><code>WeakMap.prototype.getOrInsertComputed</code></li>
</ul>
</li>
<li>Moved to stable ES, <a
href="https://github.com/tc39/proposals/commit/131e53d6c9e658c6439831a167ed3f7897daf160">January
2026 TC39 meeting</a></li>
<li>Added <code>es.</code> namespace modules, <code>/es/</code> and
<code>/stable/</code> namespaces entries</li>
</ul>
</li>
<li>Use <code>CreateDataProperty</code> /
<code>CreateDataPropertyOrThrow</code> in some missed cases, <a
href="https://redirect.github.com/zloirock/core-js/issues/1497">#1497</a></li>
<li>Minor fix / optimization in the <code>RegExp</code> constructor (NCG
and <code>dotAll</code>) polyfill</li>
<li>Added some more workarounds for a Safari &lt; 13 bug with silent
ignore of non-writable array <code>.length</code></li>
<li>Added detection of a Webkit <a
href="https://bugs.webkit.org/show_bug.cgi?id=297532">bug</a>:
<code>Iterator.prototype.flatMap</code> throws on iterator without
<code>return</code> method</li>
<li>Added detection of a V8 ~ Chromium &lt; 144 <a
href="https://issues.chromium.org/issues/454630441">bug</a>:
<code>Uint8Array.prototype.setFromHex</code> throws an error on
length-tracking views over ResizableArrayBuffer</li>
<li>Compat data improvements:
<ul>
<li><a href="https://github.com/tc39/proposal-upsert"><code>Map</code>
upsert proposal</a> features marked as <a
href="https://issues.chromium.org/issues/434977728#comment4">shipped in
V8 ~ Chrome 145</a></li>
<li><a href="https://github.com/tc39/proposal-joint-iteration">Joint
iteration proposal</a> features marked as <a
href="https://bugzilla.mozilla.org/show_bug.cgi?id=2003333#c8">shipped
in FF148</a></li>
<li><a
href="https://github.com/tc39/proposal-iterator-sequencing"><code>Iterator.concat</code></a>
marked as shipped in Bun 1.3.7</li>
<li>Added <a
href="https://github.com/mozilla/rhino/releases/tag/Rhino1_9_0_Release">Rhino
1.9.0</a> compat data</li>
<li>Added <a
href="https://github.com/denoland/deno/releases/tag/v2.6.0">Deno 2.6</a>
compat data mapping</li>
<li>Added Opera Android <a
href="https://forums.opera.com/topic/87267/opera-for-android-93">93</a>
and <a
href="https://forums.opera.com/topic/87678/opera-for-android-94">94</a>
compat data mapping</li>
<li>Added Electron 41 compat data mapping</li>
<li><code>Iterator.prototype.flatMap</code> marked as supported from
Safari 26.2 and Bun 1.2.21 because of a <a
href="https://bugs.webkit.org/show_bug.cgi?id=297532">bug</a>: throws on
iterator without <code>return</code> method</li>
<li><code>Uint8Array.prototype.setFromHex</code> marked as supported
from V8 ~ Chromium 144 because of a <a
href="https://issues.chromium.org/issues/454630441">bug</a>: throws an
error on length-tracking views over ResizableArrayBuffer</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/zloirock/core-js/commit/5d657da9e5ab5ac2f1657ba81821ecc50960b3ad"><code>5d657da</code></a>
v3.48.0</li>
<li><a
href="https://github.com/zloirock/core-js/commit/5644e73d977a0fc2e3bc9354aed678a4ce6ee0b1"><code>5644e73</code></a>
Add bug detection for <code>Uint8Array.prototype.setFromHex</code></li>
<li><a
href="https://github.com/zloirock/core-js/commit/804a10e6e54e03c1e426b0788bae1282dface839"><code>804a10e</code></a>
Merge pull request <a
href="https://github.com/zloirock/core-js/tree/HEAD/packages/core-js/issues/1501">#1501</a>
from zloirock/flat-map-fix</li>
<li><a
href="https://github.com/zloirock/core-js/commit/45d7fe314e97d65eff26ceb9b6ae1849c856bb20"><code>45d7fe3</code></a>
Add bug detection to Iterator flatMap method</li>
<li><a
href="https://github.com/zloirock/core-js/commit/efd9c2f14c2cd4d26a4893a60ab8ef5313de0c26"><code>efd9c2f</code></a>
move <code>Map</code> upsert proposal to stable ES</li>
<li><a
href="https://github.com/zloirock/core-js/commit/dcb938dc68ff4ef957095712be2f3d7cc3985caa"><code>dcb938d</code></a>
update the year and normalize the copyright wording</li>
<li><a
href="https://github.com/zloirock/core-js/commit/5454a5d20f468dd4556441c85cbecd437adb40c3"><code>5454a5d</code></a>
add some more workarounds for a Safari &lt; 13 bug with silent ignore of
non-wri...</li>
<li><a
href="https://github.com/zloirock/core-js/commit/73d4b6c4f5c729aad6ff1be7648f8a51a0aed38a"><code>73d4b6c</code></a>
add some more <code>createProperty</code> cases</li>
<li><a
href="https://github.com/zloirock/core-js/commit/9c89290d70612e6ac9f7ebf6215f63dc71965693"><code>9c89290</code></a>
fix: spec compliance for Array.prototype.flat and flatMap</li>
<li><a
href="https://github.com/zloirock/core-js/commit/e3774ce67d77fe3bd5f89aa36488ef5ebbb0ba35"><code>e3774ce</code></a>
fix: use createProperty in Array.prototype.filter</li>
<li>Additional commits viewable in <a
href="https://github.com/zloirock/core-js/commits/v3.48.0/packages/core-js">compare
view</a></li>
</ul>
</details>
<br />

Updates `globals` from 17.1.0 to 17.2.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sindresorhus/globals/releases">globals's
releases</a>.</em></p>
<blockquote>
<h2>v17.2.0</h2>
<ul>
<li><code>jasmine</code>: Add <code>throwUnless</code> and
<code>throwUnlessAsync</code> globals (<a
href="https://redirect.github.com/sindresorhus/globals/issues/335">#335</a>)
97f23a7</li>
</ul>
<hr />
<p><a
href="https://github.com/sindresorhus/globals/compare/v17.1.0...v17.2.0">https://github.com/sindresorhus/globals/compare/v17.1.0...v17.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sindresorhus/globals/commit/8176ac7290e6eb0be1403b80a4184651c4cd95f6"><code>8176ac7</code></a>
17.2.0</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/97f23a759b37c2b6c30845cdc5172fd862d5c5e2"><code>97f23a7</code></a>
<code>jasmine</code>: Add <code>throwUnless</code> and
<code>throwUnlessAsync</code> globals (<a
href="https://redirect.github.com/sindresorhus/globals/issues/335">#335</a>)</li>
<li>See full diff in <a
href="https://github.com/sindresorhus/globals/compare/v17.1.0...v17.2.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `jsdom` from 27.3.0 to 27.4.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jsdom/jsdom/releases">jsdom's
releases</a>.</em></p>
<blockquote>
<h2>Version 27.4.0</h2>
<ul>
<li>Added <code>TextEncoder</code> and <code>TextDecoder</code>.</li>
<li>Improved decoding of HTML bytes by using the new <a
href="https://www.npmjs.com/package/@exodus/bytes"><code>@exodus/bytes</code></a>
package; it is now much more correct. (ChALkeR)</li>
<li>Improved decoding of XML bytes to use UTF-8 more often, instead of
sniffing for <code>&lt;meta charset&gt;</code> or using the parent
frame's encoding.</li>
<li>Fixed a memory leak when <code>Range</code>s were used and then the
elements referred to by those ranges were removed.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jsdom/jsdom/blob/main/Changelog.md">jsdom's
changelog</a>.</em></p>
<blockquote>
<h2>27.4.0</h2>
<ul>
<li>Added <code>TextEncoder</code> and <code>TextDecoder</code>.</li>
<li>Improved decoding of HTML bytes by using the new <a
href="https://www.npmjs.com/package/@exodus/bytes"><code>@exodus/bytes</code></a>
package; it is now much more correct. (ChALkeR)</li>
<li>Improved decoding of XML bytes to use UTF-8 more often, instead of
sniffing for <code>&lt;meta charset&gt;</code> or using the parent
frame's encoding.</li>
<li>Fixed a memory leak when <code>Range</code>s were used and then the
elements referred to by those ranges were removed.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jsdom/jsdom/commit/098d16d6b86c5f215d48658c3005cb54b1325603"><code>098d16d</code></a>
Version 27.4.0</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/1cd029efb72314840c46730d72f9684c60635c54"><code>1cd029e</code></a>
Improve asciiLowercase/asciiUppercase performance</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/83fcb627264def824fd80366b33c29ccb5c6dd01"><code>83fcb62</code></a>
Implement TextEncoder and TextDecoder; improve XML decoding</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/ddad97df73368768c5107e3d141b6bb994164c4d"><code>ddad97d</code></a>
Switch from iconv-lite to exodus/bytes for decoding</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/25cb2a1c2b2944ab218b347a602accb736cdaa92"><code>25cb2a1</code></a>
Use weak references for ranges</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/ed4f5ed66d0b5b3ee888389a27850fe17253c357"><code>ed4f5ed</code></a>
Add currently-failing CSS regression tests</li>
<li>See full diff in <a
href="https://github.com/jsdom/jsdom/compare/27.3.0...27.4.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `prettier` from 3.7.4 to 3.8.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/releases">prettier's
releases</a>.</em></p>
<blockquote>
<h2>3.8.1</h2>
<ul>
<li>Include available <code>printers</code> in plugin type declarations
(<a
href="https://redirect.github.com/prettier/prettier/pull/18706">#18706</a>
by <a href="https://github.com/porada"><code>@​porada</code></a>)</li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md#381">Changelog</a></p>
<h2>3.8.0</h2>
<ul>
<li>Support Angular v21.1</li>
</ul>
<p><a
href="https://github.com/prettier/prettier/compare/3.7.4...3.8.0">diff</a></p>
<p>🔗 <a href="https://prettier.io/blog/2026/01/14/3.8.0">Release note
&quot;Prettier 3.8: Support for Angular v21.1&quot;</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md">prettier's
changelog</a>.</em></p>
<blockquote>
<h1>3.8.1</h1>
<p><a
href="https://github.com/prettier/prettier/compare/3.8.0...3.8.1">diff</a></p>
<h4>Include available <code>printers</code> in plugin type declarations
(<a
href="https://redirect.github.com/prettier/prettier/pull/18706">#18706</a>
by <a href="https://github.com/porada"><code>@​porada</code></a>)</h4>
<!-- raw HTML omitted -->
<pre lang="ts"><code>// Input
import * as prettierPluginEstree from
&quot;prettier/plugins/estree&quot;;
<p>// Prettier 3.8.0
// Property 'printers' does not exist on type 'typeof
import(&quot;prettier/plugins/estree&quot;)'. ts(2339)
prettierPluginEstree.printers.estree; //=&gt; any</p>
<p>// Prettier 3.8.1
prettierPluginEstree.printers.estree; //=&gt; Printer
prettierPluginEstree.printers[&quot;estree-json&quot;]; //=&gt; Printer
</code></pre></p>
<h1>3.8.0</h1>
<p><a
href="https://github.com/prettier/prettier/compare/3.7.4...3.8.0">diff</a></p>
<p>🔗 <a href="https://prettier.io/blog/2026/01/14/3.8.0">Release
Notes</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/prettier/prettier/commit/90983f40dce5e20beea4e5618b5e0426a6a7f4f0"><code>90983f4</code></a>
Release 3.8.1</li>
<li><a
href="https://github.com/prettier/prettier/commit/57f702f7656e6fc03873f8121480c321b2f44c8c"><code>57f702f</code></a>
Include available <code>printers</code> in plugin type declarations (<a
href="https://redirect.github.com/prettier/prettier/issues/18706">#18706</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/bece82785141274c12956b0af3bae77a44ae3a9e"><code>bece827</code></a>
Revert change in release script</li>
<li><a
href="https://github.com/prettier/prettier/commit/82a4ab26f1e7fccd0041272de12a3c6b942e622b"><code>82a4ab2</code></a>
Bump Prettier dependency to 3.8.0</li>
<li><a
href="https://github.com/prettier/prettier/commit/5213ee463c653f47e1821de414a4f30573f83337"><code>5213ee4</code></a>
Clean changelog_unreleased</li>
<li><a
href="https://github.com/prettier/prettier/commit/f95ad0f8e1dd9fb5507e7088f42f91fa6b5f3cb0"><code>f95ad0f</code></a>
Comment out finished steps</li>
<li><a
href="https://github.com/prettier/prettier/commit/b2034e819aef944fe1fe3bbf532118885a854f64"><code>b2034e8</code></a>
Fix release script</li>
<li><a
href="https://github.com/prettier/prettier/commit/5824b15189303d52892ffbc0812751533666c674"><code>5824b15</code></a>
Release 3.8.0</li>
<li><a
href="https://github.com/prettier/prettier/commit/04336012b351529f624eaeb3ac9af52a5b7b7c01"><code>0433601</code></a>
Add blog post for v3.8.0 (<a
href="https://redirect.github.com/prettier/prettier/issues/18639">#18639</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/b04d05b831f1476ac6e24e1211972bfdd475c9b8"><code>b04d05b</code></a>
Remove lint step from release script (<a
href="https://redirect.github.com/prettier/prettier/issues/18415">#18415</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/prettier/prettier/compare/3.7.4...3.8.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `selenium-webdriver` from 4.39.0 to 4.40.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/SeleniumHQ/selenium/releases">selenium-webdriver's
releases</a>.</em></p>
<blockquote>
<h2>Selenium 4.40.0</h2>
<h2>Detailed Changelogs by Component</h2>
<p><!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG">Java</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES">Python</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG">DotNet</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES">Ruby</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md">JavaScript</a></strong>
<!-- raw HTML omitted --></p>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<!-- raw HTML omitted -->
<ul>
<li>[dotnet] Modernize <code>EnvironmentManager</code>, standardize
assembly teardown by <a
href="https://github.com/RenderMichael"><code>@​RenderMichael</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/15551">SeleniumHQ/selenium#15551</a></li>
<li>[java] Refactor tests by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16684">SeleniumHQ/selenium#16684</a></li>
<li>[ci]: bump cargo lockfile by <a
href="https://github.com/navin772"><code>@​navin772</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16698">SeleniumHQ/selenium#16698</a></li>
<li>[java][BiDi] change emulation commands return type to void by <a
href="https://github.com/Delta456"><code>@​Delta456</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16699">SeleniumHQ/selenium#16699</a></li>
<li>[java] simplify strings processing by <a
href="https://github.com/iampopovich"><code>@​iampopovich</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/15309">SeleniumHQ/selenium#15309</a></li>
<li>Fix few more flaky ruby tests by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16695">SeleniumHQ/selenium#16695</a></li>
<li>[bazel] Switch to custom <code>closure_js_deps</code> rule by <a
href="https://github.com/shs96c"><code>@​shs96c</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16571">SeleniumHQ/selenium#16571</a></li>
<li>[dotnet] [bidi] Support SetScreenSettingsOverrideAsync method in
Emulation module by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16704">SeleniumHQ/selenium#16704</a></li>
<li>[dotnet] Modernize code patterns in test suites by <a
href="https://github.com/RenderMichael"><code>@​RenderMichael</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16701">SeleniumHQ/selenium#16701</a></li>
<li>use proper AssertJ asserts that generate a useful error message by
<a href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16707">SeleniumHQ/selenium#16707</a></li>
<li>fix Java language level in IDEA by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16708">SeleniumHQ/selenium#16708</a></li>
<li>[py] Properly verify Selenium Manager exists by <a
href="https://github.com/cgoldberg"><code>@​cgoldberg</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16711">SeleniumHQ/selenium#16711</a></li>
<li>fix flaky Ruby test <code>element_spec.rb</code> by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16709">SeleniumHQ/selenium#16709</a></li>
<li>[java][BiDi] implement
<code>emulation.setScreenOrientationOverride</code> by <a
href="https://github.com/Delta456"><code>@​Delta456</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16705">SeleniumHQ/selenium#16705</a></li>
<li>[rb] add synchronization and error handling for socket interactions
by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16487">SeleniumHQ/selenium#16487</a></li>
<li>[rb] mark low level bidi implementation as private api by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16475">SeleniumHQ/selenium#16475</a></li>
<li>[rb] ensure driver process is always stopped by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/15635">SeleniumHQ/selenium#15635</a></li>
<li>[rb] create user-friendly method for enabling bidi by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/14284">SeleniumHQ/selenium#14284</a></li>
<li>[dotnet] [bidi] Added missing Script.RemoteReference LocaclValue
type by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16717">SeleniumHQ/selenium#16717</a></li>
<li>[dotnet] Standardize <code>IEquatable&lt;T&gt;</code>
implementations across types overriding Equals by <a
href="https://github.com/RenderMichael"><code>@​RenderMichael</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16665">SeleniumHQ/selenium#16665</a></li>
<li>[dotnet] Fix nullability warnings in <code>WebDriver</code> by <a
href="https://github.com/RenderMichael"><code>@​RenderMichael</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16662">SeleniumHQ/selenium#16662</a></li>
<li>[py] Don't compare object identity in conftest by <a
href="https://github.com/cgoldberg"><code>@​cgoldberg</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16723">SeleniumHQ/selenium#16723</a></li>
<li><a
href="https://redirect.github.com/SeleniumHQ/selenium/issues/16720">#16720</a>
avoid failing because of temporary Chrome internal files by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16722">SeleniumHQ/selenium#16722</a></li>
<li>[rb] Add force encoding to remove warnings caused by json 3.0 by <a
href="https://github.com/aguspe"><code>@​aguspe</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16728">SeleniumHQ/selenium#16728</a></li>
<li>[py] Remove deprecated FTP proxy support by <a
href="https://github.com/cgoldberg"><code>@​cgoldberg</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16721">SeleniumHQ/selenium#16721</a></li>
<li>[py] Bump ruff and mypy versions by <a
href="https://github.com/cgoldberg"><code>@​cgoldberg</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16737">SeleniumHQ/selenium#16737</a></li>
<li>Create target directories before copying file by <a
href="https://github.com/MohabMohie"><code>@​MohabMohie</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16739">SeleniumHQ/selenium#16739</a></li>
<li>[bazel+closure]: Vendor the version of closure library we use by <a
href="https://github.com/shs96c"><code>@​shs96c</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16742">SeleniumHQ/selenium#16742</a></li>
<li>[closure] Fix failing <code>//javascript/atoms:test-*</code> targets
by <a href="https://github.com/shs96c"><code>@​shs96c</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16749">SeleniumHQ/selenium#16749</a></li>
<li>Avoid sleep in tests by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16713">SeleniumHQ/selenium#16713</a></li>
<li>[bazel] Bump <code>rules_closure</code> and google closure libary to
latest release by <a
href="https://github.com/shs96c"><code>@​shs96c</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16755">SeleniumHQ/selenium#16755</a></li>
<li>[refactor] call WebDriverException constructor instead of using
reflection by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16763">SeleniumHQ/selenium#16763</a></li>
<li>[build] Pin Browsers in Bazel by default by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16743">SeleniumHQ/selenium#16743</a></li>
<li>[build] build selenium manager for tests by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16736">SeleniumHQ/selenium#16736</a></li>
<li>[refactor] replace JUnit assertions by AssertJ by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16765">SeleniumHQ/selenium#16765</a></li>
<li>[py] Add LocalWebDriver base class by <a
href="https://github.com/cgoldberg"><code>@​cgoldberg</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16730">SeleniumHQ/selenium#16730</a></li>
<li>Fix bug in FileHandler: it always failed on MacOS by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16771">SeleniumHQ/selenium#16771</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/b3333f1c50b5ffa9c9cdaf325da79a84a4ec5ba1"><code>b3333f1</code></a>
[build] Prepare for release of Selenium 4.40 (<a
href="https://redirect.github.com/SeleniumHQ/selenium/issues/16931">#16931</a>)</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/1229133ce3f58d2e24a126168c75bb790bf836d7"><code>1229133</code></a>
[build] manual trigger job needs an approval step to limit</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/1cc4bc7bfc96d7299558639de445ea577a749fb4"><code>1cc4bc7</code></a>
[build] remove ruby remote tests from CI</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/bcd0976dfd3350f2590673fa80804ca290b13233"><code>bcd0976</code></a>
[build] use rulesets to restrict and unrestrict trunk during release
window (...</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/47dbd0d467006025d568914347a2adedad3590bb"><code>47dbd0d</code></a>
[dotnet] [bidi] Expose Input module in root BiDi class (<a
href="https://redirect.github.com/SeleniumHQ/selenium/issues/16940">#16940</a>)</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/1fefb89de6e5ae51b6bb55aceb6a3e8bc5cb1df9"><code>1fefb89</code></a>
[dotnet] [bidi] FileDialogOpened event in Input module (<a
href="https://redirect.github.com/SeleniumHQ/selenium/issues/16934">#16934</a>)</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/691fb1cd6d87098ded9562b7ced9ea0d89ccf315"><code>691fb1c</code></a>
[grid] Improve race conditions in Grid session distribution (<a
href="https://redirect.github.com/SeleniumHQ/selenium/issues/16939">#16939</a>)</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/aaeb4a5285c607cd311ca7fd63c47de4816ca49d"><code>aaeb4a5</code></a>
[build] ensure compatible edge browser and driver when pinning</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/492b6c4aa0dae0899e7c531befb691afc45e3fc6"><code>492b6c4</code></a>
[dotnet] fix syntax issue with bazel target preventing build</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/631c5b011e6a299f3b65c0e06ddb2a97f2b0b7ac"><code>631c5b0</code></a>
[java] sanitize descriptions before using them in JavaDoc comments</li>
<li>Additional commits viewable in <a
href="https://github.com/SeleniumHQ/selenium/compare/selenium-4.39.0...selenium-4.40.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Added a new rule to check that `aria-tab` nodes have an accessible name.

Closes: [#4842](#4842)
Closes: #4996


- **Avoid calling cloneNode when retrieving source**
- Add a new utils.getElementSource (which works even if the tree is not
constructed
- Made sure getElementSource works with namespaces and non-node elements
- Check each attribute if it fits in the truncated source, instead of
stopping at the first that doesn't fit

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
)

When a child element is also referenced via aria-owns, getOwnedVirtual
returned the same node twice. Filter aria-owns references that already
exist in children using Set.

Closes: #4840

---------

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
…play:inline (#5012)

This pr does two things:

1. For target size we decided to calculate the visible unobscured rects
by taking the bounding rect of the target and subtracting the client
rects of the obscurer if the obscurer is inline. This is because an
inline element only accepts pointer events on the client rects and not
the bounding rect. For the target we still take the bounding rect and
not the client rects if the target is inline because we both agreed that
the goal of the target size rule is to prevent clicking on the wrong
target and not that the target itself is large enough to click on. So an
inline element with multiple lines would have dead pointer zones within
it, but accidentally clicking on a dead zone is not a failure of target
size.
2. This also applies using client rects for inline elements for the
spacing exception for the same reasons as above. What this does is allow
checking multiple target rects for inline nodes and makes sure each rect
passes the spacing exception. If at least one rect does not pass the
rule fails for that element.

Closes: #4928
…th unallowed children (#5017)

Updated existing rule for aria-required-children for cases where the
aria-busy attribute is used. This now will show the user a specific
error message regarding aria-busy with unallowed children instead of the
one for used for other cases using unallowed children.

Replaces PR: [5011](#5011)

Closes: #4626
Similar to our fix in
[axe-core-npm](dequelabs/axe-core-npm#1291) this
pins chrome/driver to v145 in order to fix the failing tests due to
chromedriver crashing or failing to create a session. It also fixes the
memory issue in #5018 and
adds some chrome options that are good for ci usage. I also created a
tech debt ticket to track the pin.

See
https://github.com/dequelabs/axe-core/actions/runs/22737133182?pr=5026
that it shows 10 successful runs.

Closes: #501
Bumps [jsdom](https://github.com/jsdom/jsdom) from 27.4.0 to 28.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jsdom/jsdom/releases">jsdom's
releases</a>.</em></p>
<blockquote>
<h2>Version 28.1.0</h2>
<ul>
<li>Added <code>blob.text()</code>, <code>blob.arrayBuffer()</code>, and
<code>blob.bytes()</code> methods.</li>
<li>Improved <code>getComputedStyle()</code> to account for CSS
specificity when multiple rules apply. (asamuzaK)</li>
<li>Improved synchronous <code>XMLHttpRequest</code> performance by
using a persistent worker thread, avoiding ~400ms of setup overhead on
every synchronous request after the first one.</li>
<li>Improved performance of <code>node.getRootNode()</code>,
<code>node.isConnected</code>, and <code>event.dispatchEvent()</code> by
caching the root node of document-connected trees.</li>
<li>Fixed <code>getComputedStyle()</code> to correctly handle
<code>!important</code> priority. (asamuzaK)</li>
<li>Fixed <code>document.getElementById()</code> to return the first
element in tree order when multiple elements share the same ID.</li>
<li>Fixed <code>&lt;svg&gt;</code> elements to no longer incorrectly
proxy event handlers to the <code>Window</code>.</li>
<li>Fixed <code>FileReader</code> event timing and
<code>fileReader.result</code> state to more closely follow the
spec.</li>
<li>Fixed a potential hang when synchronous <code>XMLHttpRequest</code>
encountered dispatch errors.</li>
<li>Fixed compatibility with environments where Node.js's built-in
<code>fetch()</code> has been used before importing jsdom, by working
around undici v6/v7 incompatibilities.</li>
</ul>
<h2>Version 28.0.0</h2>
<ul>
<li>Overhauled resource loading customization. See <a
href="https://github.com/jsdom/jsdom/blob/2b65c6a80af2c899e32933c5e0cb842164852149/README.md#loading-subresources">the
new README</a> for details on the new API.</li>
<li>Added MIME type sniffing to <code>&lt;iframe&gt;</code> and
<code>&lt;frame&gt;</code> loads.</li>
<li>Regression: <code>WebSocket</code>s are no longer correctly
throttled to one connection per origin. This is a result of the bug at
<a
href="https://redirect.github.com/nodejs/undici/issues/4743">nodejs/undici#4743</a>.</li>
<li>Fixed decoding of the query components of <code>&lt;a&gt;</code> and
<code>&lt;area&gt;</code> elements in non-UTF-8 documents.</li>
<li>Fixed <code>XMLHttpRequest</code> fetches and <code>WebSocket</code>
upgrade requests to be interceptable by the new customizable resource
loading. (Except synchronous <code>XMLHttpRequest</code>s.)</li>
<li>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.</li>
<li>Fixed correctness bugs when passing <code>ArrayBuffer</code>s or
typed arrays to various APIs, where they would not correctly snapshot
the data.</li>
<li>Fixed <code>require(&quot;url&quot;).parse()</code> deprecation
warning when using <code>WebSocket</code>s.</li>
<li>Fixed <code>&lt;iframe&gt;</code>, <code>&lt;frame&gt;</code>, and
<code>&lt;img&gt;</code> (when <code>canvas</code> is installed) to fire
<code>load</code> events, not <code>error</code> events, on non-OK HTTP
responses.</li>
<li>Fixed many small issues in <code>XMLHttpRequest</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jsdom/jsdom/blob/main/Changelog.md">jsdom's
changelog</a>.</em></p>
<blockquote>
<h2>28.1.0</h2>
<ul>
<li>Added <code>blob.text()</code>, <code>blob.arrayBuffer()</code>, and
<code>blob.bytes()</code> methods.</li>
<li>Improved <code>getComputedStyle()</code> to account for CSS
specificity when multiple rules apply. (asamuzaK)</li>
<li>Improved synchronous <code>XMLHttpRequest</code> performance by
using a persistent worker thread, avoiding ~400ms of setup overhead on
every synchronous request after the first one.</li>
<li>Improved performance of <code>node.getRootNode()</code>,
<code>node.isConnected</code>, and <code>event.dispatchEvent()</code> by
caching the root node of document-connected trees.</li>
<li>Fixed <code>getComputedStyle()</code> to correctly handle
<code>!important</code> priority. (asamuzaK)</li>
<li>Fixed <code>document.getElementById()</code> to return the first
element in tree order when multiple elements share the same ID.</li>
<li>Fixed <code>&lt;svg&gt;</code> elements to no longer incorrectly
proxy event handlers to the <code>Window</code>.</li>
<li>Fixed <code>FileReader</code> event timing and
<code>fileReader.result</code> state to more closely follow the
spec.</li>
<li>Fixed a potential hang when synchronous <code>XMLHttpRequest</code>
encountered dispatch errors.</li>
<li>Fixed compatibility with environments where Node.js's built-in
<code>fetch()</code> has been used before importing jsdom, by working
around undici v6/v7 incompatibilities.</li>
</ul>
<h2>28.0.0</h2>
<ul>
<li>Overhauled resource loading customization. See <a
href="https://github.com/jsdom/jsdom/blob/2b65c6a80af2c899e32933c5e0cb842164852149/README.md#loading-subresources">the
new README</a> for details on the new API.</li>
<li>Added MIME type sniffing to <code>&lt;iframe&gt;</code> and
<code>&lt;frame&gt;</code> loads.</li>
<li>Regression: <code>WebSocket</code>s are no longer correctly
throttled to one connection per origin. This is a result of the bug at
<a
href="https://redirect.github.com/nodejs/undici/issues/4743">nodejs/undici#4743</a>.</li>
<li>Fixed decoding of the query components of <code>&lt;a&gt;</code> and
<code>&lt;area&gt;</code> elements in non-UTF-8 documents.</li>
<li>Fixed <code>XMLHttpRequest</code> fetches and <code>WebSocket</code>
upgrade requests to be interceptable by the new customizable resource
loading. (Except synchronous <code>XMLHttpRequest</code>s.)</li>
<li>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.</li>
<li>Fixed correctness bugs when passing <code>ArrayBuffer</code>s or
typed arrays to various APIs, where they would not correctly snapshot
the data.</li>
<li>Fixed <code>require(&quot;url&quot;).parse()</code> deprecation
warning when using <code>WebSocket</code>s.</li>
<li>Fixed <code>&lt;iframe&gt;</code>, <code>&lt;frame&gt;</code>, and
<code>&lt;img&gt;</code> (when <code>canvas</code> is installed) to fire
<code>load</code> events, not <code>error</code> events, on non-OK HTTP
responses.</li>
<li>Fixed many small issues in <code>XMLHttpRequest</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jsdom/jsdom/commit/12949b524ca234c15146dbbcc2aa756deb20fa03"><code>12949b5</code></a>
Version 28.1.0</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/ce4c58fac40002e024d32f50d11c6e9c5deaff89"><code>ce4c58f</code></a>
Apply CSS specificity when computing styles</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/7ed55a024e7fc1c9dcdbef81ad0399f83147c67b"><code>7ed55a0</code></a>
Skip single-byte-decoder encoding tests on Node 20</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/f3b1973ca073e163d817a0cf4fb3b94f34a8bcc5"><code>f3b1973</code></a>
Generalize node version conditions in test expectations</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/853c596a0688b1b4c9bc2455401eccb9a71debdc"><code>853c596</code></a>
Rewrite getElementById ID caching for tree-order correctness</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/5fbfde654e32c7da63f7d64a27deddcfcbe5188b"><code>5fbfde6</code></a>
Fix potential sync XHR worker hang from unhandled dispatch errors</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/82df38f756a9b47b595da021ca121f70f1430bca"><code>82df38f</code></a>
Cache the root node for document-connected trees</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/ed7c5c05209e59b5bcbaf7b44a0c38cd776e39b5"><code>ed7c5c0</code></a>
Add documentation comment to create-event-accessor.js</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/b4562e9e8f14d4194bdf21fc6682247d50505f0f"><code>b4562e9</code></a>
Simplify Window.js installEventHandlers</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/7da340fc6ef29cf502bc9df92999dd619512fde1"><code>7da340f</code></a>
Centralize &quot;determine the target of an event handler&quot;</li>
<li>Additional commits viewable in <a
href="https://github.com/jsdom/jsdom/compare/27.4.0...28.1.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom&package-manager=npm_and_yarn&previous-version=27.4.0&new-version=28.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the npm-low-risk group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [@axe-core/webdriverjs](https://github.com/dequelabs/axe-core-npm) |
`4.11.0` | `4.11.1` |
|
[@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core)
| `7.28.6` | `7.29.0` |
|
[@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env)
| `7.28.6` | `7.29.0` |
|
[@babel/runtime-corejs3](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3)
| `7.28.6` | `7.29.0` |
| [globals](https://github.com/sindresorhus/globals) | `17.2.0` |
`17.3.0` |
| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) |
`4.40.0` | `4.41.0` |

Updates `@axe-core/webdriverjs` from 4.11.0 to 4.11.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dequelabs/axe-core-npm/releases"><code>@​axe-core/webdriverjs</code>'s
releases</a>.</em></p>
<blockquote>
<h2>Release 4.11.1</h2>
<h3>Bug Fixes</h3>
<ul>
<li>reorder exports to place types first (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1261">#1261</a>)
(<a
href="https://github.com/dequelabs/axe-core-npm/commit/40d22e3cd6381796d731802efc71bc21c924025e">40d22e3</a>),
closes <a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1243">#1243</a></li>
<li>Update axe-core to v4.11.1 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1271">#1271</a>)
(<a
href="https://github.com/dequelabs/axe-core-npm/commit/77f577ed47510045e75b939fa97ac1d4f91b219b">77f577e</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/dequelabs/axe-core-npm/blob/develop/CHANGELOG.md"><code>@​axe-core/webdriverjs</code>'s
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/dequelabs/axe-core-npm/compare/v4.11.0...v4.11.1">4.11.1</a>
(2026-01-09)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>reorder exports to place types first (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1261">#1261</a>)
(<a
href="https://github.com/dequelabs/axe-core-npm/commit/40d22e3cd6381796d731802efc71bc21c924025e">40d22e3</a>),
closes <a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1243">#1243</a></li>
<li>Update axe-core to v4.11.1 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1271">#1271</a>)
(<a
href="https://github.com/dequelabs/axe-core-npm/commit/77f577ed47510045e75b939fa97ac1d4f91b219b">77f577e</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/66a3106a704e1d446f23cb151f96363425f42d02"><code>66a3106</code></a>
chore(release): v4.11.1 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1275">#1275</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/9a07fd719927e8b89db98ee325a9f0219870ef16"><code>9a07fd7</code></a>
chore: RC v4.11.1 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1272">#1272</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/999a563ddec8c7b431ee17f5e6ef9b79831a0beb"><code>999a563</code></a>
chore: applying release changes</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/26e0d0b0630c9ea50eb34b7edc44dcb68eb02a6b"><code>26e0d0b</code></a>
chore: RC v4.11.1</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/77f577ed47510045e75b939fa97ac1d4f91b219b"><code>77f577e</code></a>
fix: Update axe-core to v4.11.1 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1271">#1271</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/40d22e3cd6381796d731802efc71bc21c924025e"><code>40d22e3</code></a>
fix: reorder exports to place types first (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1261">#1261</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/bd80a5f74be0274ce657dc654bf6d4aef6fc97e7"><code>bd80a5f</code></a>
chore: rebuild lockfile (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1266">#1266</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/a73c6a8d47fd5b4d5299e1a9128e0486eb68eb0d"><code>a73c6a8</code></a>
chore: bump the npm-low-risk group across 1 directory with 27 updates
(<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1265">#1265</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/a80460d75a5cab7c6257ec3c0d5a39900d4c08e2"><code>a80460d</code></a>
chore: bump <code>@​wdio/mocha-framework</code> from 8.39.0 to 9.20.1
(<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1256">#1256</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/2199e1bd478465b580be7dc59f548942c52caaa5"><code>2199e1b</code></a>
chore: bump mocha from 9.2.2 to 11.7.5 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1257">#1257</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/dequelabs/axe-core-npm/compare/v4.11.0...v4.11.1">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by [GitHub Actions](<a
href="https://www.npmjs.com/~GitHub">https://www.npmjs.com/~GitHub</a>
Actions), a new releaser for <code>@​axe-core/webdriverjs</code> since
your current version.</p>
</details>
<br />

Updates `@babel/core` from 7.28.6 to 7.29.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/babel/babel/releases"><code>@​babel/core</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v7.29.0 (2026-01-31)</h2>
<p>Thanks <a
href="https://github.com/simbahax"><code>@​simbahax</code></a> for your
first PR!</p>
<h4>:rocket: New Feature</h4>
<ul>
<li><code>babel-types</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17750">#17750</a>
[7.x backport] Add attributes import declaration builder (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-standalone</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17663">#17663</a>
[7.x backport] feat(standalone): export async transform (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li><a
href="https://redirect.github.com/babel/babel/pull/17725">#17725</a>
[7.x backport] feat: read standalone targets from data-targets (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17765">#17765</a>
fix(parser): correctly parse type assertions in <code>extends</code>
clause (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
<li><a
href="https://redirect.github.com/babel/babel/pull/17723">#17723</a>
[7.x backport] fix(parser): improve super type argument parsing (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17708">#17708</a>
fix(traverse): provide a hub when traversing a File or Program and no
parentPath is given (<a
href="https://github.com/simbahax"><code>@​simbahax</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-block-scoping</code>,
<code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17737">#17737</a>
[7.x backport] fix: Rename switch discriminant references when body
creates shadowing variable (<a
href="https://github.com/magic-akari"><code>@​magic-akari</code></a>)</li>
</ul>
</li>
</ul>
<h4>:running_woman: Performance</h4>
<ul>
<li><code>babel-generator</code>, <code>babel-runtime-corejs3</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17642">#17642</a>
[Babel 7] Improve generator performance (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 6</h4>
<ul>
<li>David (<a
href="https://github.com/simbahax"><code>@​simbahax</code></a>)</li>
<li>Huáng Jùnliàng (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li>Nicolò Ribaudo (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
<li><a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a></li>
<li><a
href="https://github.com/magic-akari"><code>@​magic-akari</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/babel/babel/commit/aa8394e454337d118ac3d40bfa3ee1a3cb3f3ed2"><code>aa8394e</code></a>
v7.29.0</li>
<li><a
href="https://github.com/babel/babel/commit/ad0d03f0c92404a60ec6b1c12f15febd38e2397a"><code>ad0d03f</code></a>
[7.x backport] feat: Allow specifying startLine in code frame (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/17739">#17739</a>)</li>
<li>See full diff in <a
href="https://github.com/babel/babel/commits/v7.29.0/packages/babel-core">compare
view</a></li>
</ul>
</details>
<br />

Updates `@babel/preset-env` from 7.28.6 to 7.29.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/babel/babel/releases"><code>@​babel/preset-env</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v7.29.0 (2026-01-31)</h2>
<p>Thanks <a
href="https://github.com/simbahax"><code>@​simbahax</code></a> for your
first PR!</p>
<h4>:rocket: New Feature</h4>
<ul>
<li><code>babel-types</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17750">#17750</a>
[7.x backport] Add attributes import declaration builder (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-standalone</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17663">#17663</a>
[7.x backport] feat(standalone): export async transform (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li><a
href="https://redirect.github.com/babel/babel/pull/17725">#17725</a>
[7.x backport] feat: read standalone targets from data-targets (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17765">#17765</a>
fix(parser): correctly parse type assertions in <code>extends</code>
clause (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
<li><a
href="https://redirect.github.com/babel/babel/pull/17723">#17723</a>
[7.x backport] fix(parser): improve super type argument parsing (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17708">#17708</a>
fix(traverse): provide a hub when traversing a File or Program and no
parentPath is given (<a
href="https://github.com/simbahax"><code>@​simbahax</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-block-scoping</code>,
<code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17737">#17737</a>
[7.x backport] fix: Rename switch discriminant references when body
creates shadowing variable (<a
href="https://github.com/magic-akari"><code>@​magic-akari</code></a>)</li>
</ul>
</li>
</ul>
<h4>:running_woman: Performance</h4>
<ul>
<li><code>babel-generator</code>, <code>babel-runtime-corejs3</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17642">#17642</a>
[Babel 7] Improve generator performance (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 6</h4>
<ul>
<li>David (<a
href="https://github.com/simbahax"><code>@​simbahax</code></a>)</li>
<li>Huáng Jùnliàng (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li>Nicolò Ribaudo (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
<li><a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a></li>
<li><a
href="https://github.com/magic-akari"><code>@​magic-akari</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/babel/babel/commit/aa8394e454337d118ac3d40bfa3ee1a3cb3f3ed2"><code>aa8394e</code></a>
v7.29.0</li>
<li><a
href="https://github.com/babel/babel/commit/0053db620c05acf0036f593b5aaf4e372daa79d0"><code>0053db6</code></a>
Update polyfill packages (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17727">#17727</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/f3a22268bdc4fc6748cbc2be718a4d1090bdaf00"><code>f3a2226</code></a>
[babel 7] Delete Babel 8 fixtures (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17729">#17729</a>)</li>
<li>See full diff in <a
href="https://github.com/babel/babel/commits/v7.29.0/packages/babel-preset-env">compare
view</a></li>
</ul>
</details>
<br />

Updates `@babel/runtime-corejs3` from 7.28.6 to 7.29.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/babel/babel/releases"><code>@​babel/runtime-corejs3</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v7.29.0 (2026-01-31)</h2>
<p>Thanks <a
href="https://github.com/simbahax"><code>@​simbahax</code></a> for your
first PR!</p>
<h4>:rocket: New Feature</h4>
<ul>
<li><code>babel-types</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17750">#17750</a>
[7.x backport] Add attributes import declaration builder (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-standalone</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17663">#17663</a>
[7.x backport] feat(standalone): export async transform (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li><a
href="https://redirect.github.com/babel/babel/pull/17725">#17725</a>
[7.x backport] feat: read standalone targets from data-targets (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17765">#17765</a>
fix(parser): correctly parse type assertions in <code>extends</code>
clause (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
<li><a
href="https://redirect.github.com/babel/babel/pull/17723">#17723</a>
[7.x backport] fix(parser): improve super type argument parsing (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17708">#17708</a>
fix(traverse): provide a hub when traversing a File or Program and no
parentPath is given (<a
href="https://github.com/simbahax"><code>@​simbahax</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-block-scoping</code>,
<code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17737">#17737</a>
[7.x backport] fix: Rename switch discriminant references when body
creates shadowing variable (<a
href="https://github.com/magic-akari"><code>@​magic-akari</code></a>)</li>
</ul>
</li>
</ul>
<h4>:running_woman: Performance</h4>
<ul>
<li><code>babel-generator</code>, <code>babel-runtime-corejs3</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17642">#17642</a>
[Babel 7] Improve generator performance (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 6</h4>
<ul>
<li>David (<a
href="https://github.com/simbahax"><code>@​simbahax</code></a>)</li>
<li>Huáng Jùnliàng (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li>Nicolò Ribaudo (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
<li><a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a></li>
<li><a
href="https://github.com/magic-akari"><code>@​magic-akari</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/babel/babel/commit/aa8394e454337d118ac3d40bfa3ee1a3cb3f3ed2"><code>aa8394e</code></a>
v7.29.0</li>
<li><a
href="https://github.com/babel/babel/commit/0053db620c05acf0036f593b5aaf4e372daa79d0"><code>0053db6</code></a>
Update polyfill packages (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3/issues/17727">#17727</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/68e157771568abc3ba8b2775caf7618cd9692ae5"><code>68e1577</code></a>
[Babel 7] Improve generator performance (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3/issues/17642">#17642</a>)</li>
<li>See full diff in <a
href="https://github.com/babel/babel/commits/v7.29.0/packages/babel-runtime-corejs3">compare
view</a></li>
</ul>
</details>
<br />

Updates `globals` from 17.2.0 to 17.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sindresorhus/globals/releases">globals's
releases</a>.</em></p>
<blockquote>
<h2>v17.3.0</h2>
<ul>
<li>Update globals (2026-02-01) (<a
href="https://redirect.github.com/sindresorhus/globals/issues/336">#336</a>)
295fba9</li>
</ul>
<hr />
<p><a
href="https://github.com/sindresorhus/globals/compare/v17.2.0...v17.3.0">https://github.com/sindresorhus/globals/compare/v17.2.0...v17.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sindresorhus/globals/commit/5edc6020698a76964b0fa17cb604f4484451143b"><code>5edc602</code></a>
17.3.0</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/295fba929adf8b44f945688233778a57ff754368"><code>295fba9</code></a>
Update globals (2026-02-01) (<a
href="https://redirect.github.com/sindresorhus/globals/issues/336">#336</a>)</li>
<li>See full diff in <a
href="https://github.com/sindresorhus/globals/compare/v17.2.0...v17.3.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `selenium-webdriver` from 4.40.0 to 4.41.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/SeleniumHQ/selenium/releases">selenium-webdriver's
releases</a>.</em></p>
<blockquote>
<h2>Selenium 4.41.0</h2>
<h2>Detailed Changelogs by Component</h2>
<p><!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG">Java</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES">Python</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG">DotNet</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES">Ruby</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md">JavaScript</a></strong>
<!-- raw HTML omitted --></p>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<!-- raw HTML omitted -->
<ul>
<li>[py] Remove type stub packages from runtime dependencies by <a
href="https://github.com/cgoldberg"><code>@​cgoldberg</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16945">SeleniumHQ/selenium#16945</a></li>
<li>Canonical approach to supporting AI agent directions by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16735">SeleniumHQ/selenium#16735</a></li>
<li>[build] Pre-release workflow improvements by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16946">SeleniumHQ/selenium#16946</a></li>
<li>[build] Prevent nightly releases during release window by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16948">SeleniumHQ/selenium#16948</a></li>
<li>[build] Fix Bazel NuGet push implementation by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16950">SeleniumHQ/selenium#16950</a></li>
<li>[build] Release workflow improvements by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16947">SeleniumHQ/selenium#16947</a></li>
<li>[build] Fix Bazel JSDocs implementation by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16949">SeleniumHQ/selenium#16949</a></li>
<li>[build] Create config files from environment variables for
publishing by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16951">SeleniumHQ/selenium#16951</a></li>
<li>[js] create task to update dependencies by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16942">SeleniumHQ/selenium#16942</a></li>
<li>[build] Java release improvements and build verification tasks by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16952">SeleniumHQ/selenium#16952</a></li>
<li>[py] integrate mypy type checking with Bazel by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16958">SeleniumHQ/selenium#16958</a></li>
<li>[build] Migrate workflows to use centralized bazel.yml by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16955">SeleniumHQ/selenium#16955</a></li>
<li>[dotnet] [bidi] Simplify context aware command options by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16954">SeleniumHQ/selenium#16954</a></li>
<li>[build] simplify release.yml: remove draft, build once during
publish by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16960">SeleniumHQ/selenium#16960</a></li>
<li>[dotnet] [bidi] AOT safe json converter for
<code>Input.Origin</code> class by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16962">SeleniumHQ/selenium#16962</a></li>
<li>[dotnet] [bidi] AOT safe json converter for
<code>OptionalConverter</code> by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16963">SeleniumHQ/selenium#16963</a></li>
<li>[dotnet] [bidi] Null guard for event handlers by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16967">SeleniumHQ/selenium#16967</a></li>
<li>[java] Improve error message for died grid by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16938">SeleniumHQ/selenium#16938</a></li>
<li>[build] combine pre-release dependency updates by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16973">SeleniumHQ/selenium#16973</a></li>
<li>[rb] remove stored atoms these get generated by build by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16971">SeleniumHQ/selenium#16971</a></li>
<li>[dotnet] [bidi] Unignore some internal tests by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16968">SeleniumHQ/selenium#16968</a></li>
<li>[build] run ruff on python files outside py directory by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16957">SeleniumHQ/selenium#16957</a></li>
<li>[py] Fix return type hint for <code>alert_is_present</code> by <a
href="https://github.com/nemowang2003"><code>@​nemowang2003</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16975">SeleniumHQ/selenium#16975</a></li>
<li>Replace hardcoded bazel-selenium references with dynamic path
resolution by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16976">SeleniumHQ/selenium#16976</a></li>
<li>No More CrazyFun! by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16972">SeleniumHQ/selenium#16972</a></li>
<li>[build] Remove update_gh_pages in favor of CI workflow by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16977">SeleniumHQ/selenium#16977</a></li>
<li>[build] Remove legacy rake helpers and unused code by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16978">SeleniumHQ/selenium#16978</a></li>
<li>[py] make bazel test target names consistent with other languages by
<a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16969">SeleniumHQ/selenium#16969</a></li>
<li>[dotnet] [bidi] Fix namespace for Permissions module by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16981">SeleniumHQ/selenium#16981</a></li>
<li>[dotnet] [bidi] Hide Broker as internal implementation by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16982">SeleniumHQ/selenium#16982</a></li>
<li>[dotnet] [bidi] Refactor BiDi module initialization to pass BiDi
explicitly by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16983">SeleniumHQ/selenium#16983</a></li>
<li>[build] Add DocFX updater script by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16980">SeleniumHQ/selenium#16980</a></li>
<li>[build] add reusable commit-changes.yml workflow by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16965">SeleniumHQ/selenium#16965</a></li>
<li>[java] fix JSON parsing of numbers with exponent by <a
href="https://github.com/joerg1985"><code>@​joerg1985</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16961">SeleniumHQ/selenium#16961</a></li>
<li>[build] Skip macOS-only archive rules on unsupported platforms by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16985">SeleniumHQ/selenium#16985</a></li>
<li>[build] Split Rakefile into per-language task files by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16979">SeleniumHQ/selenium#16979</a></li>
<li>Implement fast bazel target lookup with index caching by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16974">SeleniumHQ/selenium#16974</a></li>
<li>[build] Remove git.add() calls from rake tasks by <a
href="https://github.com/titusfortner"><code>@​titusfortner</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16994">SeleniumHQ/selenium#16994</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/9fc754f90a9725756933b8a1788d5a583d7f509f"><code>9fc754f</code></a>
[build] Prepare for release of selenium-4.41.0 (<a
href="https://redirect.github.com/SeleniumHQ/selenium/issues/17098">#17098</a>)</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/d5f22eca5fe9b5574789315f2aeb8d6fde470e08"><code>d5f22ec</code></a>
[java] mark tests passing in latest chrome beta</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/89c59938eca2135cc175e00558ae1adf7bc270d9"><code>89c5993</code></a>
[build] fix auto-updating of browsers</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/4592f1b54fbb6e13c3239b59467ea97e154ac4c0"><code>4592f1b</code></a>
[build] ci-python jobs not currently matching by default</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/755d44cc09c46708563ec2f4fd3d05d9d1e6efe6"><code>755d44c</code></a>
[build] put cdp version support in changelogs</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/9aff5c7c2e75b300051c3baef62b7eba7c2e0ba5"><code>9aff5c7</code></a>
[build] cannot invoke a rake task twice by default</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/3a680a3f4fb957015a3e4634cacf8e0a235d85ec"><code>3a680a3</code></a>
[build] ignore the staging branch for the PR and apply all patches in
order</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/20de9b9c3d073956a7a511174c800a8c4a38493c"><code>20de9b9</code></a>
[build] stage changes to an ephemeral staging branch since not all
updates ar...</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/aac9a2825271b5fef96aa3b0c7b4792b76a46e62"><code>aac9a28</code></a>
[py] Update test to check it's an integer rather than a value (<a
href="https://redirect.github.com/SeleniumHQ/selenium/issues/17114">#17114</a>)</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/02ec15f16d968801e6778f47312619629bd5e7e5"><code>02ec15f</code></a>
[rb] Update dependencies (<a
href="https://redirect.github.com/SeleniumHQ/selenium/issues/17111">#17111</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/SeleniumHQ/selenium/compare/selenium-4.40.0...selenium-4.41.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Stephen Mathieson <571265+stephenmathieson@users.noreply.github.com>
Adds a CLAUDE.md file for contributors

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jonathan Garbee <jonathan.garbee@deque.com>
…ements (#5000)

Closes: #4392

---------

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
Co-authored-by: Wilco Fiers <wilco.fiers@deque.com>
Bumps
[actions/download-artifact](https://github.com/actions/download-artifact)
from 7.0.0 to 8.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/download-artifact/releases">actions/download-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v8.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Support for CJK characters in the artifact name by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/download-artifact/pull/471">actions/download-artifact#471</a></li>
<li>Add a regression test for artifact name + content-type mismatches by
<a href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a>
in <a
href="https://redirect.github.com/actions/download-artifact/pull/472">actions/download-artifact#472</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/download-artifact/compare/v8...v8.0.1">https://github.com/actions/download-artifact/compare/v8...v8.0.1</a></p>
<h2>v8.0.0</h2>
<h2>v8 - What's new</h2>
<blockquote>
<p>[!IMPORTANT]
actions/download-artifact@v8 has been migrated to an ESM module. This
should be transparent to the caller but forks might need to make
significant changes.</p>
</blockquote>
<blockquote>
<p>[!IMPORTANT]
Hash mismatches will now error by default. Users can override this
behavior with a setting change (see below).</p>
</blockquote>
<h3>Direct downloads</h3>
<p>To support direct uploads in <code>actions/upload-artifact</code>,
the action will no longer attempt to unzip all downloaded files.
Instead, the action checks the <code>Content-Type</code> header ahead of
unzipping and skips non-zipped files. Callers wishing to download a
zipped file as-is can also set the new <code>skip-decompress</code>
parameter to <code>true</code>.</p>
<h3>Enforced checks (breaking)</h3>
<p>A previous release introduced digest checks on the download. If a
download hash didn't match the expected hash from the server, the action
would log a warning. Callers can now configure the behavior on mismatch
with the <code>digest-mismatch</code> parameter. To be secure by
default, we are now defaulting the behavior to <code>error</code> which
will fail the workflow run.</p>
<h3>ESM</h3>
<p>To support new versions of the @actions/* packages, we've upgraded
the package to ESM.</p>
<h2>What's Changed</h2>
<ul>
<li>Don't attempt to un-zip non-zipped downloads by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/download-artifact/pull/460">actions/download-artifact#460</a></li>
<li>Add a setting to specify what to do on hash mismatch and default it
to <code>error</code> by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/download-artifact/pull/461">actions/download-artifact#461</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/download-artifact/compare/v7...v8.0.0">https://github.com/actions/download-artifact/compare/v7...v8.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/download-artifact/commit/3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"><code>3e5f45b</code></a>
Add regression tests for CJK characters (<a
href="https://redirect.github.com/actions/download-artifact/issues/471">#471</a>)</li>
<li><a
href="https://github.com/actions/download-artifact/commit/e6d03f67377d4412c7aa56a8e2e4988e6ec479dd"><code>e6d03f6</code></a>
Add a regression test for artifact name + content-type mismatches (<a
href="https://redirect.github.com/actions/download-artifact/issues/472">#472</a>)</li>
<li><a
href="https://github.com/actions/download-artifact/commit/70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3"><code>70fc10c</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/461">#461</a>
from actions/danwkennedy/digest-mismatch-behavior</li>
<li><a
href="https://github.com/actions/download-artifact/commit/f258da9a506b755b84a09a531814700b86ccfc62"><code>f258da9</code></a>
Add change docs</li>
<li><a
href="https://github.com/actions/download-artifact/commit/ccc058e5fbb0bb2352213eaec3491e117cbc4a5c"><code>ccc058e</code></a>
Fix linting issues</li>
<li><a
href="https://github.com/actions/download-artifact/commit/bd7976ba57ecea96e6f3df575eb922d11a12a9fd"><code>bd7976b</code></a>
Add a setting to specify what to do on hash mismatch and default it to
<code>error</code></li>
<li><a
href="https://github.com/actions/download-artifact/commit/ac21fcf45e0aaee541c0f7030558bdad38d77d6c"><code>ac21fcf</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/460">#460</a>
from actions/danwkennedy/download-no-unzip</li>
<li><a
href="https://github.com/actions/download-artifact/commit/15999bff51058bc7c19b50ebbba518eaef7c26c0"><code>15999bf</code></a>
Add note about package bumps</li>
<li><a
href="https://github.com/actions/download-artifact/commit/974686ed5098c7f9c9289ec946b9058e496a2561"><code>974686e</code></a>
Bump the version to <code>v8</code> and add release notes</li>
<li><a
href="https://github.com/actions/download-artifact/commit/fbe48b1d2756394be4cd4358ed3bc1343b330e75"><code>fbe48b1</code></a>
Update test names to make it clearer what they do</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/download-artifact/compare/37930b1c2abaa49bbe596cd826c3c89aef350131...3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/download-artifact&package-manager=github_actions&previous-version=7.0.0&new-version=8.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[actions/upload-artifact](https://github.com/actions/upload-artifact)
from 6.0.0 to 7.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.0</h2>
<h2>v7 What's new</h2>
<h3>Direct Uploads</h3>
<p>Adds support for uploading single files directly (unzipped). Callers
can set the new <code>archive</code> parameter to <code>false</code> to
skip zipping the file during upload. Right now, we only support single
files. The action will fail if the glob passed resolves to multiple
files. The <code>name</code> parameter is also ignored with this
setting. Instead, the name of the artifact will be the name of the
uploaded file.</p>
<h3>ESM</h3>
<p>To support new versions of the <code>@actions/*</code> packages,
we've upgraded the package to ESM.</p>
<h2>What's Changed</h2>
<ul>
<li>Add proxy integration test by <a
href="https://github.com/Link"><code>@​Link</code></a>- in <a
href="https://redirect.github.com/actions/upload-artifact/pull/754">actions/upload-artifact#754</a></li>
<li>Upgrade the module to ESM and bump dependencies by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/762">actions/upload-artifact#762</a></li>
<li>Support direct file uploads by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/764">actions/upload-artifact#764</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Link"><code>@​Link</code></a>- made
their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/754">actions/upload-artifact#754</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v6...v7.0.0">https://github.com/actions/upload-artifact/compare/v6...v7.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/upload-artifact/commit/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f"><code>bbbca2d</code></a>
Support direct file uploads (<a
href="https://redirect.github.com/actions/upload-artifact/issues/764">#764</a>)</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/589182c5a4cec8920b8c1bce3e2fab1c97a02296"><code>589182c</code></a>
Upgrade the module to ESM and bump dependencies (<a
href="https://redirect.github.com/actions/upload-artifact/issues/762">#762</a>)</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/47309c993abb98030a35d55ef7ff34b7fa1074b5"><code>47309c9</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/754">#754</a>
from actions/Link-/add-proxy-integration-tests</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/02a8460834e70dab0ce194c64360c59dc1475ef0"><code>02a8460</code></a>
Add proxy integration test</li>
<li>See full diff in <a
href="https://github.com/actions/upload-artifact/compare/b7c566a772e6b6bfb58ed0dc250532a479d7789f...bbbca2ddaa5d8feaa63e36b76fdaad77386f024f">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/upload-artifact&package-manager=github_actions&previous-version=6.0.0&new-version=7.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the npm-low-risk group with 8 updates:

| Package | From | To |
| --- | --- | --- |
|
[@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env)
| `7.29.0` | `7.29.2` |
|
[@babel/runtime-corejs3](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3)
| `7.29.0` | `7.29.2` |
|
[core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js)
| `3.48.0` | `3.49.0` |
| [globals](https://github.com/sindresorhus/globals) | `17.3.0` |
`17.4.0` |
| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.2.7` |
`16.4.0` |
| [serve-handler](https://github.com/vercel/serve-handler) | `6.1.6` |
`6.1.7` |
| [sinon](https://github.com/sinonjs/sinon) | `21.0.1` | `21.0.3` |
|
[start-server-and-test](https://github.com/bahmutov/start-server-and-test)
| `2.1.3` | `2.1.5` |

Updates `@babel/preset-env` from 7.29.0 to 7.29.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/babel/babel/releases"><code>@​babel/preset-env</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v7.29.2 (2026-03-16)</h2>
<h4>:eyeglasses: Spec Compliance</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17840">#17840</a>
[7.x backport] async x =&gt; {} must be in leading pos (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-helpers</code>,
<code>babel-plugin-transform-async-generator-functions</code>,
<code>babel-preset-env</code>, <code>babel-runtime-corejs3</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17805">#17805</a>
[7.x backport] fix: Properly handle await in finally (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-preset-env</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17789">#17789</a>
[7.x backport] preset-env include/exclude should accept bugfix plugins
(<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17813">#17813</a>
chore: update eslint peer deps (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
<h4>Committers: 2</h4>
<ul>
<li>Huáng Jùnliàng (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li><a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a></li>
</ul>
<h2>v7.29.1 (2026-02-04)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-standalone</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17771">#17771</a>
[7.x backport] fix: ensure <code>targets.esmodules</code> is validated
(<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17776">#17776</a>
[7.x backport] Fix undefined when 64 indents (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 2</h4>
<ul>
<li>Huáng Jùnliàng (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li><a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/babel/babel/commit/37d5595fca9f188f0534458180611f2e776acd31"><code>37d5595</code></a>
v7.29.2</li>
<li><a
href="https://github.com/babel/babel/commit/1c0a08d95ae7e1c788c7e1ae3a10ee53f7c86864"><code>1c0a08d</code></a>
[7.x backport] fix: Properly handle await in finally (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17805">#17805</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/061bf95142132ce4200f863f891a8e3a727cd844"><code>061bf95</code></a>
[7.x backport] preset-env include/exclude should accept bugfix plugins
(<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17789">#17789</a>)</li>
<li>See full diff in <a
href="https://github.com/babel/babel/commits/v7.29.2/packages/babel-preset-env">compare
view</a></li>
</ul>
</details>
<br />

Updates `@babel/runtime-corejs3` from 7.29.0 to 7.29.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/babel/babel/releases"><code>@​babel/runtime-corejs3</code>'s
releases</a>.</em></p>
<blockquote>
<h2>v7.29.2 (2026-03-16)</h2>
<h4>:eyeglasses: Spec Compliance</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17840">#17840</a>
[7.x backport] async x =&gt; {} must be in leading pos (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-helpers</code>,
<code>babel-plugin-transform-async-generator-functions</code>,
<code>babel-preset-env</code>, <code>babel-runtime-corejs3</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17805">#17805</a>
[7.x backport] fix: Properly handle await in finally (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-preset-env</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17789">#17789</a>
[7.x backport] preset-env include/exclude should accept bugfix plugins
(<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17813">#17813</a>
chore: update eslint peer deps (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
<h4>Committers: 2</h4>
<ul>
<li>Huáng Jùnliàng (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li><a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a></li>
</ul>
<h2>v7.29.1 (2026-02-04)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-standalone</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17771">#17771</a>
[7.x backport] fix: ensure <code>targets.esmodules</code> is validated
(<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17776">#17776</a>
[7.x backport] Fix undefined when 64 indents (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 2</h4>
<ul>
<li>Huáng Jùnliàng (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li><a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/babel/babel/commit/37d5595fca9f188f0534458180611f2e776acd31"><code>37d5595</code></a>
v7.29.2</li>
<li><a
href="https://github.com/babel/babel/commit/1c0a08d95ae7e1c788c7e1ae3a10ee53f7c86864"><code>1c0a08d</code></a>
[7.x backport] fix: Properly handle await in finally (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3/issues/17805">#17805</a>)</li>
<li>See full diff in <a
href="https://github.com/babel/babel/commits/v7.29.2/packages/babel-runtime-corejs3">compare
view</a></li>
</ul>
</details>
<br />

Updates `core-js` from 3.48.0 to 3.49.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/zloirock/core-js/blob/master/CHANGELOG.md">core-js's
changelog</a>.</em></p>
<blockquote>
<h3><a
href="https://github.com/zloirock/core-js/releases/tag/v3.49.0">3.49.0 -
2026.03.16</a></h3>
<ul>
<li>Changes <a
href="https://github.com/zloirock/core-js/compare/v3.48.0...v3.49.0">v3.48.0...v3.49.0</a>
(373 commits)</li>
<li><a
href="https://github.com/tc39/proposal-iterator.range"><code>Iterator.range</code></a>
updated following the actual spec version
<ul>
<li>Throw a <code>RangeError</code> on <code>NaN</code>
<code>start</code> / <code>end</code> / <code>step</code></li>
<li>Allow <code>null</code> as <code>optionOrStep</code></li>
</ul>
</li>
<li>Improved accuracy of <code>Math.{ asinh, atanh }</code> polyfills
with big and small values</li>
<li>Improved accuracy of <code>Number.prototype.toExponential</code>
polyfills with big and small values</li>
<li>Improved performance of <code>atob</code>, <code>btoa</code>,
<code>Uint8Array.fromHex</code>,
<code>Uint8Array.prototype.setFromHex</code>, and
<code>Uint8Array.prototype.toHex</code>, <a
href="https://redirect.github.com/zloirock/core-js/issues/1503">#1503</a>,
<a
href="https://redirect.github.com/zloirock/core-js/issues/1464">#1464</a>,
<a
href="https://redirect.github.com/zloirock/core-js/issues/1510">#1510</a>,
thanks <a
href="https://github.com/johnzhou721"><strong><code>@​johnzhou721</code></strong></a></li>
<li>Minor performance optimization polyfills of methods from <a
href="https://github.com/tc39/proposal-upsert"><code>Map</code> upsert
proposal</a></li>
<li>Polyfills of methods from <a
href="https://github.com/tc39/proposal-upsert"><code>Map</code> upsert
proposal</a> from the pure version made generic to make it work with
polyfilled and native collections</li>
<li>Wrap <code>Symbol.for</code> in
<code>Symbol.prototype.description</code> polyfill for correct handling
of empty string descriptions</li>
<li>Fixed <a href="https://bugs.webkit.org/show_bug.cgi?id=309342">a
modern Safari bug</a> in <code>Array.prototype.includes</code> with
sparse arrays and <code>fromIndex</code></li>
<li>Fixed one more case (<code>Iterator.prototype.take</code>) of a V8 ~
Chromium &lt; 126 <a
href="https://issues.chromium.org/issues/336839115">bug</a></li>
<li>Forced replacement of <code>Iterator.{ concat, zip, zipKeyed
}</code> in the pure version for ensuring proper wrapped
<code>Iterator</code> instances as the result</li>
<li>Fixed proxying <code>.return()</code> on exhausted iterator from
some methods of iterator helpers polyfill to the underlying
iterator</li>
<li>Fixed double <code>.return()</code> calling in case of throwing
error in this method in the internal <code>iterate</code> helper that
affected some polyfills</li>
<li>Fixed closing iterator on <code>IteratorValue</code> errors in the
internal <code>iterate</code> helper that affected some polyfills</li>
<li>Fixed iterator closing in <code>Array.from</code> polyfill on
failure to create array property</li>
<li>Fixed order of arguments validation in <code>Array.fromAsync</code>
polyfill</li>
<li>Fixed a lack of counter validation on <code>MAX_SAFE_INTEGER</code>
in <code>Array.fromAsync</code> polyfill</li>
<li>Fixed order of arguments validation in
<code>Array.prototype.flat</code> polyfill</li>
<li>Fixed handling strings as iterables in <code>Iterator.{ zip,
zipKeyed }</code> polyfills</li>
<li>Fixed some cases of iterators closing in <code>Iterator.{ zip,
zipKeyed }</code> polyfills</li>
<li>Fixed validation of iterators <code>.next()</code> results an
objects in <code>Iterator.{ zip, zipKeyed }</code> polyfills</li>
<li>Fixed a lack of early error in <code>Iterator.concat</code> polyfill
on primitive as an iterator</li>
<li>Fixed buffer mutation exposure in
<code>Iterator.prototype.windows</code> polyfill</li>
<li>Fixed iterator closing in <code>Set.prototype.{ isDisjointFrom,
isSupersetOf }</code> polyfill</li>
<li>Fixed (updated following the final spec) one more case
<code>Set.prototype.difference</code> polyfill with updating
<code>this</code></li>
<li>Fixed <code>DataView.prototype.setFloat16</code> polyfill in (0, 1)
range</li>
<li>Fixed order of arguments validation in <code>String.prototype.{
padStart, padEnd }</code> polyfills</li>
<li>Fixed order of arguments validation in <code>String.prototype.{
startsWith, endsWith }</code> polyfills</li>
<li>Fixed some cases of <code>Infinity</code> handling in
<code>String.prototype.substr</code> polyfill</li>
<li>Fixed <code>String.prototype.repeat</code> polyfill with a counter
exceeding 2 ** 32</li>
<li>Fixed some cases of chars case in <code>escape</code> polyfill</li>
<li>Fixed named backreferences in <code>RegExp</code> NCG polyfill</li>
<li>Fixed some cases of <code>RegExp</code> NCG polyfill in combination
with other types of groups</li>
<li>Fixed some cases of <code>RegExp</code> NCG polyfill in combination
with <code>dotAll</code></li>
<li>Fixed <code>String.prototype.replace</code> with <code>sticky</code>
polyfill, <a
href="https://redirect.github.com/zloirock/core-js/issues/810">#810</a>,
<a
href="https://redirect.github.com/zloirock/core-js/issues/1514">#1514</a></li>
<li>Fixed <code>RegExp</code> <code>sticky</code> polyfill with
alternation</li>
<li>Fixed handling of some line terminators in case of
<code>multiline</code> + <code>sticky</code> mode in <code>RegExp</code>
polyfill</li>
<li>Fixed <code>.input</code> slicing on result object with
<code>RegExp</code> <code>sticky</code> mode polyfill</li>
<li>Fixed handling of empty groups with <code>global</code> and
<code>unicode</code> modes in polyfills</li>
<li>Fixed <code>URLSearchParam.prototype.delete</code> polyfill with
duplicate key-value pairs</li>
<li>Fixed possible removal of unnecessary entries in
<code>URLSearchParam.prototype.delete</code> polyfill with second
argument</li>
<li>Fixed an error in some cases of non-special URLs without a path in
the <code>URL</code> polyfill</li>
<li>Fixed some percent encode cases / character sets in the
<code>URL</code> polyfill</li>
<li>Fixed parsing of non-IPv4 hosts ends in a number in the
<code>URL</code> polyfill</li>
<li>Fixed some cases of <code>''</code> and <code>null</code> host
handling in the <code>URL</code> polyfill</li>
<li>Fixed host parsing with <code>hostname = host:port</code> in the
<code>URL</code> polyfill</li>
<li>Fixed host inheritance in some cases of file scheme in the
<code>URL</code> polyfill</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/zloirock/core-js/commit/80adfc415fa74e5e4f6ba2de6425aa577e3ad439"><code>80adfc4</code></a>
v3.49.0</li>
<li><a
href="https://github.com/zloirock/core-js/commit/0ad3e0035b87ac941ccadc643397bb7825d4e694"><code>0ad3e00</code></a>
fix a modern Safari bug in <code>Array.prototype.includes</code> with
sparse arrays and ...</li>
<li><a
href="https://github.com/zloirock/core-js/commit/853bfa4906ea01ad18791f1fccb2b67440ffacf9"><code>853bfa4</code></a>
update some links</li>
<li><a
href="https://github.com/zloirock/core-js/commit/b4d723fbb277d9805c78c75bb529e7f175e9af0f"><code>b4d723f</code></a>
fix a lack of counter validation on <code>MAX_SAFE_INTEGER</code> in
<code>Array.fromAsync</code> p...</li>
<li><a
href="https://github.com/zloirock/core-js/commit/e27667656589bb1ff058e1a2afbdd866e3872d51"><code>e276676</code></a>
fix parsing of non-IPv4 hosts ends in a number in the <code>URL</code>
polyfill</li>
<li><a
href="https://github.com/zloirock/core-js/commit/dd1cfba7cf2076f1e088a23af03f7124abdd91b0"><code>dd1cfba</code></a>
fix order of arguments validation in <code>String.prototype.{ padStart,
padEnd }</code> ...</li>
<li><a
href="https://github.com/zloirock/core-js/commit/b952c5faef9092b20d0f9833b0b282a91ede8914"><code>b952c5f</code></a>
add an extra protection to configurator</li>
<li><a
href="https://github.com/zloirock/core-js/commit/e490cafd755a14ae150db2d7515af51175d5e421"><code>e490caf</code></a>
Fix for <a
href="https://github.com/zloirock/core-js/tree/HEAD/packages/core-js/issues/810">#810</a>
(<a
href="https://github.com/zloirock/core-js/tree/HEAD/packages/core-js/issues/1514">#1514</a>)</li>
<li><a
href="https://github.com/zloirock/core-js/commit/10b4e86e3ce7d0675fd19b9028118162510307b9"><code>10b4e86</code></a>
drop an unneeded comment</li>
<li><a
href="https://github.com/zloirock/core-js/commit/28cf2e9b16f45430f35ef8658c7a461d50cca69e"><code>28cf2e9</code></a>
feat: Improve performance of Uint8Array Hex functions (<a
href="https://github.com/zloirock/core-js/tree/HEAD/packages/core-js/issues/1510">#1510</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/zloirock/core-js/commits/v3.49.0/packages/core-js">compare
view</a></li>
</ul>
</details>
<br />

Updates `globals` from 17.3.0 to 17.4.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sindresorhus/globals/releases">globals's
releases</a>.</em></p>
<blockquote>
<h2>v17.4.0</h2>
<ul>
<li>Update globals (2026-03-01) (<a
href="https://redirect.github.com/sindresorhus/globals/issues/338">#338</a>)
d43a051</li>
</ul>
<hr />
<p><a
href="https://github.com/sindresorhus/globals/compare/v17.3.0...v17.4.0">https://github.com/sindresorhus/globals/compare/v17.3.0...v17.4.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sindresorhus/globals/commit/a9cfd7493fb701474d4dc946283c7b9d63d64134"><code>a9cfd74</code></a>
17.4.0</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/d43a051c48fbb8c549bb98a7cf294ba84680a7a1"><code>d43a051</code></a>
Update globals (2026-03-01) (<a
href="https://redirect.github.com/sindresorhus/globals/issues/338">#338</a>)</li>
<li>See full diff in <a
href="https://github.com/sindresorhus/globals/compare/v17.3.0...v17.4.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `lint-staged` from 16.2.7 to 16.4.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/lint-staged/lint-staged/releases">lint-staged's
releases</a>.</em></p>
<blockquote>
<h2>v16.4.0</h2>
<h3>Minor Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1739">#1739</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/687fc9069a312ac83ca48f035a1bbf453db91814"><code>687fc90</code></a>
Thanks <a
href="https://github.com/hyperz111"><code>@​hyperz111</code></a>! -
Replace <code>micromatch</code> with <code>picomatch</code> to reduce
dependencies.</li>
</ul>
<h2>v16.3.4</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1742">#1742</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/9d6e827b0c55da5b091c989111f6c55dd76539d9"><code>9d6e827</code></a>
Thanks <a href="https://github.com/iiroj"><code>@​iiroj</code></a>! -
Update dependencies, including <a
href="https://github.com/tinylibs/tinyexec/releases/tag/1.0.4"><code>tinyexec@1.0.4</code></a>
to make sure local <code>node_modules/.bin</code> are preferred to
global locations (released in <a
href="https://github.com/tinylibs/tinyexec/releases/tag/1.0.3"><code>tinyexec@1.0.3</code></a>).</li>
</ul>
<h2>v16.3.3</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1740">#1740</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/0109e8d1507409d950dab0d65ce27bd40b1137c7"><code>0109e8d</code></a>
Thanks <a href="https://github.com/iiroj"><code>@​iiroj</code></a>! -
Make sure Git's warning about CRLF line-endings doesn't interfere with
creating initial backup stash.</li>
</ul>
<h2>v16.3.2</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1735">#1735</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/2adaf6c3a76152abddbf23b749dfa5d62982f3cf"><code>2adaf6c</code></a>
Thanks <a href="https://github.com/iiroj"><code>@​iiroj</code></a>! -
Hide the extra <code>cmd</code> window on Windows by spawning tasks
without the <code>detached</code> option.</li>
</ul>
<h2>v16.3.1</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1729">#1729</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/cd5d762c288bcfe36274c32f018cea97dfe11280"><code>cd5d762</code></a>
Thanks <a href="https://github.com/iiroj"><code>@​iiroj</code></a>! -
Remove <code>nano-spawn</code> as a dependency from
<code>package.json</code> as it was replaced with <code>tinyexec</code>
and is no longer used.</li>
</ul>
<h2>v16.3.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1698">#1698</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/feda37aa590789e847f32a4aabc346af1d79c547"><code>feda37a</code></a>
Thanks <a href="https://github.com/iiroj"><code>@​iiroj</code></a>! -
Run external processes with <a
href="https://github.com/tinylibs/tinyexec"><code>tinyexec</code></a>
instead of <a
href="https://github.com/sindresorhus/nano-spawn"><code>nano-spawn</code></a>.
<code>nano-spawn</code> replaced <a
href="https://github.com/sindresorhus/execa"><code>execa</code></a> in
<em>lint-staged</em> version 16 to limit the amount of npm dependencies
required, but caused some unknown issues related to spawning tasks.
Let's hope <code>tinyexec</code> improves the situation.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1699">#1699</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/1346d16387e188911ef64e8bad6b8a6252cb6d71"><code>1346d16</code></a>
Thanks <a href="https://github.com/iiroj"><code>@​iiroj</code></a>! -
Remove <code>pidtree</code> as a dependency. When a task fails, its
sub-processes are killed more efficiently via the process group on Unix
systems, and the <code>taskkill</code> command on Windows.</p>
</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1726">#1726</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/87467aaa76e1edc2547f3f3d462a4495afa5337d"><code>87467aa</code></a>
Thanks <a href="https://github.com/iiroj"><code>@​iiroj</code></a>! -
Incorrect brace expansions like <code>*.{js}</code> (<em>nothing to
expand</em>) are detected exhaustively, instead of just a single
pass.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md">lint-staged's
changelog</a>.</em></p>
<blockquote>
<h2>16.4.0</h2>
<h3>Minor Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1739">#1739</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/687fc9069a312ac83ca48f035a1bbf453db91814"><code>687fc90</code></a>
Thanks <a
href="https://github.com/hyperz111"><code>@​hyperz111</code></a>! -
Replace <code>micromatch</code> with <code>picomatch</code> to reduce
dependencies.</li>
</ul>
<h2>16.3.4</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1742">#1742</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/9d6e827b0c55da5b091c989111f6c55dd76539d9"><code>9d6e827</code></a>
Thanks <a href="https://github.com/iiroj"><code>@​iiroj</code></a>! -
Update dependencies, including <a
href="https://github.com/tinylibs/tinyexec/releases/tag/1.0.4"><code>tinyexec@1.0.4</code></a>
to make sure local <code>node_modules/.bin</code> are preferred to
global locations (released in <a
href="https://github.com/tinylibs/tinyexec/releases/tag/1.0.3"><code>tinyexec@1.0.3</code></a>).</li>
</ul>
<h2>16.3.3</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1740">#1740</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/0109e8d1507409d950dab0d65ce27bd40b1137c7"><code>0109e8d</code></a>
Thanks <a href="https://github.com/iiroj"><code>@​iiroj</code></a>! -
Make sure Git's warning about CRLF line-endings doesn't interfere with
creating initial backup stash.</li>
</ul>
<h2>16.3.2</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1735">#1735</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/2adaf6c3a76152abddbf23b749dfa5d62982f3cf"><code>2adaf6c</code></a>
Thanks <a href="https://github.com/iiroj"><code>@​iiroj</code></a>! -
Hide the extra <code>cmd</code> window on Windows by spawning tasks
without the <code>detached</code> option.</li>
</ul>
<h2>16.3.1</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1729">#1729</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/cd5d762c288bcfe36274c32f018cea97dfe11280"><code>cd5d762</code></a>
Thanks <a href="https://github.com/iiroj"><code>@​iiroj</code></a>! -
Remove <code>nano-spawn</code> as a dependency from
<code>package.json</code> as it was replaced with <code>tinyexec</code>
and is no longer used.</li>
</ul>
<h2>16.3.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1698">#1698</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/feda37aa590789e847f32a4aabc346af1d79c547"><code>feda37a</code></a>
Thanks <a href="https://github.com/iiroj"><code>@​iiroj</code></a>! -
Run external processes with <a
href="https://github.com/tinylibs/tinyexec"><code>tinyexec</code></a>
instead of <a
href="https://github.com/sindresorhus/nano-spawn"><code>nano-spawn</code></a>.
<code>nano-spawn</code> replaced <a
href="https://github.com/sindresorhus/execa"><code>execa</code></a> in
<em>lint-staged</em> version 16 to limit the amount of npm dependencies
required, but caused some unknown issues related to spawning tasks.
Let's hope <code>tinyexec</code> improves the situation.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1699">#1699</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/1346d16387e188911ef64e8bad6b8a6252cb6d71"><code>1346d16</code></a>
Thanks <a href="https://github.com/iiroj"><code>@​iiroj</code></a>! -
Remove <code>pidtree</code> as a dependency. When a task fails, its
sub-processes are killed more efficiently via the process group on Unix
systems, and the <code>taskkill</code> command on Windows.</p>
</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/lint-staged/lint-staged/pull/1726">#1726</a>
<a
href="https://github.com/lint-staged/lint-staged/commit/87467aaa76e1edc2547f3f3d462a4495afa5337d"><code>87467aa</code></a>
Thanks <a href="https://github.com/iiroj"><code>@​iiroj</code></a>! -
Incorrect brace expansions like <code>*.{js}</code> (<em>nothing to
expand</em>) are detected exhaustively, instead of just a single
pass.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/lint-staged/lint-staged/commit/445f9dd042b88528c798b2e25c21c9adbc69a732"><code>445f9dd</code></a>
chore(changeset): release</li>
<li><a
href="https://github.com/lint-staged/lint-staged/commit/d91be60800d59565cb601c4802ed35253bce5b2a"><code>d91be60</code></a>
docs: update readme to use picomatch</li>
<li><a
href="https://github.com/lint-staged/lint-staged/commit/b392a9ffecd9cfeb167bd2273c6496b8b3c41b47"><code>b392a9f</code></a>
refactor: extract <code>matchFiles</code> and add unit tests</li>
<li><a
href="https://github.com/lint-staged/lint-staged/commit/687fc9069a312ac83ca48f035a1bbf453db91814"><code>687fc90</code></a>
refactor: replace micromatch with picomatch</li>
<li><a
href="https://github.com/lint-staged/lint-staged/commit/26dadf9a0472d283112d6cfaaa1fb1f040fd6760"><code>26dadf9</code></a>
chore(changeset): release</li>
<li><a
href="https://github.com/lint-staged/lint-staged/commit/9d6e827b0c55da5b091c989111f6c55dd76539d9"><code>9d6e827</code></a>
build(deps): update dependencies</li>
<li><a
href="https://github.com/lint-staged/lint-staged/commit/8aea986068501841a5741868e0895fef2a7618c3"><code>8aea986</code></a>
chore(changeset): release</li>
<li><a
href="https://github.com/lint-staged/lint-staged/commit/0109e8d1507409d950dab0d65ce27bd40b1137c7"><code>0109e8d</code></a>
fix: strip Git CRLF warning from output</li>
<li><a
href="https://github.com/lint-staged/lint-staged/commit/dfd6a7a4afa1147c9b6ad7d441b1f6278da499c5"><code>dfd6a7a</code></a>
chore(changeset): release</li>
<li><a
href="https://github.com/lint-staged/lint-staged/commit/2adaf6c3a76152abddbf23b749dfa5d62982f3cf"><code>2adaf6c</code></a>
fix(Windows): do not spawn tasks as detached since it opens a cmd window
on ...</li>
<li>Additional commits viewable in <a
href="https://github.com/lint-staged/lint-staged/compare/v16.2.7...v16.4.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `serve-handler` from 6.1.6 to 6.1.7
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vercel/serve-handler/releases">serve-handler's
releases</a>.</em></p>
<blockquote>
<h2>6.1.7</h2>
<h3>Patches</h3>
<ul>
<li>Fix: update minimatch to 3.1.5 to resolve security vulnerabilities:
<a
href="https://redirect.github.com/vercel/serve-handler/issues/228">#228</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/ParakhJaggi"><code>@​ParakhJaggi</code></a> for
helping!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vercel/serve-handler/commit/5158ae776863f0d597187e11260d963e7a78c6a0"><code>5158ae7</code></a>
6.1.7</li>
<li><a
href="https://github.com/vercel/serve-handler/commit/754d1dcb5bb6dbd164667368be5e1b1278f1da60"><code>754d1dc</code></a>
fix: update minimatch to 3.1.5 to resolve security vulnerabilities (<a
href="https://redirect.github.com/vercel/serve-handler/issues/228">#228</a>)</li>
<li><a
href="https://github.com/vercel/serve-handler/commit/8b357fad752db5e9439e92513286970f68ed953e"><code>8b357fa</code></a>
Revert &quot;chore(deps): upgrade minimatch to v10.2.4 (<a
href="https://redirect.github.com/vercel/serve-handler/issues/226">#226</a>)&quot;</li>
<li><a
href="https://github.com/vercel/serve-handler/commit/8df54ef09a5497641403cd4a888525a4831f4208"><code>8df54ef</code></a>
chore(deps): upgrade minimatch to v10.2.4 (<a
href="https://redirect.github.com/vercel/serve-handler/issues/226">#226</a>)</li>
<li>See full diff in <a
href="https://github.com/vercel/serve-handler/compare/6.1.6...6.1.7">compare
view</a></li>
</ul>
</details>
<br />

Updates `sinon` from 21.0.1 to 21.0.3
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sinonjs/sinon/blob/main/docs/changelog.md">sinon's
changelog</a>.</em></p>
<blockquote>
<h2>21.0.3</h2>
<ul>
<li><a
href="https://github.com/sinonjs/sinon/commit/0494251bc54c56e7e79258586238db88f0d191b3"><code>0494251b</code></a>
fix(<a
href="https://redirect.github.com/sinonjs/sinon/issues/2678">#2678</a>):
upgrade samsam to fix buffer comparisons (Carl-Erik Kopseng)</li>
</ul>
<p><em>Released by <a href="https://github.com/fatso83">Carl-Erik
Kopseng</a> on 2026-03-16.</em></p>
<h2>21.0.2</h2>
<ul>
<li><a
href="https://github.com/sinonjs/sinon/commit/024321c48e670de35098b2555173e25f024db90d"><code>024321c4</code></a>
fix: skip Node specific tests in browser env (Carl-Erik Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/b836fccb8adabd3d116338b19ae1f6a4ccfc7d3e"><code>b836fccb</code></a>
fix: js-yaml breaking change from v3 to v4 (Carl-Erik Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/ebf0c4313f41edfdf71f206c826a8ce7d56f2d2c"><code>ebf0c431</code></a>
docs: add how-to article for stubbing ES module imports (<a
href="https://redirect.github.com/sinonjs/sinon/issues/1832">#1832</a>)
(<a
href="https://redirect.github.com/sinonjs/sinon/issues/2676">#2676</a>)
(Eduard Barrera)
<blockquote>
<ul>
<li>docs: add how-to article for stubbing ES module imports with esm
package</li>
</ul>
<p>Adds a comprehensive How-To guide that addresses issue <a
href="https://redirect.github.com/sinonjs/sinon/issues/1832">#1832</a>,
documenting
how to configure Node.js to allow Sinon stubs to work with ES
modules.</p>
<ul>
<li>Explains why ES module namespace bindings are immutable by spec</li>
<li>Shows how to use the 'esm' npm package with mutableNamespace:
true</li>
<li>Provides a complete working example with project layout,
package.json,
loader file, source modules, and a full test suite</li>
<li>Documents limitations (destructured imports, non-standard
behavior)</li>
<li>Replaces the TODO comment in link-seams-commonjs.md with a
cross-reference</li>
</ul>
<p>Closes <a
href="https://redirect.github.com/sinonjs/sinon/issues/1832">#1832</a>
Co-authored-by: Eduard Barrera <a
href="mailto:eduardbar@users.noreply.github.com">eduardbar@users.noreply.github.com</a>
Co-authored-by: Carl-Erik Kopseng <a
href="mailto:carlerik@gmail.com">carlerik@gmail.com</a></p>
</blockquote>
</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/ebcd506cbb55df6c7d2bda558f58386a218df9be"><code>ebcd506c</code></a>
Fix spies not being reset properly (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2673">#2673</a>)
(simon-id)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/3beab2ba97fe74cdb0f495420ac06652e59835aa"><code>3beab2ba</code></a>
Make doc tests pass with new jQuery (Carl-Erik Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/766715c68a94fd66e9ca79f62c23d07fd1645d4c"><code>766715c6</code></a>
build: reduce transitive audit findings (Carl-Erik Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/92aaf5c9d1686a9b4a025c31cb3b0813e7fd2350"><code>92aaf5c9</code></a>
build: upgrade eslint config and replace dependency-check (Carl-Erik
Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/c6aaa8719ea831c43112ff0d0727a35e6bf92731"><code>c6aaa871</code></a>
chore: ignore project worktrees (Carl-Erik Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/ef387e8ec6eb692f63844130b4590d018729a723"><code>ef387e8e</code></a>
Upgrade most deps (Carl-Erik Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/3cf4e77d2c20a63a27c0ac14e0186f45761a0b77"><code>3cf4e77d</code></a>
docs: improve writing of documentation (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2675">#2675</a>)
(Eduardo de la Cruz Palacios)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/6349032fc42f01c302e05d3146e489d92fc9dbf9"><code>6349032f</code></a>
Check login status before publishing steps are performed (Carl-Erik
Kopseng)</li>
</ul>
<p><em>Released by <a href="https://github.com/fatso83">Carl-Erik
Kopseng</a> on 2026-03-04.</em></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sinonjs/sinon/commit/138148233c549cb7eeaa8e84d857912fd3a349d5"><code>1381482</code></a>
21.0.3</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/0494251bc54c56e7e79258586238db88f0d191b3"><code>0494251</code></a>
fix(<a
href="https://redirect.github.com/sinonjs/sinon/issues/2678">#2678</a>):
upgrade samsam to fix buffer comparisons</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/2d93d686b1d240d6a3463f6105c56244f7a1fc92"><code>2d93d68</code></a>
21.0.2</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/3af394efc1ed16843d9e8e8c69c736c90b53b0b8"><code>3af394e</code></a>
lint-staged -&gt; 16.3.2</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/2948314cc4289bae0a27fabdd263565e07c3ba68"><code>2948314</code></a>
prettier</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/024321c48e670de35098b2555173e25f024db90d"><code>024321c</code></a>
fix: skip Node specific tests in browser env</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/b836fccb8adabd3d116338b19ae1f6a4ccfc7d3e"><code>b836fcc</code></a>
fix: js-yaml breaking change from v3 to v4</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/ebf0c4313f41edfdf71f206c826a8ce7d56f2d2c"><code>ebf0c43</code></a>
docs: add how-to article for stubbing ES module imports (<a
href="https://redirect.github.com/sinonjs/sinon/issues/1832">#1832</a>)
(<a
href="https://redirect.github.com/sinonjs/sinon/issues/2676">#2676</a>)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/ebcd506cbb55df6c7d2bda558f58386a218df9be"><code>ebcd506</code></a>
Fix spies not being reset properly (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2673">#2673</a>)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/3beab2ba97fe74cdb0f495420ac06652e59835aa"><code>3beab2b</code></a>
Make doc tests pass with new jQuery</li>
<li>Additional commits viewable in <a
href="https://github.com/sinonjs/sinon/compare/v21.0.1...v21.0.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `start-server-and-test` from 2.1.3 to 2.1.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/bahmutov/start-server-and-test/releases">start-server-and-test's
releases</a>.</em></p>
<blockquote>
<h2>v2.1.5</h2>
<h2><a
href="https://github.com/bahmutov/start-server-and-test/compare/v2.1.4...v2.1.5">2.1.5</a>
(2026-02-24)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>formatting the message in the constructor of Error object (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/395">#395</a>)
(<a
href="https://github.com/bahmutov/start-server-and-test/commit/9d135de85e49f3c727302d3ca5dad774b16e322b">9d135de</a>)</li>
</ul>
<h2>v2.1.4</h2>
<h2><a
href="https://github.com/bahmutov/start-server-and-test/compare/v2.1.3...v2.1.4">2.1.4</a>
(2026-02-24)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> update dependency wait-on to v9.0.4 (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/413">#413</a>)
(<a
href="https://github.com/bahmutov/start-server-and-test/commit/f06f2a208641ae3de7d6f1690cbcf0b49f978f38">f06f2a2</a>)</li>
<li>the release process (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/415">#415</a>)
(<a
href="https://github.com/bahmutov/start-server-and-test/commit/59b32564c3c486730abfc3103822123b5e4b181b">59b3256</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/bahmutov/start-server-and-test/commit/9d135de85e49f3c727302d3ca5dad774b16e322b"><code>9d135de</code></a>
fix: formatting the message in the constructor of Error object (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/395">#395</a>)</li>
<li><a
href="https://github.com/bahmutov/start-server-and-test/commit/59b32564c3c486730abfc3103822123b5e4b181b"><code>59b3256</code></a>
fix: the release process (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/415">#415</a>)</li>
<li><a
href="https://github.com/bahmutov/start-server-and-test/commit/f06f2a208641ae3de7d6f1690cbcf0b49f978f38"><code>f06f2a2</code></a>
fix(deps): update dependency wait-on to v9.0.4 (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/413">#413</a>)</li>
<li>See full diff in <a
href="https://github.com/bahmutov/start-server-and-test/compare/v2.1.3...v2.1.5">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by [GitHub Actions](<a
href="https://www.npmjs.com/~GitHub">https://www.npmjs.com/~GitHub</a>
Actions), a new releaser for start-server-and-test since your current
version.</p>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…cs and channelIds (#5062)

Updated `frame-messenger` and `respondable` modules to use
`Object.create(null)` for message and topic handler stores.

### Description
The current implementation uses plain objects (`{}`) which are
susceptible to prototype pollution if untrusted strings like
`"__proto__"` are passed as `channelId` or `topic`. By using
`Object.create(null)`, these stores become "pure" maps without a
prototype, ensuring security and robustness in cross-frame
communication.

This change is backward compatible and adheres to standard security
practices for high-performance JavaScript libraries.

Closes: #5062
…when page is scrolled (#5066)

closes #5065

---------

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
Co-authored-by: Wilco Fiers <wilco.fiers@deque.com>
stephenmathieson and others added 25 commits April 28, 2026 15:58
Replaces the Go-based `github-release` tool and the externally fetched
`node-github-release.sh` script in the `create-github-release` job with
a single step that uses the `gh` CLI (pre-installed on GitHub-hosted
runners).

### What changed

- **Dropped:** `go install gopkg.in/aktau/github-release.v0@latest`, the
`curl` of `dequelabs/attest-release-scripts/.../node-github-release.sh`,
the `chmod +x` step.
- **Added:** an `Extract release notes` step that runs the same
changelog-section `awk` as the original script and writes the result to
a multiline `notes` step output.
- **Added:** a `Create GitHub Release` step that calls `gh release
create "v${VERSION}" --title "Release ${VERSION}" --notes "$NOTES"`,
taking the version from `prod-deploy`'s job output and the notes from
the previous step's output (passed via `NOTES` env var so shell
metacharacters in the changelog aren't re-evaluated).
- Switched the auth env var from `GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN
}}` to `GH_TOKEN: ${{ github.token }}` to match the rest of the workflow
and the `gh` CLI's preferred env var.

### Why

- Removes two external dependencies (a Go binary install and a remote
shell script fetched at job runtime) in favor of a tool already on the
runner image.
- Keeps the entire release-creation flow visible in `deploy.yml` instead
of being hidden in a fetched script from another repo.

<details>
<summary>How the <code>awk</code> changelog extraction works</summary>

```
awk '/# \[?[0-9]/{if(found) exit; found=1; next} found{print}' CHANGELOG.md
```

awk walks `CHANGELOG.md` line by line and runs two `pattern { action }`
blocks:

1. `/# \[?[0-9]/` matches a version-header line — `#`, a space, an
optional `[`, a digit. In our CHANGELOG that hits lines like `###
[4.11.4](...) (2026-04-23)` (the pattern isn't anchored, so it matches
the `# [4` substring inside `###`).
- On the **first** match: set `found=1` and `next` past the line (so the
header itself isn't printed).
    - On the **next** match (the previous release's header): `exit`.
2. `found{print}` — for every line where `found` is non-zero, print it.

Net effect: prints everything between the latest version header and the
previous one — i.e. the body of the most recent release section, which
becomes the GitHub release notes.

Walking through the current `CHANGELOG.md`:

| Line | Matches v-header? | `found` | Action |
| --- | --- | --- | --- |
| `# Changelog` | no | 0 | nothing (`found` is 0) |
| (blank) | no | 0 | nothing |
| `All notable changes...` | no | 0 | nothing |
| (blank) | no | 0 | nothing |
| `### [4.11.4](...) (2026-04-23)` | **yes** | 0 → 1 | set `found=1`,
skip line |
| (blank) | no | 1 | print |
| `### Bug Fixes` | no | 1 | print |
| (blank) | no | 1 | print |
| `- **commons/text:** ...` | no | 1 | print |
| `- **utils/getAncestry:** ...` | no | 1 | print |
| (blank) | no | 1 | print |
| `### [4.11.3](...) (2026-04-13)` | **yes** | 1 | `exit` |

</details>

Closes: #5052
We need to clean up that old test dir. Figured I'd have Cursor generate
a code mod for us to do it.

Here's what I did for this:

1. Had Cursor build a code mod for me that does:
    - Swap var with let/const
    - Replace anonymous function with arrow functions where possible
    - Replace multi-line single quote strings with backtick strings
    - Added html template tag
    - Pulled out shadow dom test toggles
2. I committed that code
3. Ran it, and committed the results of that in
4005683
4. Went through issues that that caused and corrected them in subsequent
commits

## For review

Focus on the code mod and the manual corrections I did afterwards. A
40k+ change is far too much to review manually. But the code mod and the
changes after should be. The code mod isn't perfect, but it's one-off
code so I didn't think that mattered.
…ne if custom-element nodeName is valid (#5097)

Realized that I needed this for
#5041 as when trying to
create the external script and having `get-element-internals` use
`isHTMLElement` would result in the external file having all the the
different standards objects as well as a ton of unnecessary utils
functions. Thus I needed a way to determine if the element is a custom
element to short circuit the lookup in `get-element-internals` without
relying on `isHTMLElement`. This implements what we discussed in
#5059 into it's own function
so it can be used in both places.
…rtially support element internals role (#5080)

Note that this can only support rules that don't select for `[role]` on
the element itself, which is why we can't support `aria-required-attr`
yet, or any rules that look for specific roles (e.g.
`aria-command-name`). Additionally we can only test the supported rules
partially as those rules look for an element with `[role]`. For example,
for `aria-required-parent` we can test that the parent of an element
with `[role]` has a required internal role, but we cannot test a child
with an internal role has a required parent.

Fully supporting rules can only be supported once we've figured out how
to update our selectors to look at more than just CSS selectors (planned
but not fully spec'd out yet).

Closes: #5039
Closes: #4259

---------

Co-authored-by: Chris Hutchins <chris.hutchins@deque.com>
Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
…5101)

Bumps the npm-low-risk group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@axe-core/webdriverjs](https://github.com/dequelabs/axe-core-npm) |
`4.11.1` | `4.11.3` |
|
[@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env)
| `7.29.2` | `7.29.5` |
| [globals](https://github.com/sindresorhus/globals) | `17.4.0` |
`17.6.0` |
| [grunt](https://github.com/gruntjs/grunt) | `1.6.1` | `1.6.2` |
| [parse5](https://github.com/inikulin/parse5) | `8.0.0` | `8.0.1` |
| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |
| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) |
`4.41.0` | `4.43.0` |
| [sinon](https://github.com/sinonjs/sinon) | `21.0.3` | `21.1.2` |


Updates `@axe-core/webdriverjs` from 4.11.1 to 4.11.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dequelabs/axe-core-npm/releases">@​axe-core/webdriverjs's
releases</a>.</em></p>
<blockquote>
<h2>v4.11.3</h2>
<h2>What's Changed</h2>
<ul>
<li>chore: add create-release workflow by <a
href="https://github.com/Garbee"><code>@​Garbee</code></a> in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1326">dequelabs/axe-core-npm#1326</a></li>
<li>chore: merge master into develop by <a
href="https://github.com/attest-team-ci"><code>@​attest-team-ci</code></a>
in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1324">dequelabs/axe-core-npm#1324</a></li>
<li>fix: Update axe-core to v4.11.4 by <a
href="https://github.com/attest-team-ci"><code>@​attest-team-ci</code></a>
in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1330">dequelabs/axe-core-npm#1330</a></li>
<li>chore: RC v4.11.3 by <a
href="https://github.com/github-actions"><code>@​github-actions</code></a>[bot]
in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1332">dequelabs/axe-core-npm#1332</a></li>
<li>chore: release v4.11.3 by <a
href="https://github.com/axe-core"><code>@​axe-core</code></a> in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1335">dequelabs/axe-core-npm#1335</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/axe-core"><code>@​axe-core</code></a>
made their first contribution in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1335">dequelabs/axe-core-npm#1335</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/dequelabs/axe-core-npm/compare/v4.11.2...v4.11.3">https://github.com/dequelabs/axe-core-npm/compare/v4.11.2...v4.11.3</a></p>
<h2>Release 4.11.2</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Update axe-core to v4.11.3 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1306">#1306</a>)
(<a
href="https://github.com/dequelabs/axe-core-npm/commit/71c41796f4cdf2aebcb5e49d1bf6896f4ad72a2a">71c4179</a>)</li>
<li><strong>wdio:</strong> support v9 wdio switchFrame and switchWindow
(<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1302">#1302</a>)
(<a
href="https://github.com/dequelabs/axe-core-npm/commit/4689273aead05133e161fe1d419a60224763ed7c">4689273</a>),
closes <a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1164">#1164</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/dequelabs/axe-core-npm/blob/develop/CHANGELOG.md">@​axe-core/webdriverjs's
changelog</a>.</em></p>
<blockquote>
<h1>Change Log</h1>
<p>All notable changes to this project will be documented in this file.
See <a href="https://conventionalcommits.org">Conventional Commits</a>
for commit guidelines.</p>
<h2><a
href="https://github.com/dequelabs/axe-core-npm/compare/v4.11.1...v4.11.2">4.11.2</a>
(2026-04-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Update axe-core to v4.11.3 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1306">#1306</a>)
(<a
href="https://github.com/dequelabs/axe-core-npm/commit/71c41796f4cdf2aebcb5e49d1bf6896f4ad72a2a">71c4179</a>)</li>
<li><strong>wdio:</strong> support v9 wdio switchFrame and switchWindow
(<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1302">#1302</a>)
(<a
href="https://github.com/dequelabs/axe-core-npm/commit/4689273aead05133e161fe1d419a60224763ed7c">4689273</a>),
closes <a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1164">#1164</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/25fbfd2a7b4d38fcdca487d393192e811592f1ec"><code>25fbfd2</code></a>
chore: release v4.11.3 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1335">#1335</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/dad3572195f68304561b28fc12980d24d069e0d3"><code>dad3572</code></a>
chore: RC v4.11.3 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1332">#1332</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/582a7fc2e16e7f5a5aa3d0cd28b31882b4504996"><code>582a7fc</code></a>
chore: RC v4.11.3</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/eed87f56b9808b3def657741c9c5023d7338583c"><code>eed87f5</code></a>
fix: Update axe-core to v4.11.4 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1330">#1330</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/57c54378dc0d829ea90562c1f192757df03839d3"><code>57c5437</code></a>
chore: merge master into develop (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1324">#1324</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/da56b5d6a0690a680e21b7f698a3ad9ed7497a10"><code>da56b5d</code></a>
chore: add create-release workflow (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1326">#1326</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/310de0a8b094d9575502a92ce898b7811e4f3a00"><code>310de0a</code></a>
chore: Release 4.11.2 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1323">#1323</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/39d99670b124852b51390221f1b4c43ea7ec1495"><code>39d9967</code></a>
chore: RC v4.11.2 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1317">#1317</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/7eb0bf2ce0c11bd12acb98111d72af7641ecdc33"><code>7eb0bf2</code></a>
chore: RC v4.11.2</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/71c41796f4cdf2aebcb5e49d1bf6896f4ad72a2a"><code>71c4179</code></a>
fix: Update axe-core to v4.11.3 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1306">#1306</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/dequelabs/axe-core-npm/compare/v4.11.1...v4.11.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `@babel/preset-env` from 7.29.2 to 7.29.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/babel/babel/releases">@​babel/preset-env's
releases</a>.</em></p>
<blockquote>
<h2>v7.29.5 (2026-05-05)</h2>
<h4>:house:  Internal</h4>
<ul>
<li><code>babel-preset-env</code>
<ul>
<li>Update <code>@babel/*</code> dependencies</li>
</ul>
</li>
</ul>
<h2>v7.29.4 (2026-05-05)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-plugin-transform-modules-systemjs</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17974">#17974</a>
[7.x backport]fix(systemjs): improve module string name support (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 1</h4>
<ul>
<li>Huáng Jùnliàng (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
<h2>v7.29.3 (2026-04-30)</h2>
<h4>:eyeglasses: Spec Compliance</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17923">#17923</a>
Support flow extends bound (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-plugin-proposal-decorators</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17931">#17931</a>
fix(decorators): replace super within all removed static elements (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-register</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17915">#17915</a> Fix
thread synchronization issues in <code>@babel/register</code> (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-compat-data</code>,
<code>babel-plugin-bugfix-safari-rest-destructuring-rhs-array</code>,
<code>babel-preset-env</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17788">#17788</a> Add
bugfix plugin for Safari array rest destructuring bug (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:nail_care: Polish</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17782">#17782</a>
Improve trailing comma comment handling (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:memo: Documentation</h4>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17847">#17847</a>
Replace npmjs.com links with npmx.dev (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
<h4>:running_woman: Performance</h4>
<ul>
<li><code>babel-helper-import-to-platform-api</code>,
<code>babel-plugin-proposal-import-wasm-source</code>,
<code>babel-plugin-transform-json-modules</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/17818">#17818</a>
Load async Wasm and JSON imports in parallel (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 4</h4>
<ul>
<li>Babel Bot (<a
href="https://github.com/babel-bot"><code>@​babel-bot</code></a>)</li>
<li>Huáng Jùnliàng (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li>Nicolò Ribaudo (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
<li><a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/babel/babel/commit/3cd910d838332b988ed83bdd2ddc22e849e7ea5d"><code>3cd910d</code></a>
v7.29.5</li>
<li><a
href="https://github.com/babel/babel/commit/3d399f8c8c1e5308bb25e11947d90a111399ac0d"><code>3d399f8</code></a>
[7.x backport]docs(preset-env): update CONTRIBUTING.md (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17976">#17976</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/183db7bc040a68057489f8981d02962345a322ed"><code>183db7b</code></a>
v7.29.3</li>
<li><a
href="https://github.com/babel/babel/commit/268f246f21e51b2204ba6dc5349055504cc7420d"><code>268f246</code></a>
Add bugfix plugin for Safari array rest destructuring bug (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17788">#17788</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/f8524d80799e136313e55da0468777a57d1bf6b6"><code>f8524d8</code></a>
Update compat data (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17686">#17686</a>)</li>
<li>See full diff in <a
href="https://github.com/babel/babel/commits/v7.29.5/packages/babel-preset-env">compare
view</a></li>
</ul>
</details>
<br />

Updates `globals` from 17.4.0 to 17.6.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sindresorhus/globals/releases">globals's
releases</a>.</em></p>
<blockquote>
<h2>v17.6.0</h2>
<ul>
<li>Update globals (2026-05-01) (<a
href="https://redirect.github.com/sindresorhus/globals/issues/343">#343</a>)
00a4dd9</li>
</ul>
<hr />
<p><a
href="https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0">https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0</a></p>
<h2>v17.5.0</h2>
<ul>
<li>Update globals (2026-04-12) (<a
href="https://redirect.github.com/sindresorhus/globals/issues/342">#342</a>)
5d84602</li>
</ul>
<hr />
<p><a
href="https://github.com/sindresorhus/globals/compare/v17.4.0...v17.5.0">https://github.com/sindresorhus/globals/compare/v17.4.0...v17.5.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sindresorhus/globals/commit/6b15870f1c08b60b5b57afe45a703d9ed0be39bc"><code>6b15870</code></a>
17.6.0</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/00a4dd9821830a9b044798120e86b1bb1a54648d"><code>00a4dd9</code></a>
Update globals (2026-05-01) (<a
href="https://redirect.github.com/sindresorhus/globals/issues/343">#343</a>)</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/b8170c8e1d648291b613c5b39a69652c796fa36c"><code>b8170c8</code></a>
17.5.0</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/5d846029679832931f38ced6381cc95bcb9abd80"><code>5d84602</code></a>
Update globals (2026-04-12) (<a
href="https://redirect.github.com/sindresorhus/globals/issues/342">#342</a>)</li>
<li><a
href="https://github.com/sindresorhus/globals/commit/1b727e5f4cc39121b8e77b9f27574a8ca27391fc"><code>1b727e5</code></a>
Fix build script for ES globals (<a
href="https://redirect.github.com/sindresorhus/globals/issues/341">#341</a>)</li>
<li>See full diff in <a
href="https://github.com/sindresorhus/globals/compare/v17.4.0...v17.6.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `grunt` from 1.6.1 to 1.6.2
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/gruntjs/grunt/blob/main/CHANGELOG">grunt's
changelog</a>.</em></p>
<blockquote>
<p>v1.6.2
date: 2026-04-14
changes:
- Update minimatch to 3.1.5.
(PR: <a
href="https://redirect.github.com/gruntjs/grunt/pull/1796">gruntjs/grunt#1796</a>)
- Update nopt to 5.0.0.
(PR: <a
href="https://redirect.github.com/gruntjs/grunt/pull/1778">gruntjs/grunt#1778</a>)</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/gruntjs/grunt/commit/f49016e3ad7b92cf73982bec8d1ad224563a475d"><code>f49016e</code></a>
1.6.2</li>
<li><a
href="https://github.com/gruntjs/grunt/commit/662e097e7a77717df9cdcc76597ea54c154a1e67"><code>662e097</code></a>
Update minimatch to 3.1.5 to fix CVEs</li>
<li><a
href="https://github.com/gruntjs/grunt/commit/a29fd1872a9028c65ce8e7eadda8a4ac0931adb5"><code>a29fd18</code></a>
CI: add Node.js 24 to version matrix</li>
<li><a
href="https://github.com/gruntjs/grunt/commit/f757c4f7dd4225aea81e23f67b7d2b15f6fd965d"><code>f757c4f</code></a>
Update links</li>
<li><a
href="https://github.com/gruntjs/grunt/commit/b5aa8342f393f21fecb9c983e0208d9da2340cfa"><code>b5aa834</code></a>
Merge pull request <a
href="https://redirect.github.com/gruntjs/grunt/issues/1792">#1792</a>
from UlisesGascon/security-md</li>
<li><a
href="https://github.com/gruntjs/grunt/commit/8d2dea224e772ff3c549be25d5d09c87d90ec536"><code>8d2dea2</code></a>
docs: refresh security policy</li>
<li><a
href="https://github.com/gruntjs/grunt/commit/aa15bdc5b435e2938744658dec31ec29c3109afc"><code>aa15bdc</code></a>
Merge pull request <a
href="https://redirect.github.com/gruntjs/grunt/issues/1786">#1786</a>
from stscoundrel/ci-node-22</li>
<li><a
href="https://github.com/gruntjs/grunt/commit/ee5b2a3480d520b442887451b86e596d971d94e6"><code>ee5b2a3</code></a>
Merge pull request <a
href="https://redirect.github.com/gruntjs/grunt/issues/1787">#1787</a>
from gruntjs/add-commercial-support</li>
<li><a
href="https://github.com/gruntjs/grunt/commit/c0e2b42efa4f590b624929d66e67a9f4e5c9ff46"><code>c0e2b42</code></a>
Readme updates re: support</li>
<li><a
href="https://github.com/gruntjs/grunt/commit/c4f037ddaecca57092f30018196361bb299b7bc7"><code>c4f037d</code></a>
CI: update GH actions V3 -&gt; V4</li>
<li>Additional commits viewable in <a
href="https://github.com/gruntjs/grunt/compare/v1.6.1...v1.6.2">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~krinkle">krinkle</a>, a new releaser for
grunt since your current version.</p>
</details>
<br />

Updates `parse5` from 8.0.0 to 8.0.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/inikulin/parse5/releases">parse5's
releases</a>.</em></p>
<blockquote>
<h2>v8.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>chore(deps-dev): bump <code>@​eslint/js</code> from 9.30.1 to 9.31.0
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1546">inikulin/parse5#1546</a></li>
<li>chore(deps-dev): bump eslint from 9.30.1 to 9.31.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1547">inikulin/parse5#1547</a></li>
<li>chore(deps-dev): bump typescript-eslint from 8.36.0 to 8.37.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1548">inikulin/parse5#1548</a></li>
<li>chore(deps-dev): bump eslint-config-prettier from 10.1.5 to 10.1.8
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1549">inikulin/parse5#1549</a></li>
<li>chore(deps): bump github/codeql-action from 3.29.2 to 3.29.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1550">inikulin/parse5#1550</a></li>
<li>chore(deps-dev): bump typescript-eslint from 8.37.0 to 8.38.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1552">inikulin/parse5#1552</a></li>
<li>chore: use unicorn-x lint rules by <a
href="https://github.com/43081j"><code>@​43081j</code></a> in <a
href="https://redirect.github.com/inikulin/parse5/pull/1553">inikulin/parse5#1553</a></li>
<li>chore(deps): bump github/codeql-action from 3.29.3 to 3.29.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1554">inikulin/parse5#1554</a></li>
<li>chore(deps-dev): bump typedoc from 0.28.7 to 0.28.8 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1556">inikulin/parse5#1556</a></li>
<li>chore(deps-dev): bump <code>@​eslint/js</code> from 9.31.0 to 9.32.0
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1557">inikulin/parse5#1557</a></li>
<li>chore(deps-dev): bump eslint from 9.31.0 to 9.32.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1558">inikulin/parse5#1558</a></li>
<li>chore(deps): bump github/codeql-action from 3.29.4 to 3.29.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1559">inikulin/parse5#1559</a></li>
<li>chore(deps-dev): bump typedoc from 0.28.8 to 0.28.9 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1560">inikulin/parse5#1560</a></li>
<li>chore(deps-dev): bump typescript-eslint from 8.38.0 to 8.39.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1561">inikulin/parse5#1561</a></li>
<li>chore(deps-dev): bump typescript from 5.8.3 to 5.9.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1562">inikulin/parse5#1562</a></li>
<li>chore(deps): bump github/codeql-action from 3.29.5 to 3.29.7 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1563">inikulin/parse5#1563</a></li>
<li>chore(deps): bump github/codeql-action from 3.29.7 to 3.29.8 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1564">inikulin/parse5#1564</a></li>
<li>chore(deps-dev): bump <code>@​eslint/js</code> from 9.32.0 to 9.33.0
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1565">inikulin/parse5#1565</a></li>
<li>chore(deps-dev): bump eslint from 9.32.0 to 9.33.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1566">inikulin/parse5#1566</a></li>
<li>chore(deps-dev): bump typedoc from 0.28.9 to 0.28.10 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1567">inikulin/parse5#1567</a></li>
<li>chore(deps-dev): bump typescript-eslint from 8.39.0 to 8.39.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1568">inikulin/parse5#1568</a></li>
<li>chore(deps): bump actions/checkout from 4.2.2 to 5.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1569">inikulin/parse5#1569</a></li>
<li>chore(deps): bump github/codeql-action from 3.29.8 to 3.29.9 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1570">inikulin/parse5#1570</a></li>
<li>chore(deps-dev): bump typescript-eslint from 8.39.1 to 8.40.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1571">inikulin/parse5#1571</a></li>
<li>chore(deps): bump github/codeql-action from 3.29.9 to 3.29.10 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1572">inikulin/parse5#1572</a></li>
<li>chore(deps): bump github/codeql-action from 3.29.10 to 3.29.11 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1573">inikulin/parse5#1573</a></li>
<li>chore(deps-dev): bump <code>@​eslint/js</code> from 9.33.0 to 9.34.0
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1574">inikulin/parse5#1574</a></li>
<li>chore(deps-dev): bump eslint from 9.33.0 to 9.34.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1575">inikulin/parse5#1575</a></li>
<li>chore(deps-dev): bump typedoc from 0.28.10 to 0.28.11 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1576">inikulin/parse5#1576</a></li>
<li>chore(deps-dev): bump typescript-eslint from 8.40.0 to 8.41.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1577">inikulin/parse5#1577</a></li>
<li>chore(deps-dev): bump typedoc from 0.28.11 to 0.28.12 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1578">inikulin/parse5#1578</a></li>
<li>chore(deps): bump github/codeql-action from 3.29.11 to 3.30.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1579">inikulin/parse5#1579</a></li>
<li>chore(deps-dev): bump typescript-eslint from 8.41.0 to 8.42.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1580">inikulin/parse5#1580</a></li>
<li>chore(deps): bump actions/setup-node from 4.4.0 to 5.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1581">inikulin/parse5#1581</a></li>
<li>chore(deps-dev): bump <code>@​eslint/js</code> from 9.34.0 to 9.35.0
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1582">inikulin/parse5#1582</a></li>
<li>chore(deps-dev): bump eslint from 9.34.0 to 9.35.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1583">inikulin/parse5#1583</a></li>
<li>chore(deps): bump github/codeql-action from 3.30.0 to 3.30.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1584">inikulin/parse5#1584</a></li>
<li>chore(deps-dev): bump typescript-eslint from 8.42.0 to 8.43.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1585">inikulin/parse5#1585</a></li>
<li>chore(deps-dev): bump globals from 16.3.0 to 16.4.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1587">inikulin/parse5#1587</a></li>
<li>chore(deps): bump github/codeql-action from 3.30.1 to 3.30.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1588">inikulin/parse5#1588</a></li>
<li>chore(deps): bump vite from 6.3.5 to 7.1.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1586">inikulin/parse5#1586</a></li>
<li>chore(deps): bump github/codeql-action from 3.30.2 to 3.30.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1590">inikulin/parse5#1590</a></li>
<li>chore(deps-dev): bump typedoc from 0.28.12 to 0.28.13 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1591">inikulin/parse5#1591</a></li>
<li>chore(deps-dev): bump typescript-eslint from 8.43.0 to 8.44.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1592">inikulin/parse5#1592</a></li>
<li>chore(deps-dev): bump <code>@​eslint/js</code> from 9.35.0 to 9.36.0
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1594">inikulin/parse5#1594</a></li>
<li>chore(deps-dev): bump eslint from 9.35.0 to 9.36.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1593">inikulin/parse5#1593</a></li>
<li>chore(deps-dev): bump typescript-eslint from 8.44.0 to 8.44.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1595">inikulin/parse5#1595</a></li>
<li>chore(deps): bump github/codeql-action from 3.30.3 to 3.30.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/inikulin/parse5/pull/1596">inikulin/parse5#1596</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/inikulin/parse5/commit/0d56627fc924d40f560fd260ade0e1a935e2369c"><code>0d56627</code></a>
chore: v8.0.1 (<a
href="https://redirect.github.com/inikulin/parse5/issues/1743">#1743</a>)</li>
<li><a
href="https://github.com/inikulin/parse5/commit/e402276597de95b3ce5372a62559d19ff2c7b052"><code>e402276</code></a>
chore(deps-dev): bump typescript from 6.0.2 to 6.0.3 (<a
href="https://redirect.github.com/inikulin/parse5/issues/1742">#1742</a>)</li>
<li><a
href="https://github.com/inikulin/parse5/commit/acf9d7b3ece6d43741d794aac10ea02b925c2056"><code>acf9d7b</code></a>
chore(deps): bump github/codeql-action from 4.35.1 to 4.35.2 (<a
href="https://redirect.github.com/inikulin/parse5/issues/1741">#1741</a>)</li>
<li><a
href="https://github.com/inikulin/parse5/commit/bcf1946093163f41753ad26dc11332a317d8d248"><code>bcf1946</code></a>
chore(deps-dev): bump prettier from 3.8.2 to 3.8.3 (<a
href="https://redirect.github.com/inikulin/parse5/issues/1740">#1740</a>)</li>
<li><a
href="https://github.com/inikulin/parse5/commit/03b441c59d8ddb936da35db79bf91a0d6646abc9"><code>03b441c</code></a>
chore(deps-dev): bump typescript-eslint from 8.58.1 to 8.58.2 (<a
href="https://redirect.github.com/inikulin/parse5/issues/1739">#1739</a>)</li>
<li><a
href="https://github.com/inikulin/parse5/commit/b3f126145cf6f6f9ed083e886ceaca4472e2ba92"><code>b3f1261</code></a>
chore(deps-dev): bump globals from 17.4.0 to 17.5.0 (<a
href="https://redirect.github.com/inikulin/parse5/issues/1738">#1738</a>)</li>
<li><a
href="https://github.com/inikulin/parse5/commit/7e420aed85de8525059cc575c0d7939d98cf5fa6"><code>7e420ae</code></a>
chore(deps-dev): bump typedoc from 0.28.18 to 0.28.19 (<a
href="https://redirect.github.com/inikulin/parse5/issues/1737">#1737</a>)</li>
<li><a
href="https://github.com/inikulin/parse5/commit/28a9468e2b6fddf21d22afe5d6963806954a008b"><code>28a9468</code></a>
chore(deps-dev): bump <code>@​vitest/coverage-v8</code> from 4.1.3 to
4.1.4 (<a
href="https://redirect.github.com/inikulin/parse5/issues/1736">#1736</a>)</li>
<li><a
href="https://github.com/inikulin/parse5/commit/9ec822f0f1172d10870f34a88577fbc4475b63a7"><code>9ec822f</code></a>
chore(deps-dev): bump prettier from 3.8.1 to 3.8.2 (<a
href="https://redirect.github.com/inikulin/parse5/issues/1735">#1735</a>)</li>
<li><a
href="https://github.com/inikulin/parse5/commit/2d230bfba3bf896e5c88104a7bbb5fec66449e03"><code>2d230bf</code></a>
chore(deps-dev): bump nano-staged from 0.9.0 to 1.0.2 (<a
href="https://redirect.github.com/inikulin/parse5/issues/1734">#1734</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/inikulin/parse5/compare/v8.0.0...v8.0.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `prettier` from 3.8.1 to 3.8.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/releases">prettier's
releases</a>.</em></p>
<blockquote>
<h2>3.8.3</h2>
<ul>
<li>SCSS: Prevent trailing comma in <code>if()</code> function (<a
href="https://redirect.github.com/prettier/prettier/pull/18471">prettier/prettier#18471</a>
by <a href="https://github.com/kovsu"><code>@​kovsu</code></a>)</li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/3.8.3/CHANGELOG.md#383">Changelog</a></p>
<h2>3.8.2</h2>
<ul>
<li>Support Angular v21.2</li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md#382">Changelog</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md">prettier's
changelog</a>.</em></p>
<blockquote>
<h1>3.8.3</h1>
<p><a
href="https://github.com/prettier/prettier/compare/3.8.2...3.8.3">diff</a></p>
<h4>SCSS: Prevent trailing comma in <code>if()</code> function (<a
href="https://redirect.github.com/prettier/prettier/pull/18471">#18471</a>
by <a href="https://github.com/kovsu"><code>@​kovsu</code></a>)</h4>
<!-- raw HTML omitted -->
<pre lang="scss"><code>// Input
$value: if(sass(false): 1; else: -1);
<p>// Prettier 3.8.2
$value: if(
sass(false): 1; else: -1,
);</p>
<p>// Prettier 3.8.3
$value: if(sass(false): 1; else: -1);
</code></pre></p>
<h1>3.8.2</h1>
<p><a
href="https://github.com/prettier/prettier/compare/3.8.1...3.8.2">diff</a></p>
<h4>Angular: Support Angular v21.2 (<a
href="https://redirect.github.com/prettier/prettier/pull/18722">#18722</a>,
<a
href="https://redirect.github.com/prettier/prettier/pull/19034">#19034</a>
by <a href="https://github.com/fisker"><code>@​fisker</code></a>)</h4>
<p>Exhaustive typechecking with <code>@default never;</code></p>
<!-- raw HTML omitted -->
<pre lang="html"><code>&lt;!-- Input --&gt;
@switch (foo) {
  @case (1) {}
  @default never;
}
<p>&lt;!-- Prettier 3.8.1 --&gt;
SyntaxError: Incomplete block &quot;default never&quot;. If you meant to
write the @ character, you should use the &quot;&amp;<a
href="https://redirect.github.com/prettier/prettier/issues/64">#64</a>;&quot;
HTML entity instead. (3:3)</p>
<p>&lt;!-- Prettier 3.8.2 --&gt;
<a href="https://github.com/switch"><code>@​switch</code></a> (foo) {
<a href="https://github.com/case"><code>@​case</code></a> (1) {}
<a href="https://github.com/default"><code>@​default</code></a> never;
}
</code></pre></p>
<p><code>arrow function</code> and <code>instanceof</code>
expressions.</p>
<!-- raw HTML omitted -->
<pre lang="html"><code>&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/prettier/prettier/commit/d7108a79ec745c04292aabf22c4c1adbd690b191"><code>d7108a7</code></a>
Release 3.8.3</li>
<li><a
href="https://github.com/prettier/prettier/commit/177f90898170d363ef64fde663e4d13170688bfe"><code>177f908</code></a>
Prevent trailing comma in SCSS <code>if()</code> function (<a
href="https://redirect.github.com/prettier/prettier/issues/18471">#18471</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/1cd40668c3d6f2f4cf9d87bbc9096d92361b2606"><code>1cd4066</code></a>
Release <code>@​prettier/plugin-oxc</code><a
href="https://github.com/0"><code>@​0</code></a>.1.4</li>
<li><a
href="https://github.com/prettier/prettier/commit/a8700e245038cd8cc0cf28ef06ffedbcb3fc2dfc"><code>a8700e2</code></a>
Update oxc-parser to v0.125.0</li>
<li><a
href="https://github.com/prettier/prettier/commit/752157c78eca6f0a30e5d5cb513b682c5ecfa01e"><code>752157c</code></a>
Fix tests</li>
<li><a
href="https://github.com/prettier/prettier/commit/053fd418e180b12fa2014260212fae831f5fc5ec"><code>053fd41</code></a>
Bump Prettier dependency to 3.8.2</li>
<li><a
href="https://github.com/prettier/prettier/commit/904c6365ec46726fd0e21021c52ae934b7e5abc6"><code>904c636</code></a>
Clean changelog_unreleased</li>
<li><a
href="https://github.com/prettier/prettier/commit/dc1f7fcc508d116cbf1644d69a1f0eb93e40d4a4"><code>dc1f7fc</code></a>
Update dependents count</li>
<li><a
href="https://github.com/prettier/prettier/commit/b31557cf331a02acf83e7e29d1001b070189a0d9"><code>b31557c</code></a>
Release 3.8.2</li>
<li><a
href="https://github.com/prettier/prettier/commit/96bbaeda0525bf758e464aed2f939d739a85c315"><code>96bbaed</code></a>
Support Angular v21.2 (<a
href="https://redirect.github.com/prettier/prettier/issues/18722">#18722</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/prettier/prettier/compare/3.8.1...3.8.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `selenium-webdriver` from 4.41.0 to 4.43.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/SeleniumHQ/selenium/releases">selenium-webdriver's
releases</a>.</em></p>
<blockquote>
<h2>Selenium 4.43.0</h2>
<h2>Detailed Changelogs by Component</h2>
<p><!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG">Java</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES">Python</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG">DotNet</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES">Ruby</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md">JavaScript</a></strong>
<!-- raw HTML omitted --></p>
<!-- raw HTML omitted -->
<p><strong>Full Changelog</strong>: <a
href="https://github.com/SeleniumHQ/selenium/compare/selenium-4.42.0...selenium-4.43.0">https://github.com/SeleniumHQ/selenium/compare/selenium-4.42.0...selenium-4.43.0</a></p>
<h2>Selenium 4.42.0</h2>
<h2>Detailed Changelogs by Component</h2>
<p><!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG">Java</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES">Python</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG">DotNet</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES">Ruby</a></strong>
    |    <!-- raw HTML omitted --> <strong><a
href="https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md">JavaScript</a></strong>
<!-- raw HTML omitted --></p>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<!-- raw HTML omitted -->
<ul>
<li>[rust][rb] Update lock files with new versions by <a
href="https://github.com/cgoldberg"><code>@​cgoldberg</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17118">SeleniumHQ/selenium#17118</a></li>
<li>[dotnet] [bidi] Unify all event arguments to be *EventArgs by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17125">SeleniumHQ/selenium#17125</a></li>
<li>[py] Add return type annotation to execute_script and
execute_async_script by <a
href="https://github.com/adamtheturtle"><code>@​adamtheturtle</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17117">SeleniumHQ/selenium#17117</a></li>
<li>[dotnet] [bidi] Expose functionality via interface by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17127">SeleniumHQ/selenium#17127</a></li>
<li>[dotnet] [bidi] Unregister cancelled commands by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17129">SeleniumHQ/selenium#17129</a></li>
<li>[dotnet] [bidi] Properly handle websocket close handshake by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17132">SeleniumHQ/selenium#17132</a></li>
<li>[ruby] fix linter error in <code>./go authors</code> script by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17136">SeleniumHQ/selenium#17136</a></li>
<li>[nodejs] Color Class for Javascript library by <a
href="https://github.com/BckupMuthu"><code>@​BckupMuthu</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16944">SeleniumHQ/selenium#16944</a></li>
<li>[java] fix &quot;or&quot; condition by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17135">SeleniumHQ/selenium#17135</a></li>
<li>[java] Improve screenshot error message by <a
href="https://github.com/seethinajayadileep"><code>@​seethinajayadileep</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17120">SeleniumHQ/selenium#17120</a></li>
<li>[java] fix &quot;Don't serialize binary stream - it might be
large&quot; when using <code>RemoteWebDriver.builder()</code> by <a
href="https://github.com/tim-burke-systemware"><code>@​tim-burke-systemware</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17139">SeleniumHQ/selenium#17139</a></li>
<li>[dotnet] [bidi] Wait until events are dispatched when unsubscribing
by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17142">SeleniumHQ/selenium#17142</a></li>
<li>[dotnet] Any WebDriver can be disposed asynchronously by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17119">SeleniumHQ/selenium#17119</a></li>
<li>[grid] Router bypass WebSocket data path via transparent TCP tunnel
by <a href="https://github.com/VietND96"><code>@​VietND96</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17146">SeleniumHQ/selenium#17146</a></li>
<li>[dotnet] [bidi] Preserve configurable options pattern by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17144">SeleniumHQ/selenium#17144</a></li>
<li>[rb] Use portable Ruby by <a
href="https://github.com/p0deje"><code>@​p0deje</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/16936">SeleniumHQ/selenium#16936</a></li>
<li>[java] Guard against NPE in Platform.extractFromSysProperty by <a
href="https://github.com/seethinajayadileep"><code>@​seethinajayadileep</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17151">SeleniumHQ/selenium#17151</a></li>
<li>[java] Deduplicate Unicode PUA mappings in Keys; make OPTION an
alias of ALT and deprecate FN by <a
href="https://github.com/seethinajayadileep"><code>@​seethinajayadileep</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17147">SeleniumHQ/selenium#17147</a></li>
<li>[java] remove <code>@Nullable</code> from return value for
<code>ExpectedConditions</code> that never return null by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17149">SeleniumHQ/selenium#17149</a></li>
<li>[java] Fluent setters in few classes like <code>PrintOptions</code>
etc. by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17148">SeleniumHQ/selenium#17148</a></li>
<li>[dotnet] [bidi] Add disposed guard by <a
href="https://github.com/nvborisenko"><code>@​nvborisenko</code></a> in
<a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17161">SeleniumHQ/selenium#17161</a></li>
<li>[java] Enhance ScriptKey.toString() and mask script content in
UnpinnedScriptKey by <a
href="https://github.com/seethinajayadileep"><code>@​seethinajayadileep</code></a>
in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17159">SeleniumHQ/selenium#17159</a></li>
<li>[java] specify nullability in packages
<code>org.openqa.selenium.chrom*</code> by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17152">SeleniumHQ/selenium#17152</a></li>
<li>Nullability for browsers by <a
href="https://github.com/asolntsev"><code>@​asolntsev</code></a> in <a
href="https://redirect.github.com/SeleniumHQ/selenium/pull/17167">SeleniumHQ/selenium#17167</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/dd0f5342f342c9583b2dde8e1619d6babc612ea0"><code>dd0f534</code></a>
[build] Prepare for release of selenium-4.43.0 (<a
href="https://redirect.github.com/SeleniumHQ/selenium/issues/17329">#17329</a>)</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/52a38c6222707b1582cf2b4521649ba40077ecb7"><code>52a38c6</code></a>
fix(release): add rust:update command to version reset workflow</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/7cee048f8a415f273670789bb076a679416a3f77"><code>7cee048</code></a>
fix(pypirc): remove setup_pypirc method and update nightly credentials
handling</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/8382015adf4becfc90f88cc40193eebcf2496101"><code>8382015</code></a>
fix(credentials): add support for nightly PyPI credentials</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/63e8662a74f58a26923f02d523a85d4b006c348a"><code>63e8662</code></a>
Update mirror info (Thu Apr 9 18:16:15 UTC 2026)</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/5615f6459e028cac09343e95fff0cf0ab3b9cc75"><code>5615f64</code></a>
fix(version): update selenium-manager to 0.4.43-nightly</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/98871168e5d3e55e4efafda0ac3e3f7224d09a04"><code>9887116</code></a>
fix(release): specify path for downloading release packages</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/e2d089c4c1ffd4ab20c707ac67c460814e9520f8"><code>e2d089c</code></a>
fix(dependencies): update selenium-webdriver to 4.43.0.nightly</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/c68d3debf329f0947dc2791f58d2c9eb26ce5985"><code>c68d3de</code></a>
Reverting changes done for 4.42.0 release</li>
<li><a
href="https://github.com/SeleniumHQ/selenium/commit/cb536ad6844b3c159901d898de79832d5fd5d20f"><code>cb536ad</code></a>
Bumping versions to nightly</li>
<li>Additional commits viewable in <a
href="https://github.com/SeleniumHQ/selenium/compare/selenium-4.41.0...selenium-4.43.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `sinon` from 21.0.3 to 21.1.2
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sinonjs/sinon/blob/main/docs/changelog.md">sinon's
changelog</a>.</em></p>
<blockquote>
<h2>21.1.2</h2>
<ul>
<li><a
href="https://github.com/sinonjs/sinon/commit/53817f7d3ab9447001ae7e622361c2f148170965"><code>53817f7d</code></a>
Upgrade to ESLint 10 and new shared config (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2696">#2696</a>)
(Carl-Erik Kopseng)
<blockquote>
<ul>
<li>Upgrade to ESLint 10 and new shared config</li>
<li>Update deps</li>
</ul>
</blockquote>
</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/d7a682e0a8e8db3111c3e7f8cb238b2c7dfddb0e"><code>d7a682e0</code></a>
fix: move npm-run-all to devDeps (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2694">#2694</a>)
(Avi Vahl)
<blockquote>
<p>used only during dev, and caused a considerable dep count jump
downstream</p>
</blockquote>
</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/5b8720ec579787f4830fcb40cf97c9d2744ade74"><code>5b8720ec</code></a>
use latest shared eslint-config (Carl-Erik Kopseng)</li>
</ul>
<p><em>Released by <a href="https://github.com/fatso83">Carl-Erik
Kopseng</a> on 2026-04-11.</em></p>
<h2>21.1.1</h2>
<ul>
<li><a
href="https://github.com/sinonjs/sinon/commit/3c8b023b942b7cbd235b3804e81a36293f1c1b1a"><code>3c8b023b</code></a>
Update deps (Carl-Erik Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/2eabf5dabdc242dd1cba1d6f0ffdbbfdf026da2b"><code>2eabf5da</code></a>
fix(<a
href="https://redirect.github.com/sinonjs/sinon/issues/2692">#2692</a>):
Remove ESM-only supports-color as it breaks CJS exports (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2693">#2693</a>)
(Carl-Erik Kopseng)
<blockquote>
<ul>
<li>fix(<a
href="https://redirect.github.com/sinonjs/sinon/issues/2692">#2692</a>):
Remove ESM-only supports-color as it breaks CJS exports</li>
</ul>
</blockquote>
</li>
</ul>
<p><em>Released by <a href="https://github.com/fatso83">Carl-Erik
Kopseng</a> on 2026-04-10.</em></p>
<h2>21.1.0</h2>
<ul>
<li><a
href="https://github.com/sinonjs/sinon/commit/0a5526c54b44885cd0e85fb3c42218e75caa93ee"><code>0a5526c5</code></a>
updated deps (Carl-Erik Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/5262204f018503e7f22e82f53cc776edda38d88e"><code>5262204f</code></a>
fix: build artifacts before running bundled tests (Carl-Erik
Kopseng)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/819bb64b5b83e4811fabeaed1d21cef677647c34"><code>819bb64b</code></a>
Migration to ECMAScript modules (ESM) (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2683">#2683</a>)
(Carl-Erik Kopseng)
<blockquote>
<p>This allowed us to finally consume ESM-only dependencies and has
broken us free from some CJS shackes. Now produce the same API surface
for CJS consumers, as well, by generating <code>./lib</code></p>
<ul>
<li>Modern ignores 😁</li>
<li>test: add distribution harness</li>
<li>test: verify packed cjs and esm entrypoints</li>
<li>test: lock distribution api manifest</li>
<li>test: smoke test built pkg artifacts</li>
<li>docs: require contract tests for package migration</li>
<li>test: guard esm migration regressions</li>
<li>docs: require contract gate for esm migration</li>
<li>build: generate cjs lib from esm source entries</li>
<li>refactor: port root api surface to esm</li>
<li>build: clean port of root api to esm</li>
<li>docs: include implementation plans</li>
<li>fix: align lint and smoke tests with esm migration</li>
<li>refactor: complete esm port of all core components</li>
<li>refactor: finalize esm migration with sandbox and naming fixes</li>
<li>fix: finish esm migration stabilization</li>
</ul>
</blockquote>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/sinonjs/sinon/commit/c9ee063bd91969d230a76b5caa5d930ca789e59e"><code>c9ee063</code></a>
21.1.2</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/53817f7d3ab9447001ae7e622361c2f148170965"><code>53817f7</code></a>
Upgrade to ESLint 10 and new shared config (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2696">#2696</a>)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/d7a682e0a8e8db3111c3e7f8cb238b2c7dfddb0e"><code>d7a682e</code></a>
fix: move npm-run-all to devDeps (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2694">#2694</a>)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/5b8720ec579787f4830fcb40cf97c9d2744ade74"><code>5b8720e</code></a>
use latest shared eslint-config</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/40f9d6b735d7fa38143a0717f745ca0d850f6693"><code>40f9d6b</code></a>
21.1.1</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/3c8b023b942b7cbd235b3804e81a36293f1c1b1a"><code>3c8b023</code></a>
Update deps</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/2eabf5dabdc242dd1cba1d6f0ffdbbfdf026da2b"><code>2eabf5d</code></a>
fix(<a
href="https://redirect.github.com/sinonjs/sinon/issues/2692">#2692</a>):
Remove ESM-only supports-color as it breaks CJS exports (<a
href="https://redirect.github.com/sinonjs/sinon/issues/2693">#2693</a>)</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/30cf67e557c52ac865ad4ad10fc566677a226f25"><code>30cf67e</code></a>
21.1.0</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/0a5526c54b44885cd0e85fb3c42218e75caa93ee"><code>0a5526c</code></a>
updated deps</li>
<li><a
href="https://github.com/sinonjs/sinon/commit/5262204f018503e7f22e82f53cc776edda38d88e"><code>5262204</code></a>
fix: build artifacts before running bundled tests</li>
<li>Additional commits viewable in <a
href="https://github.com/sinonjs/sinon/compare/v21.0.3...v21.1.2">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[start-server-and-test](https://github.com/bahmutov/start-server-and-test)
from 2.1.5 to 3.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/bahmutov/start-server-and-test/releases">start-server-and-test's
releases</a>.</em></p>
<blockquote>
<h2>v3.0.2</h2>
<h2><a
href="https://github.com/bahmutov/start-server-and-test/compare/v3.0.1...v3.0.2">3.0.2</a>
(2026-04-10)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> update wait-on to 9.0.5 (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/462">#462</a>)
(<a
href="https://github.com/bahmutov/start-server-and-test/commit/1156b8130de885e31b8db820a8ebe987c490a83a">1156b81</a>)</li>
</ul>
<h2>v3.0.1</h2>
<h2><a
href="https://github.com/bahmutov/start-server-and-test/compare/v3.0.0...v3.0.1">3.0.1</a>
(2026-04-10)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> pin arg to 5.0.2 (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/461">#461</a>)
(<a
href="https://github.com/bahmutov/start-server-and-test/commit/799d88143914b09bcf1efe2ccc824e8e06761f18">799d881</a>)</li>
</ul>
<h2>v3.0.0</h2>
<h1><a
href="https://github.com/bahmutov/start-server-and-test/compare/v2.1.5...v3.0.0">3.0.0</a>
(2026-03-25)</h1>
<h3>Features</h3>
<p>Removes the requirement on Windows for the deprecated WMI
command-line tool (wmic.exe). WMIC is a Feature on Demand (FoD) that is
no longer installed by default on latest Windows Server and Desktop
releases. Affects Windows Server 2025, Windows 11 24H2 &amp; 25H2.</p>
<ul>
<li><strong>deps:</strong> Replace ps-tree with tree-kill (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/412">#412</a>)
(<a
href="https://github.com/bahmutov/start-server-and-test/commit/c0b01219d482e1bd71780a125e3d17f0f44d456f">c0b0121</a>),
closes <a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/398">#398</a></li>
<li>update minimum Node.js to 22 (<a
href="https://github.com/bahmutov/start-server-and-test/commit/47a8b41bc4e15a473f5862d2b8606042c0f0384d">47a8b41</a>)</li>
</ul>
<h3>BREAKING CHANGES</h3>
<ul>
<li>Requires Node.js versions 22, 24 or above</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/bahmutov/start-server-and-test/commit/1156b8130de885e31b8db820a8ebe987c490a83a"><code>1156b81</code></a>
fix(deps): update wait-on to 9.0.5 (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/462">#462</a>)</li>
<li><a
href="https://github.com/bahmutov/start-server-and-test/commit/799d88143914b09bcf1efe2ccc824e8e06761f18"><code>799d881</code></a>
fix(deps): pin arg to 5.0.2 (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/461">#461</a>)</li>
<li><a
href="https://github.com/bahmutov/start-server-and-test/commit/6e4099589a231604777aeae064c24287e506de38"><code>6e40995</code></a>
chore(renovate): restrict lazy-ass to &lt;2 for compatibility (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/460">#460</a>)</li>
<li><a
href="https://github.com/bahmutov/start-server-and-test/commit/bc13bbe09d78d9d9a15d179c6324053a5ba12e05"><code>bc13bbe</code></a>
chore(renovate): restrict execa to &lt;6 for CommonJS compatibility (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/457">#457</a>)</li>
<li><a
href="https://github.com/bahmutov/start-server-and-test/commit/df0ead10e8d9011506abfa70315ea10a6b030476"><code>df0ead1</code></a>
docs: update Renovate badge in README (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/456">#456</a>)</li>
<li><a
href="https://github.com/bahmutov/start-server-and-test/commit/7c434e0c43c7a9f9e722ba4cdc0ff4b75e68b009"><code>7c434e0</code></a>
docs: remove code style: standard linting badge from README (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/455">#455</a>)</li>
<li><a
href="https://github.com/bahmutov/start-server-and-test/commit/a9579dc04721d2a578293e4be216f6cd5ef96323"><code>a9579dc</code></a>
chore(ci): add dependency install to release workflow (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/454">#454</a>)</li>
<li><a
href="https://github.com/bahmutov/start-server-and-test/commit/a3080b8138e3f4711cf4dba88f40970738090505"><code>a3080b8</code></a>
Merge pull request <a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/453">#453</a>
from bahmutov/release/v3</li>
<li><a
href="https://github.com/bahmutov/start-server-and-test/commit/c0b01219d482e1bd71780a125e3d17f0f44d456f"><code>c0b0121</code></a>
feat(deps): Replace ps-tree with tree-kill (<a
href="https://redirect.github.com/bahmutov/start-server-and-test/issues/412">#412</a>)</li>
<li><a
href="https://github.com/bahmutov/start-server-and-test/commit/47a8b41bc4e15a473f5862d2b8606042c0f0384d"><code>47a8b41</code></a>
feat: update minimum Node.js to 22</li>
<li>Additional commits viewable in <a
href="https://github.com/bahmutov/start-server-and-test/compare/v2.1.5...v3.0.2">compare
view</a></li>
</ul>
</details>
<details>
<summary>Install script changes</summary>
<p>This version adds <code>prepare</code> script that runs during
installation. Review the package contents before updating.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=start-server-and-test&package-manager=npm_and_yarn&previous-version=2.1.5&new-version=3.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [jsdom](https://github.com/jsdom/jsdom) from 28.1.0 to 29.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jsdom/jsdom/releases">jsdom's
releases</a>.</em></p>
<blockquote>
<h2>v29.0.2</h2>
<ul>
<li>Significantly improved and sped up <code>getComputedStyle()</code>.
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 as <code>currentcolor</code>
and system colors. (<a
href="https://github.com/asamuzaK"><code>@​asamuzaK</code></a>)</li>
<li>Fixed CSS <code>'background</code>' and <code>'border'</code>
shorthand parsing. (<a
href="https://github.com/asamuzaK"><code>@​asamuzaK</code></a>)</li>
</ul>
<h2>v29.0.1</h2>
<ul>
<li>Fixed CSS parsing of <code>'border'</code>,
<code>'background'</code>, and their sub-shorthands containing keywords
or <code>var()</code>. (<a
href="https://github.com/asamuzaK"><code>@​asamuzaK</code></a>)</li>
<li>Fixed <code>getComputedStyle()</code> to return a more functional
<code>CSSStyleDeclaration</code> object, including indexed access
support, which regressed in v29.0.0.</li>
</ul>
<h2>v29.0.0</h2>
<p>Breaking changes:</p>
<ul>
<li>Node.js v22.13.0+ is now the minimum supported v22 version (was
v22.12.0+).</li>
</ul>
<p>Other changes:</p>
<ul>
<li>Overhauled the CSSOM implementation, replacing the <a
href="https://www.npmjs.com/package/@acemir/cssom"><code>@acemir/cssom</code></a>
and <a
href="https://github.com/jsdom/cssstyle"><code>cssstyle</code></a>
dependencies with fresh internal implementations built on webidl2js
wrappers and the <a
href="https://www.npmjs.com/package/css-tree"><code>css-tree</code></a>
parser. Serialization, parsing, and API behavior is improved in various
ways, especially around edge cases.</li>
<li>Added <code>CSSCounterStyleRule</code> and
<code>CSSNamespaceRule</code> to jsdom <code>Window</code>s.</li>
<li>Added <code>cssMediaRule.matches</code> and
<code>cssSupportsRule.matches</code> getters.</li>
<li>Added proper media query parsing in <code>MediaList</code>, using
<code>css-tree</code> instead of naive comma-splitting. Invalid queries
become <code>&quot;not all&quot;</code> per spec.</li>
<li>Added <code>cssKeyframeRule.keyText</code> getter/setter
validation.</li>
<li>Added <code>cssStyleRule.selectorText</code> setter validation:
invalid selectors are now rejected.</li>
<li>Added <code>styleSheet.ownerNode</code>,
<code>styleSheet.href</code>, and <code>styleSheet.title</code>.</li>
<li>Added bad port blocking per the <a
href="https://fetch.spec.whatwg.org/#bad-port">fetch specification</a>,
preventing fetches to commonly-abused ports.</li>
<li>Improved <code>Document</code> initialization performance by lazily
initializing the CSS selector engine, avoiding ~0.5 ms of overhead per
<code>Document</code>. (<a
href="https://github.com/thypon"><code>@​thypon</code></a>)</li>
<li>Fixed a memory leak when stylesheets were removed from the
document.</li>
<li>Fixed <code>CSSStyleDeclaration</code> modifications to properly
trigger custom element reactions.</li>
<li>Fixed nested <code>@media</code> rule parsing.</li>
<li>Fixed <code>CSSStyleSheet</code>'s &quot;disallow modification&quot;
flag not being checked in all mutation methods.</li>
<li>Fixed <code>XMLHttpRequest</code>'s <code>response</code> getter
returning parsed JSON during the <code>LOADING</code> state instead of
<code>null</code>.</li>
<li>Fixed <code>getComputedStyle()</code> crashing in XHTML documents
when stylesheets contained at-rules such as <code>@page</code> or
<code>@font-face</code>.</li>
<li>Fixed a potential hang in synchronous <code>XMLHttpRequest</code>
caused by a race condition with the worker thread's idle timeout.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806"><code>2a1e2cd</code></a>
29.0.2</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f"><code>4097d66</code></a>
Resolve computed CSS values lazily in CSSStyleDeclaration</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/cf5523ff92978fc08f7e40c0f44053946101d064"><code>cf5523f</code></a>
Add more test cases for nested color-mix with currentColor</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/b33b61657e563ec841cb7a29c98ad236cc71c0b0"><code>b33b616</code></a>
Add test that getComputedStyle() works with !important</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/6bf559c416654641d3ca197982d646eac6de85ae"><code>6bf559c</code></a>
Add test for custom property inheritance in computed styles</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/68176571d00c50441fc3a428e1315fc1fb3b2bab"><code>6817657</code></a>
Fix border shorthand handling</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/470f5c5943d001f9abf8396734fc0c6f11174784"><code>470f5c5</code></a>
Consolidate color helpers</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/3db53cb2cb14aef35717cbec75b6bd638b1224a7"><code>3db53cb</code></a>
Fix background shorthand handlers</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/678e84093ad44b444be6e0317b84396832ff39c6"><code>678e840</code></a>
Remove some longhand property files</li>
<li><a
href="https://github.com/jsdom/jsdom/commit/d526a07432982dcb89597e469c0fb00ba54884bb"><code>d526a07</code></a>
Add regression test for getComputedStyle() liveness</li>
<li>Additional commits viewable in <a
href="https://github.com/jsdom/jsdom/compare/v28.1.0...v29.0.2">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new
releaser for jsdom since your current version.</p>
</details>
<details>
<summary>Install script changes</summary>
<p>This version modifies <code>prepare</code> script that runs during
installation. Review the package contents before updating.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom&package-manager=npm_and_yarn&previous-version=28.1.0&new-version=29.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…w-risk group (#5088)

Bumps the gha-low-risk group with 1 update:
[actions/upload-artifact](https://github.com/actions/upload-artifact).

Updates `actions/upload-artifact` from 7.0.0 to 7.0.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Update the readme with direct upload details by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/795">actions/upload-artifact#795</a></li>
<li>Readme: bump all the example versions to v7 by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/796">actions/upload-artifact#796</a></li>
<li>Include changes in typespec/ts-http-runtime 0.3.5 by <a
href="https://github.com/yacaovsnc"><code>@​yacaovsnc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/797">actions/upload-artifact#797</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v7...v7.0.1">https://github.com/actions/upload-artifact/compare/v7...v7.0.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/upload-artifact/commit/043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"><code>043fb46</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/797">#797</a>
from actions/yacaovsnc/update-dependency</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/634250c1388765ea7ed0f053e636f1f399000b94"><code>634250c</code></a>
Include changes in typespec/ts-http-runtime 0.3.5</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/e454baaac2be505c9450e11b8f3215c6fc023ce8"><code>e454baa</code></a>
Readme: bump all the example versions to v7 (<a
href="https://redirect.github.com/actions/upload-artifact/issues/796">#796</a>)</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/74fad66b98a6d799dc004d3353ccd0e6f6b2530e"><code>74fad66</code></a>
Update the readme with direct upload details (<a
href="https://redirect.github.com/actions/upload-artifact/issues/795">#795</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/upload-artifact/compare/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/upload-artifact&package-manager=github_actions&previous-version=7.0.0&new-version=7.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.9.3
to 6.0.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/TypeScript/releases">typescript's
releases</a>.</em></p>
<blockquote>
<h2>TypeScript 6.0.3</h2>
<p>For release notes, check out the <a
href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/">release
announcement blog post</a>.</p>
<ul>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+6.0.0%22">fixed
issues query for TypeScript 6.0.0 (Beta)</a>.</li>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+6.0.1%22">fixed
issues query for TypeScript 6.0.1 (RC)</a>.</li>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+6.0.2%22">fixed
issues query for TypeScript 6.0.2 (Stable)</a>.</li>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+6.0.3%22">fixed
issues query for TypeScript 6.0.3 (Stable)</a>.</li>
</ul>
<p>Downloads are available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/typescript">npm</a></li>
</ul>
<h2>TypeScript 6.0</h2>
<p>For release notes, check out the <a
href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/">release
announcement blog post</a>.</p>
<ul>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+6.0.0%22">fixed
issues query for TypeScript 6.0.0 (Beta)</a>.</li>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+6.0.1%22">fixed
issues query for TypeScript 6.0.1 (RC)</a>.</li>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+6.0.2%22">fixed
issues query for TypeScript 6.0.2 (Stable)</a>.</li>
</ul>
<p>Downloads are available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/typescript">npm</a></li>
</ul>
<h2>TypeScript 6.0 Beta</h2>
<p>For release notes, check out the <a
href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0-beta/">release
announcement</a>.</p>
<ul>
<li><a
href="https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&amp;q=milestone%3A%22TypeScript+6.0.0%22+is%3Aclosed+">fixed
issues query for Typescript 6.0.0 (Beta)</a>.</li>
</ul>
<p>Downloads are available on:</p>
<ul>
<li><a href="https://www.npmjs.com/package/typescript">npm</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/TypeScript/commit/050880ce59e30b356b686bd3144efe24f875ebc8"><code>050880c</code></a>
Bump version to 6.0.3 and LKG</li>
<li><a
href="https://github.com/microsoft/TypeScript/commit/eeae9dd0f17aa494658e4ec079dc002e02dd625e"><code>eeae9dd</code></a>
🤖 Pick PR <a
href="https://redirect.github.com/microsoft/TypeScript/issues/63401">#63401</a>
(Also check package name validity in...) into release-6.0 (#...</li>
<li><a
href="https://github.com/microsoft/TypeScript/commit/ad1c695fada682764bb510dd680e8f175ae54094"><code>ad1c695</code></a>
🤖 Pick PR <a
href="https://redirect.github.com/microsoft/TypeScript/issues/63368">#63368</a>
(Harden ATA package name filtering) into release-6.0 (<a
href="https://redirect.github.com/microsoft/TypeScript/issues/63372">#63372</a>)</li>
<li><a
href="https://github.com/microsoft/TypeScript/commit/0725fb4664a1d5ec94040b6d94db77dc1cc354e4"><code>0725fb4</code></a>
🤖 Pick PR <a
href="https://redirect.github.com/microsoft/TypeScript/issues/63310">#63310</a>
(Mark class property initializers as...) into release-6.0 (#...</li>
<li><a
href="https://github.com/microsoft/TypeScript/commit/607a22a90d1a5a1b507ce01bb8cd7ec020f954e7"><code>607a22a</code></a>
Bump version to 6.0.2 and LKG</li>
<li><a
href="https://github.com/microsoft/TypeScript/commit/9e72ab71b575e26795d0d9eac3d2d9957beed17c"><code>9e72ab7</code></a>
🤖 Pick PR <a
href="https://redirect.github.com/microsoft/TypeScript/issues/63239">#63239</a>
(Fix missing lib files in reused pro...) into release-6.0 (#...</li>
<li><a
href="https://github.com/microsoft/TypeScript/commit/35ff23d4b0cc715691323ebe54f523c16fe6e3a5"><code>35ff23d</code></a>
🤖 Pick PR <a
href="https://redirect.github.com/microsoft/TypeScript/issues/63163">#63163</a>
(Port anyFunctionType subtype fix an...) into release-6.0 (#...</li>
<li><a
href="https://github.com/microsoft/TypeScript/commit/e175b69138038953d4e85bf6529afe88d56d8fbe"><code>e175b69</code></a>
Bump version to 6.0.1-rc and LKG</li>
<li><a
href="https://github.com/microsoft/TypeScript/commit/af4caac0e91e838c46b3fdc1c9afacad68800f89"><code>af4caac</code></a>
Update LKG</li>
<li><a
href="https://github.com/microsoft/TypeScript/commit/8efd7e8544d8b35c9b33bca44a3124aa2613bf09"><code>8efd7e8</code></a>
Merge remote-tracking branch 'origin/main' into release-6.0</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/TypeScript/compare/v5.9.3...v6.0.3">compare
view</a></li>
</ul>
</details>
<br />

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steven Lambert <2433219+straker@users.noreply.github.com>
added support for radio for `aria-conditional-attr` as well as checkbox.

Closes: #4416
Just adding the audit start/end perf timings to `runPartial` as I was
using it to debug nightly tests, so thought it would be helpful in the
code.
…and exclude invisible text (#5096)

Using `visibleVirtual` instead of `subtreeText`, I resolved issue.
Because if I simple replace it and use `isIconLigature` existing two
tests failed (`'returns true when visible text excluding ligature icon
is part of accessible name'` and `'returns true when text contains
<br/>'`), I changed `visible-virtual.js`, but I'm not sure this is
proper changes (this is the first PR for me to axe-core).

Closes: #5063

---------

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
Testing this was interesting as it doesn't get added to the `axe`
object. I needed to test the logic of the code but the way we have to
build this for the extension script means we only get the returned
object when the file is injected, so I split out the logic into it's own
file that is built separately and tested. This uses the `testutils`
changes from #5080, so will fail until that is merged into develop

Closes: #5041
…ta (#5105)

Closes: #5041

---------

Co-authored-by: Chris Hutchins <chris.hutchins@deque.com>
Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
Adds a public `axe.resetLocale()` that reverts the locale back to the
default English snapshot taken on the first `applyLocale` call, without
touching any other configuration.

Closes #5107

## Motivation

`axe.configure({ locale })` has no inverse, and `axe.reset()` also
clears branding, rule enable/disable overrides, `frameMessenger`,
`noHtml`, `allowedOrigins`, and anything else `Audit._init()` resets.
Consumers that let end users switch languages at runtime have no clean
way to roll back to the default English messages without destroying the
rest of their setup. The internal machinery for this already exists
(`Audit._setDefaultLocale` + `Audit._resetLocale`) — this PR just
exposes it as a public method.

## Implementation

- New `lib/core/public/reset-locale.js`, wired into `lib/core/core.js`
next to `axe.reset`.
- Delegates to the existing private `audit._resetLocale()`. Throws `No
audit configured` if called before `_load`, matching `axe.reset`.
- No-op when no non-default locale has ever been applied (existing
`_resetLocale` early-return when `_defaultLocale` is null).
- Does not touch branding, rule enable/disable, `tagExclude`, `noHtml`,
`allowedOrigins`, `frameMessenger`, or standards.
- Safe to call repeatedly.
- Type declaration added to `axe.d.ts`.
- API documentation added to `doc/API.md`.

## Tests

`test/core/public/reset-locale.js` covers:
- throws when no audit is configured
- no-op when no locale has been applied
- restores original check messages after `axe.configure({ locale })`
- restores original `lang`
- safe to call repeatedly
- does not affect other configuration (verified by registering a custom
rule and confirming it survives)

All 6 pass; existing `reset` and `configure` tests still pass (61/61).
Noticed that most of the time the lang attribute isn't set on the
helpURL like it's supposed to.

---------

Co-authored-by: WilcoFiers <530687+WilcoFiers@users.noreply.github.com>
`nb-no` should be `no-NB`, and all the other should use `-` not `_`
since that's not a valid language tag.
…regex (#5059)

The custom element name regex in `isShadowRoot` only matches ASCII
characters. The HTML spec allows a broader set of Unicode characters in
Potential Custom Element Names (PCEN), so valid elements like
`<café-menu>` and `<math-π>` were being rejected as shadow root
candidates.

Two changes:
- Replace the ASCII-only regex with the spec-compliant PCEN character
ranges
- Add an explicit reserved names check (`annotation-xml`,
`color-profile`, `font-face`, etc.): these match the pattern but are
explicitly excluded by the spec

Tests added for both cases.

Closes #5030
`@next` [failed to
deploy](https://github.com/dequelabs/axe-core/actions/runs/26101303110/job/76753975655#step:8:32)
with the new `gather-internals.js` export script as it's not an
importable file. Fixed to ignore that file from the check as it is not
suppose to be imported.
Noticed while testing out some things that we could also support element
internals for `list` and `listitem` rules. Just needed to have them look
at the semantic role as well.
#5075)

If a null href is passed to `parseCrossOriginStylesheet`, the function
will currently convert that to the string "null" and attempt to load
that href. This PR adds a null check so that the function instead
returns early if a nullish href is passed, similar to how
`parseSameOriginStylesheet` returns early if a sheet includes no rules.

Closes:
#5074
…#5113)

> **Dear maintainer** — this PR has a permanent home with methodology +
[opt-out](https://github.com/adv0r/tokens-for-good/blob/main/MAINTAINER_REMOVAL.md)
at [tokens-for-good](https://github.com/adv0r/tokens-for-good). A
one-line "no thanks" → auto-close + blacklist. Sorry for the
notification this edit caused.
>
> ---

> **Heads-up:** I realise this PR may not be welcome here. It was
prepared
> by an AI agent (Cursor / Claude Opus 4.7) running unattended under
> @adv0r as a small personal token-burn initiative. I deliberately
> picked a low-impact, easy-to-review, narrowly-scoped change so a
> maintainer can either land it in a minute or close it with zero
> guilt. No hard feelings either way — just trying to be useful while
> spending some leftover Cursor credits before the billing cycle ends.

## What

Fix a duplicate `the` that appears twice in `doc/check-options.md`
(lines 520 and 529, in adjacent `passLength` / `failLength` rows of the
heading-order check table). Both reads `if the the candidate heading…` →
`if the candidate heading…`.

## Why

Small docs cleanup — two adjacent sentences with the same typo.

## How verified

Single-file edit in a docs-only file (`doc/check-options.md`). No
runtime/check behavior touched.

## Maintainer note

Feel free to close if not worth the review cycle.

Co-authored-by: adv0r <>
Adds an `enabled` boolean to each rule object returned by
`axe.getRules()`, exposing whether the rule runs by default when
`axe.run()` is called without options. Previously the only way to
determine this was via the undocumented `axe._audit.rules` field.

Closes: #5116
@attest-team-ci attest-team-ci requested a review from a team as a code owner June 1, 2026 09:36
@CLAassistant

CLAassistant commented Jun 1, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
16 out of 17 committers have signed the CLA.

✅ WilcoFiers
✅ straker
✅ chutchins25
✅ JustasMonkev
✅ qazwsxedcrfvtgb1111
✅ dylanb
✅ nami8824
✅ RinZ27
✅ Garbee
✅ stephenmathieson
✅ zlayaAvocado
✅ dcbroad3
✅ pomerantsev
✅ bwyard
✅ mehm8128
✅ camiha
❌ adv0r
You have signed the CLA already but the status is still pending? Let us recheck it.

@WilcoFiers WilcoFiers left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Release audit

@WilcoFiers WilcoFiers merged commit 0016ef9 into master Jun 1, 2026
57 of 61 checks passed
@WilcoFiers WilcoFiers deleted the release-2026-06-01 branch June 1, 2026 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.