Skip to content

breaking(webdriverio): remove legacy command signatures - #15712

Merged
christian-bromann merged 4 commits into
v10from
cb/v10-remove-legacy-signatures
Sep 26, 2026
Merged

christian-bromann merged 4 commits into
v10from
cb/v10-remove-legacy-signatures

Conversation

@christian-bromann

@christian-bromann christian-bromann commented Sep 25, 2026 •

Copy link
Copy Markdown
Member

Summary

Removes the v9 compatibility forms tracked in #15655. A boolean third argument to addCommand / overwriteCommand is now a TypeScript error and throws at runtime. getCookies only accepts an object filter, getHTML only accepts an options object, newWindow drops windowName / windowFeatures, and startActivity only accepts the options object.

Migration examples for each replacement are in the v9 to v10 guide. The mechanical rewrites are in webdriverio/codemod#140.

Test plan

  • Unit tests for addCommand, overwriteCommand, getCookies, getHTML, newWindow, startActivity, the protocol stub, and the monad
  • tests/typings/webdriverio rejects the removed signatures and accepts the options-object forms
  • @wdio/codemod v10 transform covers addCommand, overwriteCommand, getHTML(boolean), getCookies(string), and getCookie(string) (feat: add a v10 transform for legacy command signatures codemod#140)
  • Smoke (mochaTestrunner, multiremote) covers the updated custom-command calls

Fixes #15655

v10 only accepts the options-object forms of addCommand, overwriteCommand, getCookies, getHTML, newWindow, and startActivity.
@christian-bromann
christian-bromann requested a review from a team as a code owner September 25, 2026 23:17
@wdio-bot wdio-bot added the PR: Breaking Change 💥 PRs that contain breaking changes label Sep 25, 2026
@pkg-pr-new

pkg-pr-new Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

create-wdio

npm i https://pkg.pr.new/webdriverio/webdriverio/create-wdio@15712

eslint-plugin-wdio

npm i https://pkg.pr.new/webdriverio/webdriverio/eslint-plugin-wdio@15712

@wdio/allure-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/allure-reporter@15712

@wdio/appium-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/appium-service@15712

@wdio/browser-runner

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/browser-runner@15712

@wdio/cli

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/cli@15712

@wdio/concise-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/concise-reporter@15712

@wdio/config

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/config@15712

@wdio/cucumber-framework

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/cucumber-framework@15712

@wdio/display-server

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/display-server@15712

@wdio/dot-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/dot-reporter@15712

@wdio/firefox-profile-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/firefox-profile-service@15712

@wdio/globals

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/globals@15712

@wdio/jasmine-framework

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/jasmine-framework@15712

@wdio/json-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/json-reporter@15712

@wdio/junit-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/junit-reporter@15712

@wdio/lighthouse-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/lighthouse-service@15712

@wdio/local-runner

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/local-runner@15712

@wdio/logger

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/logger@15712

@wdio/mocha-framework

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/mocha-framework@15712

@wdio/protocols

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/protocols@15712

@wdio/repl

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/repl@15712

@wdio/reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/reporter@15712

@wdio/runner

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/runner@15712

@wdio/sauce-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/sauce-service@15712

@wdio/shared-store-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/shared-store-service@15712

@wdio/smoke-test-cjs-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/smoke-test-cjs-service@15712

@wdio/smoke-test-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/smoke-test-reporter@15712

@wdio/smoke-test-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/smoke-test-service@15712

@wdio/spec-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/spec-reporter@15712

@wdio/static-server-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/static-server-service@15712

@wdio/sumologic-reporter

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/sumologic-reporter@15712

@wdio/testingbot-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/testingbot-service@15712

@wdio/types

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/types@15712

@wdio/utils

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/utils@15712

@wdio/webdriver-mock-service

npm i https://pkg.pr.new/webdriverio/webdriverio/@wdio/webdriver-mock-service@15712

webdriver

npm i https://pkg.pr.new/webdriverio/webdriverio/webdriver@15712

webdriverio

npm i https://pkg.pr.new/webdriverio/webdriverio@15712

commit: 769c069

@github-actions

github-actions Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

📖 Docs preview for e7350a3: https://15712.preview.webdriver.io

@greptile-apps

greptile-apps Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

[High risk] Removes deprecated command signatures across the testing framework.

The PR appears safe to merge; no outstanding finding remains.

Fix All in CursorFindings

  1. P2 Missing Codemod Installation Prerequisite ▶
Summary

The PR removes legacy command signatures, updates types and runtime validation, and migrates tests and documentation to the supported options-object forms.

  • The migration guide now includes the previously missing codemod installation prerequisite.
  • A redirect sends the removed MJSONWP documentation URL to the Appium protocol page.

Reviews (3) · Last reviewed commit: "Merge branch 'v10' into cb/v10-remove-le..."

Comment thread packages/webdriverio/tests/commands/browser/newWindow.test.ts Outdated
Comment thread website/docs/v10Migration.md Outdated
Comment thread website/docs/v10Migration.md
TypeScript reports the removed newWindow options once, so the test keeps a single expect-error. The migration guide names getCookies and installs the codemod before running it.
@christian-bromann
christian-bromann merged commit 6801014 into v10 Sep 26, 2026
34 checks passed
@christian-bromann
christian-bromann deleted the cb/v10-remove-legacy-signatures branch September 26, 2026 02:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: Breaking Change 💥 PRs that contain breaking changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants