Selenium 4.40 Released!
Categories:
We’re excited to announce the release of Selenium 4.40 for JavaScript, Ruby, Python, .NET, Java and the Grid! 🎉
Links to all assets can be found on our downloads page.
Selenium 4.40 Released
✨ Highlights
- Chrome DevTools support is now: v144, v143, and v142.
- [Java] Expanded BiDi support:
setScreenOrientationOverride,setNetworkConditions, and command return type changes. - [Python] Introduced
LocalWebDriverbase class, improved docstring formatting and typing, removed deprecated code. - [Ruby] Better test synchronization, clearer BiDi API boundaries, and internal improvements.
- [DotNet] BiDi improvements in Input, Emulation, and buffer pooling logic.
- [Grid] Improved dynamic Grid container handling, better concurrent session handling, and race condition fixes.
- [Build] Bazel-based documentation and release automation improvements across all bindings.
📦 Notable Changes
Java
- Added support for new BiDi emulation and network commands.
- Deprecated unused logging and Guava collections.
- Improved test infrastructure and flaky test fixes.
- Improved Grid file upload, JSON parsing, and error handling.
- Automatically save screenshots and page sources on failure.
Python
- Added
LocalWebDriverbase class. - Removed deprecated
FirefoxBinaryandFTP proxysupport. - Improved linting and typing with
ruffandmypy. - Better grid test integration and SE_DEBUG logging.
Ruby
- Improved error handling and synchronization for socket interactions.
- Marked BiDi internals as private.
- Fixed various flaky test issues.
.NET
- Support for
SetScreenSettingsOverrideAsync,FileDialogOpened, and input module exposure. - Improved memory usage and buffer reuse in BiDi communication.
- Removed obsolete or unstable APIs.
Grid
- Smarter container naming and label handling in Dynamic Grid.
- Race condition and concurrent session handling improvements.
Build & Infra
- All bindings now support rerun on test failures.
- Improved CI speed, clarity, and isolation.
- Build/test infra modernized with Bazel rules and doc generation.
🐳 Docker Selenium
- Docker: update video_graphQLQuery shell script to python (#3002)
- Update ubuntu:noble Docker digest to cd1dba6 (#3063)
- Update list new environment variables (#3062)
- 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
Michal Zyndul
Selenium Docs & Website
ian zhang
Docker Selenium
AvivGuiser
Selenium Team Members
Thanks as well to all the team members who contributed to this release:
Augustin Gottlieb
Andrei Solntsev
David Burns
Boni García
Corey Goldberg
Diego Molina
Sri Harsha
Nikolay Borisenko
Alex Rodionov
Puja Jagani
Michael Render
Simon Benzer
Simon Mavi Stewart
Titus Fortner
Viet Nguyen Duc
Stay tuned for updates by following SeleniumHQ on:
Happy automating!




