Selenium Community Live - Episode 4

Selenium Community Live - Episode 4

The fourth episode of Selenium Community Live happened on March 19th, 2025, with speaker Michael Mintz, event hosted by Pallavi Sharma

You can watch the episode on YouTube here- Episode 4 on YouTube or You can watch the episode on LinkedIn here- Episode 4 on LinkedIn

Selenium Community Live - Episode 4

Michael Mintz is creator of Selenium Base, an all in one Browser Automation Framework, built over Selenium WebDriver Python bindings. The framework is well known and used in the WebDriver Ecosystem community for testing, web scraping, web crawling and stealth purposes. You can find out more about Selenium Base here - Selenium Base

Meet the Speakers:

  1. Michael Mintz

Watch the Recording

Couldn’t join us live? Watch the entire episode here - 📹 Recording Link: Watch the Event Recording on YouTube

To know more about Selenium Base, please follow the link Explore more on Selenium Base

In case you were wondering what happened to episode 3, it was cancelled but will be scheduled in coming weeks. Thank you! Stay tuned as we bring the next! Subscribe here to the Selenium HQ Official YouTube Channel.

Selenium 4.29 Released!

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

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


🚀 Major Highlights

  • Final removal of Firefox CDP support across all language bindings.
  • New WebDriver BiDi capabilities: Implementation of setCacheBehavior and getClientWindows commands.
  • Grid UI Fixes: Live session view now works as expected.
  • PrintOptions enhancements: Support for predefined and custom paper sizes.
  • Nullability annotations continue to improve type safety in .NET.
  • BiDi improvements: Network response handlers and optimizations.
  • Enhancements to logging options in Java.

🔹 Language-Specific Changes

Java

  • Implemented setCacheBehavior for WebDriver BiDi. (#15130)
  • Enhanced PageSize class to support predefined and custom paper sizes. (#15052)
  • Ensured purging dead nodes service interval is configurable. (#15175)
  • Improved handling of Selenium logging options. (#15197)
  • Added support for getClientWindows in WebDriver BiDi. (#14869)

Python

  • Fixed installation issues for source distributions. (#15128)
  • Updated PrintOptions to support different page sizes. (#15064)
  • Documented cygwin path usage in send_keys(). (#15275)
  • Fixed return type and docstrings for get_downloadable_files(). (#15292)

JavaScript

  • Implemented setCacheBehavior for WebDriver BiDi. (#15136)
  • Fixed dependencies for novnc v1.5.0. (#15005)
  • Added support for getClientWindows in WebDriver BiDi. (#15248)

Ruby

  • Removed Java date dependency. (#15122)
  • Added WebDriver BiDi network response handler. (#14900)
  • Implemented WebDriver BiDi setCacheBehavior command. (#15114)

.NET

  • Improved BiDi exception handling when it is not enabled. (#15163)
  • Added nullability annotations across multiple modules, including Command, DriverService, FirefoxProfile, Manage(), SafariOptions, and Navigate().
  • Updated WebAuth credential handling. (#15201)
  • Simplified creation of network types. (#15267)
  • Improved logging stability. (#15257)

Docker Selenium

  • Publish Node/Standalone images with the latest Grid core version and browser backward versions
  • Update container environment to JDK21 (#2642)
  • Node base with share system certificate support (#2653)
  • Node container is able to restart and retry to register when register-period exceeded (#2662)
  • Selenium Grid scaler in KEDA feature preview
    • Add trigger param to set custom capabilities for matching specific Nodes (KEDA#6536)
    • Add trigger param for Node enables managed downloads capability (KEDA#6570)
  • Helm config: Set K8s node IP to all components via env var KUBERNETES_NODE_HOST_IP in template (#2668)
  • 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

Swastik Baranwal

Swastik Baranwal

Alex Popov

Alex Popov

Navin Chandra

Navin Chandra

Romain Tartière

Romain Tartière

Vinaysimha Varma Yadavali

Vinaysimha Varma Yadavali

Selenium Docs & Website

Andrey Vorobev

Andrey Vorobev

Swastik Baranwal

Swastik Baranwal

ian zhang

ian zhang

Ujjwal Kumar Singh

Ujjwal Kumar Singh

Benjamin Rosemann

Benjamin Rosemann

Docker Selenium

Peter Upfold

Peter Upfold

Sten Arthur Laane

Sten Arthur Laane

Amar Deep Singh

Amar Deep Singh

Oskar Budziosz

Oskar Budziosz

Ritesh Khadgaray

Ritesh Khadgaray

Selenium Team Members

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

Augustin Gottlieb

Augustin Gottlieb

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 Stewart

Simon Stewart

Titus Fortner

Titus Fortner

Viet Nguyen Duc

Viet Nguyen Duc

Stay tuned for updates by following SeleniumHQ on:

Happy automating!

Removing ChromeDevTools Support For Firefox

Today we’re happy to announce ChromeDevTools support for Firefox is removed and WebDriver BiDi is paving the path forward

Selenium has deprecated support for Chrome DevTools Protocol (CDP) for Firefox in the last two versions (4.27 and 4.28). Our typical removal policy is to deprecate support for two versions, allowing users sufficient time to update their codebase, and then remove it from the third version onwards.

Starting with Selenium 4.29.0, CDP support for Firefox has been fully removed—and for good reason. Selenium’s CDP implementation for Firefox was always partial, meaning it never had complete feature parity with Chrome. Meanwhile, Firefox is shifting towards WebDriver BiDi, the future of cross-browser automation. Aligning with this, Firefox has announced that starting with Firefox 129, CDP will no longer be enabled by default. Read more here: [https://fxdx.dev/deprecating-cdp-support-in-firefox-embracing-the-future-with-webdriver-bidi/].

To support this transition, Selenium is removing CDP support for Firefox, as a major portion of WebDriver BiDi functionality is now available across all Selenium language bindings. Selenium is committed to staying in sync with browser vendors and the latest developments in the WebDriver BiDi protocol. This step brings us closer to standardized, browser-agnostic automation.

If you were using CDP in Selenium for Firefox, now is the time to switch to WebDriver BiDi. Start your journey with Selenium’s WebDriver BiDi examples here.

Selenium Community Live - Episode 2

Selenium Community Live - Episode 2

The second episode of Selenium Community Live happened on Jan 21st, 2025, with speaker David Burns, event hosted by Pallavi Sharma

You can watch the episode here- Selenium Community Live - Episode 2

Selenium Community Live - Episode 2

David Burns, Selenium Project Leadership Member, Chair W3C Browser Testing and Tools Workgroup, Head Open source and Developer Advocacy at Browser Stack was the speaker for the episode. David spoke about Web Browsers and Browser engines, and how while automating them we should be aware of the underlying software we are automating, even the platform makes a difference! Thank you everyone who joined the community event.

Meet the Speakers:

  1. David Burns

Watch the Recording

Couldn’t join us live? Watch the entire episode here - 📹 Recording Link: Watch the Event Recording on YouTube

David also runs a blog, and if you are interested in knowing internals of Selenium explore the link - Blog By David

Stay tuned as we bring the next! Subscribe here to the Selenium HQ Official YouTube Channel.

Selenium 4.28 Released!

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

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


Highlights

  • Chrome DevTools support is now: v132, v131, and v130 (Firefox still uses v85 for all versions)
  • Expanded nullability annotations for better type safety in .NET and Java.
  • Refinements to Selenium Grid, including more efficient session handling and node management.
  • Packaging and installation enhancements across Python and Ruby for smoother integration.
  • Documentation improvements across Python and .NET libraries, ensuring clearer developer guidance.
  • Updated language-specific implementations for modern development standards.

Changes by Language

Java

  • Encapsulation Improvements: Encapsulated additionalCommands with a getter method (#14816).
  • Nullability Enhancements: Added nullness annotations for enums, exceptions, interactions, logging, and Proxy (#15105, #15094).
  • SpotBugs Updates: Excluded specific warnings to maintain clean code (#14766).
  • Improved Logging: Enhanced error handling and message clarity in exceptions (#15116).
  • Relative Locators: Updates for RelativeBy locators, simplifying usage (#14482).

Python

  • Packaging Fixes: Addressed issues for smoother installation (#14806, #14823).
  • Documentation Upgrades: Added comprehensive docstrings to multiple classes, including WebDriverWait, ExpectedConditions, and WebElement (#15077, #15096).
  • Refactoring: Moved project metadata and improved code organization (#14837).
  • Enhanced CDP Command Handling: Added execute_cdp_cmd to Remote (#14809).

JavaScript

  • Federated Credential Management Support: Introduced support for Federated Credential Management, enhancing authentication capabilities. (#15008)
  • Node.js Version Specification: The minimum required Node.js version has been specified as 18.20.5.
  • Improved Logging: Added detailed error messages for invalid cookie name validation in getCookie and deleteCookie methods, aiding in debugging.
  • Diagnostic Logging for Safari: Enabled diagnostic logging for Safari, facilitating better issue tracking and resolution.

.NET

  • Nullability Improvements: Added annotations to SessionId, Alert, CookieJar, Logs API, and more (#14840, #14874).
  • Refactored DevTools: Modernized code style and enhanced JSON parsing (#14990).
  • Future-Proofing: Added notes and deprecated setters for better immutability (#15107).
  • Testing Updates: Migrated NUnit assertions to modern syntax (#14870).

Ruby

  • BiDi Network Enhancements: Added request handlers for authentication and interception (#14751).
  • Cookie Management Updates: Added tests and improved handling for cookies (#14843).

Grid

  • Improved Session Management: Enhanced slot matching and session queue handling (#14914).
  • Dynamic Grid Enhancements: Added video recording capabilities on browser node (#15047).
  • Reliability Boost: Improved HTTP request retries and node health checks (#14924).

Docker Selenium

  • Update procedure to install Firefox in Node/Standalone Firefox (#2550)

  • Enable video recorder in Node/Standalone containers (#2539)

  • Env var SE_ENABLE_TRACING=false is not required when starting the container anymore (#2549)

  • Env var SE_NODE_PLATFORM_NAME & SE_NODE_BROWSER_VERSION to adjust default Node stereotypes for autoscaling (#2520, #2525)

  • Selenium Grid scaler in KEDA improvements (KEDA#6437, KEDA#6477)

  • 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

Dinesh Kumar R A

Dinesh Kumar R A

MustafaAgamy

MustafaAgamy

Dennis Oelkers

Dennis Oelkers

Alex Popov

Alex Popov

Lauro Moura

Lauro Moura

Navin Chandra

Navin Chandra

Simon Benzer

Simon Benzer

Selenium Docs & Website

Swastik Baranwal

Swastik Baranwal

Jason Ren

Jason Ren

Navin Chandra

Navin Chandra

Simon Benzer

Simon Benzer

Vinaysimha Varma Yadavali

Vinaysimha Varma Yadavali

Docker Selenium

Selenium Team Members

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

Augustin Gottlieb

Augustin Gottlieb

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

Michael Render

Michael Render

Simon Stewart

Simon Stewart

Titus Fortner

Titus Fortner

Viet Nguyen Duc

Viet Nguyen Duc

Stay tuned for updates by following SeleniumHQ on:

Happy automating!