selenium-4.32.0
Breaking Changes📦 seleniumView on GitHub →
⚠ 3 breaking✨ 24 features🐛 20 fixes⚡ 2 deprecations🔧 16 symbols
Summary
This Selenium release adds extensive BiDi support across languages, introduces new browser and network modules, and fixes numerous test and logging issues, while breaking .NET BiDi network interception and script error handling APIs.
⚠️ Breaking Changes
- dotnet BiDi network interception combine rules changed; update code to use the new combined interception API.
- dotnet BiDi CallFunction and Evaluate no longer throw on exceptional result; check the result status instead of catching exceptions.
- Python removed the logging API for non‑Chromium browsers; calls to driver.get_log for Firefox/Edge must be removed or guarded.
Migration Steps
- Update .NET BiDi code to use the new combined network interception API.
- Adjust .NET BiDi script calls to handle exceptional results without relying on exceptions; inspect the result's exception flag instead.
- Remove or guard calls to driver.get_log for non‑Chromium browsers in Python code.
- Migrate any old Python configuration usage to the new client_config property as indicated by deprecation messages.
✨ New Features
- Python BiDi network implementation of Intercepts and Auth.
- Python BiDi browser module implementation.
- Python BiDi browsing_context module implementation.
- Python BiDi session.status command added and encapsulated in Session class.
- Ruby PrintOptions implementation for WebDriver.
- Ruby added websocket‑port parameter to Firefox service.
- Java BiDi browsingContext event onNavigationCommitted added.
- Java BiDi network module Chrome tests added.
- Java added header while creating websocket.
- Dotnet BiDi added missing GenericLogEntry type in Script module.
- Dotnet BiDi added strongly‑typed LocalValue.ConvertFrom overloads.
- Dotnet BiDi reuse memory when receiving websocket messages.
- Dotnet Selenium Manager platform detection enhanced.
- Dotnet switched to file‑scoped namespace.
- Python use XWayland for internal Firefox tests.
- Python mock.patch for environment variables in tests.
- Python added autoflake linter and updated linting dependencies.
- Python added client_config property.
- Python added missing modules to API docs.
- Python added readthedocs publishing configuration.
- Python added support for skipping BiDi tests on unsupported browsers.
- Java set remote active protocol to BiDi for Firefox.
- Java enabled Edge BiDi tests for RemoteWebDriverBiDiTest.
- Java enabled Edge BiDi tests for network module.
🐛 Bug Fixes
- Fix test args for --headless and --bidi (Python).
- Only skip WebKit tests on Windows (Python).
- Fix broken test for chromedriver logging (Python).
- Fix test for w3c touch pointer properties (Python).
- Fix FedCM tests leaking state (Python).
- Fix PyTest configuration for WPEWebKit (Python).
- Fix failing test for Edge logging (Python).
- Fix select being able to select options hidden by CSS rules (Python).
- Fix Remote Firefox tests on Linux/Wayland (Python).
- Fix flaky WebDriverWait tests (Python).
- Fix driver service stop when starting browser fails (Python).
- Fix test for environment variable mocking using mock.patch (Python).
- Fix xfail marker adjustments for window size/position tests (Python).
- Fix service.stop call when session cannot be started (Python).
- Fix removal of broken logo from Sphinx generated API docs (Python).
- Fix ignored options when they are prefixed, Safari specific (Grid).
- Fix test for bidi command session.status encapsulation (Python).
- Fix missing modules in Python API docs (Python).
- Fix lint issues for print_options.rb (Ruby).
- Fix issue with selenium manager exit status being nil (Ruby).
🔧 Affected Symbols
Selenium.WebDriver.BiDi.NetworkInterceptorSelenium.WebDriver.BiDi.Script.CallFunctionSelenium.WebDriver.BiDi.Script.EvaluateSelenium.WebDriver.LoggingSelenium.WebDriver.PrintOptionsSelenium.WebDriver.BiDi.BrowsingContextSelenium.WebDriver.BiDi.SessionSelenium.WebDriver.BiDi.NetworkSelenium.WebDriver.BiDi.Script.GenericLogEntrySelenium.WebDriver.BiDi.LocalValueSelenium.WebDriver.BiDi.WebSocketSelenium.WebDriver.BiDi.BrowserSelenium.WebDriver.BiDi.BrowsingContext.OnNavigationCommittedSelenium.WebDriver.BiDi.Network.ChromeTestsSelenium.WebDriver.BiDi.Network.EdgeTestsSelenium.WebDriver.BiDi.ClientConfig⚡ Deprecations
- Python client_config property added and deprecation messages updated; old configuration methods are deprecated.
- Removal of unused xfail markers in Python tests indicates deprecation of those test markers.