This is the multi-page printable view of this section. Click here to print.
Blog Posts - 2025
- Selenium 4.32 Released!
- Selenium Community Live - Episode 5
- Selenium Conference and Appium Conference 2025, Valencia Spain
- LambdaTest Becomes a Selenium Development Partner
- Selenium 4.31 Released!
- Selenium 4.30 Released!
- Selenium Community Live - Episode 4
- Selenium 4.29 Released!
- Removing ChromeDevTools Support For Firefox
- Selenium Community Live - Episode 2
- Selenium 4.28 Released!
Selenium 4.32 Released!
We’re excited to announce the release of Selenium 4.32 for Javascript, Ruby, Python, .NET, Java
and the Grid! 🎉
This release continues the focus on strengthening BiDi support across multiple bindings, improving
stability in tests, and refining documentation and developer experience.
Links to all assets can be found on our downloads page.
🚀 Major Highlights
- Enhanced BiDi (Bi-Directional) protocol support for Python, Java, Ruby, and .NET bindings
- Dozens of bug fixes and stability improvements in tests and documentation
- Selenium Grid now better handles capabilities for mobile testing with Relay Nodes
- New utility class in Python to manage a local Grid server
- Additional updates to support AOT compatibility and memory optimizations in .NET
🔹 Language-Specific Changes
Java
- BiDi improvements:
onNavigationCommitted
,getClientWindows
, and Edge support #15560, #15661 - BiDi tests enabled for Edge network module #15654
- Set BiDi as active protocol for Remote Firefox #15224
- Dependency versioning improvements via BOM #15689
Python
- Fixes to test args for
--headless
and--bidi
#15567 - Improvements in test coverage and cleanup #15579, #15580
- FedCM state leak fix #15583
- BiDi Network: intercepts and authentication implemented #14592
- Implemented BiDi
browser
,browsing_context
, andlog
modules #15616, #15631, #15668 - Added
Server
utility class to manage Grid #15666 - Modernized linting setup and doc publishing #15614
JavaScript
Ruby
- Added
PrintOptions
support #15158 - WebSocket port handling for Firefox #15458
- BiDi
setViewport
,activate
, and log support enhanced #15290, #15365
.NET
- Extensive BiDi refactoring for better spec alignment and AOT compatibility #15575, #15591
- Introduced strong typing for LocalValue conversions #15532
- Refined network interception and error handling #15603, #15521
- Websocket memory and platform detection improvements #15640, #15649
Grid
- Fixed Safari-specific capability prefix handling #15574
- Improved handling of
browserName
for Relay Nodes in mobile #15537
Docker Selenium
- Docker: Init python venv with non-root user (#2769)
- Docker: Remove Hub GraphQL dependency from video recorder (#2813)
- Docker: Fluxbox not rendering Chinese characters via VNC view (#2817)
- 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
Federico Franco
Navin Chandra
Vinaysimha Varma Yadavali
Selenium Docs & Website
Handy
Alex Bledea
ian zhang
Manoj Kumar
Pallavi
Docker Selenium
Trig
Romain THERRAT
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!
Selenium Community Live - Episode 5
The fifth episode of Selenium Community Live happened on April 25th 2025.
The event featured speakers Ashley Hunsberger , Director at NBCUniversal with close to 25 years of industry experience and a long-time friend of the Selenium, alongside Puja Jagani, Open Source Engineer & Developer Advocate at BrowserStack and member of the Selenium leadership(TLC and PLC). The event was hosted by Pallavi Sharma, Founder 5 Elements Learning and a long-time Selenium Committer.
The theme of the community event was “Beyond Code: Understanding Developer Satisfaction in Open Source Contributions”.
While many discussions around open source have happened that focus on code contributions and technical aspects, there is a vital human element involved, something that keeps the contributions rolling for decades, i.e. developer satisfaction. This community event was dedicated to discussing the human factor in open source contributions. The speakers shared their insights and experience on developer satisfaction in open source.
What motivates Open Source contributors?
Ashley’s LinkedIn states that “My driving principle is simple: people first” and building on that, Ashley and Puja both highlight that open source is “by the community, for the community,” where collaboration and human connections are foundational motivating factors for them.
Ashley shares her journey with Selenium, highlighting how the warm, caring community has helped her build genuine friendships and good memories.
“In the end, do people really remember what we build? They’re going to remember how we made them feel.” - Ashley Hunsberger
She states that for her, a main motivational factor is community, and what she thinks drives people is the altruistic purpose of giving back to the community beyond their organisation and serving a great purpose. According to her, motivation drives behaviour, and if you have clear motivation, that will drive your place in the community in the long run.
Beyond altruism, Puja thinks there is a diversity of motivators, emphasising that contributions extend far beyond code. Contributions might include:
- Helping with documentation
- Managing continuous integration (CI) pipelines
- Handling legal, and financial aspects, and other administrative aspects
- Organising conferences, community events, and meetups.
These roles are often in the spotlight but critical to the health and growth of open source projects. A huge spectrum of motivators drives people’s behaviour and keeps the open source project breathing and growing.
No single factor that contributes to developer satisfaction
Ashley brings a unique perspective to the idea that developer satisfaction can be understood through the lens of the Job Characteristics Model. This model outlines key aspects of work that lead to positive outcomes such as retention, motivation, and job satisfaction.
Key factors include:
- Skill Variety: Open source contributors engage in a wide range of skills, from coding to release engineering, documentation, and advocacy.
- Task Identity: Contributors often see their work through from start to finish, building and shipping features that users directly benefit from.
- Task Significance: Understanding the impact and value of their contributions motivates developers to continue their work.
- Autonomy: Contributors enjoy flexibility in how, when, and where they contribute, within the project’s guidelines.
- Feedback: Constructive feedback loops help contributors improve and feel connected to the community.
These elements combine to foster long-term satisfaction.
The Evolution of Motivation in Open Source
Puja shared her own journey with Selenium, from initially feeling nervous about contributing to becoming a part of the technical leadership. Initially, simple contributions like fixing a bug brought immense satisfaction. Over time, the motivation evolved to include community appreciation and the visible impact of her work on the end users of Selenium. She recounts a meaningful interaction at a recent conference where an attendee thanked her for contributing to Selenium, highlighting how such moments validate and inspire ongoing commitment.
Handling Conflict in Open Source
Ashley and Puja acknowledged that interactions on platforms like GitHub or chat channels can include harsh or unexpected comments or the project itself can have some differences of opinion. And this could be largely due to the diverse background of people, any open source project experiences. This difference of opinion and thought diversity is what makes the group awesome, but certain situations need to be resolved with care.
Ashley shares her first experience receiving a non-constructive code review and emphasises the importance of kindness and clarity in feedback: “Be kind, but clear. Clear is kind. You don’t have to be nice, but be clear about what happened, why, and how to improve.” - Ashley Hunsberger
Effective conflict resolution involves open questions, understanding the intent, and focusing on shared goals. It’s important to remember that conflicts are natural in any group, but they can be handled constructively with the key focus being on what is important for the situation. It is also essential to make sure an open source project has a code of conduct that is implemented in such situations and that the community is aware they have a safe space to report their issue and that they will be heard.
Inclusivity
Ashley distinguishes between mentorship and sponsorship as two pillars of inclusion:
- Mentorship: Providing advice, guidance, and support to help someone grow and navigate the community.
- Sponsorship: Actively advocating for someone, opening doors, and recommending them for opportunities
Ashley further discussed that inclusivity needs to be beyond code. Such as ensuring inclusive language and removing any barriers of entry for new contributors. The key focus should be on building an inclusive environment and creating a welcoming space for new contributors and the community.
Overcoming Impostor Syndrome
Impostor syndrome is a common challenge for developers, especially when engaging in large, visible open-source projects. Ashley shares candidly about her struggles and offers practical advice when Pallavi asked her to share her insights on how to enable people to overcome impostor syndrome. Ashley shares the following
- Be kind to yourself and reframe negative thoughts. Add “yet” to statements like “I don’t know how to do this… yet.”
- Recognise that many others share the same fears and questions.
- Build a support network of trusted friends, mentors, and peers who understand your journey.
- Use tools like worksheets to identify negative thinking patterns and consciously reframe them.
- Focus on facts about your skills and contributions rather than self-doubt.
These strategies can help contributors maintain confidence in their open-source journey.
Next they discussed how open source projects can help people, and here the importance of visibility and recognition in sustaining open source motivation was emphasised. Seeing the direct impact of one’s work, whether through download statistics, user feedback, or conference stories, reinforces the value of contributions. Whether you are a seasoned contributor or a newcomer, reflecting on the above areas can hopefully help you foster a more satisfying developer experience.
Selenium is now entering its 21st year of existence, has had contributors spanning across various time zones, geographies and areas of expertise. With nearly 800 contributors over two decades, we take this moment to express gratitude to each of them. Through continuous feedback and meaningful interaction with the community, Selenium remains dedicated to work towards a healthier developer satisfaction.
Watch the Recording
Couldn’t join us live? Watch the entire episode!
You can watch the episode on YouTube here- Episode 5 on YouTube or you can watch the episode on LinkedIn here- Episode 5 on LinkedIn.
Thank you! Stay tuned as we bring the next! Subscribe here to the Selenium HQ Official YouTube Channel.
Selenium Conference and Appium Conference 2025, Valencia Spain
Selenium and Appium projects joined hands together for the 2025 annual conference of both, which was held from March 26th - March 28th in Valencia, Spain. The official web page of the conference can be found here
The event took place at the beautiful venue of Veles e Vents.
On March 26th, there were Workshops, which were enthusiastically attended by participants from across the globe. On the 26th March evening, the conference organised Speaker’s Dinner, which provided a fun space to sit, talk and know other better.
We are thankful to our esteemed speaker group, who joined us from all over the world and helped make the event a success. Details about the speakers for the event is available here - Speakers of the Conference
The main event started from 27th of March and ran through 28th March evening. The event was attended by close to 400 global participants. We are thankful to each of them, for their presence which made the event worthwhile.
Conference also provided scholarship to 4 people who were chosen after a tough selection process to attend the conference. We thank all our Sponsors who collaborated and helped make the event possible.
The video recording, presentations and photographs from the main event can be found here - Videos, Photos and More..
Conference, also ran Pre Conference webinars which helped showcase high rated talks which couldn’t make it to the end program to the audience. The details of the same are available here - Pre Conference Webinars
The conference program chair was Diego Molina. Diego helmed all the activities of the conference with great leadership and meticulous supervision.
The conference was supported by a wide group of professionals who participated in volunteer capacity as reviewers and organizers of the event. More details about them can be found here - Organizers & Program Review Committee .
The entire event was professionally managed by the event organiser company OneStic. They ensured smooth flow of the event. Special mention to Jesus Sanchez for going out of the way to ensure everyone was well taken care of.
Subscribe to Official Selenium Conference YouTube Channel
To explore more about our previous conferences and the next ones don’t forget to subscribe to our official You Tube Channel Selenium Conference Official YouTube Channel.
LambdaTest Becomes a Selenium Development Partner
We are excited to share that LambdaTest has joined as a development partner for Selenium. This partnership highlights our shared commitment to innovation, community engagement, and collaborative progress in the test automation space. LambdaTest’s dedicated Open Source Program Office (OSPO) is contributing valuable expertise and resources that will further enrich the Selenium ecosystem.
A Partnership Rooted in Open Source Values
At the heart of Selenium lies a vibrant community dedicated to open standards and continuous improvement. Our collaboration with LambdaTest is designed to strengthen the community by channeling focused contributions from their OSPO—improving tools, integrations, and documentation for Selenium users around the world.
About LambdaTest
LambdaTest is a platform that empowers businesses to accelerate time to market through intelligent, cloud-based test authoring, orchestration, and execution. With over 15,000 customers and 2.3 million+ users across 130+ countries, LambdaTest is the trusted choice for modern software testing.
Key Points of the Partnership
- Open Source Integrity: Selenium continues to flourish as a community-led project, embodying the true spirit of open source.
- Dedicated OSPO Contributions: The team at LambdaTest is actively enhancing Selenium by improving documentation, bolstering community support, and enabling better integrations. Their efforts are aimed at empowering the global Selenium user base.
- Community-Focused Innovation: By pooling our collective expertise, we are well-positioned to drive new solutions and elevate test automation practices to new heights.
What This Partnership Means for the Community
The contributions from LambdaTest’s OSPO are set to bring notable benefits to the broader testing landscape:
- Faster Development: The infusion of dedicated engineering resources will accelerate the development of new features and improvements.
- Improved Stability: Increased efforts in testing and quality assurance will help quickly identify and resolve issues.
- Better Documentation: Enhanced documentation will make it easier for users to dive into Selenium and harness its advanced capabilities.
- Enhanced Community Support: LambdaTest will play an active role in organizing and sponsoring community events, fostering rich collaboration and knowledge sharing.
Looking Ahead
This partnership is more than a technical alliance—it reaffirms our belief in the power of community-led development. The proactive contributions from LambdaTest’s OSPO will help create a more connected and empowered test automation community. We invite you to join our upcoming workshops, webinars, and discussion forums to see firsthand how these collaborative projects will shape the future of open source test automation.
Formalizing LambdaTest as a Selenium development partner is a milestone that celebrates our commitment to innovation and community spirit. With the dedicated efforts from LambdaTest’s OSPO, we continue our mission to enhance the Selenium ecosystem for every developer and tester worldwide.
Join us on this journey toward a future that is more resilient, supportive, and inventive in the realm of test automation.
Selenium 4.31 Released!
We’re excited to announce the release of Selenium 4.31 for Javascript, Ruby, Python, .NET, Java
and the Grid! 🎉
This release focuses on improvements across the board, including better BiDi protocol support, test
reliability, nullability enhancements, and cleanup of legacy code across languages.
Links to all assets can be found on our downloads page.
🚀 Major Highlights
- Continued work towards full BiDi support in all bindings
- Cleanup of unused legacy components (like
wgxpath
) - Expanded test coverage and fixes for various environments (CI, RBE, MacOS)
- Improvements in documentation and development tooling
🔹 Language-Specific Changes
Java
- Handle
getNamedCookie
anddeleteNamedCookie
for empty strings - Add nullness for AppCacheStatus, Credential, and Either
- Add nullness for interactions
- Enable Safari for CookieImplementationTest
- Add test to add a cookie in a user context (BiDi)
Python
- Fix docstring issues that sphinx complains about
- Only shutdown service if process not already terminated
- Remove unused mocker arg in chrome options test
- Fix driver class name in test fixtures
JavaScript
- Fixed BiDi tests for Chrome and Firefox on CI.
- Implemented BiDi
permissions
module commands.
Ruby
.NET
- Decouple nested BiDi types across multiple modules
- Fix null warnings in
RelativeBy
by sealing the type - Simplify conversion to
LocalValue
- Unify protected and internal Execute methods
- Make
ContinueWithAuthCommand
closer to spec (breaking change) - Avoid intermediate JsonDocument allocation to improve performance
Grid
Docker Selenium
- Helm config: Add template for file browser video records service (#2763)
- Helm config: Strictly handle
basicAuth.enabled
in template (#2760) - Selenium Grid Autoscaling in Kubernetes is expected working well with KEDA core v2.17.0.
- 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
Sandro
Navin Chandra
Selenium Docs & Website
ian zhang
Pallavi
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
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!
Selenium 4.30 Released!
We’re very happy to announce the release of Selenium 4.30 for Javascript, Ruby, Python, .NET, Java and the Grid! This version brings key updates across the project, with improvements to the BiDi protocol, extensive nullability work in .NET, better error handling, and various bug fixes. It’s a great step forward as we continue strengthening Selenium’s stability, consistency, and support across all supported languages.
Links to all assets can be found on our downloads page.
🚀 Major Highlights
- Continued enhancements to BiDi (Bi-Directional Protocol) support across Java, Ruby, .NET, JavaScript, and Python.
- Extensive nullability annotations added throughout the .NET bindings.
- Selenium Manager (Rust) now supports nightly Grid builds.
- Improvements to testing infrastructure and developer experience, including better packaging, linting, and platform support.
- Numerous bug fixes and refactors across the Grid, bindings, and devtools.
🔹 Language-Specific Changes
Java
- Implemented BiDi commands:
getBidiSessionStatus
andPermissions
. - Refined logger initialization.
- Removed deprecated, non-W3C compliant
NetworkConnection
interface. - Added support for setting viewport and handling CDP warnings gracefully.
Python
- Improved devtools test handling and documentation.
- Fixed packaging issues and test discovery for
pytest
. - Added docstring updates for clarity and modernization.
- Replaced strings with
By
class attributes. - Improved socket resource management and error handling.
- Updated
expected_conditions
type annotations.
JavaScript
- Fixed BiDi tests for Chrome and Firefox on CI.
- Implemented BiDi
permissions
module commands.
Ruby
- Fixed a compatibility issue with Ruby 3.1 (“no anonymous block parameter”).
- Added BiDi support for:
- Setting viewport
- Activating browser context
- Providing responses
- Added a
target_type
parameter to devtools.
.NET
- Enabled nullable reference types across many components.
- Trimmed away CDP for AOT applications.
- Enhanced BiDi support including:
SetFiles
command- Support for
UnhandledPromptBehavior
- Event support like
OnNavigationCommitted
- Encapsulation of the transport layer
- Improved
WebDriver
,WebElement
, and capabilities types with nullability. - Introduced
SystemClock
singleton. - Revisited and fixed test execution on Windows/macOS.
- Removed obsoleted members for 4.30.
Grid & Selenium Manager
- Added trace logging for session stop events in Grid.
- Improved configuration options for server timeouts and session handling.
- Added support in Selenium Manager (Rust) for nightly Grid builds.
- Enhanced ability to trace and view live sessions.
Docker Selenium
- Helm config: Node Relay to extend autoscaling Grid with test cloud resources (#2703).
- Docker: Disable HeapDumpOnOutOfMemoryError by default (#2708)
- 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
Adam Halbrock
Robin
Jolyon Pawlyn
Navin Chandra
Romain Tartière
Pallavi
Adam Halbrock
Selenium Docs & Website
Swastik Baranwal
Wasiq Bhamla
ian zhang
Ujjwal Kumar Singh
Pallavi
Docker Selenium
Viet Nguyen Duc
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!
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
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!