# What changed in selenium-webdriver

> 17 changes in selenium-webdriver 3 from its official release notes, upgrade guides and advisories: 10 breaking, 2 new APIs and options. Each one cited. Sources checked 2026-10-23. HTML: https://unstale.sh/npm/selenium-webdriver/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## selenium-webdriver 3

### Breaking changes

- Removed because it was redundant with the new semantics of build(). (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)
- Firefox now requires geckodriver v0.11.0 or newer. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)
- The minimum supported Node version is now 6.9.0 LTS. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)
- This method was removed as part of reducing the Thenable API for compatibility with native promises. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)
- This method was removed as part of reducing the Thenable API for compatibility with native promises. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)
- This method was removed as part of reducing the Thenable API for compatibility with native promises. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)
- This API was removed. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)
- Support for the SafariDriver browser extension was removed and replaced by Apple's safaridriver, included with Safari 10. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)
- The Firefox module now uses geckodriver's moz:firefoxOptions dictionary for Firefox-specific configuration values. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)
- All WebDriver subclasses now overload the static createSession function instead of doing work in the constructor; constructors inherit the base class function signature. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)

### New APIs and options

- Set this environment variable to 0 to disable the promise manager. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)
- The testing module now supports tests defined using generator functions. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)

### Behavior and default changes

- Now returns a thenable WebDriver instance, allowing commands to be scheduled immediately or issued through standard promise callbacks. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)
- When communicating with a W3C-compliant remote end, uses the atoms library for this command. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)
- When communicating with a W3C-compliant remote end, uses the atoms library for this command. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)

### Fixes and other changes

- Fixed potential reference errors when users create a cycle with mocha by running with mocha's --hook flag. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)
- Uses the correct HTTP method for compatibility with the W3C spec. (3.0.0) — [release notes](https://github.com/SeleniumHQ/selenium/blob/HEAD/javascript/selenium-webdriver/CHANGES.md)
