Selenium 4.42 Released!
Categories:
We’re excited to announce the release of Selenium 4.42 for JavaScript, Ruby, Python, .NET, Java and the Grid! 🎉
Links to all assets can be found on our downloads page.
Selenium 4.42 Released
✨ Highlights
- [.NET] A large BiDi consistency pass: unified event arguments, exposed BiDi functionality via interfaces, thread-safe event registration and processing, and commands/events that allocate close to nothing.
- [Java] Implemented the BiDi
speculationmodule, continued JSpecify nullability coverage (chromium, browsers, grid, devtools, docker packages), and fixed severalKeys/ScriptKeycorrectness issues. - [Grid] Hardened the WebSocket router: a transparent TCP tunnel bypass path, handling for dropped close frames and idle disconnects, and a new
NodeCommandInterceptorfor pluggable command interception via--ext. - [Python] Expanded BiDi test coverage and added type stubs for lazily imported classes.
- [JavaScript] Added a
Colorclass to the JavaScript library. - [Build] Bumped to Bazel 9.
📦 Notable Changes
Java
- Implemented the BiDi
speculationmodule. - Continued JSpecify nullability annotations across the
chrom*, browsers,grid.*,devtools, anddockerpackages. - Deduplicated Unicode PUA mappings in
Keys, madeOPTIONan alias ofALT, and deprecatedFN. - Fixed a regression that unnecessarily serialized binary streams in
RemoteWebDriver.builder(), and guarded against an NPE inPlatform.extractFromSysProperty. - Enhanced
ScriptKey.toString()and masked script content inUnpinnedScriptKey.
Python
- Expanded BiDi test coverage.
- Added type stubs for lazily imported classes and modules.
- Added a module for importing the latest DevTools version, and stopped closing externally provided
log_outputstreams.
Ruby
- Switched to portable Ruby.
- Fixed a linter error in the
./go authorsscript.
.NET
- Unified all BiDi event arguments to a consistent
*EventArgstype, and exposed BiDi functionality via interfaces. - Made event registration and command/event processing thread-safe, with close to zero allocation per command/event.
- Properly handled the WebSocket close handshake, and made any
WebDriverdisposable asynchronously. - Bumped the C# language version to 14.0.
Grid
- Added a transparent TCP tunnel bypass path for the WebSocket data path in the Router.
- Handled dropped close frames, idle disconnects, and high-latency proxying in the Router WebSocket.
- Added
NodeCommandInterceptorfor pluggable command interception via--ext. - Fixed VNC capabilities not being propagated for sessions without a
browserName.
Build & Infra
- Upgraded to Bazel 9.
- Fixed several CI reliability issues (RBE tests, lint/format CI, skipped failing Firefox Beta tests).
🐳 Docker Selenium
- Docker: Mirror images to GitHub Container Registry (#3098)
- Docker: Enable SE_VIDEO_EVENT_DRIVEN by default (#3084)
- Unified configs for Dynamic Grid Docker and Kubernetes (#3088)
- 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
Jitendra Singh2
JAYA DILEEP
Selenium Docs & Website
Rushikesh Dehankar
Selenium Team Members
Thanks as well to all the team members who contributed to this release:
Andrei Solntsev
David Burns
Corey Goldberg
Diego Molina
Sri Harsha
Navin Chandra
Nikolay Borisenko
Alex Rodionov
Simon Mavi Stewart
Titus Fortner
Viet Nguyen Duc
Stay tuned for updates by following SeleniumHQ on:
Happy automating!




