Selenium 4.40 Released!

Today we’re happy to announce that Selenium 4.40 has been released!

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 LocalWebDriver base 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 LocalWebDriver base class.
  • Removed deprecated FirefoxBinary and FTP proxy support.
  • Improved linting and typing with ruff and mypy.
  • 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

Michal Zyndul

Selenium Docs & Website

ian zhang

ian zhang

Docker Selenium

AvivGuiser

AvivGuiser

Selenium Team Members

Thanks as well to all the team members who contributed to this release:

Augustin Gottlieb

Augustin Gottlieb

Andrei Solntsev

Andrei Solntsev

David Burns

David Burns

Boni García

Boni García

Corey Goldberg

Corey Goldberg

Diego Molina

Diego Molina

Sri Harsha

Sri Harsha

Nikolay Borisenko

Nikolay Borisenko

Alex Rodionov

Alex Rodionov

Puja Jagani

Puja Jagani

Michael Render

Michael Render

Simon Benzer

Simon Benzer

Simon Mavi Stewart

Simon Mavi Stewart

Titus Fortner

Titus Fortner

Viet Nguyen Duc

Viet Nguyen Duc

Stay tuned for updates by following SeleniumHQ on:

Happy automating!