Selenium 4.22 Released!

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

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

Highlights

  • Selenium has at least 2.6 active users in the last 30 days. 200k more than last month!
    • All information we collect is publicly available.
    • The numbers only represent users who have Selenium Manager enabled and are using Selenium v4.17 or greater.
    • Python, Chrome and Windows all see the majority of use.
  • Chrome DevTools support is now: v124, v125, and v126 (Firefox still uses v85 for all versions)
  • The first implementations of the new BiDi API have rolled out in Ruby, Python and JavaScript

Noteworthy changes per language

  • Java
    • Enabling BiDi can now be accomplished by calling enableBiDi() on an Options class instance.
    • Video file name in Dynamic Grid can be set with se:videoName capability.
    • See all changes

  • JavaScript
    • BiDi API for console logging and JavaScript errors has been implemented.
    • Additional BiDi implementations.
    • See all changes

  • .NET
    • The .NET bindings have started to roll out asynchronous methods.
      • The synchronous methods will still be supported, but they will call the async methods “under the hood.”
      • This release adds asynchronous methods to the Navigation class.
    • See all changes

  • Python
    • This release implements a new way of working with Chrome Devtools Protocol
      • The previous implementation requires async/await pattern, so it was not backwards compatible.
      • The new implementation is backwards compatible and executes async code in separate threads.
    • Updated the webkitgtk and wpewebkit driver implementations.
    • Enabling BiDi can now be accomplished by setting the enable_bidi() property of an Options class instance to True.
    • BiDi API for console logging and JavaScript errors has been implemented.
    • See all changes

  • Ruby
    • Implemented a toggle for BiDi and Classic implementations.
    • BiDi API for console logging and JavaScript errors has been implemented.
    • See all changes

  • Rust
    • Added the ability to stream logging information to stdout instead of after execution complete.
    • Improved binary location on Windows with native Rust methods.
    • See all changes

Contributors

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

Selenium

Viet Nguyen Duc

Viet Nguyen Duc

Augustin Gottlieb Pequeno

Augustin Gottlieb Pequeno

Alexander Millin

Alexander Millin

Scott Babcock

Scott Babcock

Vladislav Velichko

Vladislav Velichko

James Yuzawa

James Yuzawa

Selenium Docs & Website

ian zhang

ian zhang

Augustin Gottlieb Pequeno

Augustin Gottlieb Pequeno

Sang Nguyen

Sang Nguyen

Docker Selenium

Viet Nguyen Duc

Viet Nguyen Duc

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

Alex Rodionov

Alex Rodionov

Puja Jagani

Puja Jagani

Simon Stewart

Simon Stewart

Titus Fortner

Titus Fortner

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

Happy automating!