Selenium 4.35 Released!

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

We’re excited to announce the release of Selenium 4.35 for Javascript, Ruby, Python, .NET, Java and the Grid! 🎉

Links to all assets can be found on our downloads page.


🔦 Highlights

  • Chrome DevTools support is now: v139, v138, and v137.
  • BiDi Improvements Across Bindings: Expanded BiDi support including emulation, input, script execution, and user context enhancements.
  • Java Cleanup and JSpecify Annotations: Deprecated APIs removed and comprehensive @Nullable annotations added for better type safety.
  • Grid Performance Enhancements: Improved logging, reduced redundancy, race condition fixes, and migration from Guava to Caffeine.
  • Better Proxy and Network Handling: Support for SameSite=default, IPv6 improvements, and fixes for proxy authentication and WebView2.
  • Logging Improvements: Driver logs in .NET are more structured and can output to console or file with timestamps.

🧪 Language-specific Updates

Java

  • 🔧 Added support for:
    • BiDi emulation module
    • SameSite=default for cookies
    • Shadow DOM element normalization
  • 🧹 Major cleanup of deprecated classes:
    • LocationContext, WebStorage, FirefoxBinary, SessionStorage, AppCacheStatus, and more
  • ✅ Enhanced test coverage: --connect-existing WebSocket check
  • 📝 Added JSpecify @Nullable annotations across all driver services and locator classes
  • 🧼 Memory/resource improvements:
    • Released HttpClient resources
    • Removed unused internal classes

Python

  • 🧠 BiDi enhancements:
    • Implemented input and emulation modules
    • Added pin, unpin, and execute for scripts
    • Supported accept_insecure_certs, proxy, and unhandled_prompt_behavior in user context
  • 🔧 Improved handling for:
    • Proxy authentication with special characters
    • WebView2 + CDP/BiDi compatibility
    • Vendor prefix fix for Edge
  • 📦 Loosened dependency for urllib3, and included IPv6 support for free_port()
  • 📚 API documentation improvements, including nightly builds and license notices

.NET

  • 💡 Logging Enhancements:
    • Timestamps for Chromium-based browser logs
    • GeckoDriver log file support
    • Default log level now WARN
    • Console output support for all drivers
  • 🧠 BiDi enhancements:
    • Exposed internal methods and new result types
    • User context supports UnhandledPromptBehavior, proxy, accept_insecure_certs
    • Tree and Emulation modules added
  • 🧹 Cleanup:
    • Removed long-deprecated members
    • Reduced internal tracing noise
  • 🔄 Native packaging for Selenium Manager
  • 🌐 IPv6 support for port allocation

JavaScript

  • 🧪 BiDi:
    • Stability fix for flaky cookie network test
    • Skip FedCM tests until Chrome 140
  • ⚠️ Added SameSite=default cookie support
  • 🔄 Dependency updates (typescript, @emotion/styled)

Ruby

  • 🔒 Guarded support for Firefox Beta
  • 🚫 Removed deprecated local/session storage APIs
  • 🆗 Allowed use of rubyzip v3
  • ✂️ Excluded Rakefile from line-length linter
  • ⚠️ Added support for SameSite=default

Rust (Selenium Manager)

  • 🧪 Updated base URL for Edge WebDriver
  • ⬆️ Dependency upgrades (zip, rstest, which, Bazel lock files)
  • 🔧 Improved architecture normalization for Plausible analytics

Grid

  • 🔁 Performance and logging improvements:
    • Reduced duplicate logs
    • Improved node health checks
    • Better session map handling and retry queue management
  • 🧰 Switched from Guava’s CacheBuilder to Caffeine
  • 🧪 New UI sorting option by URI

🐳 Docker Selenium

  • K8s: Add config for over-provision ratio in autoscaling deployment of Nodes (#2930)
  • Docker: Distributor uses Greedy as the slot selector strategy default in Hub-Node and Standalone mode (#2915)
  • Docker: Update Google Noto font family to support better language character displays (#2914)
  • 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

Andrei Solntsev

Andrei Solntsev

James Hilliard

James Hilliard

Ben Beasley

Ben Beasley

Navin Chandra

Navin Chandra

Noritaka Kobayashi

Noritaka Kobayashi

Sandeep Suryaprasad

Sandeep Suryaprasad

Selenium Docs & Website

ian zhang

ian zhang

Docker Selenium

AvivGuiser

AvivGuiser

Amar Deep Singh

Amar Deep Singh

Selenium Team Members

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

Agustin Pequeno

Agustin Pequeno

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!

Last modified August 15, 2025: Update selenium-4-35-released.md (a3d4437431)