Selenium 4.45.0 - Atoms Migration and Grid Redis Updates

   |   3 minute read   |   Using 507 words

The Selenium project released version 4.45.0 on June 16, 2026, bringing a major update to internal browser atoms and Grid infrastructure. This release focuses on moving core logic to TypeScript and bundling Redis session management for distributed testing environments.

The full release notes and downloads are on the GitHub release page.

TypeScript Atoms Migration

A significant portion of this release involves the ongoing effort to migrate Selenium atoms from Google Closure to TypeScript. Atoms are shared JavaScript snippets that perform low level actions inside the browser. In version 4.45.0, the team migrated the find-elements atom and updated bindings for Java, Ruby, and .NET to use new TypeScript versions for isShown and getAttribute.

This migration improves the maintainability of the core logic that powers all Selenium bindings. By moving away from the older Closure compiler towards modern TypeScript, the project ensures that the fundamental pieces of browser interaction remain compatible with current web standards and development tools.

Grid and Session Management Improvements

For users running large scale test suites, Selenium Grid 4.45.0 now bundles a Redis backed SessionMap by default. This change simplifies the setup for high availability Grid deployments that require a shared state across multiple nodes. Instead of configuring external dependencies manually, operators can use the integrated Redis support to manage session distribution.

The Grid component also received a fix for a pre-handshake race condition in the WebSocket proxy. This addresses stability issues where connections could fail during the initial handshake process when using modern BiDi protocols or legacy WebSockets.

Updates to Language Bindings

Each major language binding received specific improvements and maintenance updates:

  • .NET: The bindings now support deterministic build output and include snupkg files for better debugging. The BiDi implementation adds a Download ID to events, allowing developers to track the beginning and end of file downloads more precisely.
  • Ruby: The maintainers have deprecated support for the curb HTTP client and upgraded the type checking tool to steep 2.0. The project also bumped the required Ruby version to 3.3.9.
  • Java: Deprecated logging classes have been removed to clean up the API. The team also updated several internal dependencies, including a fix for byte-buddy variant selection during dependency updates.
  • JavaScript: The build process for JavaScript bindings has moved closer to a full Bazel implementation, removing some direct npm dependencies in favor of Bazel rules.

Build Infrastructure and Security

The 4.45.0 release includes several “under the hood” changes to the build pipeline. The project now uses trusted publishing from GitHub to the npm registry, increasing the security of the distribution process. The build system has also been bumped to Bazel 9.1.

For .NET developers, the addition of SourceLink support and deterministic builds means that the NuGet packages are easier to audit and debug. These changes align Selenium with modern software supply chain best practices.

Where to get it

You can find the new release on the following pages:

Most language specific package managers like Maven, NuGet, npm, and PyPI will have the updated bindings available shortly.



denis256 at denis256.dev