webdriverio
- 10.0.2 is the latest, published 8 October 2026.
- No known security advisory.
- 10.x: 3 releases since 5 October 2026, 15 in the last 90 days.
Releases in the last 90 days
Feed of releases and advisoriesEvery stable release, newest first. Notes are quoted as the maintainers published them.
10.0.2
8 October 2026Wdio-protocols, webdriver, webdriverio
:eyeglasses: Spec Compliancy
wdio-protocols,webdriver,webdriveriofix(webdriver): regenerate BiDi types for the script.EvaluationResult rename (@plum117)
:rocket: New Feature
wdio-session,wdio-snapshotfeat(snapshot): tag repeated controls with their row context (@Winify)
wdio-ai-service,wdio-session,wdio-snapshotfeat(snapshot): prepare @wdio/snapshot and session packages for MCP integration (@Winify)
create-wdio,wdio-session,wdio-snapshotfeat(snapshot): @wdio/snapshot POC implementation (@Winify)
:bug: Bug Fix
create-wdio,wdio-session,wdio-snapshotfix(@wdio/session): keep agents on the UI path and fail fast (@Winify)
webdriveriofix(webdriverio): find custom strategy, matcher and argument elements again (@dprevost-LMI)
fix(webdriverio): preserve strict option and index in hasElementId (@sh011)
wdio-jasmine-frameworkfix(@wdio/jasmine-framework): add expect.multiRemote() to the Jasmine expect (@dprevost-LMI)
fix(@wdio/jasmine-framework): support expect.extend() for custom matchers (@devangpratap)
wdio-globals,wdio-jasmine-frameworkfix(@wdio/jasmine-framework): keep expect-webdriverio's expect types and type expectAsync matchers (@dprevost-LMI)
Committers: 5
David Prevost (@dprevost-LMI)
David Prévost (@plum117)
Shrey Shekhar (@sh011)
Vince Graics (@Winify)
10.0.1
7 October 2026Create-wdio
:rocket: New Feature
create-wdiofeat(create-wdio): offer the devtools service in the wizard (@vishnuv688)
wdio-sauce-service,wdio-spec-reporter,wdio-types,webdriveriofeat: support the Sauce Labs asia-south-2 data center (@bahrimootaz)
:bug: Bug Fix
webdriverioFix/emulate device unsupported bidi 15938 (@mccmrunal)
Other
fix(website): fix and align the mobile navbar menu (@christian-bromann)
Committers: 5
Christian Bromann (@christian-bromann)
David Prevost (@dprevost-LMI)
MRUNAL CHAUDHARI (@mccmrunal)
Vishnu Vardhan (@vishnuv688)
10.0.0
5 October 2026Webdriverio
:eyeglasses: Spec Compliancy
webdriveriofix(webdriverio): follow the WebDriver spec for elements of other browsing contexts (@christian-bromann)
:boom: Breaking Change
- breaking
webdriveriofeat(webdriverio): React 18 & 19 support for react$ / react$$ with a built-in resq replacement (@dprevost-LMI)
breaking(webdriverio): return a MultiRemoteMock from multiremote mock() (@christian-bromann)
breaking(webdriverio): drop ignored startActivity legacy options (@christian-bromann)
breaking(webdriverio): remove deprecated throttle and touchAction commands (@devangpratap)
breaking(webdriverio): stabilise multiremote select() and drop its env flag (@PloneMraz)
breaking(webdriverio): return a MultiRemoteElementArray from multiremote $$ (@PloneMraz)
- breaking
wdio-session,wdio-types,wdio-utils,webdriver,webdriveriofeat(webdriverio): hold a browsing context for a tab, a window, and a frame (@christian-bromann)
- breaking
wdio-session,webdriveriofeat: drive browser.emulate() from the BiDi emulation module (@christian-bromann)
- breaking
wdio-browser-runner,wdio-session,webdriveriofeat: replace browser.uploadFile with element.setFiles (@christian-bromann)
- breaking
wdio-protocols,webdriveriobreaking: reinstate modified Appium screen recording endpoints (@eglitise)
breaking(webdriverio): remove executeAsync and hide switchToFrame (@christian-bromann)
- breaking
eslint-plugin-wdiobreaking(eslint-plugin-wdio): require ESLint 10 and fix TypeScript mode (@dprevost-LMI)
- breaking
wdio-jasmine-frameworkbreaking(@wdio/jasmine-framework): keep Jasmine sync matchers synchronous (@dprevost-LMI)
- breaking
eslint-plugin-wdio,wdio-browser-runner,wdio-globals,wdio-jasmine-framework,wdio-local-runner,wdio-runner,wdio-sessionbreaking: upgrade expect-webdriverio to 8.0.0-alpha.0 (@dprevost-LMI)
- breaking
wdio-appium-service,wdio-cli,wdio-concise-reporter,wdio-protocols,wdio-reporter,wdio-sauce-service,wdio-spec-reporter,wdio-utils,webdriver,webdriveriobreaking: drop remaining JSON Wire Protocol leftovers (@christian-bromann)
- breaking
eslint-plugin-wdio,wdio-cli,wdio-globals,wdio-jasmine-framework,wdio-runner,wdio-types,webdriverioV10/remove deprecated config globals reporter apis 15656 (@JustasMonkev)
- breaking
wdio-browser-runner,wdio-cli,wdio-display-server,wdio-jasmine-framework,wdio-local-runner,wdio-reporter,wdio-shared-store-service,wdio-utils,webdriver,webdriveriobreaking(browser-runner): upgrade Vitest 3 to 5 (@dprevost-LMI)
- breaking
eslint-plugin-wdio,wdio-allure-reporter,wdio-appium-service,wdio-cli,wdio-config,wdio-display-server,wdio-firefox-profile-service,wdio-globals,wdio-junit-reporter,wdio-lighthouse-service,wdio-local-runner,wdio-reporter,wdio-runner,wdio-sauce-service,wdio-shared-store-service,wdio-spec-reporter,wdio-testingbot-service,wdio-types,wdio-utils,wdio-webdriver-mock-service,webdriveriobreaking: v10 Align dropped multiremote naming for multi-remote / multiRemote (@dprevost-LMI)
- breaking
wdio-utils,webdriveriobreaking(webdriverio): drop the JSONWP element id (@christian-bromann)
- breaking
wdio-runner,wdio-utils,webdriver,webdriveriobreaking: treat every session as W3C (@christian-bromann)
- breaking
wdio-runner,webdriveriobreaking(webdriverio): look up multiremote instances with getInstance (@christian-bromann)
breaking(@wdio/runner): remove the LegacyCustomStubCommand and setupExpect shims (@PloneMraz)
- breaking
wdio-allure-reporter,wdio-reporter,wdio-runner,wdio-utils,webdriveriobreaking: drop four v10 compatibility leftovers (@christian-bromann)
- breaking
wdio-clibreaking(wdio-cli): drop unprefixed capability specs and exclude (@christian-bromann)
- breaking
wdio-cli,wdio-jasmine-framework,wdio-utilsbreaking(jasmine): pass spec results explicitly and drop legacy options (@christian-bromann)
- breaking
wdio-cli,wdio-utils,webdriveriobreaking: drop JSONWP Appium caps and the mobile getValue fallback (@christian-bromann)
- breaking
wdio-lighthouse-service,wdio-runner,wdio-utils,webdriveriobreaking(webdriverio): remove legacy command signatures (@christian-bromann)
- breaking
create-wdio,wdio-appium-service,wdio-browser-runner,wdio-protocols,wdio-types,wdio-webdriver-mock-service,webdriver,webdriveriobreaking: require Appium 3 and drop Appium 1/2 HTTP fallbacks (@christian-bromann)
- breaking
create-wdio,eslint-plugin-wdio,wdio-allure-reporter,wdio-appium-service,wdio-browser-runner,wdio-cli,wdio-concise-reporter,wdio-config,wdio-cucumber-framework,wdio-display-server,wdio-dot-reporter,wdio-firefox-profile-service,wdio-globals,wdio-jasmine-framework,wdio-json-reporter,wdio-junit-reporter,wdio-lighthouse-service,wdio-local-runner,wdio-logger,wdio-mocha-framework,wdio-protocols,wdio-repl,wdio-reporter,wdio-runner,wdio-sauce-service,wdio-shared-store-service,wdio-smoke-test-cjs-service,wdio-smoke-test-reporter,wdio-smoke-test-service,wdio-spec-reporter,wdio-static-server-service,wdio-sumologic-reporter,wdio-testingbot-service,wdio-utils,wdio-webdriver-mock-service,webdriver,webdriveriobreaking: upgrade remaining majors unlocked by Node 22.19 (@christian-bromann)
- breaking
wdio-display-server,wdio-local-runner,wdio-types,wdio-xvfbfeat: native headless Wayland (weston) support (@goosewobbler)
- breaking
eslint-plugin-wdio,wdio-browser-runner,wdio-cli,wdio-globals,wdio-jasmine-framework,wdio-local-runner,wdio-mocha-framework,wdio-runnerbreaking(@wdio/mocha-framework): upgrade Mocha from 10 to 12 (@christian-bromann)
- breaking
wdio-browser-runner,wdio-config,wdio-runner,wdio-types,webdriveriobreaking(webdriverio): make
$strict and throw on multiple matches (@mccmrunal)
- breaking
create-wdio,eslint-plugin-wdio,wdio-allure-reporter,wdio-appium-service,wdio-browser-runner,wdio-cli,wdio-concise-reporter,wdio-config,wdio-cucumber-framework,wdio-dot-reporter,wdio-firefox-profile-service,wdio-globals,wdio-jasmine-framework,wdio-json-reporter,wdio-junit-reporter,wdio-local-runner,wdio-logger,wdio-mocha-framework,wdio-protocols,wdio-repl,wdio-reporter,wdio-runner,wdio-sauce-service,wdio-shared-store-service,wdio-smoke-test-cjs-service,wdio-smoke-test-reporter,wdio-smoke-test-service,wdio-spec-reporter,wdio-static-server-service,wdio-sumologic-reporter,wdio-testingbot-service,wdio-types,wdio-utils,wdio-webdriver-mock-service,wdio-xvfb,webdriver,webdriveriobreaking: require Node.js >=22.19.0 (@christian-bromann)
9.32.0
20 September 2026Wdio-cli, wdio-runner, wdio-types, wdio-utils
:rocket: New Feature
wdio-cli,wdio-runner,wdio-types,wdio-utilsfeat(profiling): add support for cpu and heap profiling (@mccmrunal)
webdriveriofeat(webdriverio): add acceptDialog and dismissDialog for mobile permission dialogs (@christian-bromann)
create-wdiofeat(create-wdio): add Dioxus service to the project creation wizard and docs (@goosewobbler)
:bug: Bug Fix
webdriveriofix(webdriverio): make addLocatorStrategy work on multi-remote browsers (@nikolas-sapa)
fix(webdriverio): keep a valid top-level context on switchToParentFrame (@PloneMraz)
fix(webdriverio): release the session-manager registration on removeListeners (@PloneMraz)
fix: resolve mock state error and race condition (#15072) (@mccmrunal)
fix(webdriverio): correctly use navigation ID for networkIdle wait (@mccmrunal)
fix(webdriverio): avoid retaining closed browser instances (@ML642)
fix(webdriverio): let switchToParentFrame recover a destroyed context (@PloneMraz)
fix(webdriverio): use BiDi accessibility locator for aria selectors (@christian-bromann)
fix(webdriverio): re-throw original stale element error when refetch fails (@nikolas-sapa)
fix(webdriverio): apply throttleNetwork conditions to service workers (@nikolas-sapa)
fix(webdriverio): handle dynamic function payloads in mock.respond (@christian-bromann)
fix(webdriverio): honor getHTML exclusion options (@lucasmariano003-wq)
fix(webdriverio): recover owning window after nested frame destruction (@lucasmariano003-wq)
fix(webdriverio): allow URLPattern as browser.mock url (@Yash121l)
fix(webdriverio): retain detached-first shadow hosts (@lucasmariano003-wq)
Other
fix(webdriverio): preserve original stale-element error when refetch fails (Closes #15550) (@nikolas-sapa)
fix(wdio-protocols): map getActiveElement return type to ElementRefer… (@mccmrunal)
wdio-junit-reporterfix(junit-reporter): uniquely associate Jasmine filename-only suites (@christian-bromann)
wdio-sumologic-reporterfix(sumo-reporter):sumologic reporter bounded retries (@ML642)
wdio-utilsfix(wdio-utils): settle some and every on all-hole arrays (@devangpratap)
fix(utils): clean up incomplete driver cache dir before retrying install (@nikolas-sapa)
fix(wdio-utils): preserve sparse array length in async map (@ML642)
fix(utils): encode custom plugin file URLs (@ML642)
wdio-browser-runnerfix(mock-factory): correct original module type (@ML642)
wdio-allure-reporter,wdio-utilsfix(wdio-allure-reporter): stabilize Allure historyId across browser versions (@christian-bromann)
create-wdiofix(create-wdio): generate tsconfig without overwriting or breaking root extends (@christian-bromann)
webdriverfix(webdriver): enable followRedirects for BiDi connections (@christian-bromann)
wdio-lighthouse-service,wdio-runner,webdriverioAdd undefined to getInstance as possible return type (@la122)
wdio-allure-reporterfix(allure-reporter): classify AssertionError by error name property (@mcwanza)
fix(wdio-allure-reporter): write results incrementally instead of only at runner end (@devangpratap)
wdio-cli,wdio-local-runner,wdio-typesfix(@wdio/local-runner): report a non-zero exit code for signal terminated workers (@nikolas-sapa)
9.31.9
13 September 2026Wdio-utils
:rocket: New Feature
wdio-utilsfeat(@wdio/utils): support CHROMEDRIVER_CDNURL for custom driver mirrors (@mccmrunal)
:bug: Bug Fix
wdio-utilsfix: Upgrade EdgeDriver accounting browser's version missing corresponding driver architecture (@dprevost-LMI)
Committers: 2
David Prevost (@dprevost-LMI)
MRUNAL CHAUDHARI (@mccmrunal)
9.31.8
12 September 2026Webdriverio
:bug: Bug Fix
webdriveriofix(webdriverio): restore nested/Shadow DOM scrolling in scrollIntoView (@mccmrunal)
Committers: 2
MRUNAL CHAUDHARI (@mccmrunal)
Martsin Lazouski (@ML642)
9.31.7
7 September 2026Wdio-utils, webdriverio
:rocket: New Feature
wdio-utils,webdriveriofeat: Move select into BETA with env flag still (@dprevost-LMI)
Committers: 1
David Prevost (@dprevost-LMI)
9.31.6
6 September 2026Create-wdio
:rocket: New Feature
create-wdioThird party service null-driver (@ccharnkij)
:bug: Bug Fix
wdio-sumologic-reporterfix(sumologic-reporter): retry after failed sync (@Fnine59)
wdio-utilsfix(wdio-utils): track dialog listener lifecycle (@Fnine59)
webdriveriofix(webdriverio): clear shadow roots when navigation starts (@iamhaseebn)
fix(webdriverio):reject invalid timeout values (@ML642)
wdio-configfix(wdio-config): apply keyword exclude to grouped specs (@harsha509)
webdriverfix(webdriver): keep new driver PID after reloadSession (@harsha509)
:nail_care: Polish
wdio-utilsfix(wdio-utils): track dialog listener lifecycle (@Fnine59)
Committers: 8
Chanatan Charnkijtawarush (@ccharnkij)
David Prevost (@dprevost-LMI)
Fnine59 (@Fnine59)
Haseeb Nazir (@iamhaseebn)
Kauan Barbosa (@Kauanldsbarbosa)
Martsin Lazouski (@ML642)
Sri Harsha (@harsha509)
Vishnu Vardhan (@vishnuv688)
9.31.5
29 August 2026Wdio-utils, webdriverio
:rocket: New Feature
wdio-utils,webdriveriofeat: UNSTABLE Review Multi-remote
selectimplementations and remove filter (@dprevost-LMI)
:bug: Bug Fix
wdio-utils,webdriveriofeat: UNSTABLE Review Multi-remote
selectimplementations and remove filter (@dprevost-LMI)
webdriverio
Committers: 3
David Prevost (@dprevost-LMI)
Fnine59 (@Fnine59)
Martsin Lazouski (@ML642)
9.31.4
27 August 2026Webdriverio
:rocket: New Feature
webdriveriofeat: Beta ElementArray under feature flag for
multiRemote.$$()e.g. MultiRemoteElement[] (@dprevost-LMI)
wdio-allure-reporterfeat(wdio-allure-reporter): add support for global errors and global attachments (@todti)
:bug: Bug Fix
webdriveriofix(webdriverio): track document element per context (@Badisi)
webdriverfix(webdriver): serialize IPv6 BiDi WebSocket candidates correctly (@ML642)
Committers: 5
Alex (@todti)
David Prevost (@dprevost-LMI)
Martsin Lazouski (@ML642)
Show 5 earlier releases
9.31.3
25 August 2026Eslint-plugin-wdio, wdio-browser-runner, wdio-globals, wdio-jasmine-framework, wdio-local-runner, wdio-runner, wdio-webdriver-mock-service
:bug: Bug Fix
eslint-plugin-wdio,wdio-browser-runner,wdio-globals,wdio-jasmine-framework,wdio-local-runner,wdio-runner,wdio-webdriver-mock-servicefix: typing for
expect-wdio/api(@dprevost-LMI)
wdio-local-runner,wdio-runnerfix(@wdio/local-runner): retry spec files when session creation fails (@lorenaskosinskas)
Committers: 6
Christian Bromann (@christian-bromann)
David Burns (@AutomatedTester)
David Prevost (@dprevost-LMI)
Jan Molak (@jan-molak)
Lorenas (@lorenaskosinskas)
Vishnu Vardhan (@vishnuv688)
9.31.2
21 August 2026Wdio-types, wdio-utils, webdriverio
:rocket: New Feature
wdio-types,wdio-utils,webdriveriofeat: UNSTABLE Enhance multi-remote instance/element support with
select&filter(@dprevost-LMI)
wdio-allure-reporterAdd title path (@formaceft-93)
:bug: Bug Fix
webdriveriofix(webdriverio): record matching mock responses even when not blocked (@Badisi)
wdio-configfix: add .cts to supported file extensions (@mauriciolauffer)
:nail_care: Polish
create-wdiofix(create-wdio): install @serenity-js/html-reporter instead of @senity-js/serenity-bdd (@jan-molak)
Committers: 5
David Prevost (@dprevost-LMI)
Dmitrii (@formaceft-93)
Jan Molak (@jan-molak)
Mauricio Lauffer (@mauriciolauffer)
9.31.1
18 August 2026No updates!
No updates!
9.30.1
3 August 2026Wdio-browser-runner, wdio-types, webdriver
:bug: Bug Fix
wdio-browser-runner,wdio-types,webdriverfix(webdriver): make WebDriver Bidi response timeout configurable (@mccmrunal)
webdriverfix(webdriver): guard Object.keys call on stringified request body (@mnaoumov)
Other
Fix/deps security overrides (@mccmrunal)
Fix/deps security overrides (@mccmrunal)
wdio-junit-reporterfix(wdio-junit-reporter): report scenarios as testcases with cucumber Opts.scenarioLevelReporter (@mccmrunal)
eslint-plugin-wdiofix: Update es-lint-plugin globals peer deps (@dprevost-LMI)
Committers: 7
Christian Bromann (@christian-bromann)
David Burns (@AutomatedTester)
David Prevost (@dprevost-LMI)
MRUNAL CHAUDHARI (@mccmrunal)
Michael Naumov (@mnaoumov)
Mykyta Chursin (@unickq)
Vishnu Vardhan (@vishnuv688)
9.30.0
21 July 2026Wdio-protocols, webdriver
:eyeglasses: Spec Compliancy
wdio-protocols,webdriverfix: update CDDL and regenerate to fix null litteral (@dprevost-LMI)
:bug: Bug Fix
webdriveriofix(webdriverio): stop unrelated shadow roots leaking into scoped element lookups (@mccmrunal)
wdio-browser-runner,wdio-utilsfix(deps): bump geckodriver to 6.1.1 to fix geckoDriverVersion CLI leak (@mccmrunal)
wdio-allure-reporterPR: Bug Fix 🐛fix(allure-reporter): attach suite-level before/after all hook steps to every test (@mccmrunal)
wdio-browserstack-servicefix(browserstack-service): report mocha hooks in the CLI/testhub flow [SDK-6809] (@pranay-v29)
fix(browserstack-service): coerce stringified boolean accessibility options (@xxshubhamxx)
fix(browserstack-service): finalize orphaned test runs on interrupted exit (SDK-4671) (@xxshubhamxx)
fix(a11y): route WDIO CLI-flow App Automate sessions to app-accessibility (SDK-3813) (@xxshubhamxx)
fix(browserstack-service): skip a11y scan for BiDi window/context commands (SDK-5047) (@xxshubhamxx)
fix(wdio-browserstack-service): ship a11y Browser type augmentations (@harshit-browserstack)
wdio-protocols,webdriverfix: update CDDL and regenerate to fix null litteral (@dprevost-LMI)
Committers: 6
David Prevost (@dprevost-LMI)
MRUNAL CHAUDHARI (@mccmrunal)
Pranay Varma (@pranay-v29)
Shubham Garg (@xxshubhamxx)
Wim Selles (@wswebcreation)
Major versions
- 10.xsince 5 October 2026 · latest 10.0.2 · 3 releases
- 9.xsince 15 August 2024 · latest 9.32.0 · 107 releases
- 8.xsince 1 December 2022 · latest 8.46.0 · 181 releases
- 7.xsince 9 February 2021 · latest 7.40.0 · 123 releases
- 6.xsince 26 March 2020 · latest 6.12.1 · 78 releases
- 5.xsince 21 December 2018 · latest 5.23.0 · 139 releases
- 4.xsince 3 February 2016 · latest 4.14.4 · 65 releases
- 3.xsince 29 June 2015 · latest 3.4.0 · 16 releases
- 2.xsince 11 August 2014 · latest 2.4.5 · 16 releases
Quality and security signals
What npm and deps.dev say about the latest release. Signals, not a verdict.
Reading npm and deps.dev…
Registry facts last checked 16 October 2026. Releases and advisories last read 16 October 2026.
Know when your own dependencies move
Inlinr tracks your coding time automatically. Switch dependency tracking on for a project and it reads that repository's manifest to show what is behind and what has been deprecated — off by default, one project at a time.