# webdriverio: what changed from 8 to 9 - Product: webdriverio (https://whatsnew.fyi/product/webdriverio) - Vendor: webdriverio - Range: changelog entries numbered after v8.48.3 up to and including v9.31.5, stable releases only - Entries below: 14 releases (newest first) - Resolved: 8 is v8.48.3 and 9 is v9.31.5, the newest stable release of each major we track - Carrying security changes: 1 · CVEs mentioned: 0 · Mentioning breaking changes: 0 · Removing or deprecating something: 1 - Page: https://whatsnew.fyi/product/webdriverio/compare/8...9 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## What changed (66 changes, grouped by kind) ### Added #### v9.31.5 (2026-08-29) - Review Multi-remote select implementations and remove filter #### v9.31.4 (2026-08-27) - Beta ElementArray under feature flag for multiRemote.$$() returning MultiRemoteElement[] - Support for global errors and global attachments in wdio-allure-reporter #### v9.31.2 (2026-08-21) - Enhance multi-remote instance/element support with select & filter methods - Add title path to wdio-allure-reporter #### v9.31.0 (2026-08-18) - Support multi-element $$() in Expect - Support TypeScript files in CLI REPL #### v9.29.1 (2026-06-26) - Support one-to-many Test-Case-ID tagging in browserstack-service #### v9.27.2 (2026-05-26) - Migrate create-wdio to @wdio/electron-service and add Tauri service #### v9.27.1 (2026-04-30) - Add bidi network data ### Changed #### v9.31.2 (2026-08-21) - Install @serenity-js/html-reporter instead of @senity-js/serenity-bdd in create-wdio #### v9.29.0 (2026-06-18) - Improve wdio-browserstack-service reloadsession finished metadata handling #### v9.27.2 (2026-05-26) - Honor the skipped status in wdio-browserstack-service and wdio-types - Omit unset accessibility config in browserstack-service - Update gRPC message limit in WDIO-v9 to 20 MB #### v9.27.1 (2026-04-30) - Redact username and accesskey in BrowserStack service ### Fixed #### v9.31.5 (2026-08-29) - Handle BiDi no such node errors as stale - Require all classic cookie filter attributes #### v9.31.4 (2026-08-27) - Track document element per context in webdriverio - Serialize IPv6 BiDi WebSocket candidates correctly in webdriver #### v9.31.3 (2026-08-25) - Fix typing for expect-wdio/api - Retry spec files when session creation fails in wdio-local-runner #### v9.31.2 (2026-08-21) - Record matching mock responses even when not blocked - Add .cts to supported file extensions in wdio-config #### v9.31.0 (2026-08-18) - Keep an undefined element that passes filter in wdio-utils - Respect WEBDRIVER_CACHE_DIR during driver setup - Retry requests aborted by connectionRetryTimeout - Reset current context when browsing context is destroyed - Scroll by deltaX/deltaY in scrollIntoView wheel action - Guard ShadowRootManager preload script against partial-Bidi remotes - Compose element command overrides - Don't collapse Windows paths to drive letter in Allure reporter toPackageLabel #### v9.30.1 (2026-08-03) - Make WebDriver Bidi response timeout configurable - Guard Object.keys call on stringified request body in webdriver - Report scenarios as testcases with cucumber Opts.scenarioLevelReporter in wdio-junit-reporter - Update es-lint-plugin globals peer dependencies - Pin fast-xml-parser to 5.2.5 on the AWS SDK path to fix docs deploy #### v9.30.0 (2026-07-21) - Update CDDL and regenerate to fix null literal - Stop unrelated shadow roots leaking into scoped element lookups - Bump geckodriver to 6.1.1 to fix geckoDriverVersion CLI leak - Attach suite-level before/after all hook steps to every test in allure-reporter - Report mocha hooks in the CLI/testhub flow for browserstack-service - Coerce stringified boolean accessibility options in browserstack-service - Finalize orphaned test runs on interrupted exit in browserstack-service - Route WDIO CLI-flow App Automate sessions to app-accessibility - Skip a11y scan for BiDi window/context commands in browserstack-service - Ship a11y Browser type augmentations in wdio-browserstack-service - Patch minimatch instances missed by prior override - Upgrade yauzl to 3.4, fixing node hanging zipping issues #### v9.29.1 (2026-06-26) - Skip isConnected check for non-shadow element scope in BiDi #### v9.29.0 (2026-06-18) - Make `waitForResponse` wait for networkCollector's response - Use supported EdgeDriver CDN in wdio-utils #### v9.28.0 (2026-06-10) - Logger not CommonJS compliant #### v9.27.2 (2026-05-26) - Resolve etxtbsy issue (file busy error) at spawn in wdio-browserstack-service #### v9.27.1 (2026-04-30) - Fix cddl generation - Skip desktop browser download when androidPackage is set - Call afterSession hook on session init failure and guard worker IPC against kill race - Prevent shadow root memory leak in SPA navigation - Fix shadow element stale - Fix Allure reporter historyId to use capability key instead of cid - Fix disableElementImplicitWait not working when defined too early #### v9.27.0 (2026-03-23) - Fix startup failure in appium-service caused by Appium stderr log output - Fix TypeScript 7 compatibility in wdio-globals - Revert queryAppState protocol rename and remove mobile command wrapper ### Removed #### v9.30.1 (2026-08-03) - Remove @wdio/browserstack-service from this repository ### Security #### v9.30.0 (2026-07-21) - Fixed vulnerabilities _One release carries no categorized changes yet: v9.31.1._ ## Release notes ### v9.31.5 - Date: 2026-08-29 - Version: v9.31.5 - Original notes: https://github.com/webdriverio/webdriverio/releases/tag/v9.31.5 - Permalink: https://whatsnew.fyi/product/webdriverio/releases/v9.31.5 - **added** — Review Multi-remote select implementations and remove filter - **fixed** — Handle BiDi no such node errors as stale - **fixed** — Require all classic cookie filter attributes ##### v9.31.5 (2026-08-29) ###### :rocket: New Feature * `wdio-utils`, `webdriverio` * [#15538](https://github.com/webdriverio/webdriverio/pull/15538) feat: UNSTABLE Review Multi-remote `select` implementations and remove filter ([@dprevost-LMI](https://github.com/dprevost-LMI)) ###### :bug: Bug Fix * `wdio-utils`, `webdriverio` * [#15538](https://github.com/webdriverio/webdriverio/pull/15538) feat: UNSTABLE Review Multi-remote `select` implementations and remove filter ([@dprevost-LMI](https://github.com/dprevost-LMI)) * `webdriverio` * [#15535](https://github.com/webdriverio/webdriverio/pull/15535) fix(webdriverio): handle BiDi no such node errors as stale ([@Fnine59](https://github.com/Fnine59)) * [#15537](https://github.com/webdriverio/webdriverio/pull/15537) fix(webdriverio): require all classic cookie filter attributes ([@ML642](https://github.com/ML642)) ###### :memo: Documentation * `wdio-protocols`, `webdriverio` * [#15536](https://github.com/webdriverio/webdriverio/pull/15536) Docs/actions api guidance ([@ML642](https://github.com/ML642)) ###### Committers: 3 - David Prevost ([@dprevost-LMI](https://github.com/dprevost-LMI)) - Fnine59 ([@Fnine59](https://github.com/Fnine59)) - Martsin Lazouski ([@ML642](https://github.com/ML642)) ### v9.31.4 - Date: 2026-08-27 - Version: v9.31.4 - Original notes: https://github.com/webdriverio/webdriverio/releases/tag/v9.31.4 - Permalink: https://whatsnew.fyi/product/webdriverio/releases/v9.31.4 - **added** — Beta ElementArray under feature flag for multiRemote.$$() returning MultiRemoteElement[] - **added** — Support for global errors and global attachments in wdio-allure-reporter - **fixed** — Track document element per context in webdriverio - **fixed** — Serialize IPv6 BiDi WebSocket candidates correctly in webdriver ##### v9.31.4 (2026-08-27) ###### :rocket: New Feature * `webdriverio` * [#15532](https://github.com/webdriverio/webdriverio/pull/15532) feat: Beta ElementArray under feature flag for `multiRemote.$$()` e.g. MultiRemoteElement[] ([@dprevost-LMI](https://github.com/dprevost-LMI)) * `wdio-allure-reporter` * [#15278](https://github.com/webdriverio/webdriverio/pull/15278) feat(wdio-allure-reporter): add support for global errors and global attachments ([@todti](https://github.com/todti)) ###### :bug: Bug Fix * `webdriverio` * [#15478](https://github.com/webdriverio/webdriverio/pull/15478) fix(webdriverio): track document element per context ([@Badisi](https://github.com/Badisi)) * `webdriver` * [#15516](https://github.com/webdriverio/webdriverio/pull/15516) fix(webdriver): serialize IPv6 BiDi WebSocket candidates correctly ([@ML642](https://github.com/ML642)) ###### :memo: Documentation * `webdriverio` * [#15531](https://github.com/webdriverio/webdriverio/pull/15531) docs(webdriverio): document the $$ async iterator methods ([@devangpratap](https://github.com/devangpratap)) ###### Committers: 5 - Alex ([@todti](https://github.com/todti)) - David Prevost ([@dprevost-LMI](https://github.com/dprevost-LMI)) - Martsin Lazouski ([@ML642](https://github.com/ML642)) - [@Badisi](https://github.com/Badisi) - [@devangpratap](https://github.com/devangpratap) ### v9.31.3 - Date: 2026-08-25 - Version: v9.31.3 - Original notes: https://github.com/webdriverio/webdriverio/releases/tag/v9.31.3 - Permalink: https://whatsnew.fyi/product/webdriverio/releases/v9.31.3 - **fixed** — Fix typing for expect-wdio/api - **fixed** — Retry spec files when session creation fails in wdio-local-runner ##### v9.31.3 (2026-08-25) ###### :bug: Bug Fix * `eslint-plugin-wdio`, `wdio-browser-runner`, `wdio-globals`, `wdio-jasmine-framework`, `wdio-local-runner`, `wdio-runner`, `wdio-webdriver-mock-service` * [#15518](https://github.com/webdriverio/webdriverio/pull/15518) fix: typing for `expect-wdio/api` ([@dprevost-LMI](https://github.com/dprevost-LMI)) * `wdio-local-runner`, `wdio-runner` * [#15513](https://github.com/webdriverio/webdriverio/pull/15513) fix(@wdio/local-runner): retry spec files when session creation fails ([@lorenaskosinskas](https://github.com/lorenaskosinskas)) ###### :memo: Documentation * Other * [#15524](https://github.com/webdriverio/webdriverio/pull/15524) docs(website): added Serenity/JS HTML Reporter ([@jan-molak](https://github.com/jan-molak)) * [#15526](https://github.com/webdriverio/webdriverio/pull/15526) docs(devtools): document the Python adapter as language tabs on the S… ([@vishnuv688](https://github.com/vishnuv688)) * [#15520](https://github.com/webdriverio/webdriverio/pull/15520) doc: A11y doc update ([@vishnuv688](https://github.com/vishnuv688)) * `webdriverio` * [#15510](https://github.com/webdriverio/webdriverio/pull/15510) docs(sponsor): add Momentic as Premium sponsor ([@christian-bromann](https://github.com/christian-bromann)) ###### :house: Internal * [#15517](https://github.com/webdriverio/webdriverio/pull/15517) fix(docs): unbreak non-English docs builds after flowchart component removal ([@AutomatedTester](https://github.com/AutomatedTester)) ###### Committers: 6 - Christian Bromann ([@christian-bromann](https://github.com/christian-bromann)) - David Burns ([@AutomatedTester](https://github.com/AutomatedTester)) - David Prevost ([@dprevost-LMI](https://github.com/dprevost-LMI)) - Jan Molak ([@jan-molak](https://github.com/jan-molak)) - Lorenas ([@lorenaskosinskas](https://github.com/lorenaskosinskas)) - Vishnu Vardhan ([@vishnuv688](https://github.com/vishnuv688)) ### v9.31.2 - Date: 2026-08-21 - Version: v9.31.2 - Original notes: https://github.com/webdriverio/webdriverio/releases/tag/v9.31.2 - Permalink: https://whatsnew.fyi/product/webdriverio/releases/v9.31.2 - **added** — Enhance multi-remote instance/element support with select & filter methods - **added** — Add title path to wdio-allure-reporter - **fixed** — Record matching mock responses even when not blocked - **fixed** — Add .cts to supported file extensions in wdio-config - **changed** — Install @serenity-js/html-reporter instead of @senity-js/serenity-bdd in create-wdio ##### v9.31.2 (2026-08-21) ###### :rocket: New Feature * `wdio-types`, `wdio-utils`, `webdriverio` * [#15459](https://github.com/webdriverio/webdriverio/pull/15459) feat: UNSTABLE Enhance multi-remote instance/element support with `select` & `filter` ([@dprevost-LMI](https://github.com/dprevost-LMI)) * `wdio-allure-reporter` * [#15514](https://github.com/webdriverio/webdriverio/pull/15514) Add title path ([@formaceft-93](https://github.com/formaceft-93)) ###### :bug: Bug Fix * `webdriverio` * [#15479](https://github.com/webdriverio/webdriverio/pull/15479) fix(webdriverio): record matching mock responses even when not blocked ([@Badisi](https://github.com/Badisi)) * `wdio-config` * [#15511](https://github.com/webdriverio/webdriverio/pull/15511) fix: add .cts to supported file extensions ([@mauriciolauffer](https://github.com/mauriciolauffer)) ###### :nail_care: Polish * `create-wdio` * [#15515](https://github.com/webdriverio/webdriverio/pull/15515) fix(create-wdio): install @serenity-js/html-reporter instead of @senity-js/serenity-bdd ([@jan-molak](https://github.com/jan-molak)) ###### Committers: 5 - David Prevost ([@dprevost-LMI](https://github.com/dprevost-LMI)) - Dmitrii ([@formaceft-93](https://github.com/formaceft-93)) - Jan Molak ([@jan-molak](https://github.com/jan-molak)) - Mauricio Lauffer ([@mauriciolauffer](https://github.com/mauriciolauffer)) - [@Badisi](https://github.com/Badisi) ### v9.31.1 - Date: 2026-08-18 - Version: v9.31.1 - Original notes: https://github.com/webdriverio/webdriverio/releases/tag/v9.31.1 - Permalink: https://whatsnew.fyi/product/webdriverio/releases/v9.31.1 No updates! ### v9.31.0 - Date: 2026-08-18 - Version: v9.31.0 - Original notes: https://github.com/webdriverio/webdriverio/releases/tag/v9.31.0 - Permalink: https://whatsnew.fyi/product/webdriverio/releases/v9.31.0 - **added** — Support multi-element $$() in Expect - **fixed** — Keep an undefined element that passes filter in wdio-utils - **fixed** — Respect WEBDRIVER_CACHE_DIR during driver setup - **fixed** — Retry requests aborted by connectionRetryTimeout - **added** — Support TypeScript files in CLI REPL - **fixed** — Reset current context when browsing context is destroyed - **fixed** — Scroll by deltaX/deltaY in scrollIntoView wheel action - **fixed** — Guard ShadowRootManager preload script against partial-Bidi remotes - **fixed** — Compose element command overrides - **fixed** — Don't collapse Windows paths to drive letter in Allure reporter toPackageLabel #### ⚠️ Partially failed release. Please use [v9.31.1](https://github.com/webdriverio/webdriverio/releases/tag/v9.31.1) instead. ##### v9.31.0 (2026-08-18) ###### :rocket: New Feature * `eslint-plugin-wdio`, `wdio-browser-runner`, `wdio-globals`, `wdio-jasmine-framework`, `wdio-local-runner`, `wdio-runner` * [#15471](https://github.com/webdriverio/webdriverio/pull/15471) feat: Expect's multi-element `$$()` support ([@dprevost-LMI](https://github.com/dprevost-LMI)) ###### :bug: Bug Fix * `wdio-utils` * [#15480](https://github.com/webdriverio/webdriverio/pull/15480) fix(@wdio/utils): keep an undefined element that passes filter ([@luantaraschi](https://github.com/luantaraschi)) * `wdio-utils`, `webdriver` * [#15488](https://github.com/webdriverio/webdriverio/pull/15488) fix: respect WEBDRIVER_CACHE_DIR during driver setup ([@shixi-li](https://github.com/shixi-li)) * `webdriver` * [#15504](https://github.com/webdriverio/webdriverio/pull/15504) fix(webdriver): retry requests aborted by connectionRetryTimeout ([@birtles](https://github.com/birtles)) * `wdio-cli` * [#15474](https://github.com/webdriverio/webdriverio/pull/15474) feat(cli/repl): support TS files ([@Delta456](https://github.com/Delta456)) * `wdio-browser-runner`, `webdriverio` * [#15468](https://github.com/webdriverio/webdriverio/pull/15468) chore(pnpm): fix failing pnpm tests ([@Delta456](https://github.com/Delta456)) * `webdriverio` * [#15477](https://github.com/webdriverio/webdriverio/pull/15477) fix(webdriverio): reset current context when browsing context is destroyed ([@Badisi](https://github.com/Badisi)) * [#15473](https://github.com/webdriverio/webdriverio/pull/15473) fix(webdriverio): scroll by deltaX/deltaY in scrollIntoView wheel action ([@wswebcreation](https://github.com/wswebcreation)) * [#15350](https://github.com/webdriverio/webdriverio/pull/15350) fix(webdriverio): guard ShadowRootManager preload script against partial-Bidi remotes ([@navin772](https://github.com/navin772)) * `wdio-utils`, `webdriverio` * [#15493](https://github.com/webdriverio/webdriverio/pull/15493) fix(wdio-utils): compose element command overrides ([@KuznetsovRoman](https://github.com/KuznetsovRoman)) * `wdio-allure-reporter` * [#15502](https://github.com/webdriverio/webdriverio/pull/15502) fix(allure-reporter): don't collapse Windows paths to drive letter in toPackageLabel ([@mccmrunal](https://github.com/mccmrunal)) * Other * [#15463](https://github.com/webdriverio/webdriverio/pull/15463) Fix/win pnpm spawn enoent ([@mccmrunal](https://github.com/mccmrunal)) ###### :memo: Documentation * Other * [#15492](https://github.com/webdriverio/webdriverio/pull/15492) docs(website): publish a machine-readable surface and un-hide the flowcharts ([@AutomatedTester](https://github.com/AutomatedTester)) * [#15489](https://github.com/webdriverio/webdriverio/pull/15489) doc: A11y documentation update ([@vishnuv688](https://github.com/vishnuv688)) * `webdriverio` * [#15490](https://github.com/webdriverio/webdriverio/pull/15490) docs: make generated API command pages machine-readable ([@AutomatedTester](https://github.com/AutomatedTester)) * [#15491](https://github.com/webdriverio/webdriverio/pull/15491) docs: fix API doc generator output for machine extraction ([@AutomatedTester](https://github.com/AutomatedTester)) * `wdio-appium-service` * [#15501](https://github.com/webdriverio/webdriverio/pull/15501) docs(appium-service): document appiumStartTimeout option ([@wswebcreation](https://github.com/wswebcreation)) ###### :house: Internal * [#15503](https://github.com/webdriverio/webdriverio/pull/15503) ci: Force `'no-sandbox'` on macOS fixing `Failed to create a session` for Chromiun ([@dprevost-LMI](https://github.com/dprevost-LMI)) * [#15484](https://github.com/webdriverio/webdriverio/pull/15484) ci: fix alpine e2e issue by freezing pnpm to 10 ([@dprevost-LMI](https://github.com/dprevost-LMI)) * [#15463](https://git _[Truncated at 4000 characters — full notes: https://github.com/webdriverio/webdriverio/releases/tag/v9.31.0]_ ### v9.30.1 - Date: 2026-08-03 - Version: v9.30.1 - Original notes: https://github.com/webdriverio/webdriverio/releases/tag/v9.30.1 - Permalink: https://whatsnew.fyi/product/webdriverio/releases/v9.30.1 - **fixed** — Make WebDriver Bidi response timeout configurable - **fixed** — Guard Object.keys call on stringified request body in webdriver - **fixed** — Report scenarios as testcases with cucumber Opts.scenarioLevelReporter in wdio-junit-reporter - **fixed** — Update es-lint-plugin globals peer dependencies - **fixed** — Pin fast-xml-parser to 5.2.5 on the AWS SDK path to fix docs deploy - **removed** — Remove @wdio/browserstack-service from this repository ##### v9.30.1 (2026-08-03) ###### :bug: Bug Fix * `wdio-browser-runner`, `wdio-types`, `webdriver` * [#15461](https://github.com/webdriverio/webdriverio/pull/15461) fix(webdriver): make WebDriver Bidi response timeout configurable ([@mccmrunal](https://github.com/mccmrunal)) * `webdriver` * [#15221](https://github.com/webdriverio/webdriverio/pull/15221) fix(webdriver): guard Object.keys call on stringified request body ([@mnaoumov](https://github.com/mnaoumov)) * Other * [#15455](https://github.com/webdriverio/webdriverio/pull/15455) Fix/deps security overrides ([@mccmrunal](https://github.com/mccmrunal)) * [#15453](https://github.com/webdriverio/webdriverio/pull/15453) Fix/deps security overrides ([@mccmrunal](https://github.com/mccmrunal)) * `wdio-junit-reporter` * [#15452](https://github.com/webdriverio/webdriverio/pull/15452) fix(wdio-junit-reporter): report scenarios as testcases with cucumber Opts.scenarioLevelReporter ([@mccmrunal](https://github.com/mccmrunal)) * `eslint-plugin-wdio` * [#15441](https://github.com/webdriverio/webdriverio/pull/15441) fix: Update es-lint-plugin globals peer deps ([@dprevost-LMI](https://github.com/dprevost-LMI)) ###### :memo: Documentation * [#15369](https://github.com/webdriverio/webdriverio/pull/15369) Added trace player devtools doc for webpage ([@vishnuv688](https://github.com/vishnuv688)) ###### :house: Internal * Other * [#15448](https://github.com/webdriverio/webdriverio/pull/15448) chore(deps): bump preact from 10.26.9 to 10.29.8 ([@dependabot[bot]](https://github.com/apps/dependabot)) * [#15447](https://github.com/webdriverio/webdriverio/pull/15447) chore(deps): bump minimatch from 10.1.1 to 10.2.5 ([@dependabot[bot]](https://github.com/apps/dependabot)) * [#15451](https://github.com/webdriverio/webdriverio/pull/15451) fix(deps): pin fast-xml-parser to 5.2.5 on the AWS SDK path to fix docs deploy ([@AutomatedTester](https://github.com/AutomatedTester)) * `wdio-browserstack-service` * [#15404](https://github.com/webdriverio/webdriverio/pull/15404) chore(@wdio/browserstack-service): remove service from this repository ([@christian-bromann](https://github.com/christian-bromann)) ###### Committers: 7 - Christian Bromann ([@christian-bromann](https://github.com/christian-bromann)) - David Burns ([@AutomatedTester](https://github.com/AutomatedTester)) - David Prevost ([@dprevost-LMI](https://github.com/dprevost-LMI)) - MRUNAL CHAUDHARI ([@mccmrunal](https://github.com/mccmrunal)) - Michael Naumov ([@mnaoumov](https://github.com/mnaoumov)) - Mykyta Chursin ([@unickq](https://github.com/unickq)) - Vishnu Vardhan ([@vishnuv688](https://github.com/vishnuv688)) ### v9.30.0 - Date: 2026-07-21 - Version: v9.30.0 - Original notes: https://github.com/webdriverio/webdriverio/releases/tag/v9.30.0 - Permalink: https://whatsnew.fyi/product/webdriverio/releases/v9.30.0 - **fixed** — Update CDDL and regenerate to fix null literal - **fixed** — Stop unrelated shadow roots leaking into scoped element lookups - **fixed** — Bump geckodriver to 6.1.1 to fix geckoDriverVersion CLI leak - **fixed** — Attach suite-level before/after all hook steps to every test in allure-reporter - **fixed** — Report mocha hooks in the CLI/testhub flow for browserstack-service - **fixed** — Coerce stringified boolean accessibility options in browserstack-service - **fixed** — Finalize orphaned test runs on interrupted exit in browserstack-service - **fixed** — Route WDIO CLI-flow App Automate sessions to app-accessibility - **fixed** — Skip a11y scan for BiDi window/context commands in browserstack-service - **fixed** — Ship a11y Browser type augmentations in wdio-browserstack-service - **fixed** — Patch minimatch instances missed by prior override - **security** — Fixed vulnerabilities - **fixed** — Upgrade yauzl to 3.4, fixing node hanging zipping issues ##### v9.30.0 (2026-07-21) ###### :eyeglasses: Spec Compliancy * `wdio-protocols`, `webdriver` * [#15370](https://github.com/webdriverio/webdriverio/pull/15370) fix: update CDDL and regenerate to fix null litteral ([@dprevost-LMI](https://github.com/dprevost-LMI)) ###### :bug: Bug Fix * `webdriverio` * [#15400](https://github.com/webdriverio/webdriverio/pull/15400) fix(webdriverio): stop unrelated shadow roots leaking into scoped element lookups ([@mccmrunal](https://github.com/mccmrunal)) * `wdio-browser-runner`, `wdio-utils` * [#15399](https://github.com/webdriverio/webdriverio/pull/15399) fix(deps): bump geckodriver to 6.1.1 to fix geckoDriverVersion CLI leak ([@mccmrunal](https://github.com/mccmrunal)) * `wdio-allure-reporter` * [#15390](https://github.com/webdriverio/webdriverio/pull/15390) PR: Bug Fix 🐛fix(allure-reporter): attach suite-level before/after all hook steps to every test ([@mccmrunal](https://github.com/mccmrunal)) * `wdio-browserstack-service` * [#15376](https://github.com/webdriverio/webdriverio/pull/15376) fix(browserstack-service): report mocha hooks in the CLI/testhub flow [SDK-6809] ([@pranay-v29](https://github.com/pranay-v29)) * [#15381](https://github.com/webdriverio/webdriverio/pull/15381) fix(browserstack-service): coerce stringified boolean accessibility options ([@xxshubhamxx](https://github.com/xxshubhamxx)) * [#15382](https://github.com/webdriverio/webdriverio/pull/15382) fix(browserstack-service): finalize orphaned test runs on interrupted exit (SDK-4671) ([@xxshubhamxx](https://github.com/xxshubhamxx)) * [#15383](https://github.com/webdriverio/webdriverio/pull/15383) fix(a11y): route WDIO CLI-flow App Automate sessions to app-accessibility (SDK-3813) ([@xxshubhamxx](https://github.com/xxshubhamxx)) * [#15380](https://github.com/webdriverio/webdriverio/pull/15380) fix(browserstack-service): skip a11y scan for BiDi window/context commands (SDK-5047) ([@xxshubhamxx](https://github.com/xxshubhamxx)) * [#15379](https://github.com/webdriverio/webdriverio/pull/15379) fix(wdio-browserstack-service): ship a11y Browser type augmentations ([@harshit-browserstack](https://github.com/harshit-browserstack)) * `wdio-protocols`, `webdriver` * [#15370](https://github.com/webdriverio/webdriverio/pull/15370) fix: update CDDL and regenerate to fix null litteral ([@dprevost-LMI](https://github.com/dprevost-LMI)) ###### :house: Internal * `wdio-config` * [#15398](https://github.com/webdriverio/webdriverio/pull/15398) fix(deps): patch minimatch instances missed by prior override ([@mccmrunal](https://github.com/mccmrunal)) * Other * [#15396](https://github.com/webdriverio/webdriverio/pull/15396) Mrunal/vulnerabilities fixes ([@mccmrunal](https://github.com/mccmrunal)) * `wdio-browserstack-service`, `webdriver` * [#15393](https://github.com/webdriverio/webdriverio/pull/15393) chore: Fixed vulnerabilities ([@mccmrunal](https://github.com/mccmrunal)) * [#15358](https://github.com/webdriverio/webdriverio/pull/15358) fix: Upgrade yauzl to 3.4, fixing node hanging zipping issues ###### Committers: 6 - David Prevost ([@dprevost-LMI](https://github.com/dprevost-LMI)) - MRUNAL CHAUDHARI ([@mccmrunal](https://github.com/mccmrunal)) - Pranay Varma ([@pranay-v29](https://github.com/pranay-v29)) - Shubham Garg ([@xxshubhamxx](https://github.com/xxshubhamxx)) - Wim Selles ([@wswebcreation](https://github.com/wswebcreation)) - [@harshit-browserstack](https://github.com/harshit-browserstack) ### v9.29.1 - Date: 2026-06-26 - Version: v9.29.1 - Original notes: https://github.com/webdriverio/webdriverio/releases/tag/v9.29.1 - Permalink: https://whatsnew.fyi/product/webdriverio/releases/v9.29.1 - **added** — Support one-to-many Test-Case-ID tagging in browserstack-service - **fixed** — Skip isConnected check for non-shadow element scope in BiDi ##### v9.29.1 (2026-06-26) ###### :rocket: New Feature * `wdio-browserstack-service` * [#15335](https://github.com/webdriverio/webdriverio/pull/15335) feat(browserstack-service): one-to-many Test-Case-ID tagging (setCust… ([@anish353](https://github.com/anish353)) ###### :bug: Bug Fix * `wdio-logger` * [#15354](https://github.com/webdriverio/webdriverio/pull/15354) fix: Force logger build by adjusting security doc on pattern masking ([@dprevost-LMI](https://github.com/dprevost-LMI)) * `webdriverio` * [#15353](https://github.com/webdriverio/webdriverio/pull/15353) fix(webdriverio): skip isConnected check for non-shadow element scope in BiDi ([@mccmrunal](https://github.com/mccmrunal)) ###### :memo: Documentation * `wdio-logger` * [#15354](https://github.com/webdriverio/webdriverio/pull/15354) fix: Force logger build by adjusting security doc on pattern masking ([@dprevost-LMI](https://github.com/dprevost-LMI)) * Other * [#15341](https://github.com/webdriverio/webdriverio/pull/15341) docs(tracing): Add blog post for Tracing Mode in `devtools` service ([@Winify](https://github.com/Winify)) ###### Committers: 5 - Anish Kumar Sinha ([@anish353](https://github.com/anish353)) - David Prevost ([@dprevost-LMI](https://github.com/dprevost-LMI)) - MRUNAL CHAUDHARI ([@mccmrunal](https://github.com/mccmrunal)) - Shubham Garg ([@xxshubhamxx](https://github.com/xxshubhamxx)) - Vince Graics ([@Winify](https://github.com/Winify)) ### v9.29.0 - Date: 2026-06-18 - Version: v9.29.0 - Original notes: https://github.com/webdriverio/webdriverio/releases/tag/v9.29.0 - Permalink: https://whatsnew.fyi/product/webdriverio/releases/v9.29.0 - **fixed** — Make `waitForResponse` wait for networkCollector's response - **fixed** — Use supported EdgeDriver CDN in wdio-utils - **changed** — Improve wdio-browserstack-service reloadsession finished metadata handling ##### v9.29.0 (2026-06-18) ###### :bug: Bug Fix * `webdriverio` * [#15293](https://github.com/webdriverio/webdriverio/pull/15293) fix: make `waitForResponse` wait for networkCollector's response ([@dprevost-LMI](https://github.com/dprevost-LMI)) * `wdio-utils` * [#15305](https://github.com/webdriverio/webdriverio/pull/15305) fix(wdio-utils): use supported EdgeDriver CDN ([@cyphercodes](https://github.com/cyphercodes)) ###### :nail_care: Polish * `wdio-browserstack-service` * [#15316](https://github.com/webdriverio/webdriverio/pull/15316) Fix/wdio reloadsession finishedmetadata ([@shivamku-BS](https://github.com/shivamku-BS)) ###### :house: Internal * [#15320](https://github.com/webdriverio/webdriverio/pull/15320) ci: fix ubuntu e2e failures ([@dprevost-LMI](https://github.com/dprevost-LMI)) ###### Committers: 6 - David Prevost ([@dprevost-LMI](https://github.com/dprevost-LMI)) - MRUNAL CHAUDHARI ([@mccmrunal](https://github.com/mccmrunal)) - Rayan Salhab ([@cyphercodes](https://github.com/cyphercodes)) - Shivam Kumar ([@shivamku-BS](https://github.com/shivamku-BS)) - Vince Graics ([@Winify](https://github.com/Winify)) - Vishnu Vardhan ([@vishnuv688](https://github.com/vishnuv688)) ### v9.28.0 - Date: 2026-06-10 - Version: v9.28.0 - Original notes: https://github.com/webdriverio/webdriverio/releases/tag/v9.28.0 - Permalink: https://whatsnew.fyi/product/webdriverio/releases/v9.28.0 - **fixed** — Logger not CommonJS compliant ##### v9.28.0 (2026-06-10) ###### :bug: Bug Fix * [#15291](https://github.com/webdriverio/webdriverio/pull/15291) fix: logger not cjs compliant ([@dprevost-LMI](https://github.com/dprevost-LMI)) ###### :house: Internal * Other * [#15292](https://github.com/webdriverio/webdriverio/pull/15292) ci: Fix unzip hangs issue with node 24.16 ([@dprevost-LMI](https://github.com/dprevost-LMI)) * `wdio-browserstack-service`, `wdio-protocols`, `webdriver` * [#15283](https://github.com/webdriverio/webdriverio/pull/15283) fix: main pipeline failures & browserStack `config.accessibility` & more ([@dprevost-LMI](https://github.com/dprevost-LMI)) ###### Committers: 9 - Aakash Hotchandani ([@AakashHotchandani](https://github.com/AakashHotchandani)) - David Prevost ([@dprevost-LMI](https://github.com/dprevost-LMI)) - JinHyuk Sung ([@sjh9714](https://github.com/sjh9714)) - Kamalpreet Kaur ([@kamal-kaur04](https://github.com/kamal-kaur04)) - MRUNAL CHAUDHARI ([@mccmrunal](https://github.com/mccmrunal)) - Noritaka Kobayashi ([@noritaka1166](https://github.com/noritaka1166)) - Vishnu Vardhan ([@vishnuv688](https://github.com/vishnuv688)) - Wim Selles ([@wswebcreation](https://github.com/wswebcreation)) - [@harshit-browserstack](https://github.com/harshit-browserstack) ### v9.27.2 - Date: 2026-05-26 - Version: v9.27.2 - Original notes: https://github.com/webdriverio/webdriverio/releases/tag/v9.27.2 - Permalink: https://whatsnew.fyi/product/webdriverio/releases/v9.27.2 - **added** — Migrate create-wdio to @wdio/electron-service and add Tauri service - **fixed** — Resolve etxtbsy issue (file busy error) at spawn in wdio-browserstack-service - **changed** — Honor the skipped status in wdio-browserstack-service and wdio-types - **changed** — Omit unset accessibility config in browserstack-service - **changed** — Update gRPC message limit in WDIO-v9 to 20 MB ##### v9.27.2 (2026-05-26) ###### :rocket: New Feature * `create-wdio`, `wdio-xvfb` * [#15235](https://github.com/webdriverio/webdriverio/pull/15235) feat(create-wdio): migrate to @wdio/electron-service and add Tauri service ([@goosewobbler](https://github.com/goosewobbler)) ###### :bug: Bug Fix * `wdio-browserstack-service` * [#15246](https://github.com/webdriverio/webdriverio/pull/15246) fix: resolve etxtbsy issue(file busy error) at spawn ([@shivamku-BS](https://github.com/shivamku-BS)) ###### :nail_care: Polish * `wdio-browserstack-service`, `wdio-types` * [#15232](https://github.com/webdriverio/webdriverio/pull/15232) Honouring the skipped status ([@Bhargavi-BS](https://github.com/Bhargavi-BS)) * `wdio-browserstack-service` * [#15215](https://github.com/webdriverio/webdriverio/pull/15215) fix(browserstack-service): omit unset accessibility config ([@kbrooks](https://github.com/kbrooks)) * [#15201](https://github.com/webdriverio/webdriverio/pull/15201) Update gRPC message limit in WDIO-v9 to 20 MB ([@xxshubhamxx](https://github.com/xxshubhamxx)) ###### :memo: Documentation * [#15255](https://github.com/webdriverio/webdriverio/pull/15255) Selenium devtools doc ([@vishnuv688](https://github.com/vishnuv688)) ###### Committers: 11 - Christian Bromann ([@christian-bromann](https://github.com/christian-bromann)) - Kamalpreet Kaur ([@kamal-kaur04](https://github.com/kamal-kaur04)) - Kyle Brooks ([@kbrooks](https://github.com/kbrooks)) - MRUNAL CHAUDHARI ([@mccmrunal](https://github.com/mccmrunal)) - Shivam Kumar ([@shivamku-BS](https://github.com/shivamku-BS)) - Shubham Garg ([@xxshubhamxx](https://github.com/xxshubhamxx)) - Vishnu Vardhan ([@vishnuv688](https://github.com/vishnuv688)) - Wim Selles ([@wswebcreation](https://github.com/wswebcreation)) - YASH JAIN ([@osho-20](https://github.com/osho-20)) - [@goosewobbler](https://github.com/goosewobbler) - bhargavi vaidya ([@Bhargavi-BS](https://github.com/Bhargavi-BS)) ### v9.27.1 - Date: 2026-04-30 - Version: v9.27.1 - Original notes: https://github.com/webdriverio/webdriverio/releases/tag/v9.27.1 - Permalink: https://whatsnew.fyi/product/webdriverio/releases/v9.27.1 - **added** — Add bidi network data - **fixed** — Fix cddl generation - **fixed** — Skip desktop browser download when androidPackage is set - **fixed** — Call afterSession hook on session init failure and guard worker IPC against kill race - **fixed** — Prevent shadow root memory leak in SPA navigation - **fixed** — Fix shadow element stale - **fixed** — Fix Allure reporter historyId to use capability key instead of cid - **fixed** — Fix disableElementImplicitWait not working when defined too early - **changed** — Redact username and accesskey in BrowserStack service ##### v9.27.1 (2026-04-30) ###### :eyeglasses: Spec Compliancy * `wdio-protocols`, `wdio-types`, `webdriver`, `webdriverio` * [#15158](https://github.com/webdriverio/webdriverio/pull/15158) fix: cddl generation ([@dprevost-LMI](https://github.com/dprevost-LMI)) ###### :rocket: New Feature * `wdio-protocols`, `wdio-types`, `webdriverio` * [#15153](https://github.com/webdriverio/webdriverio/pull/15153) feat: Add bidi network data ([@dprevost-LMI](https://github.com/dprevost-LMI)) ###### :bug: Bug Fix * `wdio-types`, `wdio-utils` * [#15204](https://github.com/webdriverio/webdriverio/pull/15204) fix(utils): skip desktop browser download when androidPackage is set ([@mccmrunal](https://github.com/mccmrunal)) * `wdio-local-runner`, `wdio-runner` * [#15193](https://github.com/webdriverio/webdriverio/pull/15193) fix: call afterSession hook on session init failure and guard worker IPC against kill race ([@mccmrunal](https://github.com/mccmrunal)) * `webdriverio` * [#15192](https://github.com/webdriverio/webdriverio/pull/15192) enhancement: prevent shadow root memory leak in SPA navigation ([@lacell75](https://github.com/lacell75)) * [#15191](https://github.com/webdriverio/webdriverio/pull/15191) fix shadow element stale ([@lacell75](https://github.com/lacell75)) * `wdio-allure-reporter` * [#15112](https://github.com/webdriverio/webdriverio/pull/15112) Fix Allure reporter historyId — use capability key instead of cid ([@todti](https://github.com/todti)) * `wdio-protocols`, `wdio-types`, `webdriverio` * [#15153](https://github.com/webdriverio/webdriverio/pull/15153) feat: Add bidi network data ([@dprevost-LMI](https://github.com/dprevost-LMI)) * `wdio-runner` * [#15186](https://github.com/webdriverio/webdriverio/pull/15186) fix: `disableElementImplicitWait` not working when defined too early ([@dprevost-LMI](https://github.com/dprevost-LMI)) * `wdio-protocols`, `wdio-types`, `webdriver`, `webdriverio` * [#15158](https://github.com/webdriverio/webdriverio/pull/15158) fix: cddl generation ([@dprevost-LMI](https://github.com/dprevost-LMI)) ###### :nail_care: Polish * `wdio-browserstack-service` * [#15206](https://github.com/webdriverio/webdriverio/pull/15206) V9 username accesskey redaction ([@minavkaria-bs](https://github.com/minavkaria-bs)) * `wdio-protocols`, `wdio-types`, `webdriver`, `webdriverio` * [#15158](https://github.com/webdriverio/webdriverio/pull/15158) fix: cddl generation ([@dprevost-LMI](https://github.com/dprevost-LMI)) ###### :memo: Documentation * `wdio-protocols`, `wdio-types`, `webdriver`, `webdriverio` * [#15158](https://github.com/webdriverio/webdriverio/pull/15158) fix: cddl generation ([@dprevost-LMI](https://github.com/dprevost-LMI)) ###### :house: Internal * `wdio-protocols`, `wdio-types`, `webdriver`, `webdriverio` * [#15158](https://github.com/webdriverio/webdriverio/pull/15158) fix: cddl generation ([@dprevost-LMI](https://github.com/dprevost-LMI)) * `webdriverio` * [#15173](https://github.com/webdriverio/webdriverio/pull/15173) ci: enable vitest typecheck tests ([@dprevost-LMI](https://github.com/dprevost-LMI)) ###### Committers: 9 - #QualityWithMillan ([@eaccmk](https://github.com/eaccmk)) - Alex ([@todti](https://github.com/todti)) - David Prevost ([@dprevost-LMI](https://github.com/dprevost-LMI)) - Fabien CELLIER ([@lacell75](https://github.com/lacell75)) - MRUNAL CHAUDHARI ([@mccmrunal](https://github.com/mccmrunal)) - Vishnu Vardhan ([@vishnuv688](https://github.com/vishnuv688)) - YASH JAIN ([@osho-20](https://github.com/osho-20)) - [@Badisi](https://github.com/Badisi) - [@minavkaria-bs](https://github.com/minavkaria-bs) ### v9.27.0 - Date: 2026-03-23 - Version: v9.27.0 - Original notes: https://github.com/webdriverio/webdriverio/releases/tag/v9.27.0 - Permalink: https://whatsnew.fyi/product/webdriverio/releases/v9.27.0 - **fixed** — Fix startup failure in appium-service caused by Appium stderr log output - **fixed** — Fix TypeScript 7 compatibility in wdio-globals - **fixed** — Revert queryAppState protocol rename and remove mobile command wrapper ##### v9.27.0 (2026-03-23) ###### :bug: Bug Fix * `wdio-appium-service` * [#15155](https://github.com/webdriverio/webdriverio/pull/15155) fix(appium-service): fix startup failure caused by Appium stderr log output ([@wswebcreation](https://github.com/wswebcreation)) * `wdio-globals` * [#15135](https://github.com/webdriverio/webdriverio/pull/15135) fix: TypeScript 7 compatibility ([@mscrivo](https://github.com/mscrivo)) * `wdio-protocols`, `webdriverio` * [#15159](https://github.com/webdriverio/webdriverio/pull/15159) fix(webdriverio): revert queryAppState protocol rename and remove mobile command wrapper ([@wswebcreation](https://github.com/wswebcreation)) ###### Committers: 2 - Michael Scrivo ([@mscrivo](https://github.com/mscrivo)) - Wim Selles ([@wswebcreation](https://github.com/wswebcreation))