selenium-4.29.0
Breaking Changes📦 seleniumView on GitHub →
⚠ 1 breaking✨ 14 features🐛 9 fixes🔧 22 symbols
Summary
This release adds several BiDi enhancements, improves page‑size handling, updates Grid UI, and introduces extensive nullability annotations, while removing Firefox CDP support which may require code changes.
⚠️ Breaking Changes
- Removal of Firefox CDP support across Java, JavaScript, Ruby, Python, and .NET may break code that relies on Firefox CDP APIs. Update code to use alternative mechanisms (e.g., BiDi) or remove CDP calls.
Migration Steps
- Remove or replace any usage of Firefox CDP APIs in Java, JavaScript, Ruby, Python, and .NET projects.
- If using BiDi `setCacheBehavior`, ensure the driver version supports the command.
- Update code that configures dead node service intervals to use the new configurable setting (Java).
- Adjust logging configuration to rely on Selenium logging options rather than Java logging defaults (Java).
- Review and update any code that depends on CDP deprecation warnings now suppressed when BiDi is enabled (Java).
✨ New Features
- Add Locale.ROOT to avoid port formatting issues for all drivers (Java).
- Implement BiDi `setCacheBehavior` command (Java, .NET).
- Add Bidi Network Response Handler (Ruby).
- Enhance PageSize class to support predefined and custom paper sizes (Java).
- Enhance PrintOptions to support default, predefined, and custom page sizes (Python, .NET).
- Add feature to go directly to a VNC session from Grid UI (Grid).
- Improve format of generated CDP types (dotnet).
- Simplify and modernize `DevToolsDomains.InitializeDomains` (dotnet).
- Allow UTF-16 tolerant string converter as a dictionary key (dotnet).
- Use JsonSerializerContext to make BiDi JSON handling AOT‑friendly (dotnet).
- Annotate nullability on many driver and option types (dotnet).
- Ensure purging dead nodes service interval is configurable (Java).
- Ensure Selenium logging options are respected when Java logging is configured (Java).
- Disable CDP deprecation warning when BiDi is enabled (Java).
🐛 Bug Fixes
- Grid UI could not open session live view (Grid).
- Fix installing most of the data from source distributions (Python).
- Fix webauth credential to allow nullable `rpID` (dotnet).
- Fix marionette host Firefox argument (dotnet).
- Optimize reflection in `JsonEnumMemberConverter` (dotnet).
- Align paket target framework with supported versions (dotnet).
- Disable strict timestamps in Firefox profile (Python).
- Improve BiDi exception when it is not enabled (dotnet).
- Address various build warnings (dotnet).
🔧 Affected Symbols
Locale.ROOTsetCacheBehaviorBidiNetworkResponseHandlerPageSizePrintOptionsDevToolsDomains.InitializeDomainsJsonEnumMemberConverterJsonSerializerContextDriverServiceChromiumOptionsDriverOptionsActionsNavigateSwitchToManageCommandFirefoxProfileNetworkInteractionsMoqpaketdead nodes service intervalFirefox CDP