Selenium 4.25 Released!

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

We’re very happy to announce the release of Selenium 4.25 for Javascript, Ruby, Python, .NET, Java and the Grid! Links to everything can be found on our downloads page.

Selenium 4.25.0 introduces several important changes and improvements across multiple programming languages and build systems. Below are the key highlights from this release.

General Updates

  • Chrome DevTools support is now: v129, v128, and v127 (Firefox still uses v85 for all versions)

  • Selenium has at least 4M active users in the last 30 days. 1.5M more than 4 months ago!

  • First implementation of BiDi (Bidirectional WebDriver Protocol) for .NET, providing advanced capabilities like inspecting browser contexts and receiving real-time events.

    • We are looking for feedback on this feature, so please try it out and let us know what you think! Try var bidi = await driver.AsBiDiAsync(); to get started.

Java

  • Escape cookie values when required for tests (#14486)

  • Warn about an upcoming change enforcing string quotes in TOML (#14491)

  • See all changes


Python

  • Fixed type errors for pointer_input.py, wheel_input.py, and firefox/options.py (#14476)

  • Fixed failing BiDi tests (#14448)

  • Dropped support for Python 2.x in firefox_profile.py (#14489)

  • See all changes


JavaScript

.NET

  • BiDi API updates, including renaming methods and simplifying context handling (#14318)

  • Exposed BiDi associated references in browsing context (#14495)

  • See all changes


Ruby

  • Allowed driver path to be set using environment variables (#14287)

  • Fixed the add_cause method not being able to process an array of hashes (#14433)

  • See all changes


Rust

  • Fixed errors in Selenium Manager when the browser path is incorrect (#14381)
  • Reused driver mirror URLs to discover Firefox versions (#14493)
  • See all changes

Docker Selenium

  • KEDA Scaler in Kubernetes:

    • Enhanced KEDA scaler behavior, addressing:
      • Node with different platformName scaling: Fixed incorrect scaling behavior when both Linux and Windows node stereotypes are present (#1925).
      • Excessive autoscaling: Resolved over-scaling of browser nodes (#2160).
    • Added separate parameters for basic authentication (username, password) for the Grid GraphQL endpoint (#2401).
    • Added support for nodeMaxSessions parameter to control maximum concurrent sessions per node, aligning with the node config --max-sessions (#2402).

    Note: The above KEDA scaler updates are available experimentally via our built images approach. Check out this for more details.

  • Selenium Grid Helm Chart: Updated to support the new KEDA scaler enhancements.

  • See all changes

Contributors

Special shout-out to everyone who helped the Selenium Team get this release out!

Selenium

Swastik Baranwal

Swastik Baranwal

Augustin Gottlieb

Augustin Gottlieb

Angie Jones

Angie Jones

Chris Gossett

Chris Gossett

Dominic Evans

Dominic Evans

Manuel Blanco

Manuel Blanco

Navin Chandra

Navin Chandra

Sandeep Suryaprasad

Sandeep Suryaprasad

Simon Benzer

Simon Benzer

Selenium Docs & Website

Augustin Gottlieb

Augustin Gottlieb

Simon Benzer

Simon Benzer

Docker Selenium

Markus Kopp

Markus Kopp

Selenium Team Members

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

David Burns

David Burns

Boni García

Boni García

Diego Molina

Diego Molina

Sri Harsha

Sri Harsha

Nikolay Borisenko

Nikolay Borisenko

Alex Rodionov

Alex Rodionov

Puja Jagani

Puja Jagani

Simon Stewart

Simon Stewart

Titus Fortner

Titus Fortner

Viet Nguyen Duc

Viet Nguyen Duc

Stay tuned for updates by following SeleniumHQ on X (Formerly Twitter) or LinkedIn!

Happy automating!