From c5f314670396b04e92b32500bd6e0dfac31e841f Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Thu, 20 Jun 2024 22:03:48 +0200 Subject: [PATCH] [build] Prepare for release of Selenium 4.22.0 (#14163) * Update pinned browser versions * Update supported versions for Chrome DevTools * Update selenium manager version * Update authors file * Update versions and change logs to release Selenium 4.22.0 --------- Co-authored-by: Selenium CI Bot Co-authored-by: titusfortner --- AUTHORS | 6 + MODULE.bazel | 50 +- Rakefile | 2 +- .../chromium/{v123 => v126}/BUILD.bazel | 0 .../{v123 => v126}/browser_protocol.pdl | 446 ++++++++++++++++-- .../chromium/{v123 => v126}/js_protocol.pdl | 0 common/repositories.bzl | 16 +- common/selenium_manager.bzl | 12 +- dotnet/CHANGELOG | 8 + dotnet/selenium-dotnet-version.bzl | 4 +- .../src/webdriver/DevTools/DevToolsDomains.cs | 2 +- .../V123Domains.cs => v126/V126Domains.cs} | 22 +- .../V126JavaScript.cs} | 16 +- .../{v123/V123Log.cs => v126/V126Log.cs} | 14 +- .../V123Network.cs => v126/V126Network.cs} | 24 +- .../V123Target.cs => v126/V126Target.cs} | 14 +- dotnet/src/webdriver/WebDriver.csproj | 2 +- .../StableChannelChromeDriver.cs | 2 +- .../common/DevTools/DevToolsConsoleTest.cs | 4 +- .../test/common/DevTools/DevToolsLogTest.cs | 2 +- .../common/DevTools/DevToolsNetworkTest.cs | 4 +- .../DevTools/DevToolsPerformanceTest.cs | 4 +- .../common/DevTools/DevToolsProfilerTest.cs | 4 +- .../common/DevTools/DevToolsSecurityTest.cs | 4 +- .../test/common/DevTools/DevToolsTabsTest.cs | 4 +- .../common/DevTools/DevToolsTargetTest.cs | 6 +- java/CHANGELOG | 16 + java/maven_install.json | 221 ++++----- .../devtools/{v123 => v126}/BUILD.bazel | 2 +- .../v126CdpInfo.java} | 8 +- .../v126Domains.java} | 26 +- .../v123Events.java => v126/v126Events.java} | 18 +- .../v126Javascript.java} | 14 +- .../{v123/v123Log.java => v126/v126Log.java} | 10 +- .../v126Network.java} | 20 +- .../v123Target.java => v126/v126Target.java} | 24 +- .../org/openqa/selenium/devtools/versions.bzl | 2 +- java/version.bzl | 2 +- .../node/selenium-webdriver/BUILD.bazel | 4 +- javascript/node/selenium-webdriver/CHANGES.md | 8 + .../node/selenium-webdriver/package.json | 2 +- package-lock.json | 2 +- py/BUILD.bazel | 4 +- py/CHANGES | 11 + py/docs/source/conf.py | 2 +- py/selenium/__init__.py | 2 +- py/selenium/webdriver/__init__.py | 2 +- py/setup.py | 2 +- rb/CHANGES | 14 + rb/Gemfile.lock | 18 +- rb/lib/selenium/devtools/BUILD.bazel | 2 +- rb/lib/selenium/devtools/version.rb | 2 +- rb/lib/selenium/webdriver/version.rb | 2 +- 53 files changed, 764 insertions(+), 348 deletions(-) rename common/devtools/chromium/{v123 => v126}/BUILD.bazel (100%) rename common/devtools/chromium/{v123 => v126}/browser_protocol.pdl (96%) rename common/devtools/chromium/{v123 => v126}/js_protocol.pdl (100%) rename dotnet/src/webdriver/DevTools/{v123/V123Domains.cs => v126/V126Domains.cs} (78%) rename dotnet/src/webdriver/DevTools/{v123/V123JavaScript.cs => v126/V126JavaScript.cs} (94%) rename dotnet/src/webdriver/DevTools/{v123/V123Log.cs => v126/V126Log.cs} (88%) rename dotnet/src/webdriver/DevTools/{v123/V123Network.cs => v126/V126Network.cs} (95%) rename dotnet/src/webdriver/DevTools/{v123/V123Target.cs => v126/V126Target.cs} (94%) rename java/src/org/openqa/selenium/devtools/{v123 => v126}/BUILD.bazel (98%) rename java/src/org/openqa/selenium/devtools/{v123/v123CdpInfo.java => v126/v126CdpInfo.java} (86%) rename java/src/org/openqa/selenium/devtools/{v123/v123Domains.java => v126/v126Domains.java} (77%) rename java/src/org/openqa/selenium/devtools/{v123/v123Events.java => v126/v126Events.java} (86%) rename java/src/org/openqa/selenium/devtools/{v123/v123Javascript.java => v126/v126Javascript.java} (85%) rename java/src/org/openqa/selenium/devtools/{v123/v123Log.java => v126/v126Log.java} (89%) rename java/src/org/openqa/selenium/devtools/{v123/v123Network.java => v126/v126Network.java} (92%) rename java/src/org/openqa/selenium/devtools/{v123/v123Target.java => v126/v126Target.java} (83%) diff --git a/AUTHORS b/AUTHORS index 13cd94023d7d2..39da6a60b9d47 100644 --- a/AUTHORS +++ b/AUTHORS @@ -41,6 +41,7 @@ Alex Savchuk Alexander Bayandin Alexander Dobrynin Alexander Kavanaugh +Alexander Millin Alexandr Savchuk Alexandre Abreu Alexei Barantsev @@ -63,6 +64,7 @@ Andras Hatvani Andre Wiggins <459878+andrewiggins@users.noreply.github.com> Andreas Tolf Tolfsen Andreas Tolfsen +Andrei Andrei Botalov Andrei Rusu Andrei Solntsev @@ -88,6 +90,7 @@ Ashley Trinh Aslak Hellesøy asmundak Atsushi Tatsuma +Augustin Gottlieb Pequeno <33221555+aguspe@users.noreply.github.com> Aurélien Pupier Austin Michael Wilkins <42476341+amwilkins@users.noreply.github.com> BaerMitUmlaut @@ -98,6 +101,7 @@ Ben Kucera <14625260+Bkucera@users.noreply.github.com> Ben Lamm Ben Sedat Benjamin Forehand Jr +bgermann bhecquet bhkwan Bill Agee @@ -364,6 +368,7 @@ James Garbutt <43081j@users.noreply.github.com> James Hilliard James Martin James Strachen +James Yuzawa jamespdo Jan Trejbal Jan Weitz @@ -696,6 +701,7 @@ reichsta Reinaldo Rossetti Reinhold Degenfellner Remco +renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> richard.hines RichCrook richseviora diff --git a/MODULE.bazel b/MODULE.bazel index b206f169464f7..ad934d7d09e27 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -162,11 +162,11 @@ maven.install( name = "maven", artifacts = [ "com.beust:jcommander:1.82", - "com.github.javaparser:javaparser-core:3.25.10", - "com.github.spotbugs:spotbugs:4.8.5", + "com.github.javaparser:javaparser-core:3.26.0", + "com.github.spotbugs:spotbugs:4.8.6", "com.github.stephenc.jcip:jcip-annotations:1.0-1", - "com.google.code.gson:gson:2.10.1", - "com.google.guava:guava:33.2.0-jre", + "com.google.code.gson:gson:2.11.0", + "com.google.guava:guava:33.2.1-jre", "com.google.auto:auto-common:1.2.2", "com.google.auto.service:auto-service:1.1.1", "com.google.auto.service:auto-service-annotations:1.1.1", @@ -176,33 +176,33 @@ maven.install( "dev.failsafe:failsafe:3.3.2", "io.grpc:grpc-context:1.64.0", "io.lettuce:lettuce-core:6.3.2.RELEASE", - "io.netty:netty-buffer:4.1.109.Final", - "io.netty:netty-codec-http:4.1.109.Final", - "io.netty:netty-codec-http2:4.1.109.Final", - "io.netty:netty-common:4.1.109.Final", - "io.netty:netty-handler:4.1.109.Final", - "io.netty:netty-handler-proxy:4.1.109.Final", - "io.netty:netty-transport:4.1.109.Final", - "io.opentelemetry:opentelemetry-api:1.38.0", - "io.opentelemetry:opentelemetry-context:1.38.0", - "io.opentelemetry:opentelemetry-exporter-logging:1.38.0", - "io.opentelemetry:opentelemetry-sdk:1.38.0", - "io.opentelemetry:opentelemetry-sdk-common:1.38.0", - "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:1.38.0", - "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:1.38.0", - "io.opentelemetry:opentelemetry-sdk-testing:1.38.0", - "io.opentelemetry:opentelemetry-sdk-trace:1.38.0", + "io.netty:netty-buffer:4.1.111.Final", + "io.netty:netty-codec-http:4.1.111.Final", + "io.netty:netty-codec-http2:4.1.111.Final", + "io.netty:netty-common:4.1.111.Final", + "io.netty:netty-handler:4.1.111.Final", + "io.netty:netty-handler-proxy:4.1.111.Final", + "io.netty:netty-transport:4.1.111.Final", + "io.opentelemetry:opentelemetry-api:1.39.0", + "io.opentelemetry:opentelemetry-context:1.39.0", + "io.opentelemetry:opentelemetry-exporter-logging:1.39.0", + "io.opentelemetry:opentelemetry-sdk:1.39.0", + "io.opentelemetry:opentelemetry-sdk-common:1.39.0", + "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:1.39.0", + "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:1.39.0", + "io.opentelemetry:opentelemetry-sdk-testing:1.39.0", + "io.opentelemetry:opentelemetry-sdk-trace:1.39.0", "io.opentelemetry.semconv:opentelemetry-semconv:1.25.0-alpha", "io.ous:jtoml:2.0.0", "it.ozimov:embedded-redis:0.7.3", - "net.bytebuddy:byte-buddy:1.14.15", - "org.htmlunit:htmlunit-core-js:4.1.0", + "net.bytebuddy:byte-buddy:1.14.17", + "org.htmlunit:htmlunit-core-js:4.2.0", "org.apache.commons:commons-exec:1.4.0", "org.apache.logging.log4j:log4j-core:2.23.1", - "org.assertj:assertj-core:3.25.3", + "org.assertj:assertj-core:3.26.0", "org.bouncycastle:bcpkix-jdk18on:1.78.1", "org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5", - "org.hsqldb:hsqldb:2.7.2", + "org.hsqldb:hsqldb:2.7.3", "org.junit.jupiter:junit-jupiter-api:5.10.2", "org.junit.jupiter:junit-jupiter-engine:5.10.2", "org.junit.jupiter:junit-jupiter-params:5.10.2", @@ -211,7 +211,7 @@ maven.install( "org.junit.platform:junit-platform-commons:1.10.2", "org.junit.platform:junit-platform-engine:1.10.2", "org.mockito:mockito-core:5.12.0", - "org.redisson:redisson:3.30.0", + "org.redisson:redisson:3.31.0", "org.slf4j:slf4j-api:2.0.13", "org.slf4j:slf4j-jdk14:2.0.13", "org.zeromq:jeromq:0.6.0", diff --git a/Rakefile b/Rakefile index c8e8b025b38c5..177e78f97279a 100644 --- a/Rakefile +++ b/Rakefile @@ -98,7 +98,7 @@ JAVA_RELEASE_TARGETS = %w[ //java/src/org/openqa/selenium/chrome:chrome.publish //java/src/org/openqa/selenium/chromium:chromium.publish //java/src/org/openqa/selenium/devtools/v125:v125.publish - //java/src/org/openqa/selenium/devtools/v123:v123.publish + //java/src/org/openqa/selenium/devtools/v126:v126.publish //java/src/org/openqa/selenium/devtools/v124:v124.publish //java/src/org/openqa/selenium/devtools/v85:v85.publish //java/src/org/openqa/selenium/edge:edge.publish diff --git a/common/devtools/chromium/v123/BUILD.bazel b/common/devtools/chromium/v126/BUILD.bazel similarity index 100% rename from common/devtools/chromium/v123/BUILD.bazel rename to common/devtools/chromium/v126/BUILD.bazel diff --git a/common/devtools/chromium/v123/browser_protocol.pdl b/common/devtools/chromium/v126/browser_protocol.pdl similarity index 96% rename from common/devtools/chromium/v123/browser_protocol.pdl rename to common/devtools/chromium/v126/browser_protocol.pdl index 5b79452137dbf..31028c8b42049 100644 --- a/common/devtools/chromium/v123/browser_protocol.pdl +++ b/common/devtools/chromium/v126/browser_protocol.pdl @@ -475,6 +475,12 @@ experimental domain Animation # Animation that was started. Animation animation + # Event for animation that has been updated. + event animationUpdated + parameters + # Animation that was updated. + Animation animation + # Audits domain allows investigation of page violations and possible improvements. experimental domain Audits depends on Network @@ -729,6 +735,37 @@ experimental domain Audits WebAndOsHeaders NoWebOrOsSupport NavigationRegistrationWithoutTransientUserActivation + InvalidInfoHeader + NoRegisterSourceHeader + NoRegisterTriggerHeader + NoRegisterOsSourceHeader + NoRegisterOsTriggerHeader + + type SharedDictionaryError extends string + enum + UseErrorCrossOriginNoCorsRequest + UseErrorDictionaryLoadFailure + UseErrorMatchingDictionaryNotUsed + UseErrorUnexpectedContentDictionaryHeader + WriteErrorCossOriginNoCorsRequest + WriteErrorDisallowedBySettings + WriteErrorExpiredResponse + WriteErrorFeatureDisabled + WriteErrorInsufficientResources + WriteErrorInvalidMatchField + WriteErrorInvalidStructuredHeader + WriteErrorNavigationRequest + WriteErrorNoMatchField + WriteErrorNonListMatchDestField + WriteErrorNonSecureContext + WriteErrorNonStringIdField + WriteErrorNonStringInMatchDestList + WriteErrorNonStringMatchField + WriteErrorNonTokenTypeField + WriteErrorRequestAborted + WriteErrorShuttingDown + WriteErrorTooLongIdField + WriteErrorUnsupportedType # Details for issues around "Attribution Reporting API" usage. # Explainer: https://github.com/WICG/attribution-reporting-api @@ -756,6 +793,11 @@ experimental domain Audits string url optional SourceCodeLocation location + type SharedDictionaryIssueDetails extends object + properties + SharedDictionaryError sharedDictionaryError + AffectedRequest request + type GenericIssueErrorType extends string enum CrossOriginPortalPostMessageError @@ -807,6 +849,9 @@ experimental domain Audits type CookieDeprecationMetadataIssueDetails extends object properties array of string allowedSites + number optOutPercentage + boolean isOptOutTopLevel + CookieOperation operation type ClientHintIssueReason extends string enum @@ -865,6 +910,8 @@ experimental domain Audits SilentMediationFailure ThirdPartyCookiesBlocked NotSignedInWithIdp + MissingTransientUserActivation + ReplacedByButtonMode type FederatedAuthUserInfoRequestIssueDetails extends object properties @@ -959,6 +1006,7 @@ experimental domain Audits StylesheetLoadingIssue FederatedAuthUserInfoRequestIssue PropertyRuleIssue + SharedDictionaryIssue # This struct holds a list of optional fields with additional information # specific to the kind of issue. When adding a new issue code, please also @@ -985,6 +1033,7 @@ experimental domain Audits optional StylesheetLoadingIssueDetails stylesheetLoadingIssueDetails optional PropertyRuleIssueDetails propertyRuleIssueDetails optional FederatedAuthUserInfoRequestIssueDetails federatedAuthUserInfoRequestIssueDetails + optional SharedDictionaryIssueDetails sharedDictionaryIssueDetails # A unique id for a DevTools inspector issue. Allows other entities (e.g. # exceptions, CDP message, console messages, etc.) to reference an issue. @@ -1046,6 +1095,21 @@ experimental domain Audits parameters InspectorIssue issue +# Defines commands and events for browser extensions. Available if the client +# is connected using the --remote-debugging-pipe flag and +# the --enable-unsafe-extension-debugging flag is set. +experimental domain Extensions + # Installs an unpacked extension from the filesystem similar to + # --load-extension CLI flags. Returns extension ID once the extension + # has been installed. + command loadUnpacked + parameters + # Absolute file path. + string path + returns + # Extension id. + string id + # Defines commands and events for Autofill. experimental domain Autofill type CreditCard extends object @@ -1939,12 +2003,25 @@ experimental domain CSS CSSStyle style # CSS position-fallback rule representation. - type CSSPositionFallbackRule extends object + deprecated type CSSPositionFallbackRule extends object properties Value name # List of keyframes. array of CSSTryRule tryRules + # CSS @position-try rule representation. + type CSSPositionTryRule extends object + properties + # The prelude dashed-ident name + Value name + # The css style sheet identifier (absent for user agent stylesheet and user-specified + # stylesheet rules) this rule came from. + optional StyleSheetId styleSheetId + # Parent stylesheet's origin. + StyleSheetOrigin origin + # Associated style declaration. + CSSStyle style + # CSS keyframes rule representation. type CSSKeyframesRule extends object properties @@ -2118,7 +2195,9 @@ experimental domain CSS # A list of CSS keyframed animations matching this node. optional array of CSSKeyframesRule cssKeyframesRules # A list of CSS position fallbacks matching this node. - optional array of CSSPositionFallbackRule cssPositionFallbackRules + deprecated optional array of CSSPositionFallbackRule cssPositionFallbackRules + # A list of CSS @position-try rules matching this node, based on the position-try-options property. + optional array of CSSPositionTryRule cssPositionTryRules # A list of CSS at-property rules matching this node. optional array of CSSPropertyRule cssPropertyRules # A list of CSS property registrations matching this node. @@ -2160,6 +2239,15 @@ experimental domain CSS returns CSSLayerData rootLayer + # Given a CSS selector text and a style sheet ID, getLocationForSelector + # returns an array of locations of the CSS selector in the style sheet. + experimental command getLocationForSelector + parameters + StyleSheetId styleSheetId + string selectorText + returns + array of SourceRange ranges + # Starts tracking the given computed styles for updates. The specified array of properties # replaces the one previously specified. Pass empty array to disable tracking. # Use takeComputedStyleUpdates to retrieve the list of nodes that had properties modified. @@ -2541,11 +2629,14 @@ domain DOM marker backdrop selection + search-text target-text spelling-error grammar-error highlight first-line-inherited + scroll-marker + scroll-markers scrollbar scrollbar-thumb scrollbar-button @@ -3045,6 +3136,20 @@ domain DOM # NodeIds of top layer elements array of NodeId nodeIds + # Returns the NodeId of the matched element according to certain relations. + experimental command getElementByRelation + parameters + # Id of the node from which to query the relation. + NodeId nodeId + # Type of relation to get. + enum relation + # Get the popover target for a given element. In this case, this given + # element can only be an HTMLFormControlElement (,