unstale

npm / @wdio/cli

@wdio/cli

What changed in @wdio/cli 9 to 10, from its official release notes, upgrade guides and advisories. Also covers @wdio/local-runner, @wdio/mocha-framework. Sources checked 2026-10-18.

8 breaking3 new APIs and options2 performance1 tooling21 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

@wdio/cli 109 changes

Breaking changes 8

  • Appium 3 is required, and Appium 1/2 HTTP fallbacks are dropped.

    10.0.0release notes

  • Unprefixed capability specs and exclude are dropped; use the prefixed capability configuration instead.

    10.0.0release notes

  • The Cucumber framework upgrades @cucumber/cucumber to 13, which may require adapting existing framework usage.

    10.0.0release notes

  • Deprecated config globals and reporter APIs are removed, so configurations relying on them need updating.

    10.0.0release notes

  • Remaining JSON Wire Protocol leftovers are dropped; legacy protocol configuration and usage are no longer supported.

    10.0.0release notes

  • JSONWP Appium capabilities and the mobile getValue fallback are dropped.

    10.0.0release notes

  • Multiremote naming is aligned to multi-remote / multiRemote, requiring updates to older naming.

    10.0.0release notes

  • The minimum supported Node.js version is 22.19.0.

    10.0.0release notes

Performance 1

  • Testrunner hot paths were optimized, with gains measured in the mock benchmark.

    10.0.0release notes

@wdio/cli 926 changes

New APIs and options 3

  • Supports using CHROMEDRIVER_CDNURL to configure custom ChromeDriver mirrors.

    9.31.9release notes

  • BrowserStack service adds one-to-many Test-Case-ID tagging.

    9.29.1release notes

  • Allows --exclude to exclude suites by name.

    9.23.1release notes

Performance 1

  • Improves selector performance in the Appium service.

    9.24.0release notes

Tooling 1

Fixes and other changes 21

  • Signal-terminated workers now cause the CLI to report a non-zero exit code.

    9.32.0release notes

  • Fixes EdgeDriver upgrade accounting when the browser version is missing a corresponding driver architecture.

    9.31.9release notes

  • Restores nested and Shadow DOM scrolling in scrollIntoView.

    9.31.8release notes

  • The WebDriver Bidi response timeout is configurable, allowing developers to adjust the timeout.

    9.30.1release notes

  • BrowserStack routes App Automate sessions from the WDIO CLI flow to app-accessibility.

    9.30.0release notes

  • BrowserStack service skips accessibility scans for BiDi window and context commands.

    9.30.0release notes

  • BrowserStack service finalizes orphaned test runs when the process exits interrupted.

    9.30.0release notes

  • BrowserStack service now reports Mocha hooks in the CLI/testhub flow.

    9.30.0release notes

  • BiDi skips the isConnected check for non-shadow element scopes.

    9.29.1release notes

  • Fixes the logger’s CommonJS compliance, improving compatibility for developers using it from CommonJS code.

    9.28.0release notes

  • Fixes mobile command argument mismatches for Appium 3 compatibility.

    9.26.1release notes

  • Log file prefixes now include the spec file name.

    9.23.3release notes

  • Fixes handling of dynamic specs added in onPrepare.

    9.23.1release notes

  • Allows specFileRetries to be overridden in the beforeSession hook.

    9.23.1release notes

  • Fixes which files are watched by the watcher.

    9.23.1release notes

  • Fixes an issue that caused the CLI to load the config file twice.

    9.22.0release notes

  • Corrects the parallel multiremote check when capabilities are empty.

    9.22.0release notes

  • Fixes an issue with the timing of TSX file loading in the CLI.

    9.22.0release notes

  • The CLI now respects maxInstancesPerCapability for dynamic capabilities.

    9.21.0release notes

  • The tsConfigPath setting in wdio.conf was reverted.

    9.20.1release notes

  • Fixed wdio repl when run with multiremote capabilities.

    9.20.1release notes