Skip to content

[grid] close the HttpClient after the session is gone#16182

Merged
joerg1985 merged 1 commit intotrunkfrom
active-session-close-client
Aug 14, 2025
Merged

[grid] close the HttpClient after the session is gone#16182
joerg1985 merged 1 commit intotrunkfrom
active-session-close-client

Conversation

@joerg1985
Copy link
Copy Markdown
Member

@joerg1985 joerg1985 commented Aug 14, 2025

User description

🔗 Related Issues

We had some reports about leaking threads in the Router in the past.

💥 What does this PR do?

Close the HttpClient after use.

🔧 Implementation Notes

💡 Additional Considerations

🔄 Types of changes

  • Cleanup (formatting, renaming)
  • Bug fix (backwards compatible)
  • New feature (non-breaking change which adds functionality and tests!)
  • Breaking change (fix or feature that would cause existing functionality to change)

PR Type

Bug fix


Description

  • Fix HttpClient resource leak in Grid sessions

  • Add proper close() method to ReverseProxyHandler

  • Ensure HttpClient cleanup when sessions end

  • Update session factories to call super.stop()


Diagram Walkthrough

flowchart LR
  Session["Active Session"] -- "calls stop()" --> Handler["ReverseProxyHandler"]
  Handler -- "calls close()" --> Client["HttpClient"]
  Client -- "releases resources" --> Cleanup["Resource Cleanup"]
Loading

File Walkthrough

Relevant files
Bug fix
DefaultActiveSession.java
Implement proper session cleanup                                                 

java/src/org/openqa/selenium/grid/node/DefaultActiveSession.java

  • Change handler type from HttpHandler to ReverseProxyHandler
  • Implement stop() method to call handler.close()
  • Remove unused HttpHandler import
+2/-3     
DriverServiceSessionFactory.java
Fix session stop sequence                                                               

java/src/org/openqa/selenium/grid/node/config/DriverServiceSessionFactory.java

  • Call super.stop() before service.stop()
  • Remove try-with-resources block around fClient
+2/-3     
DockerSession.java
Add parent stop call                                                                         

java/src/org/openqa/selenium/grid/node/docker/DockerSession.java

  • Add super.stop() call after container cleanup
+1/-0     
Documentation
HandleSession.java
Document close behavior                                                                   

java/src/org/openqa/selenium/grid/router/HandleSession.java

  • Add comment explaining why super.close() is not called
  • Preserve HttpClient lifetime for usage counting
+1/-0     
Enhancement
ReverseProxyHandler.java
Add AutoCloseable implementation                                                 

java/src/org/openqa/selenium/grid/web/ReverseProxyHandler.java

  • Implement AutoCloseable interface
  • Add close() method that closes upstream HttpClient
+6/-1     

@selenium-ci selenium-ci added B-grid Everything grid and server related C-java Java Bindings labels Aug 14, 2025
@qodo-code-review
Copy link
Copy Markdown
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

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

Lifecycle Order

Verify that calling handler.close() inside stop() will not prematurely close the underlying HttpClient while in-flight requests are still being processed, especially when stop() is triggered by handling the DELETE request itself.

public void stop() {
  handler.close();
}
Resource Ownership

The custom close() intentionally avoids super.close() to keep the HttpClient alive; confirm that another component is responsible for eventually closing the client to avoid leaks and that usage counting cannot underflow or miss a close on error paths.

@Override
public void close() {
  // must not call super.close() here, to ensure the HttpClient stays alive
  // set the last use here, to ensure we have to calculate the real inactivity of the client
  entry.lastUse = Instant.now();
  entry.inUse.decrementAndGet();
}

@qodo-code-review
Copy link
Copy Markdown
Contributor

qodo-code-review bot commented Aug 14, 2025

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
High-level
Clarify HttpClient ownership

The PR introduces mixed lifecycles for HttpClient: ReverseProxyHandler.close()
now closes the client, but HandleSession's UsageCountingReverseProxyHandler
intentionally avoids super.close() to keep the client alive. This creates
implicit ownership rules that are easy to misuse elsewhere, leading to premature
closes or leaks. Make ownership explicit (e.g., pass a flag or use a
wrapper/ref-counted client) and document/enforce who is responsible for closing
in all handler call sites to avoid future resource lifecycle regressions.

Examples:

java/src/org/openqa/selenium/grid/web/ReverseProxyHandler.java [105-108]
@Override
public void close() {
  upstream.close();
}
java/src/org/openqa/selenium/grid/router/HandleSession.java [91-97]
@Override
public void close() {
  // must not call super.close() here, to ensure the HttpClient stays alive
  // set the last use here, to ensure we have to calculate the real inactivity of the client
  entry.lastUse = Instant.now();
  entry.inUse.decrementAndGet();
}

Solution Walkthrough:

Before:

// Base class always closes the client
public class ReverseProxyHandler implements AutoCloseable {
  private final HttpClient upstream;
  //...
  @Override
  public void close() {
    upstream.close();
  }
}

// Subclass must override to prevent closing a shared client
public class UsageCountingReverseProxyHandler extends ReverseProxyHandler {
  @Override
  public void close() {
    // Intentionally not calling super.close()
    // ...
  }
}

After:

// Ownership is made explicit, preventing misuse
public class ReverseProxyHandler implements AutoCloseable {
  private final HttpClient upstream;
  private final boolean ownsClient;

  public ReverseProxyHandler(HttpClient client, boolean ownsClient) {
    this.upstream = client;
    this.ownsClient = ownsClient;
  }

  @Override
  public void close() {
    if (ownsClient) {
      upstream.close();
    }
  }
}
Suggestion importance[1-10]: 9

__

Why: This suggestion correctly identifies a significant design weakness in the PR regarding HttpClient ownership, which could easily lead to future resource management bugs.

High
Possible issue
Always call super.stop()

Ensure super.stop() is always invoked even if container operations throw, so the
underlying HttpClient is closed. Wrap container cleanup in try/finally with
super.stop() in the finally block.

java/src/org/openqa/selenium/grid/node/docker/DockerSession.java [63-71]

 @Override
 public void stop() {
-  if (videoContainer != null) {
-    videoContainer.stop(Duration.ofSeconds(10));
+  try {
+    if (videoContainer != null) {
+      videoContainer.stop(Duration.ofSeconds(10));
+    }
+    saveLogs();
+    container.stop(Duration.ofMinutes(1));
+  } finally {
+    super.stop();
   }
-  saveLogs();
-  container.stop(Duration.ofMinutes(1));
-  super.stop();
 }

[To ensure code accuracy, apply this suggestion manually]

Suggestion importance[1-10]: 8

__

Why: The suggestion correctly points out a potential resource leak if container.stop() or other methods throw an exception, preventing super.stop() from being called. Using a try/finally block is the correct pattern to ensure the base class cleanup is always executed.

Medium
Make close() idempotent

Guard the close() method against multiple invocations to avoid closing the same
HttpClient instance more than once, which can cause errors if handlers are
reused or closed concurrently. Make close() idempotent with an atomic flag.

java/src/org/openqa/selenium/grid/web/ReverseProxyHandler.java [105-108]

 public class ReverseProxyHandler implements HttpHandler, AutoCloseable {
-...
+  private final HttpClient upstream;
+  private final AtomicBoolean closed = new AtomicBoolean(false);
+  ...
   @Override
   public void close() {
-    upstream.close();
+    if (closed.compareAndSet(false, true)) {
+      upstream.close();
+    }
   }
 }

[To ensure code accuracy, apply this suggestion manually]

Suggestion importance[1-10]: 6

__

Why: The suggestion correctly identifies that the new close() method should be idempotent to prevent errors from multiple invocations, which is a good practice for resource cleanup methods.

Low
General
Handle close exceptions safely

Protect handler.close() with a try/catch to ensure session shutdown cannot be
blocked by an exception during client close, and log the failure. This prevents
resource cleanup (and callers) from failing unexpectedly.

java/src/org/openqa/selenium/grid/node/DefaultActiveSession.java [68-71]

 @Override
 public void stop() {
-  handler.close();
+  try {
+    handler.close();
+  } catch (RuntimeException e) {
+    // Log and continue to avoid blocking shutdown
+    Logger.getLogger(DefaultActiveSession.class.getName())
+          .log(Level.WARNING, "Error closing session handler", e);
+  }
 }
  • Apply / Chat
Suggestion importance[1-10]: 7

__

Why: This is a valid suggestion to improve the robustness of the stop() method by ensuring that an exception from handler.close() does not interrupt the shutdown sequence, which is a common pattern for cleanup logic.

Medium
Learned
best practice
Harden client close behavior

Make the close method resilient by checking for null and handling exceptions so
shutdown doesn’t propagate unexpected failures. This prevents resource leaks and
avoids crashing on cleanup.

java/src/org/openqa/selenium/grid/web/ReverseProxyHandler.java [105-108]

 @Override
 public void close() {
-  upstream.close();
+  if (upstream != null) {
+    try {
+      upstream.close();
+    } catch (Exception e) {
+      // consider logging at FINE level; avoid rethrowing during cleanup
+    }
+  }
 }
  • Apply / Chat
Suggestion importance[1-10]: 6

__

Why:
Relevant best practice - Use proper resource disposal patterns; closing underlying clients should be null-safe and robust against exceptions during shutdown.

Low
  • Update

@joerg1985 joerg1985 force-pushed the active-session-close-client branch from 3bcf237 to dd5d53e Compare August 14, 2025 15:33
@qodo-code-review
Copy link
Copy Markdown
Contributor

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: Test / All RBE tests

Failed stage: Run Bazel [❌]

Failed test name: //rb/spec/integration/selenium/webdriver:action_builder-firefox-remote

Failure summary:

The action failed because the Ruby integration test target
//rb/spec/integration/selenium/webdriver:action_builder-firefox-remote failed consistently (2/2
attempts). The failing example was Selenium::WebDriver::ActionBuilder#scroll_by scrolls by given
amount, which asserted that an element (footer) was in the viewport after scrolling but got false
instead.
- Primary failure:
- File:
rb/spec/integration/selenium/webdriver/action_builder_spec.rb:323 (assertion failure reported at
line 332)
- Message: expected true got false for in_viewport?(footer)
- Related (guarded) errors
shown in the same test log indicate Firefox-specific behavior differences:
-
MoveTargetOutOfBoundsError for scroll actions with targets outside the viewport (e.g., move target
(410, 2913) out of bounds for viewport (1280, 819))
- An UnknownError for pen pointer type
(Unimplemented pointerMove for pointerType pen) — these were marked as pending/guarded and did not
contribute to the suite failure.
Build summary: 1 test failed, all others passed; process exited
with code 3 due to the failed test.

Relevant error logs:
1:  ##[group]Runner Image Provisioner
2:  Hosted Compute Agent
...

945:  Package 'php-sql-formatter' is not installed, so not removed
946:  Package 'php8.3-ssh2' is not installed, so not removed
947:  Package 'php-ssh2-all-dev' is not installed, so not removed
948:  Package 'php8.3-stomp' is not installed, so not removed
949:  Package 'php-stomp-all-dev' is not installed, so not removed
950:  Package 'php-swiftmailer' is not installed, so not removed
951:  Package 'php-symfony' is not installed, so not removed
952:  Package 'php-symfony-asset' is not installed, so not removed
953:  Package 'php-symfony-asset-mapper' is not installed, so not removed
954:  Package 'php-symfony-browser-kit' is not installed, so not removed
955:  Package 'php-symfony-clock' is not installed, so not removed
956:  Package 'php-symfony-debug-bundle' is not installed, so not removed
957:  Package 'php-symfony-doctrine-bridge' is not installed, so not removed
958:  Package 'php-symfony-dom-crawler' is not installed, so not removed
959:  Package 'php-symfony-dotenv' is not installed, so not removed
960:  Package 'php-symfony-error-handler' is not installed, so not removed
961:  Package 'php-symfony-event-dispatcher' is not installed, so not removed
...

1139:  Package 'php-twig-html-extra' is not installed, so not removed
1140:  Package 'php-twig-i18n-extension' is not installed, so not removed
1141:  Package 'php-twig-inky-extra' is not installed, so not removed
1142:  Package 'php-twig-intl-extra' is not installed, so not removed
1143:  Package 'php-twig-markdown-extra' is not installed, so not removed
1144:  Package 'php-twig-string-extra' is not installed, so not removed
1145:  Package 'php8.3-uopz' is not installed, so not removed
1146:  Package 'php-uopz-all-dev' is not installed, so not removed
1147:  Package 'php8.3-uploadprogress' is not installed, so not removed
1148:  Package 'php-uploadprogress-all-dev' is not installed, so not removed
1149:  Package 'php8.3-uuid' is not installed, so not removed
1150:  Package 'php-uuid-all-dev' is not installed, so not removed
1151:  Package 'php-validate' is not installed, so not removed
1152:  Package 'php-vlucas-phpdotenv' is not installed, so not removed
1153:  Package 'php-voku-portable-ascii' is not installed, so not removed
1154:  Package 'php-wmerrors' is not installed, so not removed
1155:  Package 'php-xdebug-all-dev' is not installed, so not removed
...

1775:  (15:35:56) �[32mLoading:�[0m 2 packages loaded
1776:  (15:35:59) �[33mDEBUG: �[0m/home/runner/work/selenium/selenium/deploys/docker/docker.bzl:5:14: Ignoring ports on generated image distributor-image: https://github.com/bazel-contrib/rules_oci/issues/220
1777:  (15:35:59) �[33mDEBUG: �[0m/home/runner/work/selenium/selenium/deploys/docker/docker.bzl:5:14: Ignoring ports on generated image event-bus-image: https://github.com/bazel-contrib/rules_oci/issues/220
1778:  (15:35:59) �[33mDEBUG: �[0m/home/runner/work/selenium/selenium/deploys/docker/docker.bzl:5:14: Ignoring ports on generated image router-image: https://github.com/bazel-contrib/rules_oci/issues/220
1779:  (15:35:59) �[33mDEBUG: �[0m/home/runner/work/selenium/selenium/deploys/docker/docker.bzl:5:14: Ignoring ports on generated image session-map-image: https://github.com/bazel-contrib/rules_oci/issues/220
1780:  (15:35:59) �[33mDEBUG: �[0m/home/runner/work/selenium/selenium/deploys/docker/docker.bzl:5:14: Ignoring ports on generated image session-queue-image: https://github.com/bazel-contrib/rules_oci/issues/220
1781:  (15:35:59) �[33mDEBUG: �[0m/home/runner/work/selenium/selenium/deploys/docker/docker.bzl:5:14: Ignoring ports on generated image chrome-node: https://github.com/bazel-contrib/rules_oci/issues/220
1782:  (15:35:59) �[33mDEBUG: �[0m/home/runner/work/selenium/selenium/deploys/docker/docker.bzl:5:14: Ignoring ports on generated image firefox-node: https://github.com/bazel-contrib/rules_oci/issues/220
1783:  (15:36:02) �[32mLoading:�[0m 242 packages loaded
1784:  currently loading: javascript/atoms ... (11 packages)
1785:  (15:36:06) �[32mAnalyzing:�[0m 2490 targets (253 packages loaded, 0 targets configured)
1786:  (15:36:06) �[32mAnalyzing:�[0m 2490 targets (253 packages loaded, 0 targets configured)
1787:  (15:36:12) �[32mAnalyzing:�[0m 2490 targets (429 packages loaded, 69 targets configured)
1788:  (15:36:16) �[33mDEBUG: �[0m/home/runner/.bazel/external/rules_jvm_external+/private/extensions/maven.bzl:295:14: WARNING: The following maven modules appear in multiple sub-modules with potentially different versions. Consider adding one of these to your root module to ensure consistent versions:
1789:  com.google.code.findbugs:jsr305
1790:  com.google.errorprone:error_prone_annotations
1791:  com.google.guava:guava (versions: 30.1.1-jre, 31.0.1-android)
...

1834:  �[32m[2,170 / 2,265]�[0m Testing //java/src/org/openqa/selenium/json:json-lib-spotbugs; 0s remote, remote-cache ... (50 actions, 0 running)
1835:  (15:37:23) �[32mAnalyzing:�[0m 2490 targets (1642 packages loaded, 61210 targets configured)
1836:  �[32m[3,311 / 4,496]�[0m 89 / 460 tests;�[0m checking cached actions
1837:  (15:37:28) �[32mAnalyzing:�[0m 2490 targets (1650 packages loaded, 61360 targets configured)
1838:  �[32m[3,554 / 5,277]�[0m 89 / 461 tests;�[0m Compiling Java headers java/src/org/openqa/selenium/cli/libcli-hjar.jar (3 source files); 0s remote, remote-cache ... (13 actions, 3 running)
1839:  (15:37:29) �[32mINFO: �[0mFrom Building external/protobuf+/java/core/liblite_runtime_only.jar (93 source files) [for tool]:
1840:  external/protobuf+/java/core/src/main/java/com/google/protobuf/UnsafeUtil.java:270: warning: [removal] AccessController in java.security has been deprecated and marked for removal
1841:  AccessController.doPrivileged(
1842:  ^
1843:  (15:37:29) �[32mINFO: �[0mFrom Compiling src/google/protobuf/compiler/rust/relative_path.cc [for tool]:
1844:  external/protobuf+/src/google/protobuf/compiler/rust/relative_path.cc: In member function ‘std::string google::protobuf::compiler::rust::RelativePath::Relative(const google::protobuf::compiler::rust::RelativePath&) const’:
1845:  external/protobuf+/src/google/protobuf/compiler/rust/relative_path.cc:65:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<absl::lts_20240116::string_view>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
1846:  65 |   for (int i = 0; i < current_segments.size(); ++i) {
1847:  |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~
1848:  (15:37:29) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (63 source files):
1849:  java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1850:  private final ErrorCodes errorCodes;
1851:  ^
1852:  java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1853:  this.errorCodes = new ErrorCodes();
1854:  ^
1855:  java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1856:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
1857:  ^
1858:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1859:  ErrorCodes errorCodes = new ErrorCodes();
1860:  ^
1861:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1862:  ErrorCodes errorCodes = new ErrorCodes();
1863:  ^
1864:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1865:  response.setStatus(ErrorCodes.SUCCESS);
1866:  ^
1867:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1868:  response.setState(ErrorCodes.SUCCESS_STRING);
1869:  ^
1870:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1871:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
1872:  ^
1873:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1874:  new ErrorCodes().getExceptionType((String) rawError);
1875:  ^
1876:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1877:  private final ErrorCodes errorCodes = new ErrorCodes();
1878:  ^
1879:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1880:  private final ErrorCodes errorCodes = new ErrorCodes();
1881:  ^
1882:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:55: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1883:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
1884:  ^
1885:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:101: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1886:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
1887:  ^
1888:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:103: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1889:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
1890:  ^
1891:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:117: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1892:  response.setStatus(ErrorCodes.SUCCESS);
1893:  ^
1894:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:118: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1895:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
1896:  ^
1897:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:124: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1898:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
1899:  ^
1900:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1901:  private final ErrorCodes errorCodes = new ErrorCodes();
1902:  ^
1903:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1904:  private final ErrorCodes errorCodes = new ErrorCodes();
1905:  ^
1906:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:93: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1907:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
1908:  ^
1909:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:98: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1910:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
1911:  ^
1912:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:145: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1913:  response.setStatus(ErrorCodes.SUCCESS);
1914:  ^
1915:  (15:37:33) �[32mAnalyzing:�[0m 2490 targets (1658 packages loaded, 61403 targets configured)
1916:  �[32m[6,320 / 7,557]�[0m 94 / 801 tests;�[0m Extracting npm package @mui/icons-material@5.15.18_60647716; 3s remote, remote-cache ... (7 actions, 4 running)
1917:  (15:37:38) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/action_test.html -> javascript/atoms/test/action_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1918:  (15:37:38) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/attribute_test.html -> javascript/atoms/test/attribute_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1919:  (15:37:38) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/child_locator_test.html -> javascript/atoms/test/child_locator_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1920:  (15:37:38) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/click_link_test.html -> javascript/atoms/test/click_link_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1921:  (15:37:38) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/click_submit_test.html -> javascript/atoms/test/click_submit_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1922:  (15:37:38) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/click_test.html -> javascript/atoms/test/click_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1923:  (15:37:38) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/clientrect_test.html -> javascript/atoms/test/clientrect_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1924:  (15:37:38) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/color_test.html -> javascript/atoms/test/color_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1925:  (15:37:38) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/deps.js -> javascript/atoms/test/deps.js obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1926:  (15:37:38) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/dom_test.html -> javascript/atoms/test/dom_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1927:  (15:37:38) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/drag_test.html -> javascript/atoms/test/drag_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1928:  (15:37:38) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/enabled_test.html -> javascript/atoms/test/enabled_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1929:  (15:37:38) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/enter_submit_test.html -> javascript/atoms/test/enter_submit_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1930:  (15:37:38) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/error_test.html -> javascript/atoms/test/error_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1931:  (15:37:38) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/events_test.html -> javascript/atoms/test/events_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
...

2150:  external/protobuf+/java/core/src/main/java/com/google/protobuf/RepeatedFieldBuilderV3.java:28: warning: [dep-ann] deprecated item is not annotated with @Deprecated
2151:  public class RepeatedFieldBuilderV3<
2152:  ^
2153:  (15:37:44) �[32mINFO: �[0mFrom PackageZip javascript/grid-ui/react-zip.jar:
2154:  /mnt/engflow/worker/work/0/exec/bazel-out/k8-opt-exec-ST-a934f86a68ba/bin/external/rules_pkg+/pkg/private/zip/build_zip.runfiles/rules_python++python+python_3_9_x86_64-unknown-linux-gnu/lib/python3.9/zipfile.py:1522: UserWarning: Duplicate name: 'grid-ui/'
2155:  return self._open_to_write(zinfo, force_zip64=force_zip64)
2156:  (15:37:48) �[32mAnalyzing:�[0m 2490 targets (1675 packages loaded, 61686 targets configured)
2157:  �[32m[10,328 / 11,417]�[0m 100 / 1831 tests;�[0m [Prepa] Creating source manifest for //dotnet/test/common:BiDi/Input/DefaultMouseTest-chrome ... (12 actions, 6 running)
2158:  (15:37:53) �[32mAnalyzing:�[0m 2490 targets (1675 packages loaded, 61746 targets configured)
2159:  �[32m[10,705 / 11,745]�[0m 101 / 1836 tests;�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver/edge:profile-edge ... (47 actions, 1 running)
2160:  (15:37:58) �[32mAnalyzing:�[0m 2490 targets (1678 packages loaded, 61788 targets configured)
2161:  �[32m[10,935 / 12,034]�[0m 119 / 1907 tests;�[0m Testing //rb/spec/unit/selenium/webdriver/remote:capabilities; 3s remote, remote-cache ... (45 actions, 4 running)
2162:  (15:38:03) �[32mAnalyzing:�[0m 2490 targets (1678 packages loaded, 62030 targets configured)
2163:  �[32m[11,145 / 12,279]�[0m 131 / 1914 tests;�[0m Building java/src/org/openqa/selenium/grid/node/config/libconfig.jar (4 source files) and running annotation processors (AutoServiceProcessor); 7s remote, remote-cache ... (49 actions, 5 running)
2164:  (15:38:08) �[32mAnalyzing:�[0m 2490 targets (1684 packages loaded, 62036 targets configured)
2165:  �[32m[11,177 / 12,404]�[0m 138 / 1967 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:error-firefox-bidi; 7s remote, remote-cache ... (50 actions, 0 running)
2166:  (15:38:13) �[32mAnalyzing:�[0m 2490 targets (1685 packages loaded, 62072 targets configured)
2167:  �[32m[11,190 / 12,459]�[0m 140 / 1985 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/remote:driver-edge; 11s remote, remote-cache ... (50 actions, 1 running)
2168:  (15:38:18) �[32mAnalyzing:�[0m 2490 targets (1685 packages loaded, 62072 targets configured)
2169:  �[32m[11,273 / 12,533]�[0m 171 / 1985 tests;�[0m [Sched] Building java/test/org/openqa/selenium/grid/node/relay/RelaySessionFactoryTest.jar (1 source file); 15s ... (50 actions, 1 running)
2170:  (15:38:23) �[32mAnalyzing:�[0m 2490 targets (1688 packages loaded, 63763 targets configured)
2171:  �[32m[11,468 / 12,763]�[0m 203 / 1998 tests;�[0m [Sched] Building java/test/org/openqa/selenium/grid/node/relay/RelaySessionFactoryTest.jar (1 source file); 20s ... (48 actions, 1 running)
2172:  (15:38:28) �[32mAnalyzing:�[0m 2490 targets (1690 packages loaded, 64278 targets configured)
2173:  �[32m[11,734 / 13,045]�[0m 284 / 2011 tests;�[0m [Sched] Building java/test/org/openqa/selenium/grid/node/relay/RelaySessionFactoryTest.jar (1 source file); 25s ... (50 actions, 1 running)
2174:  (15:38:30) �[32mINFO: �[0mFrom Compiling webdriver-net8.0 (internals ref-only dll):
2175:  dotnet/src/webdriver/BiDi/Script/RemoteValue.cs(255,31): warning CS8766: Nullability of reference types in return type of 'string? NodeRemoteValue.SharedId.get' doesn't match implicitly implemented member 'string ISharedReference.SharedId.get' (possibly because of nullability attributes).
2176:  dotnet/src/webdriver/Command.cs(171,2): warning CS3016: Arrays as attribute arguments is not CLS-compliant
2177:  dotnet/src/webdriver/Response.cs(207,2): warning CS3016: Arrays as attribute arguments is not CLS-compliant
2178:  (15:38:31) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/ErrorHandlerTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
2179:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:79: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2180:  handler.throwIfResponseFailed(createResponse(ErrorCodes.SUCCESS), 100);
2181:  ^
2182:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:85: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2183:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
2184:  ^
2185:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:86: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2186:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
2187:  ^
2188:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:87: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2189:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
2190:  ^
2191:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:88: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2192:  assertThrowsCorrectExceptionType(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
2193:  ^
2194:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:90: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2195:  ErrorCodes.METHOD_NOT_ALLOWED, UnsupportedCommandException.class);
2196:  ^
2197:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:92: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2198:  ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
2199:  ^
2200:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:94: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2201:  ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
2202:  ^
2203:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:95: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2204:  assertThrowsCorrectExceptionType(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
2205:  ^
2206:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2207:  Response response = createResponse(ErrorCodes.UNHANDLED_ERROR);
2208:  ^
2209:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:120: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2210:  createResponse(ErrorCodes.UNHANDLED_ERROR, "boom"), 123))
2211:  ^
2212:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:133: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2213:  createResponse(ErrorCodes.UNHANDLED_ERROR, ImmutableMap.of("message", "boom")),
2214:  ^
2215:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:147: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2216:  ErrorCodes.UNHANDLED_ERROR,
2217:  ^
2218:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:167: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2219:  ErrorCodes.UNHANDLED_ERROR,
2220:  ^
2221:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:193: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2222:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
2223:  ^
2224:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:214: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2225:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2226:  ^
2227:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:248: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2228:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2229:  ^
2230:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:280: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2231:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2232:  ^
2233:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:308: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2234:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2235:  ^
2236:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:327: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2237:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2238:  ^
2239:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:355: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2240:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2241:  ^
2242:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:394: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2243:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2244:  ^
2245:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:426: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2246:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
2247:  ^
2248:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:435: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2249:  exceptions.put(ErrorCodes.NO_SUCH_SESSION, NoSuchSessionException.class);
2250:  ^
2251:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:436: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2252:  exceptions.put(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
2253:  ^
2254:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:437: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2255:  exceptions.put(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
2256:  ^
2257:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:438: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2258:  exceptions.put(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
2259:  ^
2260:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:439: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2261:  exceptions.put(ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
2262:  ^
2263:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:440: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2264:  exceptions.put(ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
2265:  ^
2266:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2267:  exceptions.put(ErrorCodes.UNHANDLED_ERROR, WebDriverException.class);
2268:  ^
2269:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:442: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2270:  exceptions.put(ErrorCodes.JAVASCRIPT_ERROR, JavascriptException.class);
2271:  ^
2272:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:443: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2273:  exceptions.put(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
2274:  ^
2275:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:444: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2276:  exceptions.put(ErrorCodes.TIMEOUT, TimeoutException.class);
2277:  ^
2278:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:445: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2279:  exceptions.put(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
2280:  ^
2281:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:446: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2282:  exceptions.put(ErrorCodes.INVALID_COOKIE_DOMAIN, InvalidCookieDomainException.class);
2283:  ^
2284:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:447: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2285:  exceptions.put(ErrorCodes.UNABLE_TO_SET_COOKIE, UnableToSetCookieException.class);
2286:  ^
2287:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:448: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2288:  exceptions.put(ErrorCodes.UNEXPECTED_ALERT_PRESENT, UnhandledAlertException.class);
2289:  ^
2290:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:449: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2291:  exceptions.put(ErrorCodes.NO_ALERT_PRESENT, NoAlertPresentException.class);
2292:  ^
2293:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:450: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2294:  exceptions.put(ErrorCodes.ASYNC_SCRIPT_TIMEOUT, ScriptTimeoutException.class);
2295:  ^
2296:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:451: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2297:  exceptions.put(ErrorCodes.INVALID_SELECTOR_ERROR, InvalidSelectorException.class);
2298:  ^
2299:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:452: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2300:  exceptions.put(ErrorCodes.SESSION_NOT_CREATED, SessionNotCreatedException.class);
2301:  ^
2302:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:453: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2303:  exceptions.put(ErrorCodes.MOVE_TARGET_OUT_OF_BOUNDS, MoveTargetOutOfBoundsException.class);
2304:  ^
2305:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2306:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR, InvalidSelectorException.class);
2307:  ^
2308:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:455: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2309:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR_RETURN_TYPER, InvalidSelectorException.class);
2310:  ^
2311:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:469: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2312:  ? ErrorCodes.INVALID_SELECTOR_ERROR
2313:  ^
2314:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:471: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2315:  assertThat(new ErrorCodes().toStatusCode(e)).isEqualTo(expected);
2316:  ^
2317:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:483: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2318:  response.setState(new ErrorCodes().toState(status));
2319:  ^
...

2327:  dotnet/src/webdriver/DevTools/v139/V139Network.cs(292,117): warning CS8601: Possible null reference assignment.
2328:  dotnet/src/webdriver/DevTools/v139/V139Network.cs(320,90): warning CS8601: Possible null reference assignment.
2329:  dotnet/src/webdriver/WebDriver.cs(53,15): warning CS8618: Non-nullable field 'network' must contain a non-null value when exiting constructor. Consider declaring the field as nullable.
2330:  dotnet/src/webdriver/Proxy.cs(121,13): warning CS0618: 'Proxy.FtpProxy' is obsolete: 'FTP proxy support is deprecated and will be removed in the 4.37 version.'
2331:  dotnet/src/webdriver/BiDi/Network/BaseParametersEventArgs.cs(27,38): warning CS8604: Possible null reference argument for parameter 'Context' in 'BrowsingContextEventArgs.BrowsingContextEventArgs(BiDi BiDi, BrowsingContext Context)'.
2332:  dotnet/src/webdriver/DevTools/v138/V138Network.cs(149,25): warning CS8601: Possible null reference assignment.
2333:  dotnet/src/webdriver/DevTools/v138/V138Network.cs(194,25): warning CS8601: Possible null reference assignment.
2334:  dotnet/src/webdriver/DevTools/v138/V138Network.cs(235,88): warning CS8601: Possible null reference assignment.
2335:  dotnet/src/webdriver/DevTools/v138/V138Network.cs(292,117): warning CS8601: Possible null reference assignment.
2336:  dotnet/src/webdriver/DevTools/v138/V138Network.cs(320,90): warning CS8601: Possible null reference assignment.
2337:  dotnet/src/webdriver/DevTools/v137/V137Network.cs(149,25): warning CS8601: Possible null reference assignment.
2338:  dotnet/src/webdriver/DevTools/v137/V137Network.cs(194,25): warning CS8601: Possible null reference assignment.
2339:  dotnet/src/webdriver/DevTools/v137/V137Network.cs(235,88): warning CS8601: Possible null reference assignment.
2340:  dotnet/src/webdriver/DevTools/v137/V137Network.cs(292,117): warning CS8601: Possible null reference assignment.
2341:  dotnet/src/webdriver/DevTools/v137/V137Network.cs(320,90): warning CS8601: Possible null reference assignment.
2342:  dotnet/src/webdriver/DriverService.cs(336,22): warning CS1572: XML comment has a param tag for 'isError', but there is no parameter by that name
2343:  (15:38:33) �[32mINFO: �[0mAnalyzed 2490 targets (1691 packages loaded, 65281 targets configured).
2344:  (15:38:33) �[32m[12,072 / 14,189]�[0m 440 / 2490 tests;�[0m [Sched] Building java/test/org/openqa/selenium/grid/node/relay/RelaySessionFactoryTest.jar (1 source file); 30s ... (50 actions, 3 running)
2345:  (15:38:36) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/RemotableByTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
2346:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2347:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
2348:  ^
2349:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2350:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
2351:  ^
2352:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2353:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
2354:  ^
2355:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2356:  private final ErrorCodes errorCodes = new ErrorCodes();
2357:  ^
2358:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2359:  private final ErrorCodes errorCodes = new ErrorCodes();
2360:  ^
2361:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2362:  private final ErrorCodes errorCodes = new ErrorCodes();
2363:  ^
2364:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2365:  private final ErrorCodes errorCodes = new ErrorCodes();
2366:  ^
2367:  (15:38:38) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/libsmall-tests-test-lib.jar (5 source files) and running annotation processors (AutoServiceProcessor):
2368:  java/test/org/openqa/selenium/remote/WebDriverFixture.java:170: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2369:  response.setStatus(new ErrorCodes().toStatus(state, Optional.of(400)));
2370:  ^
2371:  (15:38:38) �[32m[13,368 / 14,845]�[0m 532 / 2490 tests;�[0m [Sched] Building java/test/org/openqa/selenium/grid/node/relay/RelaySessionFactoryTest.jar (1 source file); 35s ... (50 actions, 2 running)
2372:  (15:38:39) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.jar (1 source file):
2373:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:26: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2374:  import static org.openqa.selenium.remote.ErrorCodes.METHOD_NOT_ALLOWED;
2375:  ^
2376:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:55: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2377:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.SUCCESS);
2378:  ^
2379:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:81: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2380:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
2381:  ^
2382:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2383:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
2384:  ^
2385:  (15:38:41) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/json/JsonTest.jar (1 source file):
2386:  java/test/org/openqa/selenium/json/JsonTest.java:430: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2387:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
2388:  ^
2389:  java/test/org/openqa/selenium/json/JsonTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2390:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
2391:  ^
2392:  java/test/org/openqa/selenium/json/JsonTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2393:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(32));
2394:  ^
...

2402:  dotnet/src/webdriver/DevTools/v139/V139Network.cs(194,25): warning CS8601: Possible null reference assignment.
2403:  dotnet/src/webdriver/DevTools/v139/V139Network.cs(235,88): warning CS8601: Possible null reference assignment.
2404:  dotnet/src/webdriver/DevTools/v139/V139Network.cs(292,117): warning CS8601: Possible null reference assignment.
2405:  dotnet/src/webdriver/DevTools/v139/V139Network.cs(320,90): warning CS8601: Possible null reference assignment.
2406:  dotnet/src/webdriver/DevTools/v137/V137Network.cs(149,25): warning CS8601: Possible null reference assignment.
2407:  dotnet/src/webdriver/DevTools/v137/V137Network.cs(194,25): warning CS8601: Possible null reference assignment.
2408:  dotnet/src/webdriver/DevTools/v137/V137Network.cs(235,88): warning CS8601: Possible null reference assignment.
2409:  dotnet/src/webdriver/DevTools/v137/V137Network.cs(292,117): warning CS8601: Possible null reference assignment.
2410:  dotnet/src/webdriver/DevTools/v137/V137Network.cs(320,90): warning CS8601: Possible null reference assignment.
2411:  dotnet/src/webdriver/DevTools/v138/V138Network.cs(149,25): warning CS8601: Possible null reference assignment.
2412:  dotnet/src/webdriver/DevTools/v138/V138Network.cs(194,25): warning CS8601: Possible null reference assignment.
2413:  dotnet/src/webdriver/DevTools/v138/V138Network.cs(235,88): warning CS8601: Possible null reference assignment.
2414:  dotnet/src/webdriver/DevTools/v138/V138Network.cs(292,117): warning CS8601: Possible null reference assignment.
2415:  dotnet/src/webdriver/DevTools/v138/V138Network.cs(320,90): warning CS8601: Possible null reference assignment.
2416:  dotnet/src/webdriver/Proxy.cs(121,13): warning CS0618: 'Proxy.FtpProxy' is obsolete: 'FTP proxy support is deprecated and will be removed in the 4.37 version.'
2417:  dotnet/src/webdriver/DriverService.cs(336,22): warning CS1572: XML comment has a param tag for 'isError', but there is no parameter by that name
2418:  (15:38:41) �[32mINFO: �[0mFrom Compiling webdriver-netstandard2.0 (internals ref-only dll):
...

2562:  (15:47:57) �[32m[15,517 / 16,730]�[0m 1134 / 2490 tests;�[0m Testing //dotnet/test/common:ExecutingJavascriptTest-firefox; 171s remote, remote-cache ... (50 actions, 36 running)
2563:  (15:48:03) �[32m[15,532 / 16,744]�[0m 1136 / 2490 tests;�[0m Testing //dotnet/test/common:ExecutingJavascriptTest-firefox; 176s remote, remote-cache ... (50 actions, 35 running)
2564:  (15:48:08) �[32m[15,538 / 16,748]�[0m 1138 / 2490 tests;�[0m Testing //dotnet/test/common:ExecutingJavascriptTest-firefox; 181s remote, remote-cache ... (50 actions, 37 running)
2565:  (15:48:13) �[32m[15,555 / 16,763]�[0m 1141 / 2490 tests;�[0m Testing //dotnet/test/common:ExecutingJavascriptTest-firefox; 187s remote, remote-cache ... (50 actions, 38 running)
2566:  (15:48:18) �[32m[15,577 / 16,773]�[0m 1153 / 2490 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox-remote; 139s remote, remote-cache ... (50 actions, 35 running)
2567:  (15:48:23) �[32m[15,597 / 16,796]�[0m 1159 / 2490 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox-remote; 144s remote, remote-cache ... (50 actions, 34 running)
2568:  (15:48:28) �[32m[15,625 / 16,821]�[0m 1167 / 2490 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox-remote; 149s remote, remote-cache ... (50 actions, 34 running)
2569:  (15:48:33) �[32m[15,651 / 16,832]�[0m 1182 / 2490 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox-remote; 154s remote, remote-cache ... (50 actions, 31 running)
2570:  (15:48:39) �[32m[15,663 / 16,839]�[0m 1188 / 2490 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox-remote; 160s remote, remote-cache ... (50 actions, 31 running)
2571:  (15:48:44) �[32m[15,691 / 16,872]�[0m 1191 / 2490 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox-remote; 165s remote, remote-cache ... (50 actions, 32 running)
2572:  (15:48:49) �[32m[15,704 / 16,887]�[0m 1194 / 2490 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox-remote; 170s remote, remote-cache ... (50 actions, 30 running)
2573:  (15:48:54) �[32m[15,707 / 16,890]�[0m 1194 / 2490 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox-remote; 175s remote, remote-cache ... (50 actions, 32 running)
2574:  (15:48:59) �[32m[15,712 / 16,894]�[0m 1198 / 2490 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox-remote; 180s remote, remote-cache ... (50 actions, 36 running)
2575:  (15:49:04) �[32m[15,742 / 16,918]�[0m 1207 / 2490 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox-remote; 185s remote, remote-cache ... (50 actions, 31 running)
2576:  (15:49:05) �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:action_builder-firefox-remote (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/action_builder-firefox-remote/test.log)
2577:  �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver:action_builder-firefox-remote (Summary)
2578:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/action_builder-firefox-remote/test.log
...

2609:  #context_click
2610:  right clicks an element
2611:  executes with equivalent pointer methods
2612:  #move_to
2613:  moves to element
2614:  moves to element with offset
2615:  #drag_and_drop
2616:  moves one element to another
2617:  #drag_and_drop_by
2618:  moves one element a provided distance
2619:  #move_to_location
2620:  moves pointer to specified coordinates
2621:  pen stylus
2622:  sets pointer event properties (PENDING: Test guarded; Guarded by {browser: :firefox, reason: "Unknown pointerType"};)
2623:  #scroll_to
2624:  scrolls to element (PENDING: Test guarded; Guarded by {browser: :firefox, reason: "incorrect MoveTargetOutOfBoundsError"};)
2625:  #scroll_by
2626:  scrolls by given amount (FAILED - 1)
2627:  #scroll_from
2628:  scrolls from element by given amount (PENDING: Test guarded; Guarded by {browser: [:firefox, :safari], reason: "incorrect MoveTargetOutOfBoundsError"};)
2629:  scrolls from element by given amount with offset (PENDING: Test guarded; Guarded by {browser: [:firefox, :safari], reason: "incorrect MoveTargetOutOfBoundsError"};)
2630:  raises MoveTargetOutOfBoundsError when origin offset from element is out of viewport
2631:  scrolls by given amount with offset
2632:  raises MoveTargetOutOfBoundsError when origin offset is out of viewport
2633:  Pending: (Failures listed here are expected and do not affect your suite's status)
2634:  1) Selenium::WebDriver::ActionBuilder pen stylus sets pointer event properties
2635:  # Test guarded; Guarded by {browser: :firefox, reason: "Unknown pointerType"};
2636:  Failure/Error: actions.perform
2637:  Selenium::WebDriver::Error::UnknownError:
2638:  Error: Unimplemented pointerMove for pointerType pen
2639:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in 'add_cause'
2640:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in 'error'
2641:  # ./rb/lib/selenium/webdriver/remote/response.rb:52:in 'assert_ok'
2642:  # ./rb/lib/selenium/webdriver/remote/response.rb:34:in 'initialize'
2643:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in 'create_response'
2644:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in 'request'
2645:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in 'call'
2646:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in 'execute'
2647:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in 'send_actions'
2648:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in 'perform'
2649:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:283:in 'block in WebDriver'
2650:  # ------------------
2651:  # --- Caused by: ---
2652:  # Selenium::WebDriver::Error::WebDriverError:
2653:  #   pointerMove@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2416:11
2654:  performPointerMoveStep@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1636:31
2655:  dispatch/<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1603:20
2656:  moveOverTime/transitions<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2343:9
2657:  2) Selenium::WebDriver::ActionBuilder#scroll_to scrolls to element
2658:  # Test guarded; Guarded by {browser: :firefox, reason: "incorrect MoveTargetOutOfBoundsError"};
2659:  Failure/Error: driver.action.scroll_to(iframe).perform
2660:  Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
2661:  Move target (410, 2913) is out of bounds of viewport dimensions (1280, 819)
2662:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in 'add_cause'
2663:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in 'error'
2664:  # ./rb/lib/selenium/webdriver/remote/response.rb:52:in 'assert_ok'
2665:  # ./rb/lib/selenium/webdriver/remote/response.rb:34:in 'initialize'
2666:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in 'create_response'
2667:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in 'request'
2668:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in 'call'
2669:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in 'execute'
2670:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in 'send_actions'
2671:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in 'perform'
2672:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:316:in 'block in WebDriver'
2673:  # ------------------
2674:  # --- Caused by: ---
2675:  # Selenium::WebDriver::Error::WebDriverError:
2676:  #   RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
2677:  WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5
2678:  MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5
2679:  assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11
2680:  #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17
2681:  receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42
2682:  3) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount
2683:  # Test guarded; Guarded by {browser: [:firefox, :safari], reason: "incorrect MoveTargetOutOfBoundsError"};
2684:  Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform
2685:  Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
2686:  Move target (410, 2913) is out of bounds of viewport dimensions (1280, 819)
2687:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in 'add_cause'
2688:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in 'error'
2689:  # ./rb/lib/selenium/webdriver/remote/response.rb:52:in 'assert_ok'
2690:  # ./rb/lib/selenium/webdriver/remote/response.rb:34:in 'initialize'
2691:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in 'create_response'
2692:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in 'request'
2693:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in 'call'
2694:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in 'execute'
2695:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in 'send_actions'
2696:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in 'perform'
2697:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:343:in 'block in WebDriver'
2698:  # ------------------
2699:  # --- Caused by: ---
2700:  # Selenium::WebDriver::Error::WebDriverError:
2701:  #   RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
2702:  WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5
2703:  MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5
2704:  assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11
2705:  #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17
2706:  receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42
2707:  4) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount with offset
2708:  # Test guarded; Guarded by {browser: [:firefox, :safari], reason: "incorrect MoveTargetOutOfBoundsError"};
2709:  Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform
2710:  Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
2711:  Move target (640, 2967) is out of bounds of viewport dimensions (1280, 819)
2712:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in 'add_cause'
2713:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in 'error'
2714:  # ./rb/lib/selenium/webdriver/remote/response.rb:52:in 'assert_ok'
2715:  # ./rb/lib/selenium/webdriver/remote/response.rb:34:in 'initialize'
2716:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in 'create_response'
2717:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in 'request'
2718:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in 'call'
2719:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in 'execute'
2720:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in 'send_actions'
2721:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in 'perform'
2722:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:357:in 'block in WebDriver'
2723:  # ------------------
2724:  # --- Caused by: ---
2725:  # Selenium::WebDriver::Error::WebDriverError:
2726:  #   RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
2727:  WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5
2728:  MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5
2729:  assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11
2730:  #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17
2731:  receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42
2732:  Failures:
2733:  1) Selenium::WebDriver::ActionBuilder#scroll_by scrolls by given amount
2734:  Failure/Error: expect(in_viewport?(footer)).to be true
2735:  expected true
2736:  got false
2737:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:332:in 'block in WebDriver'
2738:  Finished in 1 minute 0.31 seconds (files took 2.6 seconds to load)
2739:  27 examples, 1 failure, 4 pending
2740:  Failed examples:
2741:  rspec ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:323 # Selenium::WebDriver::ActionBuilder#scroll_by scrolls by given amount
...

2772:  #context_click
2773:  right clicks an element
2774:  executes with equivalent pointer methods
2775:  #move_to
2776:  moves to element
2777:  moves to element with offset
2778:  #drag_and_drop
2779:  moves one element to another
2780:  #drag_and_drop_by
2781:  moves one element a provided distance
2782:  #move_to_location
2783:  moves pointer to specified coordinates
2784:  pen stylus
2785:  sets pointer event properties (PENDING: Test guarded; Guarded by {browser: :firefox, reason: "Unknown pointerType"};)
2786:  #scroll_to
2787:  scrolls to element (PENDING: Test guarded; Guarded by {browser: :firefox, reason: "incorrect MoveTargetOutOfBoundsError"};)
2788:  #scroll_by
2789:  scrolls by given amount (FAILED - 1)
2790:  #scroll_from
2791:  scrolls from element by given amount (PENDING: Test guarded; Guarded by {browser: [:firefox, :safari], reason: "incorrect MoveTargetOutOfBoundsError"};)
2792:  scrolls from element by given amount with offset (PENDING: Test guarded; Guarded by {browser: [:firefox, :safari], reason: "incorrect MoveTargetOutOfBoundsError"};)
2793:  raises MoveTargetOutOfBoundsError when origin offset from element is out of viewport
2794:  scrolls by given amount with offset
2795:  raises MoveTargetOutOfBoundsError when origin offset is out of viewport
2796:  Pending: (Failures listed here are expected and do not affect your suite's status)
2797:  1) Selenium::WebDriver::ActionBuilder pen stylus sets pointer event properties
2798:  # Test guarded; Guarded by {browser: :firefox, reason: "Unknown pointerType"};
2799:  Failure/Error: actions.perform
2800:  Selenium::WebDriver::Error::UnknownError:
2801:  Error: Unimplemented pointerMove for pointerType pen
2802:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in 'add_cause'
2803:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in 'error'
2804:  # ./rb/lib/selenium/webdriver/remote/response.rb:52:in 'assert_ok'
2805:  # ./rb/lib/selenium/webdriver/remote/response.rb:34:in 'initialize'
2806:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in 'create_response'
2807:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in 'request'
2808:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in 'call'
2809:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in 'execute'
2810:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in 'send_actions'
2811:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in 'perform'
2812:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:283:in 'block in WebDriver'
2813:  # ------------------
2814:  # --- Caused by: ---
2815:  # Selenium::WebDriver::Error::WebDriverError:
2816:  #   pointerMove@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2416:11
2817:  performPointerMoveStep@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1636:31
2818:  dispatch/<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1603:20
2819:  moveOverTime/transitions<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2343:9
2820:  2) Selenium::WebDriver::ActionBuilder#scroll_to scrolls to element
2821:  # Test guarded; Guarded by {browser: :firefox, reason: "incorrect MoveTargetOutOfBoundsError"};
2822:  Failure/Error: driver.action.scroll_to(iframe).perform
2823:  Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
2824:  Move target (410, 2913) is out of bounds of viewport dimensions (1280, 819)
2825:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in 'add_cause'
2826:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in 'error'
2827:  # ./rb/lib/selenium/webdriver/remote/response.rb:52:in 'assert_ok'
2828:  # ./rb/lib/selenium/webdriver/remote/response.rb:34:in 'initialize'
2829:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in 'create_response'
2830:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in 'request'
2831:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in 'call'
2832:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in 'execute'
2833:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in 'send_actions'
2834:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in 'perform'
2835:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:316:in 'block in WebDriver'
2836:  # ------------------
2837:  # --- Caused by: ---
2838:  # Selenium::WebDriver::Error::WebDriverError:
2839:  #   RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
2840:  WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5
2841:  MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5
2842:  assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11
2843:  #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17
2844:  receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42
2845:  3) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount
2846:  # Test guarded; Guarded by {browser: [:firefox, :safari], reason: "incorrect MoveTargetOutOfBoundsError"};
2847:  Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform
2848:  Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
2849:  Move target (410, 2913) is out of bounds of viewport dimensions (1280, 819)
2850:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in 'add_cause'
2851:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in 'error'
2852:  # ./rb/lib/selenium/webdriver/remote/response.rb:52:in 'assert_ok'
2853:  # ./rb/lib/selenium/webdriver/remote/response.rb:34:in 'initialize'
2854:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in 'create_response'
2855:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in 'request'
2856:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in 'call'
2857:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in 'execute'
2858:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in 'send_actions'
2859:  # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in 'perform'
2860:  # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:343:in 'block in WebDriver'
2861:  # ------------------
2862:  # --- Caused by: ---
2863:  # Selenium::WebDriver::Error::WebDriverError:
2864:  #   RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
2865:  WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5
2866:  MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5
2867:  assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11
2868:  #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17
2869:  receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42
2870:  4) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount with offset
2871:  # Test guarded; Guarded by {browser: [:firefox, :safari], reason: "incorrect MoveTargetOutOfBoundsError"};
2872:  Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform
2873:  Selenium::WebDriver::Error::MoveTargetOutOfBoundsError:
2874:  Move target (640, 2967) is out of bounds of viewport dimensions (1280, 819)
2875:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in 'add_cause'
2876:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in 'error'
2877:  # ./rb/lib/selenium/webdriver/remote/response.rb:52:in 'assert_ok'
2878:  # ./rb/lib/selenium/webdriver/remote/response.rb:34:in 'initialize'
2879:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in 'create_response'
2880:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in 'request'
2881:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in 'call'
2882:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in 'execute'
2883:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in 'send_actions'
2884:  # ./rb/lib/selenium/webdriver/...

@joerg1985 joerg1985 merged commit 992c1cd into trunk Aug 14, 2025
31 of 32 checks passed
@joerg1985 joerg1985 deleted the active-session-close-client branch August 14, 2025 19:28
This was referenced Oct 2, 2025
PhilipWoulfe pushed a commit to PhilipWoulfe/F1Competition that referenced this pull request Mar 16, 2026
Updated [Selenium.Support](https://github.com/SeleniumHQ/selenium) from
4.31.0 to 4.41.0.

<details>
<summary>Release notes</summary>

_Sourced from [Selenium.Support's
releases](https://github.com/SeleniumHQ/selenium/releases)._

## 4.41.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>

<!-- Release notes generated using configuration in .github/release.yml
at selenium-4.41.0 -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [py] Remove type stub packages from runtime dependencies by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16945
* Canonical approach to supporting AI agent directions by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/16735
* [build] Pre-release workflow improvements by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16946
* [build] Prevent nightly releases during release window by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16948
* [build] Fix Bazel NuGet push implementation by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16950
* [build] Release workflow improvements by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16947
* [build] Fix Bazel JSDocs implementation by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16949
* [build] Create config files from environment variables for publishing
by @​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16951
* [js] create task to update dependencies by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16942
* [build] Java release improvements and build verification tasks by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16952
* [py] integrate mypy type checking with Bazel by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16958
* [build] Migrate workflows to use centralized bazel.yml by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16955
* [dotnet] [bidi] Simplify context aware command options by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16954
* [build] simplify release.yml: remove draft, build once during publish
by @​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16960
* [dotnet] [bidi] AOT safe json converter for `Input.Origin` class by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16962
* [dotnet] [bidi] AOT safe json converter for `OptionalConverter` by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16963
* [dotnet] [bidi] Null guard for event handlers by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16967
* [java] Improve error message for died grid by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16938
* [build] combine pre-release dependency updates by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16973
* [rb] remove stored atoms these get generated by build by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16971
* [dotnet] [bidi] Unignore some internal tests by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16968
* [build] run ruff on python files outside py directory by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16957
* [py] Fix return type hint for `alert_is_present` by @​nemowang2003 in
https://github.com/SeleniumHQ/selenium/pull/16975
* Replace hardcoded bazel-selenium references with dynamic path
resolution by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16976
* No More CrazyFun! by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16972
* [build] Remove update_gh_pages in favor of CI workflow by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16977
* [build] Remove legacy rake helpers and unused code by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/16978
* [py] make bazel test target names consistent with other languages by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16969
* [dotnet] [bidi] Fix namespace for Permissions module by @​nvborisenko
in https://github.com/SeleniumHQ/selenium/pull/16981
* [dotnet] [bidi] Hide Broker as internal implementation by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16982
* [dotnet] [bidi] Refactor BiDi module initialization to pass BiDi
explicitly by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16983
* [build] Add DocFX updater script by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16980
* [build] add reusable commit-changes.yml workflow by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16965
* [java] fix JSON parsing of numbers with exponent by @​joerg1985 in
https://github.com/SeleniumHQ/selenium/pull/16961
* [build] Skip macOS-only archive rules on unsupported platforms by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16985
* [build] Split Rakefile into per-language task files by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/16979
* Implement fast bazel target lookup with index caching by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16974
* [build] Remove git.add() calls from rake tasks by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16994
* [js] Add eslint binary target for selenium-webdriver by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/16992
 ... (truncated)

## 4.40.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>


<!-- Release notes generated using configuration in .github/release.yml
at trunk -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [dotnet] Modernize `EnvironmentManager`, standardize assembly teardown
by @​RenderMichael in https://github.com/SeleniumHQ/selenium/pull/15551
* [java] Refactor tests by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16684
* [ci]: bump cargo lockfile by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/16698
* [java][BiDi] change emulation commands return type to void by
@​Delta456 in https://github.com/SeleniumHQ/selenium/pull/16699
* [java] simplify strings processing by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/15309
* Fix few more flaky ruby tests by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16695
* [bazel] Switch to custom `closure_js_deps` rule by @​shs96c in
https://github.com/SeleniumHQ/selenium/pull/16571
* [dotnet] [bidi] Support SetScreenSettingsOverrideAsync method in
Emulation module by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16704
* [dotnet] Modernize code patterns in test suites by @​RenderMichael in
https://github.com/SeleniumHQ/selenium/pull/16701
* use proper AssertJ asserts that generate a useful error message by
@​asolntsev in https://github.com/SeleniumHQ/selenium/pull/16707
* fix Java language level in IDEA by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16708
* [py] Properly verify Selenium Manager exists by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16711
* fix flaky Ruby test `element_spec.rb` by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16709
* [java][BiDi] implement `emulation.setScreenOrientationOverride` by
@​Delta456 in https://github.com/SeleniumHQ/selenium/pull/16705
* [rb] add synchronization and error handling for socket interactions by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16487
* [rb] mark low level bidi implementation as private api by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16475
* [rb] ensure driver process is always stopped by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/15635
* [rb] create user-friendly method for enabling bidi by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/14284
* [dotnet] [bidi] Added missing Script.RemoteReference LocaclValue type
by @​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16717
* [dotnet] Standardize `IEquatable<T>` implementations across types
overriding Equals by @​RenderMichael in
https://github.com/SeleniumHQ/selenium/pull/16665
* [dotnet] Fix nullability warnings in `WebDriver` by @​RenderMichael in
https://github.com/SeleniumHQ/selenium/pull/16662
* [py] Don't compare object identity in conftest by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16723
* #​16720 avoid failing because of temporary Chrome internal files by
@​asolntsev in https://github.com/SeleniumHQ/selenium/pull/16722
* [rb] Add force encoding to remove warnings caused by json 3.0 by
@​aguspe in https://github.com/SeleniumHQ/selenium/pull/16728
* [py] Remove deprecated FTP proxy support by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16721
* [py] Bump ruff and mypy versions by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16737
* Create target directories before copying file by @​MohabMohie in
https://github.com/SeleniumHQ/selenium/pull/16739
* [bazel+closure]: Vendor the version of closure library we use by
@​shs96c in https://github.com/SeleniumHQ/selenium/pull/16742
* [closure] Fix failing `//javascript/atoms:test-*` targets by @​shs96c
in https://github.com/SeleniumHQ/selenium/pull/16749
* Avoid sleep in tests by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16713
* [bazel] Bump `rules_closure` and google closure libary to latest
release by @​shs96c in https://github.com/SeleniumHQ/selenium/pull/16755
* [refactor] call WebDriverException constructor instead of using
reflection by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16763
* [build] Pin Browsers in Bazel by default by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16743
* [build] build selenium manager for tests by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16736
* [refactor] replace JUnit assertions by AssertJ by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16765
* [py] Add LocalWebDriver base class by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16730
* Fix bug in FileHandler: it always failed on MacOS by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16771
* [java] add missing bazel artifacts by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16773
 ... (truncated)

## 4.39.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>


<!-- Release notes generated using configuration in .github/release.yml
at trunk -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [atoms] fix text node children are always considered as displayed
#​16284 by @​joerg1985 in
https://github.com/SeleniumHQ/selenium/pull/16329
* [grid] Enhance UI with theme integration and improved status
indicators by @​VietND96 in
https://github.com/SeleniumHQ/selenium/pull/16512
* [py][bidi]: add emulation command - `set_locale_override` by
@​navin772 in https://github.com/SeleniumHQ/selenium/pull/16504
* [py][bidi]: add emulation command `set_scripting_enabled` by
@​navin772 in https://github.com/SeleniumHQ/selenium/pull/16513
* [py] Update docstrings to google pydoc format by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16511
* [java][BiDi] implement `browsingContext.downloadEnd` event by
@​Delta456 in https://github.com/SeleniumHQ/selenium/pull/16347
* Fix typo and minor formatting changes in README.md by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16523
* [py] Update docstrings (remove reST leftovers and resolve D200) by
@​iampopovich in https://github.com/SeleniumHQ/selenium/pull/16525
* [py] Fix docstring formatting and apply ruff linting rules by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16527
* [py] Fix Ruff D417 warnings in docstrings by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16535
* [py] Fix ruff D415 warnings in docstrings by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16536
* [py][bidi]: add `set_screen_orientation_override` command in Emulation
by @​navin772 in https://github.com/SeleniumHQ/selenium/pull/16522
* [py] Fix D205 ruff warnings for docstrings and add type hints by
@​iampopovich in https://github.com/SeleniumHQ/selenium/pull/16537
* [py][bidi]: add `set_download_behavior` command by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/16556
* [py] Bump pytest and dev dependencies by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16572
* [bazel] Move `rules_rust` to `bzlmod` by @​shs96c in
https://github.com/SeleniumHQ/selenium/pull/16566
* [ci] Make a PR for updating mirror file instead of pushing directly to
trunk by @​bonigarcia in
https://github.com/SeleniumHQ/selenium/pull/16579
* [ci] Update mirror info (2025-11-11T15:26:46Z) by
@​github-actions[bot] in
https://github.com/SeleniumHQ/selenium/pull/16578
* [ci] Revert latest changes related to the mirror workflow by
@​bonigarcia in https://github.com/SeleniumHQ/selenium/pull/16580
* [java]: refactor request interception tests and handle CORS by
@​navin772 in https://github.com/SeleniumHQ/selenium/pull/16585
* [py][bidi]: enable download event tests for firefox by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/16587
* [py] Fix more type annotations by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16551
* [java][BiDi] implement `emulation.setTimezoneOverride` by @​Delta456
in https://github.com/SeleniumHQ/selenium/pull/16530
* [grid] Minimum Docker API 1.44 for Docker Engine v29+ in Dynamic Grid
by @​VietND96 in https://github.com/SeleniumHQ/selenium/pull/16591
* Show file modification time by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16589
* [py][bidi]: add emulation command `set_user_agent_override` by
@​navin772 in https://github.com/SeleniumHQ/selenium/pull/16595
* [grid] Improve Docker client for Dynamic Grid by @​VietND96 in
https://github.com/SeleniumHQ/selenium/pull/16596
* [py]: reuse driver in case of bidi tests by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/16597
* [grid] Improve browser container labels and naming in Dynamic Grid by
@​VietND96 in https://github.com/SeleniumHQ/selenium/pull/16599
* [build] Upgrade rules_dotnet to 0.20.5 by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16592
* [dotnet] [bidi] Simplify namespace for communications by @​nvborisenko
in https://github.com/SeleniumHQ/selenium/pull/16602
* [py] Improve type hints with union syntax and native types by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16590
* [py] Use double quotes in generate.py by @​Delta456 in
https://github.com/SeleniumHQ/selenium/pull/16607
* [ci] Use pagination in mirror workflow to get all Selenium releases by
@​bonigarcia in https://github.com/SeleniumHQ/selenium/pull/16605
* [dotnet] Generate atoms statically by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16608
* [nodejs] Update dev dependencies to fix vulnerabilities by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/16610
* [java][BiDi] emulation: allow passing null to GeolocationOverride by
@​Delta456 in https://github.com/SeleniumHQ/selenium/pull/16594
* [grid] Update container label `compose.oneoff` in Dynamic Grid by
@​VietND96 in https://github.com/SeleniumHQ/selenium/pull/16613
 ... (truncated)

## 4.38.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>


<!-- Release notes generated using configuration in .github/release.yml
at trunk -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [dotnet] [bidi] Avoid using JsonInclude attribute to include optional
property for DTO by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16413
* [rb] Bump prism to 1.6.0 by @​Earlopain in
https://github.com/SeleniumHQ/selenium/pull/16450
* [java] JSpecify annotations for `ExecuteMethod` by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/16464
* [rb] Fix Network issue by removing nil values on network requests by
@​aguspe in https://github.com/SeleniumHQ/selenium/pull/16442
* [py] Replaced :param: and :args: from docstrings by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16469
* [java] JSpecify annotations for `org.openqa.selenium.federatedcredent…
by @​mk868 in https://github.com/SeleniumHQ/selenium/pull/16461
* [java] JSpecify annotations for `org.openqa.selenium.interactions` by
@​mk868 in https://github.com/SeleniumHQ/selenium/pull/16462
* [java][rb] Remove cruft from old Travis CI environment by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/16473
* [java] JSpecify annotations for `org.openqa.selenium.net` by @​mk868
in https://github.com/SeleniumHQ/selenium/pull/16463
* [rb] remove deprecated classes for previous implementation of log han…
by @​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16474
* [build] minimize number of ruby targets run with bidi by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16477
* [java] JSpecify annotations for `Credential` and `MBean` by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/16481
* [java] JSpecify annotations for `ScriptKey` and `UnpinnedScriptKey` by
@​mk868 in https://github.com/SeleniumHQ/selenium/pull/16483
* [java] JSpecify annotations for `FileDetector` by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/16482
* [java] JSpecify annotations for `ExpectedCondition` by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/16489
* [java] JSpecify annotations for `Response` `SessionId` `HttpSessionId`
by @​mk868 in https://github.com/SeleniumHQ/selenium/pull/16490
* [rb][build] improve ruby local_dev generation by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16495
* [build] removing test_tag_filter tag that isn't being used anywhere by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16496
* [rb][build] disable dev shm for Chrome and Edge on RBE by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16497
* [rb] update syntax with rspec linter by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16498
* [java][bidi]: add test for `onHistoryUpdated` event by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/16293
* [py] Bump version of ruff formatter/linter by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16502
* [rust] Fixe Edge version test by @​bonigarcia in
https://github.com/SeleniumHQ/selenium/pull/16501
* [py][bidi]: add `set_timezone_override` command in emulation by
@​navin772 in https://github.com/SeleniumHQ/selenium/pull/16500
* [py] Cleanup and convert more doctrings to google-style by
@​iampopovich in https://github.com/SeleniumHQ/selenium/pull/16503
* [build] fix update-documentation workflow by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16505
* fix workflows for updating documentation from stage release by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16506

</details>

**Full Changelog**:
https://github.com/SeleniumHQ/selenium/compare/selenium-4.37.0...selenium-4.38.0

## 4.37.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>


<!-- Release notes generated using configuration in .github/release.yml
at trunk -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [py] Re-add defaults for Chromium kwargs by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16372
* Splitting stress tests by @​diemol in
https://github.com/SeleniumHQ/selenium/pull/16374
* [rb] Update Chrome/Edge args for test environment by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16376
* [dotnet] [bidi] Emulation module by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16380
* [py] Remove old test xfail markers from Travis CI by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16377
* [dotnet] [bidi] Implement browsing context download events by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16382
* [dotnet] [bidi] Support browser SetDownloadBehaviour command by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16383
* [dotnet] [bidi] Support network SetExtraHeaders command by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16384
* [py][build] Python CI - add unit test job and windows integration
tests to GH runners by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16362
* [java] Linux ARM "os.arch" system property is "aarch64" by @​mkurz in
https://github.com/SeleniumHQ/selenium/pull/16381
* [dotnet] [bidi] AOT safe enums serialization by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16386
* [dotnet] Handle negative zero BiDi response by @​RenderMichael in
https://github.com/SeleniumHQ/selenium/pull/15898
* [dotnet] Move JSON converter attributes from centralized options into
their respective types by @​RenderMichael in
https://github.com/SeleniumHQ/selenium/pull/16393
* [py] Fix Selenium Manager tests on Windows by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16391
* [py] Fix chromedriver/msedgedriver service tests by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16395
* [dotnet] [bidi] Modules as extensions by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16392
* [dotnet] [bidi] Provide type info immediately when serializing by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16397
* [bidi] [dotnet] Use events JsonTypeInfo for deserialization by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16402
* [dotnet] Replace lazy caching mechanism in BiDi's constructor with
simple initialization by @​RenderMichael in
https://github.com/SeleniumHQ/selenium/pull/16399
* [py][build] Re-add Windows to CI workflows by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16396
* [dotnet] Help more .NETFramework projects to copy SM binaries to
output by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16406
* [dotnet] [bidi] Specific result type for any command by @​nvborisenko
in https://github.com/SeleniumHQ/selenium/pull/16405
* [dotnet] [bidi] Deserialize message fast instead of defer it by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16403
* [dotnet] [bidi] Remove IEnumerable of command results by @​nvborisenko
in https://github.com/SeleniumHQ/selenium/pull/16219
* [dotnet] Remove obsoleted FtpProxy by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16411
* [py] Configure WebSocket timeout and wait interval via ClientConfig by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16248
* [java] Rescuing the remote cause for session creation errors by
@​diemol in https://github.com/SeleniumHQ/selenium/pull/16418
* [py] Add test for BiDi request handlers with classic navigation by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16421
* [java] NullAway added by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/16416
* [java] feat: Add native Java 11 HTTP client methods to HttpClient
interface by @​manuelsblanco in
https://github.com/SeleniumHQ/selenium/pull/16412
* [py] Raise NotImplementedError when deleting downloads in driver
subclass by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16423
* [java] refactor(remote/command): Merge overload's business logic by
@​nnnnoel in https://github.com/SeleniumHQ/selenium/pull/14469
* [py] Fix default rpId in virtual authenticator by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16428
* make augmentation of HasBiDi/HasDevTools lazy-loaded by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16338
* [py] Update docstrings style by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16427
* [py] Support Python 3.14 and drop Python 3.9 by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16342
* Removing FF guard for canListenToDownloadWillBeginEvent by @​diemol in
https://github.com/SeleniumHQ/selenium/pull/16439
* Adapting the browser_protocol file fetching to the file structure
change. by @​diemol in https://github.com/SeleniumHQ/selenium/pull/16440
 ... (truncated)

## 4.36.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>


<!-- Release notes generated using configuration in .github/release.yml
at trunk -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [py]: close ipv6 port in case of error by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/16165
* [docs] Update issue label in CONTRIBUTING.md by @​pallavigitwork in
https://github.com/SeleniumHQ/selenium/pull/16169
* [py][docs]: update dead API docs link to API reference in `index.rst`
by @​navin772 in https://github.com/SeleniumHQ/selenium/pull/16170
* [grid] close the HttpClient after the session is gone by @​joerg1985
in https://github.com/SeleniumHQ/selenium/pull/16182
* [py] Update docstring and comments in keys.py by @​Aidoni0797 in
https://github.com/SeleniumHQ/selenium/pull/16187
* [dotnet] [bidi] Simplify type naming of internal command parameters by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16188
* [py] Fix formatting by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16189
* [dotnet] [bidi] Support WebExtension module by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15850
* [rb][BiDi] Create browser module, added user context related methods
by @​aguspe in https://github.com/SeleniumHQ/selenium/pull/15371
* [docs] Update bug report section in CONTRIBUTING.md by
@​pallavigitwork in https://github.com/SeleniumHQ/selenium/pull/16191
* [dotnet] Adding flag to enable SafariDriver logging. by @​diemol in
https://github.com/SeleniumHQ/selenium/pull/16196
* [java] extend the scope of the properties of the HttpCommandExecutor
class by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16186
* [dotnet] [bidi] Serialize base64 encoded string directly to bytes by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16203
* [dotnet] [bidi] Make cookie expiry as TimeSpan by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16204
* [grid] Improve readTimeout in handle session between Router and Node
by @​VietND96 in https://github.com/SeleniumHQ/selenium/pull/16163
* [py] Fix type annotation error and raise clearer error message by
@​Paresh-0007 in https://github.com/SeleniumHQ/selenium/pull/16174
* [java] Unifying select class by @​vicky-iv in
https://github.com/SeleniumHQ/selenium/pull/16220
* [rust] Update dependency rules_cc to v0.2.0 by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/16198
* [js] Update testing-library monorepo by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/16173
* [js] Update dependency tmp to ^0.2.5 by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/16172
* [dotnet] Update dependency System.Text.Json to 8.0.6 by
@​renovate[bot] in https://github.com/SeleniumHQ/selenium/pull/16171
* [js] Update dependency react-router-dom to v6.30.1 by @​renovate[bot]
in https://github.com/SeleniumHQ/selenium/pull/16076
* [js] Update material-ui monorepo to v5.18.0 by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/16062
* [js] Update dependency ws to ^8.18.3 by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/16009
* [js] Update react monorepo by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/15949
* [java] Update dependency net.bytebuddy:byte-buddy to v1.17.7 by
@​renovate[bot] in https://github.com/SeleniumHQ/selenium/pull/16237
* [py] Update dependency charset-normalizer to v3.4.3 by @​renovate[bot]
in https://github.com/SeleniumHQ/selenium/pull/16239
* [py] Update dependency cryptography to v45.0.6 by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/16240
* Revert "[py] Update dependency charset-normalizer to v3.4.3" by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16242
* Revert "[py] Update dependency cryptography to v45.0.6" by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/16243
* [py] Bump dependencies for dev and fix script by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16244
* [dotnet] Help old .net framework copy selenium manager to output by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16228
* [java] Add hooks around getScreenshotAs in WebDriverListener #​16232
by @​giulong in https://github.com/SeleniumHQ/selenium/pull/16233
* [py][bidi]: enable `history_updated` event test by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/16236
* [py] Bump ruff version for linting/formatting by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16254
* [py][bidi]: use bidi `navigate` command in network tests by @​navin772
in https://github.com/SeleniumHQ/selenium/pull/16251
* [dotnet] Fix find port for IPv4 only environments by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16216
* [dotnet] [bidi] Adjust cookie expiry type according spec (unix
seconds) by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16218
 ... (truncated)

## 4.35.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>



<!-- Release notes generated using configuration in .github/release.yml
at 1c58e5028bc5eaa94b12b856c2d4a87efa5363f5 -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [dotnet] [bidi] Get tree command returns GetTreeResult object by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/15978
* [dotnet] [bidi] Initialize internal modules without Lazy by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/15979
* [py] Bump dependencies for building distribution wheel by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/15977
* bump zip version 2.6.1 -> 4.2.0 by @​MRTamalampudi in
https://github.com/SeleniumHQ/selenium/pull/15980
* [py][bidi]: add note for `enable_webextensions = False` by @​navin772
in https://github.com/SeleniumHQ/selenium/pull/15981
* [py][bidi]: add high level API for script module - `pin`, `unpin` and
`execute` by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15936
* [py][java][rb][ci]: use pinned browsers in CI by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15987
* [java] Remove deprecated AppCacheStatus enum from the HTML5 package by
@​iampopovich in https://github.com/SeleniumHQ/selenium/pull/15973
* [java] Feat 14291/jspecify nullable annotation edge driver service by
@​iampopovich in https://github.com/SeleniumHQ/selenium/pull/15972
* [java] Fix Unicode value for OPTION key in Keys enum by @​iampopovich
in https://github.com/SeleniumHQ/selenium/pull/15966
* [dotnet][java][js][py][rb][rust] Update rules_jvm_external digest to
aca619b by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/15951
* [java] Removing old stream collectors required by Java 8 by @​zodac in
https://github.com/SeleniumHQ/selenium/pull/15523
* [java] Use static Patterns for regex-matching by @​zodac in
https://github.com/SeleniumHQ/selenium/pull/15499
* [java] Point made as immutable by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/15511
* [java] Feat 14291/jspecify nullable annotation chrome driver såervice
by @​iampopovich in https://github.com/SeleniumHQ/selenium/pull/15998
* [py] Bump dev dependencies by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16002
* [grid] Add "URI" to the list of sort-by choices on Overview UI by
@​VietND96 in https://github.com/SeleniumHQ/selenium/pull/16004
* [java] Add @​Nullable annotations to Firefox and Gecko driver service
by @​iampopovich in https://github.com/SeleniumHQ/selenium/pull/15999
* [java] Add JSpecify nullable annotations to SafariDriverService
parameters by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16000
* [java] Add @​Nullable annotations to InternetExplorerDriverService
parameters by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16001
* use generics for AbstractFindByBuilder to avoid excessive casting by
@​asolntsev in https://github.com/SeleniumHQ/selenium/pull/15526
* [js] Update dependency @​emotion/styled to v11.14.1 by @​renovate[bot]
in https://github.com/SeleniumHQ/selenium/pull/15997
* [rust] Update which from 7.0.3 to 8.0.0 by @​musicinmybrain in
https://github.com/SeleniumHQ/selenium/pull/15965
* Fix various typos by @​noritaka1166 in
https://github.com/SeleniumHQ/selenium/pull/16012
* [java] JSpecify annotations for By locators by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/14372
* Fix email address in .mailmap by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16017
* Fix typos in javascript & rb by @​noritaka1166 in
https://github.com/SeleniumHQ/selenium/pull/16019
* [java] JSpecify annotations for capabilities by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/14397
* Fix various typos in comments by @​noritaka1166 in
https://github.com/SeleniumHQ/selenium/pull/16022
* [dotnet] Fix typos by @​noritaka1166 in
https://github.com/SeleniumHQ/selenium/pull/16032
* [dotnet] [bidi] Add UnhandledPromptBehavior option to create User
Context by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16034
* [py] Fix path in unit test so it works cross-platform by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/16033
* [py][bidi]: implement bidi module - emulation by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15819
* [py] Fix API doc generation script and include BiDi Emulation docs by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16037
* [py] Allow free_port() to bind to IPv6 if IPv4 is unavailable by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16003
* [build] Update base URL for Edge web driver by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16057
* [rust] Update base URL for Edge web driver by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16056
 ... (truncated)

## 4.34.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>



<!-- Release notes generated using configuration in .github/release.yml
at 2a4c61c498207b17cdb2f5f987c7c71dca146c2d -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [ci] Clear warning from Grid UI component tests by @​VietND96 in
https://github.com/SeleniumHQ/selenium/pull/15783
* [py] Fix pytest_ignore_collect hook to respect --ignore by @​mgorny in
https://github.com/SeleniumHQ/selenium/pull/15787
* [py] Increase timeout in devtools test by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15793
* [py] Upgrade type hints by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15784
* [dotnet] [bidi] Add AcceptInsecureCerts and Proxy options when create
new user context by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15795
* [grid] Silent fail on invalid log level by @​Oxilod in
https://github.com/SeleniumHQ/selenium/pull/15796
* Bump setup-bazel action by @​p0deje in
https://github.com/SeleniumHQ/selenium/pull/15802
* Don't silence stderr in format.sh by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15804
* [dotnet] [bidi] Declare allowed nullable objects in constructors type
by @​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/15809
* Fix type error for attribute in remote_connection.py by @​Bradltr95 in
https://github.com/SeleniumHQ/selenium/pull/15810
* [py] Lint Python with ruff by @​p0deje in
https://github.com/SeleniumHQ/selenium/pull/15811
* fixed error in selenium/webdriver/common/bidi/common.py:19 by
@​pallavigitwork in https://github.com/SeleniumHQ/selenium/pull/15814
* [py] Fix import for type hint by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15817
* [py] Bump ruff version by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15818
* [dotnet] [bidi] Simplify modules namespace for end users (breaking
change) by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15820
* [dotnet] Remove unnecessary stylecop files by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15824
* [py] Lint and format all python files by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15828
* [py][bidi]: add `enable_webextensions` option for chromium-based
browsers by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15794
* [py] Auto-generate Python API docs from code by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15822
* [py] Fix python API docs publishing at readthedocs by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15832
* Change flag for Chrome/Edge headless mode in tests by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15831
* [py] Cleanup tox config by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15833
* [rb] Add support for beta chrome by @​aguspe in
https://github.com/SeleniumHQ/selenium/pull/15417
* Revert "[rb] Add support for beta chrome" by @​aguspe in
https://github.com/SeleniumHQ/selenium/pull/15837
* [py] Fix: Mypy type annotation errors by @​ShauryaDusht in
https://github.com/SeleniumHQ/selenium/pull/15841
* [py] New script to update Python dependencies by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15845
* fixed errors in browser.py for 15697 by @​pallavigitwork in
https://github.com/SeleniumHQ/selenium/pull/15847
* [py][bidi]: implement bidi permissions module by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15830
* [py] Regeneratee py/docs/source/api.rst by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15856
* [dotnet] Align CS projects name to understand the editing context by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/15843
* [py][bidi]: enable edge bidi storage test - `test_get_all_cookies` by
@​navin772 in https://github.com/SeleniumHQ/selenium/pull/15859
* Caching the size/length in loops to slightly improve performance by
@​LuisOsv in https://github.com/SeleniumHQ/selenium/pull/15852
* Update exceptions.py by @​adolfoarmas in
https://github.com/SeleniumHQ/selenium/pull/15862
* Revert "Update exceptions.py" by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15864
* [py] Re-apply #​15862 by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15865
* [py] fix driver_element_finding_tests.py by @​Delta456 in
https://github.com/SeleniumHQ/selenium/pull/15863
* [py] Fix another broken test by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15866
 ... (truncated)

## 4.33.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>



<!-- Release notes generated using configuration in .github/release.yml
at 2c6aaad03a575cd93e4f063f91404e3ae66a7470 -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [py] Exclude devtools directory from type checking by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15695
* [py] Add clean_options fixture and remove all Python tests from
.skipped-tests by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15696
* [java][bidi]: enable tests for storage module for edge by @​navin772
in https://github.com/SeleniumHQ/selenium/pull/15667
* [py][bidi]: add bidi storage module by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15669
* [build] allow GitHub Actions runner to use 4GB for JVM Heap by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/15692
* update old freenode channel link to libera by @​t7ru in
https://github.com/SeleniumHQ/selenium/pull/15698
* fixing mypy error from #​15693 by @​bandophahita in
https://github.com/SeleniumHQ/selenium/pull/15705
* [java] Removing deprecated items in Require.java by @​diemol in
https://github.com/SeleniumHQ/selenium/pull/15711
* [java] Removing RemoteStatus as it was deprecated. by @​diemol in
https://github.com/SeleniumHQ/selenium/pull/15712
* [rb] move all guard and zipper tests to unit tests by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/15717
* [rust] Replace WMIC commands (deprecated) by WinAPI in Windows by
@​bonigarcia in https://github.com/SeleniumHQ/selenium/pull/15363
* [py][BiDi] use constant for LogLevel by @​Delta456 in
https://github.com/SeleniumHQ/selenium/pull/15677
* Let firefox choose the bidi port by default by @​tomhughes in
https://github.com/SeleniumHQ/selenium/pull/15727
* [rb] Upgrade to Ruby 3.2 by @​p0deje in
https://github.com/SeleniumHQ/selenium/pull/15714
* [py] Missing Headers Assignment in Network Class’s _on_request() by
@​shbenzer in https://github.com/SeleniumHQ/selenium/pull/15736
* [py] correct type annotations of default-None params by
@​DeflateAwning in https://github.com/SeleniumHQ/selenium/pull/15341
* [py] Add missing 'id' property to ShadowRoot class by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15739
* [py] Bump Python package requirements to latest versions by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/15731
* [py] Use ruff for linting and code formatting by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15746
* [py]: return `message` as part of exception in `execute` method by
@​navin772 in https://github.com/SeleniumHQ/selenium/pull/15751
* [py][tests]: check for .txt file in remote download test by @​navin772
in https://github.com/SeleniumHQ/selenium/pull/15758
* [java] Removing deprecated `setScriptTimeout` and `pageLoadTimeout`.
by @​diemol in https://github.com/SeleniumHQ/selenium/pull/15764
* [py][bidi]: add bidi webExtension module by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15749
* [py] Better error for downloads on local webdrivers by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15756
* [py] Add missing modules to python API docs by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15779
* [ci] Workflow for Grid UI component tests by @​VietND96 in
https://github.com/SeleniumHQ/selenium/pull/15778
* [grid] UI Sessions capability fields to display as additional columns
by @​VietND96 in https://github.com/SeleniumHQ/selenium/pull/15759
* [grid] UI Overview is able to see live preview per Node by @​VietND96
in https://github.com/SeleniumHQ/selenium/pull/15777

## New Contributors
* @​t7ru made their first contribution in
https://github.com/SeleniumHQ/selenium/pull/15698
* @​tomhughes made their first contribution in
https://github.com/SeleniumHQ/selenium/pull/15727
* @​DeflateAwning made their first contribution in
https://github.com/SeleniumHQ/selenium/pull/15341

</details>

**Full Changelog**:
https://github.com/SeleniumHQ/selenium/compare/selenium-4.32.0...selenium-4.33.0

## 4.32.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>



<!-- Release notes generated using configuration in .github/release.yml
at d17c8aa95092dc25ae64f12e7abdc844cf3503f0 -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [py] Fix test args for --headless and --bidi by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15567
* [py] Only skip WebKit tests on Windows by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15470
* [dotnet] [bidi] Revisit some core functionality to deserialize without
intermediate `JsonElement` allocation by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15575
* [py] Fix broken test for chromedriver logging by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15579
* [py] Fix test for w3c touch pointer properties by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15580
* [py] Fix FedCM tests leaking state by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15583
* [dotnet] [bidi] Address BiDi's JSON converter AOT warnings by
@​RenderMichael in https://github.com/SeleniumHQ/selenium/pull/15390
* [dotnet] [bidi] Added missing GenericLogEntry log entry type in Script
module by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15591
* [grid] Ignored options when they are prefixed, safari specif as well
by @​diemol in https://github.com/SeleniumHQ/selenium/pull/15574
* [py] Remove broken logo from Sphinx generated API docs by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/15597
* [py] Fix PyTest configuration for WPEWebKit by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15602
* [py] Fix failing test for Edge logging by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15605
* [rb] Add PrintOptions Implementation for Ruby WebDriver by @​yvsvarma
in https://github.com/SeleniumHQ/selenium/pull/15158
* [py] BiDi Network implementation of Intercepts and Auth in Python by
@​shbenzer in https://github.com/SeleniumHQ/selenium/pull/14592
* [py] Use XWayland for internal Python Firefox tests by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15601
* [py] Use mock.patch for environment variables in tests by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/15607
* [ruby] fix lint for print_options.rb by @​Delta456 in
https://github.com/SeleniumHQ/selenium/pull/15608
* [py] Configure readthedocs publishing for Python API docs by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/15614
* [py] Fix select being able to select options hidden by css rules by
@​FFederi in https://github.com/SeleniumHQ/selenium/pull/15135
* [py][bidi]: Implement BiDi browser module by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15616
* [dotnet] [bidi] Combine network interception to apply rules (breaking
change) by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15603
* [dotnet] [bidi] Add strongly-typed `LocalValue.ConvertFrom` overloads
by @​RenderMichael in https://github.com/SeleniumHQ/selenium/pull/15532
* [py] Add missing modules to Python API docs by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15624
* [dotnet] [bidi] Do not throw when CallFunction or Evaluate return
exceptional result (breaking change) by @​RenderMichael in
https://github.com/SeleniumHQ/selenium/pull/15521
* [py] Skip bidi tests on browsers that don't support bidi by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/15625
* [py] complete
`test_should_throw_an_exception_if_an_alert_has_not_been_dealt_with_and_dismiss_the_alert`
by @​Delta456 in https://github.com/SeleniumHQ/selenium/pull/15559
* [py] Remove unused xfail on chrome/edge service tests by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/15637
* [py] Adjust xfail markers for window size/position tests by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/15638
* [py] Call service.stop() when session can't be started by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/15636
* [dotnet] [bidi] Reuse memory when receiving websocket messages by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/15640
* [py] Remove logging API for non-Chromium browsers by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15641
* [py] Raise TypeError when creating webdriver.Remote() without options
by @​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/15619
* [py] Upgrade dependencies for mypy tox environment by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15642
* [py] Fix Remote Firefox tests on Linux/Wayland by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15648
* [dotnet] Enhance Selenium Manager platform detection by @​nvborisenko
in https://github.com/SeleniumHQ/selenium/pull/15649
* [dotnet] Use namespace file scoped by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15651
* [py] Fix flaky WebDriverWait tests by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15650
 ... (truncated)

Commits viewable in [compare
view](https://github.com/SeleniumHQ/selenium/compare/selenium-4.31.0...selenium-4.41.0).
</details>

Updated [Selenium.WebDriver](https://github.com/SeleniumHQ/selenium)
from 4.31.0 to 4.41.0.

<details>
<summary>Release notes</summary>

_Sourced from [Selenium.WebDriver's
releases](https://github.com/SeleniumHQ/selenium/releases)._

## 4.41.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>

<!-- Release notes generated using configuration in .github/release.yml
at selenium-4.41.0 -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [py] Remove type stub packages from runtime dependencies by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16945
* Canonical approach to supporting AI agent directions by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/16735
* [build] Pre-release workflow improvements by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16946
* [build] Prevent nightly releases during release window by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16948
* [build] Fix Bazel NuGet push implementation by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16950
* [build] Release workflow improvements by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16947
* [build] Fix Bazel JSDocs implementation by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16949
* [build] Create config files from environment variables for publishing
by @​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16951
* [js] create task to update dependencies by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16942
* [build] Java release improvements and build verification tasks by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16952
* [py] integrate mypy type checking with Bazel by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16958
* [build] Migrate workflows to use centralized bazel.yml by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16955
* [dotnet] [bidi] Simplify context aware command options by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16954
* [build] simplify release.yml: remove draft, build once during publish
by @​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16960
* [dotnet] [bidi] AOT safe json converter for `Input.Origin` class by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16962
* [dotnet] [bidi] AOT safe json converter for `OptionalConverter` by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16963
* [dotnet] [bidi] Null guard for event handlers by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16967
* [java] Improve error message for died grid by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16938
* [build] combine pre-release dependency updates by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16973
* [rb] remove stored atoms these get generated by build by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16971
* [dotnet] [bidi] Unignore some internal tests by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16968
* [build] run ruff on python files outside py directory by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16957
* [py] Fix return type hint for `alert_is_present` by @​nemowang2003 in
https://github.com/SeleniumHQ/selenium/pull/16975
* Replace hardcoded bazel-selenium references with dynamic path
resolution by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16976
* No More CrazyFun! by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16972
* [build] Remove update_gh_pages in favor of CI workflow by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16977
* [build] Remove legacy rake helpers and unused code by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/16978
* [py] make bazel test target names consistent with other languages by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16969
* [dotnet] [bidi] Fix namespace for Permissions module by @​nvborisenko
in https://github.com/SeleniumHQ/selenium/pull/16981
* [dotnet] [bidi] Hide Broker as internal implementation by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16982
* [dotnet] [bidi] Refactor BiDi module initialization to pass BiDi
explicitly by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16983
* [build] Add DocFX updater script by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16980
* [build] add reusable commit-changes.yml workflow by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16965
* [java] fix JSON parsing of numbers with exponent by @​joerg1985 in
https://github.com/SeleniumHQ/selenium/pull/16961
* [build] Skip macOS-only archive rules on unsupported platforms by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16985
* [build] Split Rakefile into per-language task files by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/16979
* Implement fast bazel target lookup with index caching by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16974
* [build] Remove git.add() calls from rake tasks by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16994
* [js] Add eslint binary target for selenium-webdriver by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/16992
 ... (truncated)

## 4.40.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images…
PhilipWoulfe added a commit to PhilipWoulfe/F1Competition that referenced this pull request Mar 16, 2026
Updated [Selenium.WebDriver](https://github.com/SeleniumHQ/selenium)
from 4.31.0 to 4.41.0.

<details>
<summary>Release notes</summary>

_Sourced from [Selenium.WebDriver's
releases](https://github.com/SeleniumHQ/selenium/releases)._

## 4.41.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>

<!-- Release notes generated using configuration in .github/release.yml
at selenium-4.41.0 -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [py] Remove type stub packages from runtime dependencies by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16945
* Canonical approach to supporting AI agent directions by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/16735
* [build] Pre-release workflow improvements by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16946
* [build] Prevent nightly releases during release window by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16948
* [build] Fix Bazel NuGet push implementation by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16950
* [build] Release workflow improvements by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16947
* [build] Fix Bazel JSDocs implementation by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16949
* [build] Create config files from environment variables for publishing
by @​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16951
* [js] create task to update dependencies by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16942
* [build] Java release improvements and build verification tasks by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16952
* [py] integrate mypy type checking with Bazel by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16958
* [build] Migrate workflows to use centralized bazel.yml by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16955
* [dotnet] [bidi] Simplify context aware command options by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16954
* [build] simplify release.yml: remove draft, build once during publish
by @​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16960
* [dotnet] [bidi] AOT safe json converter for `Input.Origin` class by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16962
* [dotnet] [bidi] AOT safe json converter for `OptionalConverter` by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16963
* [dotnet] [bidi] Null guard for event handlers by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16967
* [java] Improve error message for died grid by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16938
* [build] combine pre-release dependency updates by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16973
* [rb] remove stored atoms these get generated by build by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16971
* [dotnet] [bidi] Unignore some internal tests by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16968
* [build] run ruff on python files outside py directory by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16957
* [py] Fix return type hint for `alert_is_present` by @​nemowang2003 in
https://github.com/SeleniumHQ/selenium/pull/16975
* Replace hardcoded bazel-selenium references with dynamic path
resolution by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16976
* No More CrazyFun! by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16972
* [build] Remove update_gh_pages in favor of CI workflow by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16977
* [build] Remove legacy rake helpers and unused code by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/16978
* [py] make bazel test target names consistent with other languages by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16969
* [dotnet] [bidi] Fix namespace for Permissions module by @​nvborisenko
in https://github.com/SeleniumHQ/selenium/pull/16981
* [dotnet] [bidi] Hide Broker as internal implementation by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16982
* [dotnet] [bidi] Refactor BiDi module initialization to pass BiDi
explicitly by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16983
* [build] Add DocFX updater script by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16980
* [build] add reusable commit-changes.yml workflow by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16965
* [java] fix JSON parsing of numbers with exponent by @​joerg1985 in
https://github.com/SeleniumHQ/selenium/pull/16961
* [build] Skip macOS-only archive rules on unsupported platforms by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16985
* [build] Split Rakefile into per-language task files by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/16979
* Implement fast bazel target lookup with index caching by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16974
* [build] Remove git.add() calls from rake tasks by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16994
* [js] Add eslint binary target for selenium-webdriver by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/16992
 ... (truncated)

## 4.40.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>


<!-- Release notes generated using configuration in .github/release.yml
at trunk -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [dotnet] Modernize `EnvironmentManager`, standardize assembly teardown
by @​RenderMichael in https://github.com/SeleniumHQ/selenium/pull/15551
* [java] Refactor tests by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16684
* [ci]: bump cargo lockfile by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/16698
* [java][BiDi] change emulation commands return type to void by
@​Delta456 in https://github.com/SeleniumHQ/selenium/pull/16699
* [java] simplify strings processing by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/15309
* Fix few more flaky ruby tests by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16695
* [bazel] Switch to custom `closure_js_deps` rule by @​shs96c in
https://github.com/SeleniumHQ/selenium/pull/16571
* [dotnet] [bidi] Support SetScreenSettingsOverrideAsync method in
Emulation module by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16704
* [dotnet] Modernize code patterns in test suites by @​RenderMichael in
https://github.com/SeleniumHQ/selenium/pull/16701
* use proper AssertJ asserts that generate a useful error message by
@​asolntsev in https://github.com/SeleniumHQ/selenium/pull/16707
* fix Java language level in IDEA by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16708
* [py] Properly verify Selenium Manager exists by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16711
* fix flaky Ruby test `element_spec.rb` by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16709
* [java][BiDi] implement `emulation.setScreenOrientationOverride` by
@​Delta456 in https://github.com/SeleniumHQ/selenium/pull/16705
* [rb] add synchronization and error handling for socket interactions by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16487
* [rb] mark low level bidi implementation as private api by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16475
* [rb] ensure driver process is always stopped by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/15635
* [rb] create user-friendly method for enabling bidi by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/14284
* [dotnet] [bidi] Added missing Script.RemoteReference LocaclValue type
by @​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16717
* [dotnet] Standardize `IEquatable<T>` implementations across types
overriding Equals by @​RenderMichael in
https://github.com/SeleniumHQ/selenium/pull/16665
* [dotnet] Fix nullability warnings in `WebDriver` by @​RenderMichael in
https://github.com/SeleniumHQ/selenium/pull/16662
* [py] Don't compare object identity in conftest by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16723
* #​16720 avoid failing because of temporary Chrome internal files by
@​asolntsev in https://github.com/SeleniumHQ/selenium/pull/16722
* [rb] Add force encoding to remove warnings caused by json 3.0 by
@​aguspe in https://github.com/SeleniumHQ/selenium/pull/16728
* [py] Remove deprecated FTP proxy support by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16721
* [py] Bump ruff and mypy versions by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16737
* Create target directories before copying file by @​MohabMohie in
https://github.com/SeleniumHQ/selenium/pull/16739
* [bazel+closure]: Vendor the version of closure library we use by
@​shs96c in https://github.com/SeleniumHQ/selenium/pull/16742
* [closure] Fix failing `//javascript/atoms:test-*` targets by @​shs96c
in https://github.com/SeleniumHQ/selenium/pull/16749
* Avoid sleep in tests by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16713
* [bazel] Bump `rules_closure` and google closure libary to latest
release by @​shs96c in https://github.com/SeleniumHQ/selenium/pull/16755
* [refactor] call WebDriverException constructor instead of using
reflection by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16763
* [build] Pin Browsers in Bazel by default by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16743
* [build] build selenium manager for tests by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16736
* [refactor] replace JUnit assertions by AssertJ by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16765
* [py] Add LocalWebDriver base class by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16730
* Fix bug in FileHandler: it always failed on MacOS by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16771
* [java] add missing bazel artifacts by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16773
 ... (truncated)

## 4.39.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>


<!-- Release notes generated using configuration in .github/release.yml
at trunk -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [atoms] fix text node children are always considered as displayed
#​16284 by @​joerg1985 in
https://github.com/SeleniumHQ/selenium/pull/16329
* [grid] Enhance UI with theme integration and improved status
indicators by @​VietND96 in
https://github.com/SeleniumHQ/selenium/pull/16512
* [py][bidi]: add emulation command - `set_locale_override` by
@​navin772 in https://github.com/SeleniumHQ/selenium/pull/16504
* [py][bidi]: add emulation command `set_scripting_enabled` by
@​navin772 in https://github.com/SeleniumHQ/selenium/pull/16513
* [py] Update docstrings to google pydoc format by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16511
* [java][BiDi] implement `browsingContext.downloadEnd` event by
@​Delta456 in https://github.com/SeleniumHQ/selenium/pull/16347
* Fix typo and minor formatting changes in README.md by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16523
* [py] Update docstrings (remove reST leftovers and resolve D200) by
@​iampopovich in https://github.com/SeleniumHQ/selenium/pull/16525
* [py] Fix docstring formatting and apply ruff linting rules by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16527
* [py] Fix Ruff D417 warnings in docstrings by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16535
* [py] Fix ruff D415 warnings in docstrings by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16536
* [py][bidi]: add `set_screen_orientation_override` command in Emulation
by @​navin772 in https://github.com/SeleniumHQ/selenium/pull/16522
* [py] Fix D205 ruff warnings for docstrings and add type hints by
@​iampopovich in https://github.com/SeleniumHQ/selenium/pull/16537
* [py][bidi]: add `set_download_behavior` command by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/16556
* [py] Bump pytest and dev dependencies by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16572
* [bazel] Move `rules_rust` to `bzlmod` by @​shs96c in
https://github.com/SeleniumHQ/selenium/pull/16566
* [ci] Make a PR for updating mirror file instead of pushing directly to
trunk by @​bonigarcia in
https://github.com/SeleniumHQ/selenium/pull/16579
* [ci] Update mirror info (2025-11-11T15:26:46Z) by
@​github-actions[bot] in
https://github.com/SeleniumHQ/selenium/pull/16578
* [ci] Revert latest changes related to the mirror workflow by
@​bonigarcia in https://github.com/SeleniumHQ/selenium/pull/16580
* [java]: refactor request interception tests and handle CORS by
@​navin772 in https://github.com/SeleniumHQ/selenium/pull/16585
* [py][bidi]: enable download event tests for firefox by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/16587
* [py] Fix more type annotations by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16551
* [java][BiDi] implement `emulation.setTimezoneOverride` by @​Delta456
in https://github.com/SeleniumHQ/selenium/pull/16530
* [grid] Minimum Docker API 1.44 for Docker Engine v29+ in Dynamic Grid
by @​VietND96 in https://github.com/SeleniumHQ/selenium/pull/16591
* Show file modification time by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16589
* [py][bidi]: add emulation command `set_user_agent_override` by
@​navin772 in https://github.com/SeleniumHQ/selenium/pull/16595
* [grid] Improve Docker client for Dynamic Grid by @​VietND96 in
https://github.com/SeleniumHQ/selenium/pull/16596
* [py]: reuse driver in case of bidi tests by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/16597
* [grid] Improve browser container labels and naming in Dynamic Grid by
@​VietND96 in https://github.com/SeleniumHQ/selenium/pull/16599
* [build] Upgrade rules_dotnet to 0.20.5 by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16592
* [dotnet] [bidi] Simplify namespace for communications by @​nvborisenko
in https://github.com/SeleniumHQ/selenium/pull/16602
* [py] Improve type hints with union syntax and native types by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16590
* [py] Use double quotes in generate.py by @​Delta456 in
https://github.com/SeleniumHQ/selenium/pull/16607
* [ci] Use pagination in mirror workflow to get all Selenium releases by
@​bonigarcia in https://github.com/SeleniumHQ/selenium/pull/16605
* [dotnet] Generate atoms statically by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16608
* [nodejs] Update dev dependencies to fix vulnerabilities by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/16610
* [java][BiDi] emulation: allow passing null to GeolocationOverride by
@​Delta456 in https://github.com/SeleniumHQ/selenium/pull/16594
* [grid] Update container label `compose.oneoff` in Dynamic Grid by
@​VietND96 in https://github.com/SeleniumHQ/selenium/pull/16613
 ... (truncated)

## 4.38.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>


<!-- Release notes generated using configuration in .github/release.yml
at trunk -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [dotnet] [bidi] Avoid using JsonInclude attribute to include optional
property for DTO by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16413
* [rb] Bump prism to 1.6.0 by @​Earlopain in
https://github.com/SeleniumHQ/selenium/pull/16450
* [java] JSpecify annotations for `ExecuteMethod` by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/16464
* [rb] Fix Network issue by removing nil values on network requests by
@​aguspe in https://github.com/SeleniumHQ/selenium/pull/16442
* [py] Replaced :param: and :args: from docstrings by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16469
* [java] JSpecify annotations for `org.openqa.selenium.federatedcredent…
by @​mk868 in https://github.com/SeleniumHQ/selenium/pull/16461
* [java] JSpecify annotations for `org.openqa.selenium.interactions` by
@​mk868 in https://github.com/SeleniumHQ/selenium/pull/16462
* [java][rb] Remove cruft from old Travis CI environment by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/16473
* [java] JSpecify annotations for `org.openqa.selenium.net` by @​mk868
in https://github.com/SeleniumHQ/selenium/pull/16463
* [rb] remove deprecated classes for previous implementation of log han…
by @​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16474
* [build] minimize number of ruby targets run with bidi by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16477
* [java] JSpecify annotations for `Credential` and `MBean` by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/16481
* [java] JSpecify annotations for `ScriptKey` and `UnpinnedScriptKey` by
@​mk868 in https://github.com/SeleniumHQ/selenium/pull/16483
* [java] JSpecify annotations for `FileDetector` by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/16482
* [java] JSpecify annotations for `ExpectedCondition` by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/16489
* [java] JSpecify annotations for `Response` `SessionId` `HttpSessionId`
by @​mk868 in https://github.com/SeleniumHQ/selenium/pull/16490
* [rb][build] improve ruby local_dev generation by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16495
* [build] removing test_tag_filter tag that isn't being used anywhere by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16496
* [rb][build] disable dev shm for Chrome and Edge on RBE by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16497
* [rb] update syntax with rspec linter by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16498
* [java][bidi]: add test for `onHistoryUpdated` event by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/16293
* [py] Bump version of ruff formatter/linter by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16502
* [rust] Fixe Edge version test by @​bonigarcia in
https://github.com/SeleniumHQ/selenium/pull/16501
* [py][bidi]: add `set_timezone_override` command in emulation by
@​navin772 in https://github.com/SeleniumHQ/selenium/pull/16500
* [py] Cleanup and convert more doctrings to google-style by
@​iampopovich in https://github.com/SeleniumHQ/selenium/pull/16503
* [build] fix update-documentation workflow by @​titusfortner in
https://github.com/SeleniumHQ/selenium/pull/16505
* fix workflows for updating documentation from stage release by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/16506

</details>

**Full Changelog**:
https://github.com/SeleniumHQ/selenium/compare/selenium-4.37.0...selenium-4.38.0

## 4.37.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>


<!-- Release notes generated using configuration in .github/release.yml
at trunk -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [py] Re-add defaults for Chromium kwargs by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16372
* Splitting stress tests by @​diemol in
https://github.com/SeleniumHQ/selenium/pull/16374
* [rb] Update Chrome/Edge args for test environment by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16376
* [dotnet] [bidi] Emulation module by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16380
* [py] Remove old test xfail markers from Travis CI by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16377
* [dotnet] [bidi] Implement browsing context download events by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16382
* [dotnet] [bidi] Support browser SetDownloadBehaviour command by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16383
* [dotnet] [bidi] Support network SetExtraHeaders command by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16384
* [py][build] Python CI - add unit test job and windows integration
tests to GH runners by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16362
* [java] Linux ARM "os.arch" system property is "aarch64" by @​mkurz in
https://github.com/SeleniumHQ/selenium/pull/16381
* [dotnet] [bidi] AOT safe enums serialization by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16386
* [dotnet] Handle negative zero BiDi response by @​RenderMichael in
https://github.com/SeleniumHQ/selenium/pull/15898
* [dotnet] Move JSON converter attributes from centralized options into
their respective types by @​RenderMichael in
https://github.com/SeleniumHQ/selenium/pull/16393
* [py] Fix Selenium Manager tests on Windows by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16391
* [py] Fix chromedriver/msedgedriver service tests by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16395
* [dotnet] [bidi] Modules as extensions by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16392
* [dotnet] [bidi] Provide type info immediately when serializing by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16397
* [bidi] [dotnet] Use events JsonTypeInfo for deserialization by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16402
* [dotnet] Replace lazy caching mechanism in BiDi's constructor with
simple initialization by @​RenderMichael in
https://github.com/SeleniumHQ/selenium/pull/16399
* [py][build] Re-add Windows to CI workflows by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16396
* [dotnet] Help more .NETFramework projects to copy SM binaries to
output by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16406
* [dotnet] [bidi] Specific result type for any command by @​nvborisenko
in https://github.com/SeleniumHQ/selenium/pull/16405
* [dotnet] [bidi] Deserialize message fast instead of defer it by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16403
* [dotnet] [bidi] Remove IEnumerable of command results by @​nvborisenko
in https://github.com/SeleniumHQ/selenium/pull/16219
* [dotnet] Remove obsoleted FtpProxy by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16411
* [py] Configure WebSocket timeout and wait interval via ClientConfig by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16248
* [java] Rescuing the remote cause for session creation errors by
@​diemol in https://github.com/SeleniumHQ/selenium/pull/16418
* [py] Add test for BiDi request handlers with classic navigation by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16421
* [java] NullAway added by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/16416
* [java] feat: Add native Java 11 HTTP client methods to HttpClient
interface by @​manuelsblanco in
https://github.com/SeleniumHQ/selenium/pull/16412
* [py] Raise NotImplementedError when deleting downloads in driver
subclass by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16423
* [java] refactor(remote/command): Merge overload's business logic by
@​nnnnoel in https://github.com/SeleniumHQ/selenium/pull/14469
* [py] Fix default rpId in virtual authenticator by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16428
* make augmentation of HasBiDi/HasDevTools lazy-loaded by @​asolntsev in
https://github.com/SeleniumHQ/selenium/pull/16338
* [py] Update docstrings style by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16427
* [py] Support Python 3.14 and drop Python 3.9 by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16342
* Removing FF guard for canListenToDownloadWillBeginEvent by @​diemol in
https://github.com/SeleniumHQ/selenium/pull/16439
* Adapting the browser_protocol file fetching to the file structure
change. by @​diemol in https://github.com/SeleniumHQ/selenium/pull/16440
 ... (truncated)

## 4.36.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>


<!-- Release notes generated using configuration in .github/release.yml
at trunk -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [py]: close ipv6 port in case of error by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/16165
* [docs] Update issue label in CONTRIBUTING.md by @​pallavigitwork in
https://github.com/SeleniumHQ/selenium/pull/16169
* [py][docs]: update dead API docs link to API reference in `index.rst`
by @​navin772 in https://github.com/SeleniumHQ/selenium/pull/16170
* [grid] close the HttpClient after the session is gone by @​joerg1985
in https://github.com/SeleniumHQ/selenium/pull/16182
* [py] Update docstring and comments in keys.py by @​Aidoni0797 in
https://github.com/SeleniumHQ/selenium/pull/16187
* [dotnet] [bidi] Simplify type naming of internal command parameters by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16188
* [py] Fix formatting by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16189
* [dotnet] [bidi] Support WebExtension module by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15850
* [rb][BiDi] Create browser module, added user context related methods
by @​aguspe in https://github.com/SeleniumHQ/selenium/pull/15371
* [docs] Update bug report section in CONTRIBUTING.md by
@​pallavigitwork in https://github.com/SeleniumHQ/selenium/pull/16191
* [dotnet] Adding flag to enable SafariDriver logging. by @​diemol in
https://github.com/SeleniumHQ/selenium/pull/16196
* [java] extend the scope of the properties of the HttpCommandExecutor
class by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16186
* [dotnet] [bidi] Serialize base64 encoded string directly to bytes by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16203
* [dotnet] [bidi] Make cookie expiry as TimeSpan by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16204
* [grid] Improve readTimeout in handle session between Router and Node
by @​VietND96 in https://github.com/SeleniumHQ/selenium/pull/16163
* [py] Fix type annotation error and raise clearer error message by
@​Paresh-0007 in https://github.com/SeleniumHQ/selenium/pull/16174
* [java] Unifying select class by @​vicky-iv in
https://github.com/SeleniumHQ/selenium/pull/16220
* [rust] Update dependency rules_cc to v0.2.0 by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/16198
* [js] Update testing-library monorepo by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/16173
* [js] Update dependency tmp to ^0.2.5 by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/16172
* [dotnet] Update dependency System.Text.Json to 8.0.6 by
@​renovate[bot] in https://github.com/SeleniumHQ/selenium/pull/16171
* [js] Update dependency react-router-dom to v6.30.1 by @​renovate[bot]
in https://github.com/SeleniumHQ/selenium/pull/16076
* [js] Update material-ui monorepo to v5.18.0 by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/16062
* [js] Update dependency ws to ^8.18.3 by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/16009
* [js] Update react monorepo by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/15949
* [java] Update dependency net.bytebuddy:byte-buddy to v1.17.7 by
@​renovate[bot] in https://github.com/SeleniumHQ/selenium/pull/16237
* [py] Update dependency charset-normalizer to v3.4.3 by @​renovate[bot]
in https://github.com/SeleniumHQ/selenium/pull/16239
* [py] Update dependency cryptography to v45.0.6 by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/16240
* Revert "[py] Update dependency charset-normalizer to v3.4.3" by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16242
* Revert "[py] Update dependency cryptography to v45.0.6" by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/16243
* [py] Bump dependencies for dev and fix script by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16244
* [dotnet] Help old .net framework copy selenium manager to output by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/16228
* [java] Add hooks around getScreenshotAs in WebDriverListener #​16232
by @​giulong in https://github.com/SeleniumHQ/selenium/pull/16233
* [py][bidi]: enable `history_updated` event test by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/16236
* [py] Bump ruff version for linting/formatting by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16254
* [py][bidi]: use bidi `navigate` command in network tests by @​navin772
in https://github.com/SeleniumHQ/selenium/pull/16251
* [dotnet] Fix find port for IPv4 only environments by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16216
* [dotnet] [bidi] Adjust cookie expiry type according spec (unix
seconds) by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16218
 ... (truncated)

## 4.35.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>



<!-- Release notes generated using configuration in .github/release.yml
at 1c58e5028bc5eaa94b12b856c2d4a87efa5363f5 -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [dotnet] [bidi] Get tree command returns GetTreeResult object by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/15978
* [dotnet] [bidi] Initialize internal modules without Lazy by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/15979
* [py] Bump dependencies for building distribution wheel by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/15977
* bump zip version 2.6.1 -> 4.2.0 by @​MRTamalampudi in
https://github.com/SeleniumHQ/selenium/pull/15980
* [py][bidi]: add note for `enable_webextensions = False` by @​navin772
in https://github.com/SeleniumHQ/selenium/pull/15981
* [py][bidi]: add high level API for script module - `pin`, `unpin` and
`execute` by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15936
* [py][java][rb][ci]: use pinned browsers in CI by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15987
* [java] Remove deprecated AppCacheStatus enum from the HTML5 package by
@​iampopovich in https://github.com/SeleniumHQ/selenium/pull/15973
* [java] Feat 14291/jspecify nullable annotation edge driver service by
@​iampopovich in https://github.com/SeleniumHQ/selenium/pull/15972
* [java] Fix Unicode value for OPTION key in Keys enum by @​iampopovich
in https://github.com/SeleniumHQ/selenium/pull/15966
* [dotnet][java][js][py][rb][rust] Update rules_jvm_external digest to
aca619b by @​renovate[bot] in
https://github.com/SeleniumHQ/selenium/pull/15951
* [java] Removing old stream collectors required by Java 8 by @​zodac in
https://github.com/SeleniumHQ/selenium/pull/15523
* [java] Use static Patterns for regex-matching by @​zodac in
https://github.com/SeleniumHQ/selenium/pull/15499
* [java] Point made as immutable by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/15511
* [java] Feat 14291/jspecify nullable annotation chrome driver såervice
by @​iampopovich in https://github.com/SeleniumHQ/selenium/pull/15998
* [py] Bump dev dependencies by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16002
* [grid] Add "URI" to the list of sort-by choices on Overview UI by
@​VietND96 in https://github.com/SeleniumHQ/selenium/pull/16004
* [java] Add @​Nullable annotations to Firefox and Gecko driver service
by @​iampopovich in https://github.com/SeleniumHQ/selenium/pull/15999
* [java] Add JSpecify nullable annotations to SafariDriverService
parameters by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16000
* [java] Add @​Nullable annotations to InternetExplorerDriverService
parameters by @​iampopovich in
https://github.com/SeleniumHQ/selenium/pull/16001
* use generics for AbstractFindByBuilder to avoid excessive casting by
@​asolntsev in https://github.com/SeleniumHQ/selenium/pull/15526
* [js] Update dependency @​emotion/styled to v11.14.1 by @​renovate[bot]
in https://github.com/SeleniumHQ/selenium/pull/15997
* [rust] Update which from 7.0.3 to 8.0.0 by @​musicinmybrain in
https://github.com/SeleniumHQ/selenium/pull/15965
* Fix various typos by @​noritaka1166 in
https://github.com/SeleniumHQ/selenium/pull/16012
* [java] JSpecify annotations for By locators by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/14372
* Fix email address in .mailmap by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/16017
* Fix typos in javascript & rb by @​noritaka1166 in
https://github.com/SeleniumHQ/selenium/pull/16019
* [java] JSpecify annotations for capabilities by @​mk868 in
https://github.com/SeleniumHQ/selenium/pull/14397
* Fix various typos in comments by @​noritaka1166 in
https://github.com/SeleniumHQ/selenium/pull/16022
* [dotnet] Fix typos by @​noritaka1166 in
https://github.com/SeleniumHQ/selenium/pull/16032
* [dotnet] [bidi] Add UnhandledPromptBehavior option to create User
Context by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16034
* [py] Fix path in unit test so it works cross-platform by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/16033
* [py][bidi]: implement bidi module - emulation by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15819
* [py] Fix API doc generation script and include BiDi Emulation docs by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16037
* [py] Allow free_port() to bind to IPv6 if IPv4 is unavailable by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/16003
* [build] Update base URL for Edge web driver by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16057
* [rust] Update base URL for Edge web driver by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/16056
 ... (truncated)

## 4.34.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>



<!-- Release notes generated using configuration in .github/release.yml
at 2a4c61c498207b17cdb2f5f987c7c71dca146c2d -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [ci] Clear warning from Grid UI component tests by @​VietND96 in
https://github.com/SeleniumHQ/selenium/pull/15783
* [py] Fix pytest_ignore_collect hook to respect --ignore by @​mgorny in
https://github.com/SeleniumHQ/selenium/pull/15787
* [py] Increase timeout in devtools test by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15793
* [py] Upgrade type hints by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15784
* [dotnet] [bidi] Add AcceptInsecureCerts and Proxy options when create
new user context by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15795
* [grid] Silent fail on invalid log level by @​Oxilod in
https://github.com/SeleniumHQ/selenium/pull/15796
* Bump setup-bazel action by @​p0deje in
https://github.com/SeleniumHQ/selenium/pull/15802
* Don't silence stderr in format.sh by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15804
* [dotnet] [bidi] Declare allowed nullable objects in constructors type
by @​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/15809
* Fix type error for attribute in remote_connection.py by @​Bradltr95 in
https://github.com/SeleniumHQ/selenium/pull/15810
* [py] Lint Python with ruff by @​p0deje in
https://github.com/SeleniumHQ/selenium/pull/15811
* fixed error in selenium/webdriver/common/bidi/common.py:19 by
@​pallavigitwork in https://github.com/SeleniumHQ/selenium/pull/15814
* [py] Fix import for type hint by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15817
* [py] Bump ruff version by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15818
* [dotnet] [bidi] Simplify modules namespace for end users (breaking
change) by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15820
* [dotnet] Remove unnecessary stylecop files by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15824
* [py] Lint and format all python files by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15828
* [py][bidi]: add `enable_webextensions` option for chromium-based
browsers by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15794
* [py] Auto-generate Python API docs from code by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15822
* [py] Fix python API docs publishing at readthedocs by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15832
* Change flag for Chrome/Edge headless mode in tests by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15831
* [py] Cleanup tox config by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15833
* [rb] Add support for beta chrome by @​aguspe in
https://github.com/SeleniumHQ/selenium/pull/15417
* Revert "[rb] Add support for beta chrome" by @​aguspe in
https://github.com/SeleniumHQ/selenium/pull/15837
* [py] Fix: Mypy type annotation errors by @​ShauryaDusht in
https://github.com/SeleniumHQ/selenium/pull/15841
* [py] New script to update Python dependencies by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15845
* fixed errors in browser.py for 15697 by @​pallavigitwork in
https://github.com/SeleniumHQ/selenium/pull/15847
* [py][bidi]: implement bidi permissions module by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15830
* [py] Regeneratee py/docs/source/api.rst by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15856
* [dotnet] Align CS projects name to understand the editing context by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/15843
* [py][bidi]: enable edge bidi storage test - `test_get_all_cookies` by
@​navin772 in https://github.com/SeleniumHQ/selenium/pull/15859
* Caching the size/length in loops to slightly improve performance by
@​LuisOsv in https://github.com/SeleniumHQ/selenium/pull/15852
* Update exceptions.py by @​adolfoarmas in
https://github.com/SeleniumHQ/selenium/pull/15862
* Revert "Update exceptions.py" by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15864
* [py] Re-apply #​15862 by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15865
* [py] fix driver_element_finding_tests.py by @​Delta456 in
https://github.com/SeleniumHQ/selenium/pull/15863
* [py] Fix another broken test by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15866
 ... (truncated)

## 4.33.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>



<!-- Release notes generated using configuration in .github/release.yml
at 2c6aaad03a575cd93e4f063f91404e3ae66a7470 -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [py] Exclude devtools directory from type checking by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15695
* [py] Add clean_options fixture and remove all Python tests from
.skipped-tests by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15696
* [java][bidi]: enable tests for storage module for edge by @​navin772
in https://github.com/SeleniumHQ/selenium/pull/15667
* [py][bidi]: add bidi storage module by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15669
* [build] allow GitHub Actions runner to use 4GB for JVM Heap by
@​titusfortner in https://github.com/SeleniumHQ/selenium/pull/15692
* update old freenode channel link to libera by @​t7ru in
https://github.com/SeleniumHQ/selenium/pull/15698
* fixing mypy error from #​15693 by @​bandophahita in
https://github.com/SeleniumHQ/selenium/pull/15705
* [java] Removing deprecated items in Require.java by @​diemol in
https://github.com/SeleniumHQ/selenium/pull/15711
* [java] Removing RemoteStatus as it was deprecated. by @​diemol in
https://github.com/SeleniumHQ/selenium/pull/15712
* [rb] move all guard and zipper tests to unit tests by @​titusfortner
in https://github.com/SeleniumHQ/selenium/pull/15717
* [rust] Replace WMIC commands (deprecated) by WinAPI in Windows by
@​bonigarcia in https://github.com/SeleniumHQ/selenium/pull/15363
* [py][BiDi] use constant for LogLevel by @​Delta456 in
https://github.com/SeleniumHQ/selenium/pull/15677
* Let firefox choose the bidi port by default by @​tomhughes in
https://github.com/SeleniumHQ/selenium/pull/15727
* [rb] Upgrade to Ruby 3.2 by @​p0deje in
https://github.com/SeleniumHQ/selenium/pull/15714
* [py] Missing Headers Assignment in Network Class’s _on_request() by
@​shbenzer in https://github.com/SeleniumHQ/selenium/pull/15736
* [py] correct type annotations of default-None params by
@​DeflateAwning in https://github.com/SeleniumHQ/selenium/pull/15341
* [py] Add missing 'id' property to ShadowRoot class by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15739
* [py] Bump Python package requirements to latest versions by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/15731
* [py] Use ruff for linting and code formatting by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15746
* [py]: return `message` as part of exception in `execute` method by
@​navin772 in https://github.com/SeleniumHQ/selenium/pull/15751
* [py][tests]: check for .txt file in remote download test by @​navin772
in https://github.com/SeleniumHQ/selenium/pull/15758
* [java] Removing deprecated `setScriptTimeout` and `pageLoadTimeout`.
by @​diemol in https://github.com/SeleniumHQ/selenium/pull/15764
* [py][bidi]: add bidi webExtension module by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15749
* [py] Better error for downloads on local webdrivers by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15756
* [py] Add missing modules to python API docs by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15779
* [ci] Workflow for Grid UI component tests by @​VietND96 in
https://github.com/SeleniumHQ/selenium/pull/15778
* [grid] UI Sessions capability fields to display as additional columns
by @​VietND96 in https://github.com/SeleniumHQ/selenium/pull/15759
* [grid] UI Overview is able to see live preview per Node by @​VietND96
in https://github.com/SeleniumHQ/selenium/pull/15777

## New Contributors
* @​t7ru made their first contribution in
https://github.com/SeleniumHQ/selenium/pull/15698
* @​tomhughes made their first contribution in
https://github.com/SeleniumHQ/selenium/pull/15727
* @​DeflateAwning made their first contribution in
https://github.com/SeleniumHQ/selenium/pull/15341

</details>

**Full Changelog**:
https://github.com/SeleniumHQ/selenium/compare/selenium-4.32.0...selenium-4.33.0

## 4.32.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>



<!-- Release notes generated using configuration in .github/release.yml
at d17c8aa95092dc25ae64f12e7abdc844cf3503f0 -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* [py] Fix test args for --headless and --bidi by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15567
* [py] Only skip WebKit tests on Windows by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15470
* [dotnet] [bidi] Revisit some core functionality to deserialize without
intermediate `JsonElement` allocation by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15575
* [py] Fix broken test for chromedriver logging by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15579
* [py] Fix test for w3c touch pointer properties by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15580
* [py] Fix FedCM tests leaking state by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15583
* [dotnet] [bidi] Address BiDi's JSON converter AOT warnings by
@​RenderMichael in https://github.com/SeleniumHQ/selenium/pull/15390
* [dotnet] [bidi] Added missing GenericLogEntry log entry type in Script
module by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15591
* [grid] Ignored options when they are prefixed, safari specif as well
by @​diemol in https://github.com/SeleniumHQ/selenium/pull/15574
* [py] Remove broken logo from Sphinx generated API docs by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/15597
* [py] Fix PyTest configuration for WPEWebKit by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15602
* [py] Fix failing test for Edge logging by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15605
* [rb] Add PrintOptions Implementation for Ruby WebDriver by @​yvsvarma
in https://github.com/SeleniumHQ/selenium/pull/15158
* [py] BiDi Network implementation of Intercepts and Auth in Python by
@​shbenzer in https://github.com/SeleniumHQ/selenium/pull/14592
* [py] Use XWayland for internal Python Firefox tests by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15601
* [py] Use mock.patch for environment variables in tests by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/15607
* [ruby] fix lint for print_options.rb by @​Delta456 in
https://github.com/SeleniumHQ/selenium/pull/15608
* [py] Configure readthedocs publishing for Python API docs by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/15614
* [py] Fix select being able to select options hidden by css rules by
@​FFederi in https://github.com/SeleniumHQ/selenium/pull/15135
* [py][bidi]: Implement BiDi browser module by @​navin772 in
https://github.com/SeleniumHQ/selenium/pull/15616
* [dotnet] [bidi] Combine network interception to apply rules (breaking
change) by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15603
* [dotnet] [bidi] Add strongly-typed `LocalValue.ConvertFrom` overloads
by @​RenderMichael in https://github.com/SeleniumHQ/selenium/pull/15532
* [py] Add missing modules to Python API docs by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15624
* [dotnet] [bidi] Do not throw when CallFunction or Evaluate return
exceptional result (breaking change) by @​RenderMichael in
https://github.com/SeleniumHQ/selenium/pull/15521
* [py] Skip bidi tests on browsers that don't support bidi by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/15625
* [py] complete
`test_should_throw_an_exception_if_an_alert_has_not_been_dealt_with_and_dismiss_the_alert`
by @​Delta456 in https://github.com/SeleniumHQ/selenium/pull/15559
* [py] Remove unused xfail on chrome/edge service tests by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/15637
* [py] Adjust xfail markers for window size/position tests by
@​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/15638
* [py] Call service.stop() when session can't be started by @​cgoldberg
in https://github.com/SeleniumHQ/selenium/pull/15636
* [dotnet] [bidi] Reuse memory when receiving websocket messages by
@​nvborisenko in https://github.com/SeleniumHQ/selenium/pull/15640
* [py] Remove logging API for non-Chromium browsers by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15641
* [py] Raise TypeError when creating webdriver.Remote() without options
by @​cgoldberg in https://github.com/SeleniumHQ/selenium/pull/15619
* [py] Upgrade dependencies for mypy tox environment by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15642
* [py] Fix Remote Firefox tests on Linux/Wayland by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15648
* [dotnet] Enhance Selenium Manager platform detection by @​nvborisenko
in https://github.com/SeleniumHQ/selenium/pull/15649
* [dotnet] Use namespace file scoped by @​nvborisenko in
https://github.com/SeleniumHQ/selenium/pull/15651
* [py] Fix flaky WebDriverWait tests by @​cgoldberg in
https://github.com/SeleniumHQ/selenium/pull/15650
 ... (truncated)

Commits viewable in [compare
view](https://github.com/SeleniumHQ/selenium/compare/selenium-4.31.0...selenium-4.41.0).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Selenium.WebDriver&package-manager=nuget&previous-version=4.31.0&new-version=4.41.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: PhilipWoulfe <philip.woulfe@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

B-grid Everything grid and server related C-java Java Bindings Review effort 2/5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants