Skip to content

chore(skills): add automate A/B validation skill - #273

Open
sunny-se wants to merge 373 commits into
mainfrom
chore/add-automate-ab-validation-skill
Open

chore(skills): add automate A/B validation skill#273
sunny-se wants to merge 373 commits into
mainfrom
chore/add-automate-ab-validation-skill

Conversation

@sunny-se

Copy link
Copy Markdown
Collaborator

Summary

  • Adds stack:automate-ab-validation Claude Code skill for running 4-scenario A/B comparisons on the BrowserStack Automate regression environment
  • Covers full workflow: SDK setup via npm link, backend deploy, TapScanner swap, ancestry toggle via Redis, scan execution, CSV report fetch, and automated diff
  • Includes references/quick-ref.md with TapScanner IDs, image tags, Redis commands, Jenkins pipelines, and SDK URL mapping

Test plan

  • Verify skill triggers correctly via Claude Code argument matching
  • Walk through Step 0 discovery on a fresh machine
  • Run a single scan (S1) end-to-end using the skill commands
  • Confirm state.local.json is gitignored and not committed

🤖 Generated with Claude Code

straker and others added 30 commits October 15, 2024 09:10
… accessible name (#4607)

I'm not sure if this should close #4472 as that also deals with buttons
with a different role running `button-name`. For sure this closes #3696

Closes: #3696

---------

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
Allows people to more easily see the total NPM downloads of axe-core.
While doing some perf testing I discovered axe hits a huge performance
bottleneck when there are lots of similar elements on the page. There
are essentially three problems with that:

1. Selectors aren't cached. An element tested more than once has a
selector created more than once.
2. When an element has no unique features, axe creates the same selector
and does a QSA with it. If there are lots of those, axe ends up running
the same SQA over and over. That can be avoided by caching too
3. When that QSA returns lots of similar elements, axe will refine the
selector using parents. Each time it does that it runs .matches on the
similar element with the updated selector. With many similar elements,
running QSA again is much faster than matching each individually,
especially so if the parent's aren't distinct either, so that the QSA
cache can be used.

I've been using the following code to test this out (with different
numbers in rows and cols):

```html
<main>
  <h1>Hello World</h1>
  <table></table>
</main>
<script>
  const table = document.querySelector('table');
  for (let row = 0; row < 200; row++) {
    const tr = document.createElement('tr');
    table.appendChild(tr);
    for (let col = 0; col < 40; col++) {
      const td = document.createElement('td');
      const btn = document.createElement('button');
      td.appendChild(btn);
      tr.appendChild(td);
    }
  }
</script>
```


## Perf test results

| btns | cur | memo 1 | memo 2 | 50 | 100 | 500 | 600 | 750 | 1000 |
2000

|--------|--------|--------|--------|--------|-------|------|-------|------|-------|------
| 2000 | 2513 | 1511 | 469 | 519 | 192 | 190 | 195 | 190 | 188 | 464
| 2000 | 2585 | 1524 | 470 | 517 | 200 | 190 | 195 | 198 | 203 | 481
| 2000 | 2540 | 1501 | 475 | 525 | 194 | 203 | 190 | 191 | 188 | 468
| 4000 | 10748 | 6183 | 2500 | 2454 | 2452 | 1433 | 838 | 826 | 823 |
850
| 4000 | 10784 | 6199 | 2400 | 2516 | 2452 | 1433 | 839 | 854 | 845 |
819
| 4000 | 10701 | 6203 | 2400 | 2497 | 2442 | 1444 | 849 | 848 | 866 |
838
| 8000 | 43117 | 26398 | 8166 | 10954 | 10895 | 3680 | 2349 | 2220 |
3800 | 2176
| 8000 | 43365 | 26339 | 9747 | 10576 | 10742 | 3775 | 2313 | 2302 |
3826 | 2169
| 8000 | 44899 | 26167 | 9723 | 10615 | 10729 | 3772 | 2235 | 2210 |
3765 | 2238
| 12000 | 100254 | 61300 | 19291 | 20647 | 20623 | 6036 | 6137 | 6146 |
5974 | 6418
| 12000 | 100406 | 60615 | 19543 | 20924 | 20669 | 6122 | 6022 | 6287 |
6094 | 6108
| 12000 | 101401 | 61792 | 19522 | 20662 | 20834 | 5978 | 6170 | 6155 |
6102 | 6347

Numbers are taken from `Audit reporter` with `performanceTimer: true`.

- cur: Current situation
- memo 1: memoize doc.querySelectorAll
- memo 2: memoize doc.querySelectorAll + getSelector
- xxx: memoize 2 + re-run QSA if similar elements > XXX

## Memory usage

I've tested this approach on 10 different websites and saw no difference
in memory usage between this approach and our current approach.

## Performance on real-world websites

I tested this against 20 real-world websites and saw no change in
performance between them. The scenario where this matters is when there
is lots of repetition in a page such as in very large tables. The
important part is that improving performance on for this edge case
doesn't seem to hurt performance elsewhere.
Adds the TypeScript typings for passing an object to the `preload`
setting for `axe.run`, as documented here:
https://www.deque.com/axe/core-documentation/api-documentation/#preload-configuration-details

> Specifying an object


```js
axe.run(
  {
    preload: { assets: ['cssom'], timeout: 50000 }
  },
  (err, results) => {
    // ...
  }
);
 ```

Co-authored-by: Andre Wachsmuth <awa@xima.de>
When I updated dequelabs/axe-core#4548 to latest
it caused the qunit tests to fail. Turns out that
[qunitjs](https://www.npmjs.com/package/qunitjs) has been deprecated and
is now called just `qunit`, and `grunt-contrib-qunit` [has
issues](gruntjs/grunt-contrib-qunit#209) if
not using latest qunit. Once upgraded I was able to get the tests
passing but only in headed mode. That was because puppeteer [is now
headless by
default](https://github.com/gruntjs/grunt-contrib-qunit/blob/main/docs/qunit-options.md#puppeteer),
so passing the `ignoreDefaultArgs` param and the `--headless` arg was
causing the issue.

`jest_react` was also failing and after trying to fix it with it's
current dependencies @dbjorge suggested it would be better to just
change it over to `@react/testing-library`. It also means we can support
react 18 in the examples too.
This should fix the issue with the tests failing on`windowHeight` being
different between two consecutive runs.

I also added a deep axe-core results compare function that can do two
significant things for us when comparing result objects. First it can
ignore keys (like `timestamp`) so we don't have to always set it equal
to each other in the tests. Second is that instead of dumping the entire
result objects when a value is different this will output they key path
and the values that are different which make debugging a lot easier.

```
Expected result.testEnvironment.windowHeight to equal "948" but got "896"
```
… (#4568)

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

| Package | From | To |
| --- | --- | --- |
| [@axe-core/webdriverjs](https://github.com/dequelabs/axe-core-npm) |
`4.9.1` | `4.10.0` |
|
[@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core)
| `7.24.7` | `7.25.2` |
|
[@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env)
| `7.24.7` | `7.25.4` |
|
[@babel/runtime-corejs3](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3)
| `7.24.7` | `7.25.6` |
| [chai](https://github.com/chaijs/chai) | `4.4.1` | `4.5.0` |
|
[core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js)
| `3.37.1` | `3.38.1` |
| [emoji-regex](https://github.com/mathiasbynens/emoji-regex) | `10.3.0`
| `10.4.0` |
| [eslint](https://github.com/eslint/eslint) | `9.6.0` | `9.9.1` |
| [globals](https://github.com/sindresorhus/globals) | `15.7.0` |
`15.9.0` |
| [husky](https://github.com/typicode/husky) | `9.0.11` | `9.1.5` |
| [karma](https://github.com/karma-runner/karma) | `6.4.3` | `6.4.4` |
| [lint-staged](https://github.com/lint-staged/lint-staged) | `15.2.7` |
`15.2.9` |
| [mocha](https://github.com/mochajs/mocha) | `10.5.2` | `10.7.3` |
| [prettier](https://github.com/prettier/prettier) | `3.3.2` | `3.3.3` |
| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) |
`4.22.0` | `4.24.0` |
|
[start-server-and-test](https://github.com/bahmutov/start-server-and-test)
| `2.0.4` | `2.0.5` |
| [typescript](https://github.com/Microsoft/TypeScript) | `5.5.2` |
`5.5.4` |
| [uglify-js](https://github.com/mishoo/UglifyJS) | `3.18.0` | `3.19.3`
|


Updates `@axe-core/webdriverjs` from 4.9.1 to 4.10.0
<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.10.0</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(playwright): Add missing await on page.evaluate by <a
href="https://github.com/KuSh"><code>@​KuSh</code></a> in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1063">dequelabs/axe-core-npm#1063</a></li>
<li>chore: update to support eslint 9 flat config by <a
href="https://github.com/michael-siek"><code>@​michael-siek</code></a>
in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1064">dequelabs/axe-core-npm#1064</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/1071">dequelabs/axe-core-npm#1071</a></li>
<li>chore: bump puppeteer from 21.7.0 to 22.10.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1073">dequelabs/axe-core-npm#1073</a></li>
<li>chore: bump sinon from 17.0.1 to 18.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1076">dequelabs/axe-core-npm#1076</a></li>
<li>chore: bump chromedriver from 121.0.0 to 125.0.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1075">dequelabs/axe-core-npm#1075</a></li>
<li>chore: fix eslint errors and warnings by <a
href="https://github.com/straker"><code>@​straker</code></a> in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1079">dequelabs/axe-core-npm#1079</a></li>
<li>chore: bump typescript-eslint from 8.0.0-alpha.12 to 8.0.0-alpha.26
by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>
in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1078">dequelabs/axe-core-npm#1078</a></li>
<li>chore: bump the npm-low-risk group across 1 directory with 22
updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1077">dequelabs/axe-core-npm#1077</a></li>
<li>chore: use updated browser-driver-manager by <a
href="https://github.com/scottmries"><code>@​scottmries</code></a> in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1080">dequelabs/axe-core-npm#1080</a></li>
<li>chore: bump the npm-low-risk group with 27 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1081">dequelabs/axe-core-npm#1081</a></li>
<li>chore: bump chromedriver from 125.0.3 to 126.0.4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1082">dequelabs/axe-core-npm#1082</a></li>
<li>feat: Update axe-core to v4.10.0 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/1088">dequelabs/axe-core-npm#1088</a></li>
<li>chore: downgrade lerna to resolve ESM requirement by <a
href="https://github.com/michael-siek"><code>@​michael-siek</code></a>
in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1098">dequelabs/axe-core-npm#1098</a></li>
<li>fix(cli): include <code>dotenv</code> dep by <a
href="https://github.com/michael-siek"><code>@​michael-siek</code></a>
in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1103">dequelabs/axe-core-npm#1103</a></li>
<li>chore: RC v4.10.0 by <a
href="https://github.com/github-actions"><code>@​github-actions</code></a>
in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1108">dequelabs/axe-core-npm#1108</a></li>
<li>Release 4.10.0 by <a
href="https://github.com/dequejenn"><code>@​dequejenn</code></a> in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1110">dequelabs/axe-core-npm#1110</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/KuSh"><code>@​KuSh</code></a> made their
first contribution in <a
href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1063">dequelabs/axe-core-npm#1063</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/dequelabs/axe-core-npm/compare/v4.9.1...v4.10.0">https://github.com/dequelabs/axe-core-npm/compare/v4.9.1...v4.10.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/dequelabs/axe-core-npm/blob/v4.10.0/CHANGELOG.md"><code>@​axe-core/webdriverjs</code>'s
changelog</a>.</em></p>
<blockquote>
<h1><a
href="https://github.com/dequelabs/axe-core-npm/compare/v4.9.1...v4.10.0">4.10.0</a>
(2024-08-16)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>cli:</strong> include <code>dotenv</code> dep (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1103">#1103</a>)
(<a
href="https://github.com/dequelabs/axe-core-npm/commit/5d34355066b96009cea9bca7024ba5e777c5309c">5d34355</a>),
closes <a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1102">#1102</a></li>
<li><strong>playwright:</strong> Add missing await on page.evaluate (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1063">#1063</a>)
(<a
href="https://github.com/dequelabs/axe-core-npm/commit/20b8bbffdda0b81dbb169f27d5d223adc4d3941a">20b8bbf</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>Update axe-core to v4.10.0 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1088">#1088</a>)
(<a
href="https://github.com/dequelabs/axe-core-npm/commit/bb94776ff65798d016e961f62c76c4622bb3b48b">bb94776</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/ce9a6a038690629dd6234be2b8d697abdec22e8e"><code>ce9a6a0</code></a>
Release 4.10.0 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1110">#1110</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/3b471d13416d0fe22bbed77ef16145bf1f436cca"><code>3b471d1</code></a>
chore: RC v4.10.0 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1108">#1108</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/d393db67ea98d8d4900850e7384c7777825c5585"><code>d393db6</code></a>
chore: RC v4.10.0</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/5d34355066b96009cea9bca7024ba5e777c5309c"><code>5d34355</code></a>
fix(cli): include <code>dotenv</code> dep (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1103">#1103</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/c871221700313826142b64a1ebae7c2ba053ebfb"><code>c871221</code></a>
chore: downgrade lerna to resolve ESM requirement (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1098">#1098</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/bb94776ff65798d016e961f62c76c4622bb3b48b"><code>bb94776</code></a>
feat: Update axe-core to v4.10.0 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1088">#1088</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/3864c91aa79c8c2170ae15a18802ef1fba4e2e3f"><code>3864c91</code></a>
chore: bump chromedriver from 125.0.3 to 126.0.4 (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1082">#1082</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/68067261aa779ee52c791fe6ac115f5011fc9a62"><code>6806726</code></a>
chore: bump the npm-low-risk group with 27 updates (<a
href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1081">#1081</a>)</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/09977352feebd4e4e21b2f2a5b350e6968a17b97"><code>0997735</code></a>
Update issue templates</li>
<li><a
href="https://github.com/dequelabs/axe-core-npm/commit/3ab9e3a9ca51d384f9797939f5f0c64d36df2aed"><code>3ab9e3a</code></a>
Create feature request template</li>
<li>Additional commits viewable in <a
href="https://github.com/dequelabs/axe-core-npm/compare/v4.9.1...v4.10.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `@babel/core` from 7.24.7 to 7.25.2
<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.25.2 (2024-07-30)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-core</code>, <code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16695">#16695</a>
Ensure that <code>requeueComputedKeyAndDecorators</code> is available
(<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</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>Nicolò Ribaudo (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
<h2>v7.25.1 (2024-07-28)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-plugin-transform-function-name</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16683">#16683</a>
fix: <code>ensureFunctionName</code> may be undefined (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-react-constant-elements</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16582">#16582</a> fix
plugin-transform-react-constant-elements transform JSXFrament but not
add JSXExpressionContainer (<a
href="https://github.com/keiseiTi"><code>@​keiseiTi</code></a>)</li>
</ul>
</li>
<li><code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16587">#16587</a>
fix: fixed issue16583 + test (<a
href="https://github.com/nerodesu017"><code>@​nerodesu017</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16663">#16663</a>
Test eslint plugin against eslint 9 (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
<h4>Committers: 4</h4>
<ul>
<li>Adrian (<a
href="https://github.com/nerodesu017"><code>@​nerodesu017</code></a>)</li>
<li>Huáng Jùnliàng (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li><a
href="https://github.com/keiseiTi"><code>@​keiseiTi</code></a></li>
<li><a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a></li>
</ul>
<h2>v7.25.0 (2024-07-26)</h2>
<p>Thanks <a
href="https://github.com/davidtaylorhq"><code>@​davidtaylorhq</code></a>
and <a href="https://github.com/slatereax"><code>@​slatereax</code></a>
for your first PR!</p>
<p>You can find the release blog post with some highlights at <a
href="https://babeljs.io/blog/2024/07/26/7.25.0">https://babeljs.io/blog/2024/07/26/7.25.0</a>.</p>
<h4>:eyeglasses: Spec Compliance</h4>
<ul>
<li><code>babel-helpers</code>,
<code>babel-plugin-proposal-explicit-resource-management</code>,
<code>babel-runtime-corejs3</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16537">#16537</a>
<code>await using</code> normative updates (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-typescript</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16602">#16602</a>
Ensure enum members syntactically determinable to be strings do not get
reverse mappings (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>:rocket: New Feature</h4>
<ul>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-helper-function-name</code>,
<code>babel-helper-plugin-utils</code>,
<code>babel-helper-wrap-function</code>,
<code>babel-plugin-bugfix-safari-class-field-initializer-scope</code>,
<code>babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression</code>,
<code>babel-plugin-transform-classes</code>,
<code>babel-plugin-transform-function-name</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/16658">#16658</a>
Move <code>ensureFunctionName</code> to <code>NodePath.prototype</code>
(<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-hoist-variables</code>,
<code>babel-helper-plugin-utils</code>,
<code>babel-plugin-proposal-async-do-expressions</code>,
<code>babel-plugin-transform-modules-systemjs</code>,
<code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16644">#16644</a>
Move <code>hoistVariables</code> to <code>Scope.prototype</code> (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-helper-module-transforms</code>,
<code>babel-helper-plugin-utils</code>,
<code>babel-helper-split-export-declaration</code>,
<code>babel-plugin-transform-classes</code>,
<code>babel-traverse</code>, <code>babel-types</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16645">#16645</a>
Move <code>splitExportDeclaration</code> to
<code>NodePath.prototype</code> (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-helper-environment-visitor</code>,
<code>babel-helper-module-transforms</code>,
<code>babel-helper-plugin-utils</code>,
<code>babel-helper-remap-async-to-generator</code>,
<code>babel-helper-replace-supers</code>,
<code>babel-plugin-bugfix-firefox-class-in-computed-class-key</code>,
<code>babel-plugin-bugfix-v8-static-class-fields-redefine-readonly</code>,
<code>babel-plugin-transform-async-generator-functions</code>,
<code>babel-plugin-transform-classes</code>, <code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16649">#16649</a>
Move <code>environment-visitor</code> helper into
<code>@babel/traverse</code> (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/babel/babel/blob/main/CHANGELOG.md"><code>@​babel/core</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>v7.25.2 (2024-07-30)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-core</code>, <code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16695">#16695</a>
Ensure that <code>requeueComputedKeyAndDecorators</code> is available
(<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h2>v7.25.1 (2024-07-28)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-plugin-transform-function-name</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16683">#16683</a>
fix: <code>ensureFunctionName</code> may be undefined (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-react-constant-elements</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16582">#16582</a> fix
plugin-transform-react-constant-elements transform JSXFrament but not
add JSXExpressionContainer (<a
href="https://github.com/keiseiTi"><code>@​keiseiTi</code></a>)</li>
</ul>
</li>
<li><code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16587">#16587</a>
fix: fixed issue16583 + test (<a
href="https://github.com/nerodesu017"><code>@​nerodesu017</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16663">#16663</a>
Test eslint plugin against eslint 9 (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
<h2>v7.25.0 (2024-07-26)</h2>
<h4>:eyeglasses: Spec Compliance</h4>
<ul>
<li><code>babel-helpers</code>,
<code>babel-plugin-proposal-explicit-resource-management</code>,
<code>babel-runtime-corejs3</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16537">#16537</a>
<code>await using</code> normative updates (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-typescript</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16602">#16602</a>
Ensure enum members syntactically determinable to be strings do not get
reverse mappings (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>:rocket: New Feature</h4>
<ul>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-helper-function-name</code>,
<code>babel-helper-plugin-utils</code>,
<code>babel-helper-wrap-function</code>,
<code>babel-plugin-bugfix-safari-class-field-initializer-scope</code>,
<code>babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression</code>,
<code>babel-plugin-transform-classes</code>,
<code>babel-plugin-transform-function-name</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/16658">#16658</a>
Move <code>ensureFunctionName</code> to <code>NodePath.prototype</code>
(<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-hoist-variables</code>,
<code>babel-helper-plugin-utils</code>,
<code>babel-plugin-proposal-async-do-expressions</code>,
<code>babel-plugin-transform-modules-systemjs</code>,
<code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16644">#16644</a>
Move <code>hoistVariables</code> to <code>Scope.prototype</code> (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-helper-module-transforms</code>,
<code>babel-helper-plugin-utils</code>,
<code>babel-helper-split-export-declaration</code>,
<code>babel-plugin-transform-classes</code>,
<code>babel-traverse</code>, <code>babel-types</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16645">#16645</a>
Move <code>splitExportDeclaration</code> to
<code>NodePath.prototype</code> (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-helper-environment-visitor</code>,
<code>babel-helper-module-transforms</code>,
<code>babel-helper-plugin-utils</code>,
<code>babel-helper-remap-async-to-generator</code>,
<code>babel-helper-replace-supers</code>,
<code>babel-plugin-bugfix-firefox-class-in-computed-class-key</code>,
<code>babel-plugin-bugfix-v8-static-class-fields-redefine-readonly</code>,
<code>babel-plugin-transform-async-generator-functions</code>,
<code>babel-plugin-transform-classes</code>, <code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16649">#16649</a>
Move <code>environment-visitor</code> helper into
<code>@babel/traverse</code> (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-core</code>, <code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16480">#16480</a>
Expose wether a module has TLA or not as <code>.extra.async</code> (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-compat-data</code>,
<code>babel-plugin-bugfix-safari-class-field-initializer-scope</code>,
<code>babel-preset-env</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16569">#16569</a>
Introduce <code>bugfix-safari-class-field-initializer-scope</code> (<a
href="https://github.com/davidtaylorhq"><code>@​davidtaylorhq</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-block-scoping</code>,
<code>babel-traverse</code>, <code>babel-types</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16551">#16551</a> Add
<code>NodePath#getAssignmentIdentifiers</code> (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-import-to-platform-api</code>,
<code>babel-plugin-proposal-json-modules</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16579">#16579</a> Add
<code>uncheckedRequire</code> option for JSON imports to CJS (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-transform-fixture-test-runner</code>,
<code>babel-node</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16642">#16642</a>
Allow using custom config in <code>babel-node --eval</code> (<a
href="https://github.com/slatereax"><code>@​slatereax</code></a>)</li>
</ul>
</li>
<li><code>babel-compat-data</code>,
<code>babel-helper-create-regexp-features-plugin</code>,
<code>babel-plugin-proposal-duplicate-named-capturing-groups-regex</code>,
<code>babel-plugin-transform-duplicate-named-capturing-groups-regex</code>,
<code>babel-preset-env</code>, <code>babel-standalone</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16445">#16445</a> Add
<code>duplicate-named-capturing-groups-regex</code> to
<code>preset-env</code> (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16678">#16678</a>
Print parens around as expressions on the LHS (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/babel/babel/commit/0f8f408f6eb5a5de9c228718fb6ff707d65bb930"><code>0f8f408</code></a>
v7.25.2</li>
<li><a
href="https://github.com/babel/babel/commit/6a15d7ac83e1cdb7bb418d502792e18a190ba981"><code>6a15d7a</code></a>
Ensure that <code>requeueComputedKeyAndDecorators</code> is available
(<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/16695">#16695</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/9f7e29a28d403a56a8b1de90ed1fa5be35c02406"><code>9f7e29a</code></a>
chore: fix one suppressed eslint error (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/16696">#16696</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/2413d1a747dbe4e1c49a2baea5a3c91c649a264e"><code>2413d1a</code></a>
Add eslint-plugin-regexp (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/16680">#16680</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/5dc3b44ffd08ea76b1751556eee40b160a80c3b4"><code>5dc3b44</code></a>
Expose wether a module has TLA or not as <code>.extra.async</code> (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/16480">#16480</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/30aa64417e747ab09ebce3b2a85cbe75ec6e7c9b"><code>30aa644</code></a>
v7.24.9</li>
<li><a
href="https://github.com/babel/babel/commit/7d923b83a9d9e761fc4ceca04198e5b68d2439d3"><code>7d923b8</code></a>
Avoid <code>require()</code> call in <code>@babel/standalone</code>
bundle (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/16639">#16639</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/889c58f65678b0d9cdc68d6226931fb32c922d74"><code>889c58f</code></a>
Revert &quot;Pin CI to Node.js 22.1&quot; (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/16633">#16633</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/1f5af441178256f5e846b4f6c678e2bd375e5d9d"><code>1f5af44</code></a>
v7.24.8</li>
<li><a
href="https://github.com/babel/babel/commit/683c65496f305f0e60984d3cd9073fe5ed565819"><code>683c654</code></a>
Enable some lint rules (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/16605">#16605</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/babel/babel/commits/v7.25.2/packages/babel-core">compare
view</a></li>
</ul>
</details>
<br />

Updates `@babel/preset-env` from 7.24.7 to 7.25.4
<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.25.4 (2024-08-22)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16756">#16756</a>
fix: Skip computed key when renaming (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<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/16755">#16755</a>
fix: Decorator 2018-09 may throw an exception (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-types</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16710">#16710</a>
Visit AST fields nodes according to their syntactical order (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16709">#16709</a>
Print semicolon after TS <code>export namespace as A</code> (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:nail_care: Polish</h4>
<ul>
<li><code>babel-generator</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-proposal-destructuring-private</code>,
<code>babel-plugin-proposal-pipeline-operator</code>,
<code>babel-plugin-transform-class-properties</code>,
<code>babel-plugin-transform-destructuring</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-typescript</code>,
<code>babel-runtime-corejs2</code>, <code>babel-runtime</code>,
<code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16722">#16722</a>
Avoid unnecessary parens around sequence expressions (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>,
<code>babel-plugin-transform-class-properties</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16714">#16714</a>
Avoid unnecessary parens around exported arrow functions (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-proposal-destructuring-private</code>,
<code>babel-plugin-transform-object-rest-spread</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16712">#16712</a>
Avoid printing unnecessary parens around object destructuring (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:microscope: Output optimization</h4>
<ul>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16740">#16740</a>
Avoid extra spaces between comments/regexps in compact mode (<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>
<h2>v7.25.3 (2024-07-31)</h2>
<h4>:bug: Bug Fix</h4>
<ul>

<li><code>babel-plugin-bugfix-firefox-class-in-computed-class-key</code>,
<code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16699">#16699</a>
Avoid validating visitors produced by
<code>traverse.visitors.merge</code> (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16688">#16688</a> Add
<code>@babel/types</code> as a dependency of <code>@babel/parser</code>
(<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</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>Nicolò Ribaudo (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
<h2>v7.25.2 (2024-07-30)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-core</code>, <code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16695">#16695</a>
Ensure that <code>requeueComputedKeyAndDecorators</code> is available
(<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/babel/babel/blob/main/CHANGELOG.md"><code>@​babel/preset-env</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>v7.25.4 (2024-08-22)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16756">#16756</a>
fix: Skip computed key when renaming (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<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/16755">#16755</a>
fix: Decorator 2018-09 may throw an exception (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-types</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16710">#16710</a>
Visit AST fields nodes according to their syntactical order (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16709">#16709</a>
Print semicolon after TS <code>export namespace as A</code> (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:nail_care: Polish</h4>
<ul>
<li><code>babel-generator</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-proposal-destructuring-private</code>,
<code>babel-plugin-proposal-pipeline-operator</code>,
<code>babel-plugin-transform-class-properties</code>,
<code>babel-plugin-transform-destructuring</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-typescript</code>,
<code>babel-runtime-corejs2</code>, <code>babel-runtime</code>,
<code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16722">#16722</a>
Avoid unnecessary parens around sequence expressions (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>,
<code>babel-plugin-transform-class-properties</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16714">#16714</a>
Avoid unnecessary parens around exported arrow functions (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-proposal-destructuring-private</code>,
<code>babel-plugin-transform-object-rest-spread</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16712">#16712</a>
Avoid printing unnecessary parens around object destructuring (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:microscope: Output optimization</h4>
<ul>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16740">#16740</a>
Avoid extra spaces between comments/regexps in compact mode (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h2>v7.25.3 (2024-07-31)</h2>
<h4>:bug: Bug Fix</h4>
<ul>

<li><code>babel-plugin-bugfix-firefox-class-in-computed-class-key</code>,
<code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16699">#16699</a>
Avoid validating visitors produced by
<code>traverse.visitors.merge</code> (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16688">#16688</a> Add
<code>@babel/types</code> as a dependency of <code>@babel/parser</code>
(<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h2>v7.25.2 (2024-07-30)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-core</code>, <code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16695">#16695</a>
Ensure that <code>requeueComputedKeyAndDecorators</code> is available
(<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h2>v7.25.1 (2024-07-28)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-plugin-transform-function-name</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16683">#16683</a>
fix: <code>ensureFunctionName</code> may be undefined (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-react-constant-elements</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16582">#16582</a> fix
plugin-transform-react-constant-elements transform JSXFrament but not
add JSXExpressionContainer (<a
href="https://github.com/keiseiTi"><code>@​keiseiTi</code></a>)</li>
</ul>
</li>
<li><code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16587">#16587</a>
fix: fixed issue16583 + test (<a
href="https://github.com/nerodesu017"><code>@​nerodesu017</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16663">#16663</a>
Test eslint plugin against eslint 9 (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
<h2>v7.25.0 (2024-07-26)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/babel/babel/commit/cbf124ca42a4c34630040bf556e6a8507f961dfe"><code>cbf124c</code></a>
v7.25.4</li>
<li><a
href="https://github.com/babel/babel/commit/b38b027c9796ab9b385c03ef8e3807896a92c540"><code>b38b027</code></a>
Update compat data (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/16736">#16736</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/55dfde885566faba850da91fdaa952453e80439f"><code>55dfde8</code></a>
Update <code>babel-plugin-polyfill-corejs3</code> (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/16715">#16715</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/dba45d3ebc92a868c9b8952a6f407c6ab83c6b3f"><code>dba45d3</code></a>
Ignore <code>devDependencies</code> when generating
<code>tsconfig.json</code> (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/16659">#16659</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/787c7cd6baa7f2bf691f52ea65a0f69105e9f27c"><code>787c7cd</code></a>
v7.25.3</li>
<li><a
href="https://github.com/babel/babel/commit/a0c8871e3fba5cd2083cff26c7732f3ef2199a5c"><code>a0c8871</code></a>
Test: Improve available-plugins compat-data check (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/16693">#16693</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/0f8f408f6eb5a5de9c228718fb6ff707d65bb930"><code>0f8f408</code></a>
v7.25.2</li>
<li><a
href="https://github.com/babel/babel/commit/0b2cc25aac822f3a13f900ac87bb830db448da8b"><code>0b2cc25</code></a>
Update compat-table (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/16691">#16691</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/2413d1a747dbe4e1c49a2baea5a3c91c649a264e"><code>2413d1a</code></a>
Add eslint-plugin-regexp (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/16680">#16680</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/d2e3ee2c922daee20119c2233ace16999a666cbc"><code>d2e3ee2</code></a>
v7.25.0</li>
<li>Additional commits viewable in <a
href="https://github.com/babel/babel/commits/v7.25.4/packages/babel-preset-env">compare
view</a></li>
</ul>
</details>
<br />

Updates `@babel/runtime-corejs3` from 7.24.7 to 7.25.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.25.6 (2024-08-29)</h2>
<p>Thanks <a href="https://github.com/j4k0xb"><code>@​j4k0xb</code></a>
for your first PR!</p>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16783">#16783</a>
Properly print inner comments in TS array types (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
<li><a
href="https://redirect.github.com/babel/babel/pull/16775">#16775</a>
fix: jsx whitespace is not properly preserved when retainLines (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16727">#16727</a>
fix: <code>path.getAssignmentIdentifiers</code> may be
<code>undefined</code> (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16761">#16761</a>
fix: improve static canFollowModifier checks (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-helpers</code>,
<code>babel-plugin-transform-optional-chaining</code>,
<code>babel-runtime-corejs3</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16769">#16769</a>
Only wrap functions in <code>superPropertyGet</code> helper (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:nail_care: Polish</h4>
<ul>
<li><code>babel-generator</code>,
<code>babel-plugin-transform-async-to-generator</code>,
<code>babel-plugin-transform-block-scoping</code>,
<code>babel-plugin-transform-class-properties</code>,
<code>babel-plugin-transform-classes</code>,
<code>babel-plugin-transform-duplicate-named-capturing-groups-regex</code>,
<code>babel-plugin-transform-named-capturing-groups-regex</code>,
<code>babel-plugin-transform-react-jsx-development</code>,
<code>babel-plugin-transform-react-jsx</code>,
<code>babel-plugin-transform-react-pure-annotations</code>,
<code>babel-plugin-transform-regenerator</code>,
<code>babel-plugin-transform-runtime</code>,
<code>babel-preset-env</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16780">#16780</a> Do
not enforce printing space between <code>(</code> and comments (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-syntax-import-assertions</code>,
<code>babel-plugin-syntax-import-attributes</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16781">#16781</a>
Don't throw when enabling both syntax-import-{assertions,attributes} (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16782">#16782</a> TS
union/intersection nested in union does not need parens (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16777">#16777</a>
Remove unused <code>parent</code> params in the generator (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 5</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/j4k0xb"><code>@​j4k0xb</code></a></li>
<li><a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a></li>
</ul>
<h2>v7.25.5 (2024-08-23)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-generator</code>, <code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16764">#16764</a>
fix: Generate sequence expression parentheses correctly (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>:nail_care: Polish</h4>
<ul>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16738">#16738</a>
Only force-parenthesize <code>satisfies</code>'s LHS if it has newlines
(<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 2</h4>
<ul>
<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>
<h2>v7.25.4 (2024-08-22)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/babel/babel/blob/main/CHANGELOG.md"><code>@​babel/runtime-corejs3</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>v7.25.6 (2024-08-29)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16783">#16783</a>
Properly print inner comments in TS array types (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
<li><a
href="https://redirect.github.com/babel/babel/pull/16775">#16775</a>
fix: jsx whitespace is not properly preserved when retainLines (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16727">#16727</a>
fix: <code>path.getAssignmentIdentifiers</code> may be
<code>undefined</code> (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-parser</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16761">#16761</a>
fix: improve static canFollowModifier checks (<a
href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-helpers</code>,
<code>babel-plugin-transform-optional-chaining</code>,
<code>babel-runtime-corejs3</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16769">#16769</a>
Only wrap functions in <code>superPropertyGet</code> helper (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:nail_care: Polish</h4>
<ul>
<li><code>babel-generator</code>,
<code>babel-plugin-transform-async-to-generator</code>,
<code>babel-plugin-transform-block-scoping</code>,
<code>babel-plugin-transform-class-properties</code>,
<code>babel-plugin-transform-classes</code>,
<code>babel-plugin-transform-duplicate-named-capturing-groups-regex</code>,
<code>babel-plugin-transform-named-capturing-groups-regex</code>,
<code>babel-plugin-transform-react-jsx-development</code>,
<code>babel-plugin-transform-react-jsx</code>,
<code>babel-plugin-transform-react-pure-annotations</code>,
<code>babel-plugin-transform-regenerator</code>,
<code>babel-plugin-transform-runtime</code>,
<code>babel-preset-env</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16780">#16780</a> Do
not enforce printing space between <code>(</code> and comments (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-syntax-import-assertions</code>,
<code>babel-plugin-syntax-import-attributes</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16781">#16781</a>
Don't throw when enabling both syntax-import-{assertions,attributes} (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16782">#16782</a> TS
union/intersection nested in union does not need parens (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:house: Internal</h4>
<ul>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16777">#16777</a>
Remove unused <code>parent</code> params in the generator (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h2>v7.25.5 (2024-08-23)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-generator</code>, <code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16764">#16764</a>
fix: Generate parentheses correctly (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
</ul>
<h4>:nail_care: Polish</h4>
<ul>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16738">#16738</a>
Only force-parenthesize <code>satisfies</code>'s LHS if it has newlines
(<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h2>v7.25.4 (2024-08-22)</h2>
<h4>:bug: Bug Fix</h4>
<ul>
<li><code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16756">#16756</a>
fix: Skip computed key when renaming (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<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/16755">#16755</a>
fix: Decorator 2018-09 may throw an exception (<a
href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-types</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16710">#16710</a>
Visit AST fields nodes according to their syntactical order (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16709">#16709</a>
Print semicolon after TS <code>export namespace as A</code> (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>:nail_care: Polish</h4>
<ul>
<li><code>babel-generator</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-proposal-destructuring-private</code>,
<code>babel-plugin-proposal-pipeline-operator</code>,
<code>babel-plugin-transform-class-properties</code>,
<code>babel-plugin-transform-destructuring</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-typescript</code>,
<code>babel-runtime-corejs2</code>, <code>babel-runtime</code>,
<code>babel-traverse</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16722">#16722</a>
Avoid unnecessary parens around sequence expressions (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>,
<code>babel-plugin-transform-class-properties</code>
<ul>
<li><a
href="https://redirect.github.com/babel/babel/pull/16714">#16714</a>
Avoid unnecessary parens around exported arrow functions (<a
href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/babel/babel/commit/2f72b978f9acc68d065e7da10c8e270d6f96b7c4"><code>2f72b97</code></a>
v7.25.6</li>
<li><a
href="https://github.com/babel/babel/commit/40ad3bc41dd487136439daaf3379e00831cbdb2c"><code>40ad3bc</code></a>
Only wrap functions in <code>superPropertyGet</code> helper (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3/issues/16769">#16769</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/d2e3ee2c922daee20119c2233ace16999a666cbc"><code>d2e3ee2</code></a>
v7.25.0</li>
<li><a
href="https://github.com/babel/babel/commit/e774270843a520feffb0643fba236adbed6b0fb6"><code>e774270</code></a>
Improve <code>super.x</code> output (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3/issues/16374">#16374</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/2def8095522704e4677504b29035c0c5022de011"><code>2def809</code></a>
<code>await using</code> normative updates (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3/issues/16537">#16537</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/1f5af441178256f5e846b4f6c678e2bd375e5d9d"><code>1f5af44</code></a>
v7.24.8</li>
<li><a
href="https://github.com/babel/babel/commit/c36fa6a9299df95b801695736f78ac87211f009f"><code>c36fa6a</code></a>
Update typescript-eslint v8 (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3/issues/16557">#16557</a>)</li>
<li><a
href="https://github.com/babel/babel/commit/427ceb652fa39d542b02ac1c409cf7f9f2431f5d"><code>427ceb6</code></a>
[helpers TS conversion] legacy decorators (<a
href="https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3/issues/16556">#16556</a>)</li>
<li>See full diff in <a
href="https://github.com/babel/babel/commits/v7.25.6/packages/babel-runtime-corejs3">compare
view</a></li>
</ul>
</details>
<br />

Updates `chai` from 4.4.1 to 4.5.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/chaijs/chai/releases">chai's
releases</a>.</em></p>
<blockquote>
<h2>v4.5.0</h2>
<ul>
<li>Update type detect (<a
href="https://redirect.github.com/chaijs/chai/issues/1631">#1631</a>)
1a36d35</li>
</ul>
<p><a
href="https://github.com/chaijs/chai/compare/v4.4.1...v4.5.0">https://github.com/chaijs/chai/compare/v4.4.1...v4.5.0</a></p>
<h2>What's Changed</h2>
<ul>
<li>Update type detect by <a
href="https://github.com/koddsson"><code>@​koddsson</code></a> in <a
href="https://redirect.github.com/chaijs/chai/pull/1631">chaijs/chai#1631</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/chaijs/chai/compare/v4.4.1...v4.5.0">https://github.com/chaijs/chai/compare/v4.4.1...v4.5.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/chaijs/chai/commit/6a19308a7d12fc82ca55cc2ac17a5d36dcf8db49"><code>6a19308</code></a>
4.5.0</li>
<li><a
href="https://github.com/chaijs/chai/commit/1a36d354a501e2870249a7e35ede59de3bc55fd3"><code>1a36d35</code></a>
Update type detect (<a
href="https://redirect.github.com/chaijs/chai/issues/1631">#1631</a>)</li>
<li>See full diff in <a
href="https://github.com/chaijs/chai/compare/v4.4.1...v4.5.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `core-js` from 3.37.1 to 3.38.1
<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>
<h5><a
href="https://github.com/zloirock/core-js/releases/tag/v3.38.1">3.38.1 -
2024.08.20</a></h5>
<ul>
<li>Changes <a
href="https://github.com/zloirock/core-js/compare/v3.38.0...v3.38.1">v3.38.0...v3.38.1</a></li>
<li>Fixed some cases of <code>URLSearchParams</code> percent decoding,
<a
href="https://redirect.github.com/zloirock/core-js/issues/1357">#1357</a>,
<a
href="https://redirect.github.com/zloirock/core-js/pull/1361">#1361</a>,
thanks <a
href="https://github.com/slowcheetah"><strong><code>@​slowcheetah</code></strong></a></li>
<li>Some stylistic changes and minor optimizations</li>
<li>Compat data improvements:
<ul>
<li><a
href="https://github.com/tc39/proposal-iterator-helpers"><code>Iterator</code>
helpers proposal</a> methods marked as <a
href="https://bugzilla.mozilla.org/show_bug.cgi?id=1896390">shipped from
FF131</a></li>
<li><a
href="https://github.com/tc39/proposal-float16array"><code>Math.f16round</code>
and <code>DataView.prototype.{ getFloat16, setFloat16 }</code></a>
marked as shipped from Bun 1.1.23</li>
<li><a
href="https://github.com/tc39/proposal-regex-escaping"><code>RegExp.escape</code></a>
marked as shipped from Bun 1.1.22</li>
<li><a
href="https://github.com/tc39/proposal-promise-try"><code>Promise.try</code></a>
marked as shipped from Bun 1.1.22</li>
<li><a
href="https://github.com/tc39/proposal-arraybuffer-base64"><code>Uint8Array</code>
to / from base64 and hex proposal</a> methods marked as shipped from Bun
1.1.22</li>
<li>Added Hermes 0.13 compat data, similar to React Native 0.75
Hermes</li>
<li>Added Opera Android 84 compat data mapping</li>
</ul>
</li>
</ul>
<h5><a
href="https://github.com/zloirock/core-js/releases/tag/v3.38.0">3.38.0 -
2024.08.05</a></h5>
<ul>
<li>Changes <a
href="https://github.com/zloirock/core-js/compare/v3.37.1...v3.38.0">v3.37.1...v3.38.0</a></li>
<li><a
href="https://github.com/tc39/proposal-regex-escaping"><code>RegExp.escape</code>
proposal</a>:
<ul>
<li>Built-ins:
<ul>
<li><code>RegExp.escape</code></li>
</ul>
</li>
<li>Moved to stage 3, <a
href="https://github.com/tc39/proposals/commit/4b8ee265248abfa2c88ed71b3c541ddd5a2eaffe">June
2024</a> and <a
href="https://github.com/tc39/proposals/commit/bdb2eea6c5e41a52f2d6047d7de1a31b5d188c4f">July
2024</a> TC39 meetings</li>
<li>Updated the way of escaping, <a
href="https://redirect.github.com/tc39/proposal-regex-escaping/pull/77">regex-escaping/77</a></li>
<li>Throw an error on non-strings, <a
href="https://redirect.github.com/tc39/proposal-regex-escaping/pull/58">regex-escaping/58</a></li>
<li>Added <code>/actual/</code> namespace entries, unconditional forced
replacement changed to feature detection</li>
</ul>
</li>
<li><a
href="https://github.com/tc39/proposal-promise-try"><code>Promise.try</code>
proposal</a>:
<ul>
<li>Built-ins:
<ul>
<li><code>Promise.try</code></li>
</ul>
</li>
<li>Moved to stage 3, <a
href="https://github.com/tc39/proposals/commit/de20984cd7f7bc616682c557cb839abc100422cb">June
2024 TC39 meeting</a></li>
<li>Added <code>/actual/</code> namespace entries, unconditional forced
replacement changed to feature detection</li>
</ul>
</li>
<li><a
href="https://github.com/tc39/proposal-arraybuffer-base64"><code>Uint8Array</code>
to / from base64 and hex stage 3 proposal</a>:
<ul>
<li>Built-ins:
<ul>
<li><code>Uint8Array.fromBase64</code></li>
<li><code>Uint8Array.fromHex</code></li>
<li><code>Uint8Array.prototype.setFromBase64</code></li>
<li><code>Uint8Array.prototype.setFromHex</code></li>
<li><code>Uint8Array.prototype.toBase64</code></li>
<li><code>Uint8Array.prototype.toHex</code></li>
</ul>
</li>
<li>Added <code>Uint8Array.prototype.{ setFromBase64, setFromHex
}</code> methods</li>
<li>Added <code>Uint8Array.fromBase64</code> and
<code>Uint8Array.prototype.setFromBase64</code>
<code>lastChunkHandling</code> option, <a
href="https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/33">proposal-arraybuffer-base64/33</a></li>
<li>Added <code>Uint8Array.prototype.toBase64</code>
<code>omitPadding</code> option, <a
href="https://redirect.github.com/tc39/proposal-arraybuffer-base64/pull/60">proposal-arraybuffer-base64/60</a></li>
<li>Added throwing a <code>TypeError</code> on arrays backed by detached
buffers</li>
<li>Unconditional forced replacement changed to feature detection</li>
</ul>
</li>
<li>Fixed <code>RegExp</code> named capture groups polyfill in
combination with non-capturing groups, <a
href="https://redirect.github.com/zloirock/core-js/pull/1352">#1352</a>,
thanks <a
href="https://github.com/Ulop"><strong><code>@​Ulop</code></strong></a></li>
<li>Improved some cases of environment detection</li>
<li>Uses <a
href="https://nodejs.org/docs/latest/api/process.html#processgetbuiltinmoduleid"><code>process.getBuiltinModule</code></a>
for getting built-in NodeJS modules where it's available</li>
<li>Uses <code>https</code> instead of <code>http</code> in
<code>URL</code> constructor feature detection to avoid extra
notifications from some overly vigilant security scanners, <a
href="https://redirect.github.com/zloirock/core-js/issues/1345">#1345</a></li>
<li>Some minor optimizations</li>
<li>Updated <code>browserslist</code> in <code>core-js-compat</code>
dependencies that fixes an upstream issue with incorrect interpretation
of some <code>browserslist</code> queries, <a
href="https://redirect.github.com/zloirock/core-js/issues/1344">#1344</a>,
<a
href="https://redirect.github.com/browserslist/browserslist/issues/829">browserslist/829</a>,
<a
href="https://redirect.github.com/browserslist/browserslist/pull/836">browserslist/836</a></li>
<li>Compat data improvements:
<ul>
<li>Added <a
href="https://webkit.org/blog/15443/news-from-wwdc24-webkit-in-safari-18-beta/">Safari
18.0</a> compat data:
<ul>
<li>Fixed <a
href="https://github.com/tc39/proposal-array-grouping"><code>Object.groupBy</code>
and <code>Map.groupBy</code></a> to <a
href="https://bugs.webkit.org/show_bug.cgi?id=271524">work for
non-objects</a></li>
<li>Fixed <a
href="https://bugs.webkit.org/show_bug.cgi?id=267494">throwing a
<code>RangeError</code> if <code>Set</code> methods are called on an
object with negative size property</a></li>
</ul>
</li>
</ul>
</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/d1e7889678f9d09ee4bb1d6bbd3184462567c730"><code>d1e7889</code></a>
v3.38.1</li>
<li><a
href="https://github.com/zloirock/core-js/commit/92940826fbebdd950333a5b0a35728c554f674cf"><code>9294082</code></a>
use self-compare <code>NaN</code> check</li>
<li><a
href="https://github.com/zloirock/core-js/commit/a79f40a96aae0fa724196771ce6139d83dbafb21"><code>a79f40a</code></a>
Percent decode (<a
href="https://github.com/zloirock/core-js/tree/HEAD/packages/core-js/issues/1361">#1361</a>)</li>
<li><a
href="https://github.com/zloirock/core-js/commit/85f3639fb667cce7e40afc9ccf0bf5a30815aaf9"><code>85f3639</code></a>
enable some <code>eslint</code> <code>sonar</code> rules</li>
<li><a
href="https://github.com/zloirock/core-js/commit/5b69af043d39a1c8915146306b401be15fffc1d7"><code>5b69af0</code></a>
use <code>null</code> instead of <code>undefined</code> as an empty
placeholder in some cases</li>
<li><a
href="https://github.com/zloirock/core-js/commit/9cc1d632f97f9fe1db7aa0b28268ef6a0ee37985"><code>9cc1d63</code></a>
use <code>git+</code> in <code>pkg.repository.url</code> of all
packages</li>
<li><a
href="https://github.com/zloirock/core-js/commit/beccd4f65353e1d9d157b3552c318927b434c7f2"><code>beccd4f</code></a>
enable some <code>eslint</code> <code>sonar</code> rules</li>
<li><a
href="https://github.com/zloirock/core-js/commit/b35e68e2d6b9ed7a069375f1e8c18c1f615eec46"><code>b35e68e</code></a>
enable <code>sonar/inconsistent-function-call</code></li>
<li><a
href="https://github.com/zloirock/core-js/commit/4a322bf3a89fd4579b938ab09941b509f9db7136"><code>4a322bf</code></a>
v3.38.0</li>
<li><a
href="https://github.com/zloirock/core-js/commit/9408792f1e3427fd052119f4c13d7e275cc7eb28"><code>9408792</code></a>
replace a regex with a simple comparison</li>
<li>Additional commits viewable in <a
href="https://github.com/zloirock/core-js/commits/v3.38.1/packages/core-js">compare
view</a></li>
</ul>
</details>
<br />

Updates `emoji-regex` from 10.3.0 to 10.4.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mathiasbynens/emoji-regex/commit/8a6871a787a9c9441ed5a341951dcdb1fb3c1d1f"><code>8a6871a</code></a>
Release v10.4.0</li>
<li><a
href="https://github.com/mathiasbynens/emoji-regex/commit/e11e61f057d96962f4196fbf0bd2788dcfba1ceb"><code>e11e61f</code></a>
Update to draft release of Unicode…
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from
126.0.4 to 127.0.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/giggio/node-chromedriver/commit/1295bb01657889a946a172a69a35996426e14e0b"><code>1295bb0</code></a>
Bump version to 127.0.1</li>
<li><a
href="https://github.com/giggio/node-chromedriver/commit/13b710d3042a358225839b5f78e60a6895af65fa"><code>13b710d</code></a>
Bump version to 127.0.0</li>
<li><a
href="https://github.com/giggio/node-chromedriver/commit/cb309867cec473f9a76a9a49d3dd3e8d1e187971"><code>cb30986</code></a>
Bump version to 126.0.5</li>
<li>See full diff in <a
href="https://github.com/giggio/node-chromedriver/compare/126.0.4...127.0.1">compare
view</a></li>
</ul>
</details>
<br />


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

You can trigger a rebase of this PR 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>

> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.

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>
Update the doc for clarity and consistency with present tense. Also,
"rules' description and help properties as well as each checks'
metadata.messages property" → should be "rule's description and help
properties, as well as each check's metadata.messages property"
(singular possessive for "rule" and "check," and add a comma before "as
well as").
Fixes our nightly tests by ignoring the experimental page for
`aria-actions` on tabs.
Noticed this while reviewing a translation file
Co-authored-by: github-actions <github-actions@github.com>
It should be alternative text, not alternate text. 

Closes:
Co-authored-by: github-actions <github-actions@github.com>
It bothered me that every PR from a fork always had a red check from the
autoformatter PR. This sets up the autoformatter to only run on PRs from
non-forks, and adds a new `fmt:check` step to the tests workflow that
will work even in forks. This lets our team still use the autoformatter
without causing noise for external contributors, and also enforces our
formatting requirements for PRs from forks where previously we would
typically admin-merge past the check (which causes noise like #4599).

Once this PR merges, we'll want to update the repo's branch protection
rules to add the new fmt-check job as a required check.

---------

Co-authored-by: dbjorge <dbjorge@users.noreply.github.com>
This addresses some test flakiness in `/test/integration/rerun/rerun.js`
which has caused ~4 e2e test failures in CI builds in the last 3 weeks.
It manifests as a timeout because the test uses assertions within
callbacks to `axe.run` without propogating errors to the `done`
callback; this addresses that similarly to other tests using the run
callback pattern, which should cause new errors in this test to report
the actual assertion failure instead of just timing out.

I wasn't able to locally repro the actual failure, but I think a good
guess as to why it's failing flakily is the same issue we saw with other
tests doing deep comparison of axe result objects (testEnvironment
differing between nearby scans due to windowHeight differences). I
addressed that by reusing the test util we added for doing result
comparison.

I didn't want to hardcode knowledge of the testEnvironment thing into
yet another individual test case, so I also refactored the test utility
to move that knowledge into one location with a comment explaining it.

---------

Co-authored-by: dbjorge <dbjorge@users.noreply.github.com>
… accessible name (#4607)

I'm not sure if this should close #4472 as that also deals with buttons
with a different role running `button-name`. For sure this closes #3696

Closes: #3696

---------

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
Allows people to more easily see the total NPM downloads of axe-core.
While doing some perf testing I discovered axe hits a huge performance
bottleneck when there are lots of similar elements on the page. There
are essentially three problems with that:

1. Selectors aren't cached. An element tested more than once has a
selector created more than once.
2. When an element has no unique features, axe creates the same selector
and does a QSA with it. If there are lots of those, axe ends up running
the same SQA over and over. That can be avoided by caching too
3. When that QSA returns lots of similar elements, axe will refine the
selector using parents. Each time it does that it runs .matches on the
similar element with the updated selector. With many similar elements,
running QSA again is much faster than matching each individually,
especially so if the parent's aren't distinct either, so that the QSA
cache can be used.

I've been using the following code to test this out (with different
numbers in rows and cols):

```html
<main>
  <h1>Hello World</h1>
  <table></table>
</main>
<script>
  const table = document.querySelector('table');
  for (let row = 0; row < 200; row++) {
    const tr = document.createElement('tr');
    table.appendChild(tr);
    for (let col = 0; col < 40; col++) {
      const td = document.createElement('td');
      const btn = document.createElement('button');
      td.appendChild(btn);
      tr.appendChild(td);
    }
  }
</script>
```


## Perf test results

| btns | cur | memo 1 | memo 2 | 50 | 100 | 500 | 600 | 750 | 1000 |
2000

|--------|--------|--------|--------|--------|-------|------|-------|------|-------|------
| 2000 | 2513 | 1511 | 469 | 519 | 192 | 190 | 195 | 190 | 188 | 464
| 2000 | 2585 | 1524 | 470 | 517 | 200 | 190 | 195 | 198 | 203 | 481
| 2000 | 2540 | 1501 | 475 | 525 | 194 | 203 | 190 | 191 | 188 | 468
| 4000 | 10748 | 6183 | 2500 | 2454 | 2452 | 1433 | 838 | 826 | 823 |
850
| 4000 | 10784 | 6199 | 2400 | 2516 | 2452 | 1433 | 839 | 854 | 845 |
819
| 4000 | 10701 | 6203 | 2400 | 2497 | 2442 | 1444 | 849 | 848 | 866 |
838
| 8000 | 43117 | 26398 | 8166 | 10954 | 10895 | 3680 | 2349 | 2220 |
3800 | 2176
| 8000 | 43365 | 26339 | 9747 | 10576 | 10742 | 3775 | 2313 | 2302 |
3826 | 2169
| 8000 | 44899 | 26167 | 9723 | 10615 | 10729 | 3772 | 2235 | 2210 |
3765 | 2238
| 12000 | 100254 | 61300 | 19291 | 20647 | 20623 | 6036 | 6137 | 6146 |
5974 | 6418
| 12000 | 100406 | 60615 | 19543 | 20924 | 20669 | 6122 | 6022 | 6287 |
6094 | 6108
| 12000 | 101401 | 61792 | 19522 | 20662 | 20834 | 5978 | 6170 | 6155 |
6102 | 6347

Numbers are taken from `Audit reporter` with `performanceTimer: true`.

- cur: Current situation
- memo 1: memoize doc.querySelectorAll
- memo 2: memoize doc.querySelectorAll + getSelector
- xxx: memoize 2 + re-run QSA if similar elements > XXX

## Memory usage

I've tested this approach on 10 different websites and saw no difference
in memory usage between this approach and our current approach.

## Performance on real-world websites

I tested this against 20 real-world websites and saw no change in
performance between them. The scenario where this matters is when there
is lots of repetition in a page such as in very large tables. The
important part is that improving performance on for this edge case
doesn't seem to hurt performance elsewhere.
###
[4.10.1](dequelabs/axe-core@v4.10.0...v4.10.1)
(2024-10-16)

### Bug Fixes

- **aria-allowed-role:** add form to allowed roles of form element
([#4588](dequelabs/axe-core#4588))
([d462d67](dequelabs/axe-core@d462d67)),
closes
[/github.com/dequelabs/axe-core/blob/develop/lib/standards/html-elms.js#L264](https://github.com/dequelabs//github.com/dequelabs/axe-core/blob/develop/lib/standards/html-elms.js/issues/L264)
- **axe.d.ts:** add typings for preload options object
([#4543](dequelabs/axe-core#4543))
([72e269f](dequelabs/axe-core@72e269f))
- **button-name,input-button-name,input-img-alt:** allow label to give
accessible name
([#4607](dequelabs/axe-core#4607))
([364eb72](dequelabs/axe-core@364eb72)),
closes [#4472](dequelabs/axe-core#4472)
[#3696](dequelabs/axe-core#3696)
[#3696](dequelabs/axe-core#3696)
- **get-ancestry:** add nth-child selector for multiple siblings of
shadow root ([#4606](dequelabs/axe-core#4606))
([bdd94a2](dequelabs/axe-core@bdd94a2)),
closes [#4563](dequelabs/axe-core#4563)
- **rules:** Change "alternate text" to "alternative text"
([#4582](dequelabs/axe-core#4582))
([31e0f61](dequelabs/axe-core@31e0f61))
Seems I removed the conditional check on the children lookup during a
refactor. Adding it back in and ensuring there's a test so this doesn't
happen again.
Seems I removed the conditional check on the children lookup during a
refactor. Adding it back in and ensuring there's a test so this doesn't
happen again.
dependabot Bot and others added 30 commits March 30, 2026 11:42
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: dequelabs/axe-core#4392

---------

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
Co-authored-by: Wilco Fiers <wilco.fiers@deque.com>
### [4.11.2](dequelabs/axe-core@v4.11.1...v4.11.2)
(2026-03-30)

### Bug Fixes

- **aria-valid-attr-value:** handle multiple aria-errormessage IDs
([#4973](dequelabs/axe-core#4973))
([9322148](dequelabs/axe-core@9322148))
- **aria:** prevent getOwnedVirtual from returning duplicate nodes
([#4987](dequelabs/axe-core#4987))
([99d1e77](dequelabs/axe-core@99d1e77)),
closes [#4840](dequelabs/axe-core#4840)
- **DqElement:** avoid calling constructors with cloneNode
([#5013](dequelabs/axe-core#5013))
([88bc57f](dequelabs/axe-core@88bc57f))
- **existing-rule:** aria-busy now shows an error message for a use with
unallowed children
([#5017](dequelabs/axe-core#5017))
([dded75a](dequelabs/axe-core@dded75a))
- **scrollable-region-focusable:** clarify the issue is in safari
([#4995](dequelabs/axe-core#4995))
([2567afd](dequelabs/axe-core@2567afd)),
closes
[WebKit#190870](https://github.com/dequelabs/WebKit/issues/190870)
[WebKit#277290](https://github.com/dequelabs/WebKit/issues/277290)
- **scrollable-region-focusable:** do not fail scroll areas when all
content is visible without scrolling
([#4993](dequelabs/axe-core#4993))
([240f8b5](dequelabs/axe-core@240f8b5))
- **target-size:** determine offset using clientRects if target is
display:inline
([#5012](dequelabs/axe-core#5012))
([69d81c1](dequelabs/axe-core@69d81c1))
- **target-size:** ignore widgets that are inline with other inline
elements ([#5000](dequelabs/axe-core#5000))
([cf8a3c0](dequelabs/axe-core@cf8a3c0))
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>
### Bug Fixes

- **aria-allowed-attr:** restrict br and wbr elements to aria-hidden
only ([#4974](dequelabs/axe-core#4974))
([1d80163](dequelabs/axe-core@1d80163))
- **target-size:** ignore position: fixed elements that are offscreen
when page is scrolled
([#5066](dequelabs/axe-core#5066))
([5906273](dequelabs/axe-core@5906273)),
closes [#5065](dequelabs/axe-core#5065)
…5071)

This fixes the cherry-pick script's problem of trying to read git log
information now that we have too many for the current buffer size.
Originally done in dequelabs/axe-core#5048 but
porting to it's own pr since that one was closed.
…dby accessible name (#5076)

Fixes accessible name calculation to correctly exclude `<style>`
contents, as well as `<script>`, `<noscript>`, and `<template>`, when
referenced via `aria-labelledby`.

Closes #4704
### Bug Fixes

- **commons/text:** exclude natively hidden elements from
aria-labelledby accessible name
([#5076](dequelabs/axe-core#5076))
([df34adf](dequelabs/axe-core@df34adf)),
closes [#4704](dequelabs/axe-core#4704)
- **utils/getAncestry:** escape node name
([#5079](dequelabs/axe-core#5079))
([6e68d0a](dequelabs/axe-core@6e68d0a)),
closes [#5078](dequelabs/axe-core#5078)
R1 of the staged AXE-3659 upgrade (engine 6.5.0): adopts upstream 4.11.1 - sRGB luminance fix (0.03928->0.04045) + colorParse incomplete path on color-contrast, lang-validation update, rule-JSON metadata (html:not(html *) selectors, RGAA-10.8.1 pending Q10). Fork-preserving resolutions from the PR #249 oracle: colorParse grafted inside fork try/catch + reviewPayload; get-ancestry/dq-element/label-content stay fork (their upstream changes belong to R2/R3); rule.js keeps current main (runTypeASync, PR #235). Ops: nightly-tests.yml cron deleted, .nvmrc stays 22, fork deps kept. Census 92/40 == main. Ref: AXE-3659
R2 of the staged AXE-3659 upgrade (engine 6.6.0): adopts upstream 4.11.2-4.11.4 - target-size FP fixes, is-in-text-block relocated walkDomNode (fork STYLE-skip re-applied), aria-allowed-attr-elm sub-check (union keeps needsReviewConfidence), accessible-name nativelyHidden exclusion, getAncestry escapeSelector #5079 (union with fork Percy :nth-child skip). dq-element stays fork-inline (upstream getSource extraction declined; get-element-source.js lands dormant + exported). Fork CI posture and deps kept. Census 92/40 == main; tsc green. Pair with ip-protection npm axe-core bump to 4.11.4 in the engine release train (lane parity). Ref: AXE-3659
…ritical]

Document why we keep Node 22 and decline upstream's .nvmrc 24 bump
(upstream #4960 — dev/CI-only, npm@11 for their npm-publish). The comment
sits on line 2 because nvm reads line 1 only; an inline comment would break
`nvm use`. check-node-version.js parses .nvmrc as a MINIMUM major, so 24
would fail our pinned Node-22 build_axe.sh build. Ref: AXE-3659.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Brings in R1 merge (ef4340e), cross-origin iframe denylist (AXE-3735),
Phase 2 bulk-review categories, reviewPayload priority rules, and
security dep bumps. All conflicts in non-code files (CI, changelog,
bower.json, sri-history.json) — resolved by taking main's versions
except bower.json version kept at 4.11.4 (R2 target).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Regenerated locales/_template.json (confidence fields, defaultCategory)
and doc/rule-descriptions.md (scrollable-region-focusable description
update) to match R2 source changes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Formats CHANGELOG.md and .claude/ skill files that were unformatted
in the R1/main merge.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
jsdom@latest pulls @exodus/bytes which is ESM-only and breaks
require() on Node 18-20. Pin to 26.1.0 same as Node 18 entry.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Formats .claude/ skills JS/JSON/YAML, config files, and adds build
artifacts (axe.js, axe.min.js, tmp/) to .prettierignore.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Codifies the 4-scenario regression A/B comparison workflow (BL vs R2 x
ancestry ON/OFF) as a Claude Code skill. Covers SDK setup via npm link,
backend deploy, TapScanner swap, ancestry toggle, scan execution, CSV
report fetch, and automated diff.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.