8000 [build] Prepare for release of Selenium 4.34.0 by selenium-ci · Pull Request #15958 · SeleniumHQ/selenium · GitHub
[go: up one dir, main page]

Skip to content

[build] Prepare for release of Selenium 4.34.0 #15958

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 21 commits into from
Jun 28, 2025
Merged

Conversation

selenium-ci
Copy link
Member
@selenium-ci selenium-ci commented Jun 25, 2025

User description

Warning: Manually update the changelogs before merging

This PR:

  • Updates Pinned browser version to coincide with new CDP release
  • Adds support for new CDP version and removes old CDP version
  • Selenium Manager references the new Selenium Manager release
  • Updates Maven Dependencies
  • Adds new authors to authors file
  • Updates all versions for all bindings
  • Generates rough change logs for each bindings (please tidy them up before merging this)
    • Not all commits need to be in the change log — users do not need to see anything about building or testing Selenium
    • Remove references to updating versions including nightly
    • The code now outputs the complete body of the commit message; make sure the changelog message is complete and correct

PR Type

Other


Description

• Updates Chrome DevTools Protocol (CDP) support from version 135 to 138 across all language bindings (Java, .NET, Python, JavaScript, Ruby)
• Updates all package versions from nightly builds to stable 4.34.0 release across all bindings
• Updates Selenium Manager artifacts to new release version with updated SHA256 hashes
• Adds null safety check for realmType in Java BiDi RealmInfo class to prevent NullPointerException
• Updates browser version references from 137/135 to 138 in test configurations
• Updates changelogs for all language bindings with new features and fixes for v4.34.0
• Updates bug report template and linting configurations
• Adds complete Bazel build configuration for CDP v138 support


Changes walkthrough 📝

Relevant files
Dependencies
14 files
v138Target.java
Update DevTools Target implementation from v135 to v138   

java/src/org/openqa/selenium/devtools/v138/v138Target.java

• Update package declaration from v135 to v138
• Update all import
statements to reference v138 instead of v135
• Rename class from
v135Target to v138Target
• Update all internal references to use v138
namespace

+12/-12 
v138Network.java
Update DevTools Network implementation from v135 to v138 

java/src/org/openqa/selenium/devtools/v138/v138Network.java

• Update package declaration from v135 to v138
• Update all import
statements to reference v138 instead of v135
• Rename class from
v135Network to v138Network
• Update logger name and all internal
references to use v138 namespace

+10/-10 
v138Events.java
Update DevTools Events implementation from v135 to v138   

java/src/org/openqa/selenium/devtools/v138/v138Events.java

• Update package declaration from v135 to v138
• Update all import
statements to reference v138 instead of v135
• Rename class from
v135Events to v138Events
• Update constructor and all internal
references to use v138 namespace

+9/-9     
v138Domains.java
Update DevTools Domains implementation from v135 to v138 

java/src/org/openqa/selenium/devtools/v138/v138Domains.java

• Update package declaration from v135 to v138
• Rename class from
v135Domains to v138Domains
• Update all field declarations and
constructor to use v138 class names
• Update all method
implementations to instantiate v138 classes

+13/-13 
v138Javascript.java
Update DevTools Javascript implementation from v135 to v138

java/src/org/openqa/selenium/devtools/v138/v138Javascript.java

• Update package declaration from v135 to v138
• Update all import
statements to reference v138 instead of v135
• Rename class from
v135Javascript to v138Javascript
• Update constructor to use v138
namespace

+7/-7     
v138Log.java
Update DevTools Log implementation from v135 to v138         

java/src/org/openqa/selenium/devtools/v138/v138Log.java

• Update package declaration from v135 to v138
• Update all import
statements to reference v138 instead of v135
• Rename class from
v135Log to v138Log

+5/-5     
v138CdpInfo.java
Update CDP Info implementation from v135 to v138                 

java/src/org/openqa/selenium/devtools/v138/v138CdpInfo.java

• Update package declaration from v135 to v138
• Rename class from
v135CdpInfo to v138CdpInfo
• Update constructor and CDP version number
from 135 to 138
• Update domains reference to use v138Domains

+4/-4     
V138Network.cs
Update .NET DevTools Network implementation from V135 to V138

dotnet/src/webdriver/DevTools/v138/V138Network.cs

• Update file header comment from V135Network.cs to V138Network.cs

Update namespace from V135 to V138
• Update using statements to
reference V138 instead of V135
• Rename class from V135Network to
V138Network
• Update all internal references to use V138 namespace

+12/-12 
V138Domains.cs
Update .NET DevTools Domains implementation from V135 to V138

dotnet/src/webdriver/DevTools/v138/V138Domains.cs

• Update file header comment from V135Domains.cs to V138Domains.cs

Update namespace from V135 to V138
• Rename class from V135Domains to
V138Domains
• Update DevToolsVersion property from 135 to 138
• Update
all property implementations to use V138 classes

+11/-11 
V138JavaScript.cs
Update .NET DevTools JavaScript implementation from V135 to V138

dotnet/src/webdriver/DevTools/v138/V138JavaScript.cs

• Update file header comment from V135JavaScript.cs to
V138JavaScript.cs
• Update namespace from V135 to V138
• Update using
statements to reference V138 instead of V135
• Rename class from
V135JavaScript to V138JavaScript

+8/-8     
V138Target.cs
Update .NET DevTools Target implementation from V135 to V138

dotnet/src/webdriver/DevTools/v138/V138Target.cs

• Update file header comment from V135Target.cs to V138Target.cs

Update namespace from V135 to V138
• Update using statements to
reference V138 instead of V135
• Rename class from V135Target to
V138Target

+7/-7     
V138Log.cs
Update .NET DevTools Log implementation from V135 to V138

dotnet/src/webdriver/DevTools/v138/V138Log.cs

• Update file header comment from V135Log.cs to V138Log.cs
• Update
namespace from V135 to V138
• Update using statements to reference
V138 instead of V135
• Rename class from V135Log to V138Log

+7/-7     
DevToolsDomains.cs
Update supported DevTools versions from 135 to 138             

dotnet/src/webdriver/DevTools/DevToolsDomains.cs

• Replace version 135 with 138 in SupportedDevToolsVersions array

Update CreateDevToolsDomain method to instantiate V138Domains instead
of V135Domains

+2/-2     
selenium_manager.bzl
Update Selenium Manager artifacts to new release version 

common/selenium_manager.bzl

• Update SHA256 hashes for all three selenium manager binaries (Linux,
macOS, Windows)
• Update download URLs from selenium-manager-de70611
to selenium-manager-0ab9b6d

+6/-6     
Bug fix
1 files
RealmInfo.java
Add null safety check for realmType in RealmInfo                 

java/src/org/openqa/selenium/bidi/script/RealmInfo.java

• Add null check for realmType before calling equals() method

Prevents potential NullPointerException when realmType is null

+1/-1     
Tests
9 files
DevToolsTargetTest.cs
Update DevTools test to use CDP version 138                           

dotnet/test/common/DevTools/DevToolsTargetTest.cs

• Update CurrentCdpVersion alias from V137 to V138
• Update test ID
from 137 to 138

+2/-2     
DevToolsTabsTest.cs
Update DevTools tabs test to use CDP version 138                 

dotnet/test/common/DevTools/DevToolsTabsTest.cs

• Update CurrentCdpVersion alias from V137 to V138

+1/-1     
DevToolsPerformanceTest.cs
Update DevTools performance test to use CDP version 138   

dotnet/test/common/DevTools/DevToolsPerformanceTest.cs

• Update CurrentCdpVersion alias from V137 to V138

+1/-1     
DevToolsProfilerTest.cs
Update DevTools profiler test to use CDP version 138         

dotnet/test/common/DevTools/DevToolsProfilerTest.cs

• Update CurrentCdpVersion alias from V137 to V138

+1/-1     
DevToolsConsoleTest.cs
Update DevTools console test to use CDP version 138           

dotnet/test/common/DevTools/DevToolsConsoleTest.cs

• Update CurrentCdpVersion alias from V137 to V138

+1/-1     
DevToolsLogTest.cs
Update DevTools log test to use CDP version 138                   

dotnet/test/common/DevTools/DevToolsLogTest.cs

• Update CurrentCdpVersion alias from V137 to V138

+1/-1     
DevToolsNetworkTest.cs
Update DevTools network test to use CDP version 138           

dotnet/test/common/DevTools/DevToolsNetworkTest.cs

• Update CurrentCdpVersion alias from V137 to V138

+1/-1     
DevToolsSecurityTest.cs
Update DevTools security test to use CDP version 138         

dotnet/test/common/DevTools/DevToolsSecurityTest.cs

• Update CurrentCdpVersion alias from V137 to V138

+1/-1     
StableChannelChromeDriver.cs
Update Chrome browser version to 138 in test configuration

dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs

• Update BrowserVersion from "137" to "138" in DefaultOptions

+1/-1     
Configuration changes
12 files
__init__.py
Update Python WebDriver version to 4.34.0 release               

py/selenium/webdriver/init.py

• Update __version__ from "4.34.0.202505232017" to "4.34.0"

+1/-1     
__init__.py
Update Python Selenium version to 4.34.0 release                 

py/selenium/init.py

• Update __version__ from "4.34.0.202505232017" to "4.34.0"

+1/-1     
BUILD.bazel
Add Bazel build configuration for CDP v138                             

common/devtools/chromium/v138/BUILD.bazel

• Added complete Bazel build configuration for Chrome DevTools
Protocol v138
• Includes package visibility rules and genrules for
browser_protocol and js_protocol conversion

[link]   
BUILD.bazel
Python version and CDP version updates                                     

py/BUILD.bazel

• Updated SE_VERSION from nightly build to stable 4.34.0 release

Updated BROWSER_VERSIONS to replace v135 with v138 for Chrome CDP
support

+2/-2     
.rubocop.yml
Ruby linting configuration updates                                             

rb/.rubocop.yml

• Added exclusions for Naming/PredicateMethod rule for file_reaper.rb
and socket_poller.rb

+5/-0     
BUILD.bazel
JavaScript version and CDP version updates                             

javascript/selenium-webdriver/BUILD.bazel

• Updated VERSION from nightly build to stable 4.34.0 release

Updated BROWSER_VERSIONS to replace v135 with v138 for Chrome CDP
support

+2/-2     
pyproject.toml
Python package version update to stable release                   

py/pyproject.toml

• Updated Python package version from nightly build to stable 4.34.0
release

+1/-1     
Cargo.toml
Rust selenium-manager version update to stable release     

rust/Cargo.toml

• Updated Rust selenium-manager version from nightly to stable 0.4.34
release

+1/-1     
package.json
JavaScript package version update to stable release           

javascript/selenium-webdriver/package.json

• Updated JavaScript package version from nightly build to stable
4.34.0 release

+1/-1     
BUILD.bazel
Java CDP version update to v138                                                   

java/src/org/openqa/selenium/devtools/v138/BUILD.bazel

• Updated cdp_version variable from v135 to v138 for Chrome DevTools
Protocol support

+1/-1     
BUILD.bazel
Rust build version update to stable release                           

rust/BUILD.bazel

• Updated Rust binary version from nightly to stable 0.4.34 release

+1/-1     
BUILD.bazel
Ruby CDP version update to v138                                                   

rb/lib/selenium/devtools/BUILD.bazel

• Updated CDP_VERSIONS array to replace v135 with v138 for Chrome
DevTools Protocol support

+1/-1     
Documentation
7 files
CHANGELOG
Java changelog update for v4.34.0 release                               

java/CHANGELOG

• Added changelog entries for version 4.34.0 with 23 new features and
fixes
• Includes CDP Chrome 138 support, deprecated class removals,
BiDi improvements, and Grid enhancements

+24/-0   
js_protocol.pdl
Update CDP v138 protocol documentation for buildId field 

common/devtools/chromium/v138/js_protocol.pdl

• Updated buildId field documentation in Debugger domain
• Enhanced
description to include JavaScript debugId magic comment support
alongside Wasm modules

+2/-2     
CHANGELOG
.NET changelog update for v4.34.0 release                               

dotnet/CHANGELOG

• Added changelog entries for .NET v4.34.0 with 14 new features and
fixes
• Includes CDP Chrome 138 support, BiDi improvements, and FTP
proxy deprecation

+15/-0   
bug-report.yml
Update bug report template with latest version                     

.github/ISSUE_TEMPLATE/bug-report.yml

• Updated latest Selenium version reference from 4.33 to 4.34 in bug
report template

+1/-1     
CHANGES
Ruby changelog update for v4.34.0 release                               

rb/CHANGES

• Added Ruby changelog entries for v4.34.0 with CDP Chrome 138 support

• Includes child process fix and FTP proxy deprecation

+6/-0     
CHANGES.md
JavaScript changelog update for v4.34.0 release                   

javascript/selenium-webdriver/CHANGES.md

• Added JavaScript changelog entries for v4.34.0 with CDP Chrome 138
support
• Includes FTP proxy warning and Node.js version requirement
updates

+7/-0     
CHANGELOG.md
Rust changelog update for v0.4.34 release                               

rust/CHANGELOG.md

• Added Rust changelog entries for v0.4.34 with Electron support and
safaridriver bug fixes

+5/-0     
Additional files
14 files < 10000 td>update_copyright.py
AUTHORS +7/-0     
MODULE.bazel +10/-10 
Rakefile +1/-1     
browser_protocol.pdl +640/-74
selenium-dotnet-version.bzl +2/-2     
maven_install.json +138/-101
versions.bzl +1/-1     
version.bzl +1/-1     
CHANGES +24/-0   
conf.py +1/-1     
version.rb +1/-1     
url_pattern.rb +1/-1     
version.rb +1/-1     
+1/-0     

Need help?
  • Type /help how to ... in the comments thread for any questions about Qodo Merge usage.
  • Check out the documentation for more information.
  • @selenium-ci selenium-ci added C-build C-py Python Bindings C-rb Ruby Bindings C-dotnet .NET Bindings C-java Java Bindings C-nodejs JavaScript Bindings B-build Includes scripting, bazel and CI integrations B-devtools Includes everything BiDi or Chrome DevTools related C-rust Rust code is mostly Selenium Manager B-manager Selenium Manager labels Jun 25, 2025
    @diemol diemol marked this pull request as ready for review June 28, 2025 21:43
    @diemol diemol merged commit 2a4c61c into trunk Jun 28, 2025
    42 checks passed
    @diemol diemol deleted the release-preparation-4.34.0 branch June 28, 2025 21:44
    Copy link
    Contributor

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
    🧪 No relevant tests
    🔒 No security concerns identified
    ⚡ Recommended focus areas for review

    Null Safety

    The null check for realmType was added to prevent NullPointerException, but this change could alter the behavior if realmType was previously expected to be non-null. Need to verify if this is a bug fix or if it changes expected behavior.

    if (realmType != null && realmType.equals(RealmType.WINDOW)) {
      return new WindowRealmInfo(
    Logic Change

    The port handling logic was changed from uri.port.to_s || '' to just uri.port.to_s. This removes the fallback to empty string when uri.port.to_s returns nil, which could cause issues if uri.port is nil.

    port: uri.port.to_s,

    Copy link
    Contributor

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Impact
    General
    Use safer equals comparison pattern

    Consider using RealmType.WINDOW.equals(realmType) instead to avoid potential
    null pointer exceptions. This follows the safer pattern of calling equals on the
    constant rather than the potentially null variable.

    java/src/org/openqa/selenium/bidi/script/RealmInfo.java [79]

    -if (realmType != null && realmType.equals(RealmType.WINDOW)) {
    +if (RealmType.WINDOW.equals(realmType)) {
    • Apply / Chat
    Suggestion importance[1-10]: 5

    __

    Why: The suggestion to use RealmType.WINDOW.equals(realmType) is a valid improvement. This "Yoda condition" is a common pattern in Java to prevent NullPointerException concisely. While the PR already fixed the potential NPE by adding a null check, the suggested change is more idiomatic and robust.

    Low
    • More

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    B-build Includes scripting, bazel and CI integrations B-devtools Includes everything BiDi or Chrome DevTools related B-manager Selenium Manager C-build C-dotnet .NET Bindings C-java Java Bindings C-nodejs JavaScript Bindings C-py Python Bindings C-rb Ruby Bindings C-rust Rust code is mostly Selenium Manager Review effort 3/5
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    3 participants
    0