Selenium 4.30 Released!
Categories:
We’re very happy to announce the release of Selenium 4.30 for Javascript, Ruby, Python, .NET, Java and the Grid! This version brings key updates across the project, with improvements to the BiDi protocol, extensive nullability work in .NET, better error handling, and various bug fixes. It’s a great step forward as we continue strengthening Selenium’s stability, consistency, and support across all supported languages.
Links to all assets can be found on our downloads page.
🚀 Major Highlights
- Continued enhancements to BiDi (Bi-Directional Protocol) support across Java, Ruby, .NET, JavaScript, and Python.
- Extensive nullability annotations added throughout the .NET bindings.
- Selenium Manager (Rust) now supports nightly Grid builds.
- Improvements to testing infrastructure and developer experience, including better packaging, linting, and platform support.
- Numerous bug fixes and refactors across the Grid, bindings, and devtools.
🔹 Language-Specific Changes
Java
- Implemented BiDi commands:
getBidiSessionStatus
andPermissions
. - Refined logger initialization.
- Removed deprecated, non-W3C compliant
NetworkConnection
interface. - Added support for setting viewport and handling CDP warnings gracefully.
Python
- Improved devtools test handling and documentation.
- Fixed packaging issues and test discovery for
pytest
. - Added docstring updates for clarity and modernization.
- Replaced strings with
By
class attributes. - Improved socket resource management and error handling.
- Updated
expected_conditions
type annotations.
JavaScript
- Fixed BiDi tests for Chrome and Firefox on CI.
- Implemented BiDi
permissions
module commands.
Ruby
- Fixed a compatibility issue with Ruby 3.1 (“no anonymous block parameter”).
- Added BiDi support for:
- Setting viewport
- Activating browser context
- Providing responses
- Added a
target_type
parameter to devtools.
.NET
- Enabled nullable reference types across many components.
- Trimmed away CDP for AOT applications.
- Enhanced BiDi support including:
SetFiles
command- Support for
UnhandledPromptBehavior
- Event support like
OnNavigationCommitted
- Encapsulation of the transport layer
- Improved
WebDriver
,WebElement
, and capabilities types with nullability. - Introduced
SystemClock
singleton. - Revisited and fixed test execution on Windows/macOS.
- Removed obsoleted members for 4.30.
Grid & Selenium Manager
- Added trace logging for session stop events in Grid.
- Improved configuration options for server timeouts and session handling.
- Added support in Selenium Manager (Rust) for nightly Grid builds.
- Enhanced ability to trace and view live sessions.
Docker Selenium
- Helm config: Node Relay to extend autoscaling Grid with test cloud resources (#2703).
- Docker: Disable HeapDumpOnOutOfMemoryError by default (#2708)
- See all changes
We thank all our contributors for their incredible efforts in making Selenium better with every release. ❤️
For a detailed look at all changes, check out the release notes.
Contributors
Special shout-out to everyone who helped the Selenium Team get this release out!
Selenium
Swastik Baranwal
Adam Halbrock
Robin
Jolyon Pawlyn
Navin Chandra
Romain Tartière
Pallavi
Adam Halbrock
Selenium Docs & Website
Swastik Baranwal
Wasiq Bhamla
ian zhang
Ujjwal Kumar Singh
Pallavi
Docker Selenium
Viet Nguyen Duc
Selenium Team Members
Thanks as well to all the team members who contributed to this release:
Augustin Gottlieb
David Burns
Boni García
Corey Goldberg
Diego Molina
Sri Harsha
Nikolay Borisenko
Alex Rodionov
Puja Jagani
Michael Render
Simon Benzer
Simon Stewart
Titus Fortner
Viet Nguyen Duc
Stay tuned for updates by following SeleniumHQ on:
Happy automating!