Change8

Migrating to Selenium selenium-4.38.0

Version selenium-4.38.0 introduces 2 breaking changes. This guide details how to update your code.

Released: 10/25/2025

2
Breaking Changes
4
Migration Steps
20
Affected Symbols

⚠️ Check Your Code

If you use any of these symbols, you need to read this guide:

ExecuteMethodorg.openqa.selenium.federatedcredentialorg.openqa.selenium.interactionsorg.openqa.selenium.netCredentialMBeanScriptKeyUnpinnedScriptKeyFileDetectorExpectedConditionResponseSessionIdHttpSessionIdonHistoryUpdatedset_timezone_overrideJsonInclude attribute (dotnet bidi)deprecated Ruby logging classesprism (Ruby gem)ruff (Python formatter)network request handling (Ruby)

Breaking Changes

Issue #1

.NET Bidi DTOs no longer include optional properties via JsonInclude attribute; code must remove JsonInclude usage for optional fields.

Issue #2

Removed deprecated logging classes previously used for log handling in Ruby; any code importing those classes will break.

Migration Steps

  1. 1
    For .NET users, replace any JsonInclude attributes on optional Bidi DTO properties with standard optional handling.
  2. 2
    Ruby users should search for and replace imports of the removed deprecated logging classes.
  3. 3
    Update Ruby projects to use Prism 1.6.0 if they rely on the Prism gem.
  4. 4
    If using Python Bidi, adopt the new `set_timezone_override` command as needed.

Release Summary

Selenium 4.38.0 adds extensive JSpecify annotations, a new Bidi timezone‑override command, dependency bumps, and several bug fixes, with a few breaking removals of deprecated Ruby logging classes and .NET DTO handling.

Need More Details?

View the full release notes and all changes for Selenium selenium-4.38.0.

View Full Changelog