Skip to main content
SeleniumDecoded

Releases & News

What changed, why it matters for your tests, and what to do about it. Curated from the official Selenium blog and release notes.

Latest stable
Selenium 4.48.0
Released 27 Aug 2026 · verified 9 Sept 2026
Java
Java 11+
Python
Python 3.10+
.NET
.NET 8 / .NET Framework 4.6.2+ (netstandard2.0)
JavaScript
Node.js 18+ (current LTS recommended)
Ruby
Ruby 3.1+
Next major
Selenium 5 (alpha builds planned; removes CDP-only code paths in favour of BiDi)

Release timeline

  1. Selenium 4.48.0

    BiDi protocol layers generated from a shared schema; Grid file transfer for Kubernetes, Docker and relay sessions

    • Python Internal BiDi protocol layer is now generated from the binding-neutral schema; fixed W3C capabilities built from option lists.
    • JavaScript Custom locator results normalised when empty; BiDi serialisation and domain layer with connection-level event subscription.
    • .NET New SetMediaFeaturesOverride emulation command; unknown BiDi discriminators now throw instead of silently passing.
    • Ruby Low-level BiDi protocol integration specs; fixed a silent hang on oversized WebSocket frames.
    • Grid File upload and download now work for Kubernetes, Docker and relay sessions; se:remoteUrl no longer forwarded past the consuming Node.
    • Infrastructure Selenium Manager and tooling honour DO_NOT_TRACK.
    Official release post →
  2. Selenium 4.47.0

    Safari BiDi support on Safari Technology Preview; BiDi transport layer and subscription parameters

    • All bindings Generated BiDi elements now link directly to the specification definitions, tightening cross-binding consistency.
    • Java Subscription parameter handling for BiDi events.
    • Infrastructure geckodriver 0.37.1 picked up by Selenium Manager.
    Official release post →
  3. Selenium 4.46.0

    Binding-neutral BiDi schema introduced; JSON parsing hardened

    • All bindings A single BiDi schema now drives generated code in Ruby (and progressively the other bindings), so features land together.
    • Java JSON parsing made RFC compliant, including numbers with exponents.
    • Infrastructure Selenium Manager detects more Firefox flavours.
    Official release post →
  4. Selenium 4.45.0

    Electron app support in Java; high-level Python BiDi network API; Redis session storage bundled in Grid

    • Java New ElectronOptions and ElectronDriver for driving Electron desktop apps; selenium-devtools-latest artifact published; deprecated logging classes removed.
    • Python High-level BiDi network API: request and response handlers, authentication, extra headers. Script module aligned with the cross-binding design.
    • JavaScript DOM atoms (isShown, getAttribute) rewritten in TypeScript and shared with Java and Ruby.
    • .NET Pluggable BiDi transport; download ID tracking on BiDi events; user-facing collections immutable.
    • Ruby curb HTTP client and Chromium Profile deprecated.
    • Grid Redis-backed SessionMap bundled by default plus a Redis SessionQueue; WebSocket proxy gains TCP backpressure.
    Breaking: Java: deprecated logging classes (org.openqa.selenium.logging.*) removed. Migrate to BiDi log handlers or driver service logs.
    Official release post →
  5. Selenium 4.44.0

    Selenium CLI tool introduced; .NET assemblies strongly signed; Redis-backed Distributor

    • Infrastructure A new Selenium CLI tool lands for managing browsers, drivers and Grid from one binary.
    • .NET Main NuGet packages ship strongly signed assemblies; BiDi commands and events statically declared (breaking for low-level BiDi code).
    • Python Switched to generated BiDi files; high-level script execution APIs; Edge service argument for I/O stream inheritance.
    • Java Fixed NoSuchElementException regression for custom By locators; native HttpClient interface methods deprecated.
    • Grid Redis-backed Distributor available as a built-in option for multi-instance high availability.
    Breaking: .NET: low-level BiDi commands and events are statically declared; planned-deprecated members removed.
    Official release post →
  6. Selenium 4.43.0

    Patch release fixing a Grid regression introduced in 4.42

    • Grid Fixes a session-routing regression; upgrade straight to 4.43 if you run Grid.
    Official release post →
  7. Selenium 4.42.0

    BiDi speculation module; .NET BiDi made thread-safe and near allocation-free; Grid command interceptors

    • Java BiDi speculation module; Keys.OPTION is now an alias of ALT and Keys.FN is deprecated; regression in RemoteWebDriver.builder() binary streams fixed.
    • Python Type stubs for lazily imported modules; new module exposing the latest DevTools version.
    • .NET Unified *EventArgs types, BiDi exposed via interfaces, WebDriver is IAsyncDisposable, C# 14.
    • Grid NodeCommandInterceptor for pluggable command interception via --ext; transparent TCP tunnel for WebSocket traffic.
    Official release post →
  8. Selenium 4.41.0

    Native Kubernetes Dynamic Grid, session event API, event-driven video recording

    • Grid KubernetesSessionFactory provisions browser Pods on demand with no Docker sidecar; new POST /session/{id}/se/event endpoint; video recording driven by session events; Traefik replaces NGINX in the Helm chart.
    • All bindings driver.fireSessionEvent / fire_session_event lets tests signal the Grid (for example to keep only failed-test videos).
    • Java JSpecify nullability annotations across BiDi packages; emulation.setScreenSettingsOverride.
    • Python set_screen_settings_override; mypy type checking; lazy imports make import selenium faster.
    • .NET Selenium Manager and driver services start and stop asynchronously (breaking); new Speculation module; CancellationToken support.
    Breaking: .NET: driver service start/stop is now asynchronous. Await the driver factory methods.
    Official release post →
  9. Selenium 4.40.0

    Screen orientation and network condition emulation; Python LocalWebDriver base class; legacy Firefox APIs removed

    • Java BiDi setScreenOrientationOverride and setNetworkConditions; automatic screenshot and page source capture on failure in the reference test harness.
    • Python New LocalWebDriver base class; deprecated FirefoxBinary and FTP proxy support removed.
    • .NET SetScreenSettingsOverrideAsync, FileDialogOpened event, input module exposed; lower memory use in BiDi transport.
    • Grid Smarter container naming in Dynamic Grid; concurrency fixes.
    • Infrastructure Chrome DevTools support for versions 142 to 144.
    Breaking: Python: FirefoxBinary removed. Set options.binary_location instead.
    Official release post →
  10. Selenium 4.39.0

    Final 2025 release; continued BiDi module expansion

    • All bindings Incremental BiDi coverage and dependency refreshes ahead of the 2026 cycle.
    Official release post →
  11. Selenium 4.36.0

    Last release supporting Python 3.9

    • Python Python 3.9 support was ended after this cycle; 4.37+ require Python 3.10 or newer.
    Breaking: Python 3.9 is no longer supported from the next minor release.
    Official release post →
  12. Selenium 4.29.0

    Chrome DevTools Protocol support removed for Firefox

    • All bindings Firefox CDP (deprecated in 4.27 and 4.28) is gone. Use WebDriver BiDi for Firefox network, logging and script features.
    Breaking: Firefox CDP removed. Any driver.getDevTools() usage against Firefox fails; switch to BiDi.
    Official release post →

Earlier 2025 releases (4.28 through 4.38) were monthly increments focused on BiDi coverage, Selenium Manager and dependency updates. See the full release archive.