This is the multi-page printable view of this section. Click here to print.
Blog Posts - 2025
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:
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!
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
andgetClientWindows
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 insend_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
, andNavigate()
. - 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
- 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
Alex Popov
Navin Chandra
Romain Tartière
Vinaysimha Varma Yadavali
Selenium Docs & Website
Andrey Vorobev
Swastik Baranwal
ian zhang
Ujjwal Kumar Singh
Benjamin Rosemann
Pallavi
Docker Selenium
Peter Upfold
Sten Arthur Laane
Amar Deep Singh
Oskar Budziosz
Ritesh Khadgaray
Selenium Team Members
Thanks as well to all the team members who contributed to this release:
Augustin Gottlieb
David Burns
Boni García
Corey Goldberg
Diego Molina
Sri Harsha
Nikolay Borisenko
Alex Rodionov
Puja Jagani
Michael Render
Simon Benzer
Simon Stewart
Titus Fortner
Viet Nguyen Duc
Stay tuned for updates by following SeleniumHQ on:
Happy automating!
Removing ChromeDevTools Support For Firefox
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
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:
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!
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
, andWebElement
(#15077, #15096). - Refactoring: Moved project metadata and improved code organization (#14837).
- Enhanced CDP Command Handling: Added
execute_cdp_cmd
toRemote
(#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
anddeleteCookie
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)
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
MustafaAgamy
Dennis Oelkers
Alex Popov
Lauro Moura
Navin Chandra
Simon Benzer
Selenium Docs & Website
Swastik Baranwal
Jason Ren
Navin Chandra
Pallavi
Simon Benzer
Vinaysimha Varma Yadavali
Docker Selenium
AvivGuiser
Selenium Team Members
Thanks as well to all the team members who contributed to this release:
Augustin Gottlieb
David Burns
Boni García
Diego Molina
Sri Harsha
Nikolay Borisenko
Alex Rodionov
Puja Jagani
Michael Render
Simon Stewart
Titus Fortner
Viet Nguyen Duc
Stay tuned for updates by following SeleniumHQ on:
Happy automating!