Selenium 4.32 Released!

Today we’re happy to announce that Selenium 4.32 has been 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, and log 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

Swastik Baranwal

Federico Franco

Federico Franco

Navin Chandra

Navin Chandra

Vinaysimha Varma Yadavali

Vinaysimha Varma Yadavali

Selenium Docs & Website

Alex Bledea

Alex Bledea

ian zhang

ian zhang

Manoj Kumar

Manoj Kumar

Docker Selenium

Romain THERRAT

Romain THERRAT

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!

Selenium Community Live - Episode 5

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 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

The Selenium Project is pleased to welcome LambdaTest as an official 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!

Today we’re happy to announce that Selenium 4.31 has been 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

Python

JavaScript

  • Fixed BiDi tests for Chrome and Firefox on CI.
  • Implemented BiDi permissions module commands.

Ruby

.NET

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

Swastik Baranwal

Sandro

Sandro

Navin Chandra

Navin Chandra

Selenium Docs & Website

ian zhang

ian zhang

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

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!

Selenium 4.30 Released!

Today we’re happy to announce that Selenium 4.30 has been 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 and Permissions.
  • 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

Swastik Baranwal

Adam Halbrock

Adam Halbrock

Jolyon Pawlyn

Jolyon Pawlyn

Navin Chandra

Navin Chandra

Romain Tartière

Romain Tartière

Adam Halbrock

Adam Halbrock

Selenium Docs & Website

Swastik Baranwal

Swastik Baranwal

Wasiq Bhamla

Wasiq Bhamla

ian zhang

ian zhang

Ujjwal Kumar Singh

Ujjwal Kumar Singh

Docker Selenium

Viet Nguyen Duc

Viet Nguyen Duc

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!

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

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!