Repository navigation
Releases
v3.0.0
Highlights
v3.0.0 is a major release that rewrites the action from the ground up. The installation logic is now implemented natively in TypeScript — the legacy shell/PowerShell scripts are no longer on the execution path — and the build toolchain has been hardened against supply-chain attacks.
Native TypeScript rewrite (#446)
The Bash (setup-chromedriver.sh) and PowerShell (setup-chromedriver.ps1) installers have been replaced by a native TypeScript implementation, split into focused modules under src/installer/:
http.ts—fetchText/fetchJsonwith curl-like retry/redirect handlingdownload.ts— ZIP download & extraction via@actions/tool-cacheversion.ts— Chrome version detection + Chrome-for-Testing JSON resolution with fallbackunix.ts/windows.ts— platform-specific install (legacy< 115/ modern split)
Behavioral parity is preserved: install locations (/usr/local/bin/chromedriver, C:\SeleniumWebDrivers\ChromeDriver) are unchanged, and PATH resolution via the well-known install directory continues to work without an explicit core.addPath. The legacy shell scripts are retained for one release cycle as an emergency rollback option.
Supply-chain hardening
- Migrated from yarn to pnpm (#456) — install-time build scripts are blocked by default (
allowBuilds), and freshly published versions are held back by a cooldown (minimumReleaseAge). - All external actions in CI workflows are now pinned to a full commit SHA (#450).
ESM migration (#458, #439)
- The codebase moved from CommonJS to ESM, and
@actions/tool-cachewas upgraded from 2.x to 4.x.
Security fixes
- Fixed a command-injection vector in Windows version detection (env-passing).
- Fixed cross-drive move failure (
EXDEV) on Windows viaio.cp. - Added retry-with-backoff to downloads.
- Overrode
qsto 6.15.2 to resolve a DoS advisory (#457, #444).
Testing
- Container-compatibility tests are now a permanent PR gate (#453).
- Added install/smoke tests for legacy ChromeDriver (
< 115) (#454).
Breaking Changes
- The action is now a native TypeScript / ESM implementation. The shell/PowerShell scripts are no longer executed (kept only for one-cycle rollback).
- Build/contribution workflow now requires pnpm (
corepack enable) instead of yarn.
Note: The Node 24 runtime migration shipped in
v2.4.0; there is no runtime change inv3.0.0.
Migration
Update your workflow reference to @v3. SHA pinning is recommended:
- uses: nanasess/setup-chromedriver@v3
# or, pinned:
- uses: nanasess/setup-chromedriver@<full-commit-sha> # v3.0.0Repository changes (default branch & @master)
Note: The default branch has moved from
mastertomain. This does not affect users referencing the action by a tag (@v3,@v3.0.0) or a commit SHA. If you reference the action by themasterbranch (uses: nanasess/setup-chromedriver@master), please migrate to@v3(or pin a commit SHA): themasterbranch is now frozen, emits a runtime deprecation warning, and will not receive future updates.
What's Changed (since v2.4.0)
- feat: rewrite setup-chromedriver natively in TypeScript by @nanasess in #446
- build: migrate from yarn to pnpm for supply-chain hardening by @nanasess in #456
- build: migrate to ESM and update @actions/tool-cache to 4.x by @nanasess in #458, #439
- fix(security): override qs to 6.15.2 (DoS) by @nanasess in #457, #444
- chore(ci): pin all external actions to a full commit SHA by @nanasess in #450
- test(ci): make container-compatibility tests a permanent PR gate by @nanasess in #453
- test(ci): add legacy ChromeDriver (< 115) install/smoke tests by @nanasess in #454
- test: add contract tests by @nanasess in #437
- chore: remove unnecessary version field from package.json by @nanasess in #460
- fix(ci): remove invalid #sha pin from marketplace URL by @nanasess in #451
- chore(ci): update claude-code-action to v1 form by @nanasess in #448, #449
- docs(readme): update examples to @V3 and recommend SHA pinning by @nanasess in #455
- build(deps): dependency bumps by @dependabot in #438, #440, #441, #442, #443, #445
v2.4.0
Highlights
Node 24 Runtime Migration
This release upgrades the GitHub Actions runtime from Node 20 to Node 24, aligning with GitHub's official migration timeline.
- Node.js 20 deprecation warnings are now resolved — workflows using
nanasess/setup-chromedriver@v2will no longer display the deprecation notice - Node 20 actions will be forced to run with Node 24 by default starting June 2, 2026
Requirements
| Environment | Minimum Version |
|---|---|
| GitHub-hosted runners | No changes required |
| Self-hosted runners | v2.327.1 or later |
| macOS (self-hosted) | macOS 14 or later |
Note: ARM32 self-hosted runners are no longer supported with Node 24.
Other Notable Changes
- Removed deprecated
macos-12andmacos-13from CI test matrix - Removed support for
ubuntu-20.04 - Bumped multiple dependencies for security and compatibility
What's Changed
- build(deps-dev): bump prettier from 3.4.1 to 3.4.2 by @dependabot[bot] in #371
- Remove macos-12 from test matrix by @nanasess in #382
- Remove unused imports and redundant search steps in chromedriver test by @nanasess in #385
- build(deps-dev): bump @types/selenium-webdriver from 4.1.27 to 4.1.28 by @dependabot[bot] in #375
- build(deps): bump @actions/tool-cache from 2.0.1 to 2.0.2 by @dependabot[bot] in #377
- build(deps-dev): bump @types/node from 22.10.1 to 22.13.1 by @dependabot[bot] in #383
- build(deps): bump @octokit/endpoint from 9.0.5 to 9.0.6 by @dependabot[bot] in #386
- build(deps): bump undici from 5.28.4 to 5.28.5 by @dependabot[bot] in #378
- build(deps): bump @octokit/request-error from 5.1.0 to 5.1.1 by @dependabot[bot] in #384
- chore(ci): remove support for ubuntu-20.04 in workflows and documentation by @nanasess in #393
- build(deps): bump undici from 5.28.5 to 5.29.0 by @dependabot[bot] in #394
- build(deps-dev): bump selenium-webdriver from 4.27.0 to 4.33.0 by @dependabot[bot] in #395
- feat(workflows): add Claude Code GitHub Action and documentation by @nanasess in #398
- Enhance README with modern and stylish design by @nanasess in #399
- Add Claude Code GitHub Workflow by @nanasess in #407
- Fix macos devport by @nanasess in #417
- fix(ci): correct typo in GitHub Actions workflow for macOS condition by @nanasess in #418
- ci(github-actions): skip code review for dependabot PRs by @nanasess in #419
- build(deps): bump semver from 7.6.3 to 7.7.1 by @dependabot[bot] in #380
- build(deps): bump @octokit/request from 8.4.0 to 8.4.1 by @dependabot[bot] in #387
- build(deps): bump js-yaml from 3.14.1 to 3.14.2 by @dependabot[bot] in #420
- build(deps): bump tmp from 0.2.3 to 0.2.4 by @dependabot[bot] in #414
- chore: remove deprecated macos-13 from CI workflow by @nanasess in #423
- build(deps): bump @octokit/plugin-paginate-rest from 9.2.1 to 9.2.2 by @dependabot[bot] in #390
- build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #415
- build(deps): bump form-data from 3.0.1 to 3.0.4 by @dependabot[bot] in #411
- build(deps-dev): bump prettier from 3.4.2 to 3.7.4 by @dependabot[bot] in #422
- build(deps): bump semver and @types/semver by @dependabot[bot] in #421
- build(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #429
- build(deps): bump @actions/core from 1.11.1 to 2.0.1 by @dependabot[bot] in #425
- build(deps): bump underscore from 1.13.7 to 1.13.8 by @dependabot[bot] in #434
- build(deps-dev): bump @types/node from 22.13.1 to 24.2.1 by @dependabot[bot] in #416
- build(deps): bump minimatch from 3.1.2 to 3.1.5 by @dependabot[bot] in #433
- build(deps): bump qs from 6.13.0 to 6.14.2 by @dependabot[bot] in #432
- build(deps): bump lodash from 4.17.21 to 4.17.23 by @dependabot[bot] in #431
- build(deps-dev): bump @vercel/ncc from 0.38.3 to 0.38.4 by @dependabot[bot] in #427
- build(deps-dev): bump selenium-webdriver and @types/selenium-webdriver by @dependabot[bot] in #426
Full Changelog: v2.3.0...v2.4.0
v2.3.0
Added chromeapp input variable for chrome binaries with different names on Linux, Windows and MacOS.
Thx🎉 @MickaelFontes
What's Changed
- Bump undici from 5.26.3 to 5.28.3 by @dependabot in #282
- Bump husky from 9.0.10 to 9.0.11 by @dependabot in #285
- Bump @types/semver from 7.5.6 to 7.5.8 by @dependabot in #288
- Bump semver from 6.3.0 to 7.6.0 by @dependabot in #296
- Bump @types/node from 20.11.16 to 20.12.10 by @dependabot in #300
- Bump undici from 5.28.3 to 5.28.4 by @dependabot in #295
- Bump @types/node from 20.12.10 to 20.12.11 by @dependabot in #301
- Bump semver from 7.6.0 to 7.6.2 by @dependabot in #302
- Bump selenium-webdriver and @types/selenium-webdriver by @dependabot in #299
- Bump os versions by @nanasess in #304
- Fix README.md by @nanasess in #305
- Bump braces from 3.0.2 to 3.0.3 by @dependabot in #314
- Bump selenium-webdriver from 4.20.0 to 4.21.0 by @dependabot in #306
- Bump typed-rest-client from 1.8.11 to 2.0.0 by @dependabot in #310
- Bump @types/node from 20.12.11 to 20.14.4 by @dependabot in #316
- Bump @types/selenium-webdriver from 4.1.22 to 4.1.23 by @dependabot in #317
- Bump prettier from 3.2.5 to 3.3.2 by @dependabot in #315
- Bump typed-rest-client from 2.0.0 to 2.0.2 by @dependabot in #324
- Bump @types/node from 20.14.4 to 22.0.0 by @dependabot in #329
- Use Corepack by @nanasess in #334
- Bump @types/node from 22.1.0 to 22.2.0 by @dependabot in #335
- Bump selenium-webdriver and @types/selenium-webdriver by @dependabot in #327
- Bump @types/selenium-webdriver from 4.1.24 to 4.1.25 by @dependabot in #336
- Bump @types/selenium-webdriver from 4.1.25 to 4.1.26 by @dependabot in #340
- Bump @vercel/ncc from 0.38.1 to 0.38.2 by @dependabot in #350
- Bump micromatch from 4.0.7 to 4.0.8 by @dependabot in #342
- Bump @actions/core from 1.10.1 to 1.11.1 by @dependabot in #355
- Add chromeapp input variable by @MickaelFontes in #358
- Bump @types/node from 22.2.0 to 22.9.4 by @dependabot in #365
- Bump typed-rest-client from 2.0.2 to 2.1.0 by @dependabot in #352
- Bump @vercel/ncc from 0.38.2 to 0.38.3 by @dependabot in #362
- Bump husky from 9.1.4 to 9.1.7 by @dependabot in #363
- build(deps-dev): bump @types/node from 22.9.4 to 22.10.1 by @dependabot in #368
- build(deps-dev): bump prettier from 3.3.3 to 3.4.1 by @dependabot in #367
- Bump cross-spawn from 7.0.3 to 7.0.6 by @dependabot in #364
- build(deps-dev): bump selenium-webdriver and @types/selenium-webdriver by @dependabot in #366
New Contributors
- @MickaelFontes made their first contribution in #358
Full Changelog: v2.2.2...v2.3.0
v2.2.2
What's Changed
- Bump selenium-webdriver and @types/selenium-webdriver by @dependabot in #258
- Bump @types/semver from 7.5.4 to 7.5.6 by @dependabot in #255
- Bump prettier from 3.1.0 to 3.1.1 by @dependabot in #259
- Fix for public key is not available by @LouDnl in #264
- Bump ts-node from 10.9.1 to 10.9.2 by @dependabot in #260
- Bump @types/node from 20.10.0 to 20.10.6 by @dependabot in #262
- Bump node16 to node20 by @nanasess in #278
- Bump selenium-webdriver from 4.16.0 to 4.17.0 by @dependabot in #270
- Bump @types/node from 20.10.6 to 20.11.16 by @dependabot in #277
- Bump husky from 8.0.3 to 9.0.10 by @dependabot in #276
- Bump semver from 7.5.4 to 7.6.0 by @dependabot in #275
- Bump prettier from 3.1.1 to 3.2.5 by @dependabot in #274
New Contributors
Full Changelog: v2.2.1...v2.2.2
v2.2.1
What's Changed
- Bump @types/node from 20.5.0 to 20.5.1 by @dependabot in #213
- Bump jest-circus from 29.6.2 to 29.6.3 by @dependabot in #211
- Bump prettier from 3.0.1 to 3.0.2 by @dependabot in #212
- Bump @types/selenium-webdriver from 4.1.15 to 4.1.16 by @dependabot in #216
- Bump @actions/core from 1.10.0 to 1.10.1 by @dependabot in #223
- Bump actions/checkout from 3 to 4 by @dependabot in #219
- Fallback latest version in powershell script by @mingyaulee in #224
- Fix version selector by @mingyaulee in #225
- Remove chrome114 by @nanasess in #230
- Bump semver and @types/semver by @dependabot in #217
- Bump prettier from 3.0.2 to 3.0.3 by @dependabot in #221
- Fixes a few shellcheck issues by @rasa in #234
- Bump jest-circus from 29.6.3 to 29.7.0 by @dependabot in #226
- Bump @babel/traverse from 7.17.3 to 7.23.2 by @dependabot in #233
- Bump @actions/github from 5.1.1 to 6.0.0 by @dependabot in #232
- Bump @vercel/ncc from 0.36.1 to 0.38.0 by @dependabot in #228
- Bump @types/node from 20.5.1 to 20.6.2 by @dependabot in #227
- Bump @types/yauzl from 2.10.0 to 2.10.1 by @dependabot in #231
- Bump selenium-webdriver and @types/selenium-webdriver by @dependabot in #238
- Fix logic bug in setup-chromedriver.sh by @rasa in #241
- Bump @types/semver from 7.5.1 to 7.5.4 by @dependabot in #239
- Bump @vercel/ncc from 0.38.0 to 0.38.1 by @dependabot in #237
- Bump selenium-webdriver from 4.14.0 to 4.15.0 by @dependabot in #245
- Bump prettier from 3.0.3 to 3.1.0 by @dependabot in #248
- Bump @types/yauzl from 2.10.1 to 2.10.3 by @dependabot in #249
- Bump @types/node from 20.6.2 to 20.10.0 by @dependabot in #251
New Contributors
- @mingyaulee made their first contribution in #224
Full Changelog: v2.2.0...v2.2.1
v2.2.0
@rasa's contribution has significantly improved the performance of the *NIX platform🍻🥂🍣
What's Changed
- Speed up/enhance setup-chromedrive.sh by @rasa in #203
- Fix typo in setup-chromedriver.sh by @rasa in #204
- Bump jest-circus from 29.6.1 to 29.6.2 by @dependabot in #198
- Bump selenium-webdriver from 4.11.0 to 4.11.1 by @dependabot in #207
- Bump prettier from 3.0.0 to 3.0.1 by @dependabot in #206
- Bump @types/node from 20.4.5 to 20.5.0 by @dependabot in #209
New Contributors
Full Changelog: v2.1.2...v2.1.3
v2.1.2
Improved problem of failing to get ChromeDriver 115.0.5790.110. Thanks for all the feedback.🙏
What's Changed
- Bump selenium-webdriver from 4.10.0 to 4.11.0 by @dependabot in #197
- Bump @types/node from 20.4.4 to 20.4.5 by @dependabot in #196
- Fallback latest version by @nanasess in #201
Full Changelog: v2.1.1...v2.1.2
v2.1.1
What's Changed
- Fix install chromedriver of under 115 by @nanasess in #194
- Bump prettier from 2.8.8 to 3.0.0 by @dependabot in #184
- Bump @types/node from 20.4.2 to 20.4.4 by @dependabot in #189
Full Changelog: v2.1.0...v2.1.1
v2.1.0
Chrome 115 or later uses Chrome for Testing.
Thanks to everyone who reported the glitch!🙏
What's Changed
- Bump semver from 7.3.8 to 7.5.0 by @dependabot in #158
- Bump selenium-webdriver from 4.8.2 to 4.9.0 by @dependabot in #162
- Bump @types/node from 18.15.11 to 18.16.0 by @dependabot in #161
- Bump prettier from 2.8.7 to 2.8.8 by @dependabot in #160
- Bump @types/selenium-webdriver from 4.1.13 to 4.1.14 by @dependabot in #163
- Bump @types/node from 18.16.0 to 20.2.3 by @dependabot in #171
- Bump selenium-webdriver from 4.9.0 to 4.9.2 by @dependabot in #170
- Bump @types/selenium-webdriver from 4.1.14 to 4.1.15 by @dependabot in #173
- Bump @types/node from 20.2.3 to 20.3.1 by @dependabot in #176
- Bump selenium-webdriver from 4.9.2 to 4.10.0 by @dependabot in #177
- Bump semver from 7.5.0 to 7.5.2 by @dependabot in #178
- Bump typed-rest-client from 1.8.9 to 1.8.11 by @dependabot in #181
- Bump tough-cookie from 4.0.0 to 4.1.3 by @dependabot in #183
- Bump jest-circus from 29.5.0 to 29.6.1 by @dependabot in #186
- Bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #188
- Bump @types/node from 20.3.1 to 20.4.2 by @dependabot in #187
- Support Chrome for Testing by @nanasess in #192
Full Changelog: v2.0.0...v2.1.0
v2.0.0
Eliminated dependencies on to node_modules using @vercel/ncc, finally implemented @panmona's advice!
#30 (comment)
What's Changed
- Bump @types/node from 18.8.4 to 18.11.0 by @dependabot in #91
- Bump jest-circus from 29.1.2 to 29.2.0 by @dependabot in #92
- Bump jest-circus from 29.2.0 to 29.2.2 by @dependabot in #93
- Bump @types/selenium-webdriver from 4.1.5 to 4.1.6 by @dependabot in #94
- Bump @types/semver from 7.3.12 to 7.3.13 by @dependabot in #96
- Bump @types/node from 18.11.0 to 18.11.4 by @dependabot in #95
- Bump selenium-webdriver and @types/selenium-webdriver by @dependabot in #98
- Bump jest-circus from 29.2.2 to 29.3.0 by @dependabot in #99
- Bump @types/node from 18.11.4 to 18.11.9 by @dependabot in #100
- Bump jest-circus from 29.3.0 to 29.3.1 by @dependabot in #101
- Bump @types/selenium-webdriver from 4.1.8 to 4.1.9 by @dependabot in #103
- Bump husky from 8.0.1 to 8.0.2 by @dependabot in #102
- Bump typescript from 4.8.4 to 4.9.3 by @dependabot in #104
- Bump selenium-webdriver from 4.6.0 to 4.6.1 by @dependabot in #105
- Bump prettier from 2.7.1 to 2.8.0 by @dependabot in #106
- Bump selenium-webdriver from 4.6.1 to 4.7.0 by @dependabot in #108
- Bump prettier from 2.8.0 to 2.8.1 by @dependabot in #110
- Bump typescript from 4.9.3 to 4.9.4 by @dependabot in #111
- Bump @types/node from 18.11.9 to 18.11.17 by @dependabot in #112
- Bump selenium-webdriver from 4.7.0 to 4.7.1 by @dependabot in #113
- Bump @types/node from 18.11.17 to 18.11.18 by @dependabot in #114
- Bump json5 from 2.2.0 to 2.2.2 by @dependabot in #115
- Bump @types/selenium-webdriver from 4.1.9 to 4.1.10 by @dependabot in #116
- Bump prettier from 2.8.1 to 2.8.2 by @dependabot in #117
- Bump husky from 8.0.2 to 8.0.3 by @dependabot in #118
- Bump prettier from 2.8.2 to 2.8.3 by @dependabot in #119
- Bump selenium-webdriver from 4.7.1 to 4.8.0 by @dependabot in #120
- Bump jest-circus from 29.3.1 to 29.4.1 by @dependabot in #121
- Bump typescript from 4.9.4 to 4.9.5 by @dependabot in #122
- Fix README.md by @nanasess in #124
- Add runner by @nanasess in #125
- Bump @types/node from 18.11.18 to 18.11.19 by @dependabot in #123
- Bump @types/selenium-webdriver from 4.1.10 to 4.1.11 by @dependabot in #128
- Bump prettier from 2.8.3 to 2.8.4 by @dependabot in #127
- Bump jest-circus from 29.4.1 to 29.4.2 by @dependabot in #129
- Bump selenium-webdriver from 4.8.0 to 4.8.1 by @dependabot in #132
- Bump @types/node from 18.11.19 to 18.14.0 by @dependabot in #130
- Bump jest-circus from 29.4.2 to 29.4.3 by @dependabot in #131
- Bump @types/node from 18.14.0 to 18.14.2 by @dependabot in #133
- Bump @types/selenium-webdriver from 4.1.11 to 4.1.12 by @dependabot in #134
- Bump @types/node from 18.14.2 to 18.14.6 by @dependabot in #136
- Bump @types/selenium-webdriver from 4.1.12 to 4.1.13 by @dependabot in #135
- Bump jest-circus from 29.4.3 to 29.5.0 by @dependabot in #137
- Bump @types/node from 18.14.6 to 18.15.3 by @dependabot in #139
- build node_modules by @nanasess in #141
- Revert "build node_modules" by @nanasess in #142
- build node_modules by @nanasess in #143
- Apply git add -f by @nanasess in #144
- Use ncc by @nanasess in #148
- Bump @actions/io from 1.1.2 to 1.1.3 by @dependabot in #147
- Bump @types/node from 18.15.3 to 18.15.10 by @dependabot in #150
- Bump selenium-webdriver from 4.8.1 to 4.8.2 by @dependabot in #149
- Bump prettier from 2.8.4 to 2.8.7 by @dependabot in #151
- Bump @types/node from 18.15.3 to 18.15.11 by @dependabot in #152
- Bump version by @nanasess in #153
Full Changelog: v1.1.0...v2.0.0