Skip to content

Release v3.4.0#250

Merged
taarikashenafi merged 40 commits into
v3from
main
Jul 24, 2026
Merged

Release v3.4.0#250
taarikashenafi merged 40 commits into
v3from
main

Conversation

@taarikashenafi

Copy link
Copy Markdown
Contributor

Summary

Cuts the v3.4.0 minor release by merging the reviewed changes on main since immutable release v3.3.0 into the stable v3 action branch.

What's new

  • NPM scanner plugins — object entries in scans can install and load allowlisted first-party packages at runtime, including a pinned version (#242).
  • AccessLint engineaccesslint is available as a built-in alternative or complement to Axe, with comparison and selection guidance (#241).
  • Alt-text plugin documentation — documents @github/accessibility-scanner-alt-text-plugin and the object scans configuration (#247).

Maintenance

  • Update ruby/setup-ruby (#246, #248).
  • Update actions/setup-node and patched brace-expansion (#248, #249).

Upgrade notes

This is additive and backward-compatible. Existing workflows using github/accessibility-scanner@v3 need no configuration changes. Axe remains the default when scans is omitted.

To pin the currently published alt-text plugin:

scans: |
  ["axe", {"name": "alt-text-scan", "package": "@github/accessibility-scanner-alt-text-plugin", "version": "1.0.0"}]

Only allowlisted first-party NPM plugins are loaded. Package lifecycle scripts are disabled during installation.

Validation

  • npm run lint — passed on main at 096ac67
  • npm run format:check — passed
  • Action unit tests — 81 passed
  • .github/actions/find TypeScript build — passed
  • Repository Test workflow — passed: https://github.com/github/accessibility-scanner/actions/runs/30118540795
  • Manual local integration using @github/accessibility-scanner-alt-text-plugin@1.0.0 with object scans syntax — package installed and loaded through the scanner plugin manager; a local page with alt="image.jpg" produced the expected filename-alt-text finding
  • Root production dependency audit — 0 vulnerabilities

Release procedure after approval

  1. Merge this PR using a merge commit, preserving the established mainv3 release history.
  2. Validate the resulting v3 commit.
  3. Publish immutable GitHub release/tag v3.4.0 from v3 and verify github/accessibility-scanner@v3 and v3.4.0 contain Npm plugin loading #242 and the intended release delta.

kzhou314 and others added 30 commits June 24, 2026 13:19
…nd pass UrlConfig in tests)

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Accept object entries in the 'scans' input ({name, package, version}) and install/import them at runtime via npm install --ignore-scripts. Loading is gated to first-party allowlist. Includes unit tests.
…totype

# Conflicts:
#	.github/actions/find/src/findForUrl.ts
#	README.md
Co-authored-by: Joyce Zhu <joycezhu@github.com>
Co-authored-by: Joyce Zhu <joycezhu@github.com>
Scanner-side fixes for
github/accessibility#10755.
Consumers request a first-party NPM plugin by passing an object in the
`scans` input:

    scans: |
["axe", {"name": "alt-text-scan", "package":
"@github/accessibility-scanner-alt-text-plugin", "version": "1.0.0"}]
# Conflicts:
#	.github/actions/find/action.yml
#	.github/actions/find/src/scansContextProvider.ts
Closes github/accessibility#10666

Adds AccessLint as a built-in scan engine alongside Axe. Opt in via the `scans` input, e.g. `["axe", "accesslint"]`. With no `scans` input the default stays axe-only.
Bumps the github-actions group with 1 update in the / directory: [ruby/setup-ruby](https://github.com/ruby/setup-ruby).


Updates `ruby/setup-ruby` from 1.314.0 to 1.316.0
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](ruby/setup-ruby@9eb537c...d45b1a4)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-version: 1.316.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
…ub-actions group across 1 directory (#246)

Bumps the github-actions group with 1 update in the / directory:
[ruby/setup-ruby](https://github.com/ruby/setup-ruby).

Updates `ruby/setup-ruby` from 1.314.0 to 1.316.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ruby/setup-ruby/releases">ruby/setup-ruby's
releases</a>.</em></p>
<blockquote>
<h2>v1.316.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update CRuby releases on Windows by <a
href="https://github.com/ruby-builder-bot"><code>@​ruby-builder-bot</code></a>
in <a
href="https://redirect.github.com/ruby/setup-ruby/pull/926">ruby/setup-ruby#926</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/ruby/setup-ruby/compare/v1.315.0...v1.316.0">https://github.com/ruby/setup-ruby/compare/v1.315.0...v1.316.0</a></p>
<h2>v1.315.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Bump actions/checkout from 6 to 7 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/ruby/setup-ruby/pull/924">ruby/setup-ruby#924</a></li>
<li>Add ruby-3.4.10 by <a
href="https://github.com/ruby-builder-bot"><code>@​ruby-builder-bot</code></a>
in <a
href="https://redirect.github.com/ruby/setup-ruby/pull/925">ruby/setup-ruby#925</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/ruby/setup-ruby/compare/v1.314.0...v1.315.0">https://github.com/ruby/setup-ruby/compare/v1.314.0...v1.315.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ruby/setup-ruby/commit/d45b1a4e94b71acab930e56e79c6aa188764e7f9"><code>d45b1a4</code></a>
Update CRuby releases on Windows</li>
<li><a
href="https://github.com/ruby/setup-ruby/commit/0dafeac902942906541bc140009cdbf32665b601"><code>0dafeac</code></a>
Add ruby-3.4.10</li>
<li><a
href="https://github.com/ruby/setup-ruby/commit/bf35c27edc951760db12f3d7956eefe8f8bff334"><code>bf35c27</code></a>
Bump actions/checkout from 6 to 7</li>
<li>See full diff in <a
href="https://github.com/ruby/setup-ruby/compare/9eb537ca036ebaed86729dcb9309076e4c5c3b74...d45b1a4e94b71acab930e56e79c6aa188764e7f9">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ruby/setup-ruby&package-manager=github_actions&previous-version=1.314.0&new-version=1.316.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 <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>
kzhou314 and others added 10 commits July 7, 2026 13:47
Co-authored-by: Joyce Zhu <joycezhu@github.com>
…updates

Bumps the github-actions group with 2 updates in the / directory: [actions/setup-node](https://github.com/actions/setup-node) and [ruby/setup-ruby](https://github.com/ruby/setup-ruby).


Updates `actions/setup-node` from 6 to 7
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v6...v7)

Updates `ruby/setup-ruby` from 1.316.0 to 1.319.0
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](ruby/setup-ruby@d45b1a4...003a5c4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: ruby/setup-ruby
  dependency-version: 1.319.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 5.0.3 to 5.0.7.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](juliangruber/brace-expansion@v5.0.3...v5.0.7)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 5.0.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
…updates (#248)

Bumps the github-actions group with 2 updates in the / directory:
[actions/setup-node](https://github.com/actions/setup-node) and
[ruby/setup-ruby](https://github.com/ruby/setup-ruby).

Updates `actions/setup-node` from 6 to 7
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.0</h2>
<h2>What's Changed</h2>
<h3>Enhancements:</h3>
<ul>
<li>Add cache-primary-key and cache-matched-key as outputs by <a
href="https://github.com/gowridurgad"><code>@​gowridurgad</code></a> in
<a
href="https://redirect.github.com/actions/setup-node/pull/1577">actions/setup-node#1577</a></li>
<li>Migrate to ESM and upgrade dependencies by <a
href="https://github.com/gowridurgad"><code>@​gowridurgad</code></a> in
<a
href="https://redirect.github.com/actions/setup-node/pull/1574">actions/setup-node#1574</a></li>
</ul>
<h3>Bug fixes:</h3>
<ul>
<li>Remove dummy NODE_AUTH_TOKEN export by <a
href="https://github.com/gowridurgad"><code>@​gowridurgad</code></a> in
<a
href="https://redirect.github.com/actions/setup-node/pull/1558">actions/setup-node#1558</a></li>
<li>Only use <code>mirrorToken</code> in <code>getManifest</code> if
it's provided by <a
href="https://github.com/deiga"><code>@​deiga</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1548">actions/setup-node#1548</a></li>
</ul>
<h3>Documentation updates:</h3>
<ul>
<li>Add documentation for publishing to npm with Trusted Publisher
(OIDC) by <a
href="https://github.com/chiranjib-swain"><code>@​chiranjib-swain</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1536">actions/setup-node#1536</a></li>
<li>docs: Update restore-only cache documentation by <a
href="https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1550">actions/setup-node#1550</a></li>
<li>docs: Update caching recommendations to mitigate cache poisoning
risks by <a
href="https://github.com/chiranjib-swain"><code>@​chiranjib-swain</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1567">actions/setup-node#1567</a></li>
</ul>
<h3>Dependency update:</h3>
<ul>
<li>Upgrade <code>@​actions/cache</code> to 5.1.0, log cache write
denied by <a
href="https://github.com/jasongin"><code>@​jasongin</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1569">actions/setup-node#1569</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/chiranjib-swain"><code>@​chiranjib-swain</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1536">actions/setup-node#1536</a></li>
<li><a href="https://github.com/deiga"><code>@​deiga</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1548">actions/setup-node#1548</a></li>
<li><a href="https://github.com/jasongin"><code>@​jasongin</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1569">actions/setup-node#1569</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v6...v7.0.0">https://github.com/actions/setup-node/compare/v6...v7.0.0</a></p>
<h2>v6.5.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update <code>@​actions/cache</code> to 5.1.0 and add security
overrides for undici and fast-xml-parser by <a
href="https://github.com/HarithaVattikuti"><code>@​HarithaVattikuti</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1579">actions/setup-node#1579</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v6.4.0...v6.5.0">https://github.com/actions/setup-node/compare/v6.4.0...v6.5.0</a></p>
<h2>v6.4.0</h2>
<h2>What's Changed</h2>
<h3>Dependency updates:</h3>
<ul>
<li>Upgrade <a
href="https://github.com/actions"><code>@​actions</code></a>
dependencies by <a
href="https://github.com/Copilot"><code>@​Copilot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1525">actions/setup-node#1525</a></li>
<li>Update Node.js versions in versions.yml and bump package to v6.4.0
by <a
href="https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1533">actions/setup-node#1533</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Copilot"><code>@​Copilot</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1525">actions/setup-node#1525</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v6...v6.4.0">https://github.com/actions/setup-node/compare/v6...v6.4.0</a></p>
<h2>v6.3.0</h2>
<h2>What's Changed</h2>
<h3>Enhancements:</h3>
<ul>
<li>Support parsing <code>devEngines</code> field by <a
href="https://github.com/susnux"><code>@​susnux</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1283">actions/setup-node#1283</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-node/commit/820762786026740c76f36085b0efc47a31fe5020"><code>8207627</code></a>
Migrate to ESM and upgrade dependencies (<a
href="https://redirect.github.com/actions/setup-node/issues/1574">#1574</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/04be95cf3511ea51ebf9f224ddfb99cc7ab87cd4"><code>04be95c</code></a>
Add cache-primary-key and cache-matched-key as outputs (<a
href="https://redirect.github.com/actions/setup-node/issues/1577">#1577</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/7c2c68d20d402ed6a201ada70a81341941093140"><code>7c2c68d</code></a>
docs: Update caching recommendations to mitigate cache poisoning risks
(<a
href="https://redirect.github.com/actions/setup-node/issues/1567">#1567</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/6a61c0375d66246de94630495909f12cf8dac84d"><code>6a61c03</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/setup-node/issues/1569">#1569</a>
from jasongin/update-actions-cache-5.1.0</li>
<li><a
href="https://github.com/actions/setup-node/commit/30eb73b41ded577900c1ebf968ef95cdf8f7434f"><code>30eb73b</code></a>
Resolve high-severity audit issues</li>
<li><a
href="https://github.com/actions/setup-node/commit/4e1a87a501d0302f99e30e2748568adcb388d09f"><code>4e1a87a</code></a>
Update dist</li>
<li><a
href="https://github.com/actions/setup-node/commit/360237f0c01778d0c17291f75c56d6feae4f7574"><code>360237f</code></a>
Strict equality</li>
<li><a
href="https://github.com/actions/setup-node/commit/4f8aac5beb2f0854bc79651567a18c67eb0b9de3"><code>4f8aac5</code></a>
Bump <code>@​actions/cache</code> to 5.1.0, log cache write denied</li>
<li><a
href="https://github.com/actions/setup-node/commit/f4a67bbeca970f103397d3d2b9462cf787cd2980"><code>f4a67bb</code></a>
Only use <code>mirrorToken</code> in <code>getManifest</code> if it's
provided (<a
href="https://redirect.github.com/actions/setup-node/issues/1548">#1548</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/0355742c943ddb13ca8a6b700f824231caa91e75"><code>0355742</code></a>
Remove dummy NODE_AUTH_TOKEN export (<a
href="https://redirect.github.com/actions/setup-node/issues/1558">#1558</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/setup-node/compare/v6...v7">compare
view</a></li>
</ul>
</details>
<br />

Updates `ruby/setup-ruby` from 1.316.0 to 1.319.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ruby/setup-ruby/releases">ruby/setup-ruby's
releases</a>.</em></p>
<blockquote>
<h2>v1.319.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Add ruby-3.3.12 by <a
href="https://github.com/ruby-builder-bot"><code>@​ruby-builder-bot</code></a>
in <a
href="https://redirect.github.com/ruby/setup-ruby/pull/930">ruby/setup-ruby#930</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/ruby/setup-ruby/compare/v1.318.0...v1.319.0">https://github.com/ruby/setup-ruby/compare/v1.318.0...v1.319.0</a></p>
<h2>v1.318.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update CRuby releases on Windows by <a
href="https://github.com/ruby-builder-bot"><code>@​ruby-builder-bot</code></a>
in <a
href="https://redirect.github.com/ruby/setup-ruby/pull/929">ruby/setup-ruby#929</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/ruby/setup-ruby/compare/v1.317.0...v1.318.0">https://github.com/ruby/setup-ruby/compare/v1.317.0...v1.318.0</a></p>
<h2>v1.317.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Add ruby-4.0.6 by <a
href="https://github.com/ruby-builder-bot"><code>@​ruby-builder-bot</code></a>
in <a
href="https://redirect.github.com/ruby/setup-ruby/pull/928">ruby/setup-ruby#928</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/ruby/setup-ruby/compare/v1.316.0...v1.317.0">https://github.com/ruby/setup-ruby/compare/v1.316.0...v1.317.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ruby/setup-ruby/commit/003a5c4d8d6321bd302e38f6f0ec593f77f06600"><code>003a5c4</code></a>
Add ruby-3.3.12</li>
<li><a
href="https://github.com/ruby/setup-ruby/commit/8e41b362d2589a22a44c1cfa214b3c83052c195b"><code>8e41b36</code></a>
Update CRuby releases on Windows</li>
<li><a
href="https://github.com/ruby/setup-ruby/commit/6e5d382445ae5590b7449d8b3bc8cb1c2c27f617"><code>6e5d382</code></a>
Add ruby-4.0.6</li>
<li>See full diff in <a
href="https://github.com/ruby/setup-ruby/compare/d45b1a4e94b71acab930e56e79c6aa188764e7f9...003a5c4d8d6321bd302e38f6f0ec593f77f06600">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>
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion)
from 5.0.3 to 5.0.7.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/b735ba6ecee714b2b6562c0df90c8d2059e56501"><code>b735ba6</code></a>
5.0.7</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/c7e33ec13ac1a684c116720843ce24e208611754"><code>c7e33ec</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/fa1786ad75fea537276dc9fda923546af2e45c1f"><code>fa1786a</code></a>
Bump tar from 7.5.11 to 7.5.16 (<a
href="https://redirect.github.com/juliangruber/brace-expansion/issues/116">#116</a>)</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/c16f1ec6b556b58030e2996ac2be24c84b983ef6"><code>c16f1ec</code></a>
fix(package.json): use git+https instead of git+ssh for repository URL
(<a
href="https://redirect.github.com/juliangruber/brace-expansion/issues/115">#115</a>)</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/196bbcc2278aa0f821379cc64ced475c40488de1"><code>196bbcc</code></a>
Bump ip-address from 10.1.0 to 10.2.0 (<a
href="https://redirect.github.com/juliangruber/brace-expansion/issues/104">#104</a>)</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/eb18dd6d474ba6944e83ac915c4d7138739144c4"><code>eb18dd6</code></a>
Update ci.yml (<a
href="https://redirect.github.com/juliangruber/brace-expansion/issues/107">#107</a>)</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/a39928d5d0894ba9e6f79b984a5fbaca3b334f93"><code>a39928d</code></a>
Bump minimatch (<a
href="https://redirect.github.com/juliangruber/brace-expansion/issues/106">#106</a>)</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/7950ae3fc08c663de16c9b3d3867c65fb8667922"><code>7950ae3</code></a>
ci: correct test workflow (<a
href="https://redirect.github.com/juliangruber/brace-expansion/issues/105">#105</a>)</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/46317b5d8779c151d24f65c9c139cd076f91a1c3"><code>46317b5</code></a>
5.0.6</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/c0b095bdc52bc4c36dc88deddbadabc49f8371e5"><code>c0b095b</code></a>
Merge commit from fork</li>
<li>Additional commits viewable in <a
href="https://github.com/juliangruber/brace-expansion/compare/v5.0.3...v5.0.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=brace-expansion&package-manager=npm_and_yarn&previous-version=5.0.3&new-version=5.0.7)](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)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/github/accessibility-scanner/network/alerts).

</details>
Copilot AI review requested due to automatic review settings July 24, 2026 18:55
@taarikashenafi
taarikashenafi requested a review from a team as a code owner July 24, 2026 18:55
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@taarikashenafi
taarikashenafi merged commit da2381e into v3 Jul 24, 2026
10 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Releases v3.4.0 with AccessLint support, runtime NPM plugins, documentation, tests, and dependency maintenance.

Changes:

  • Adds the AccessLint scan engine and guidance.
  • Adds allowlisted NPM plugin loading and alt-text plugin documentation.
  • Updates CI actions and dependencies.
Show a summary per file
File Description
README.md Documents new scanning options.
PLUGINS.md Documents NPM plugins.
AXE_VS_ACCESSLINT.md Compares scan engines.
package-lock.json Updates brace-expansion.
.github/workflows/test.yml Updates Ruby setup.
.github/workflows/lint.yml Updates Node setup.
.github/actions/find/action.yml Expands scans input documentation.
.github/actions/find/package.json Adds AccessLint dependencies.
.github/actions/find/package-lock.json Locks new dependencies.
.github/actions/find/src/findForUrl.ts Runs AccessLint scans.
.github/actions/find/src/scansContextProvider.ts Parses engines and NPM plugins.
.github/actions/find/src/pluginManager/index.ts Loads allowlisted NPM plugins.
.github/actions/find/src/pluginManager/pluginNpmLoader.ts Installs and imports packages.
.github/actions/find/src/pluginManager/types.ts Defines NPM plugin requests.
.github/actions/find/tests/findForUrl.test.ts Tests scan selection.
.github/actions/find/tests/pluginNpmLoader.test.ts Tests NPM plugin loading.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Files not reviewed (1)
  • .github/actions/find/package-lock.json: Generated file
  • Files reviewed: 14/16 changed files
  • Comments generated: 4
  • Review effort level: Medium


// Install the package at runtime.
export function installNpmPackage(spec: string) {
execFileSync('npm', ['install', spec, '--no-save', '--no-package-lock', '--ignore-scripts'], {stdio: 'inherit'})

// Install and import a single NPM-published plugin
export async function loadPluginViaNpm(request: NpmPluginRequest): Promise<Plugin | undefined> {
const spec = request.version ? `${request.package}@${request.version}` : request.package
Comment on lines +171 to +174
if (isDuplicatePlugin(plugin)) {
core.warning(`Skipping plugin '${pluginFolder}' because a plugin named '${plugin.name}' is already loaded`)
continue
}
Comment on lines +126 to +128
await addFinding({
scannerType: 'accesslint',
url,
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.

6 participants