[build] Prepare for release of Selenium 4.32.0 (#15690)
* update pinned browser versions
* update devtools versions
* update selenium manager versions
* update maven dependency versions
* update authors file
* bump versions in preparation for release
* WIP - rough auto-update of changelog, please edit
* Moving Netty to 4.1.121.Final per @shs96c comment at https://github.com/SeleniumHQ/selenium/commit/bce221b7d12093644d3b7294b7660286b4a2cbe4#diff-6136fc12446089c3db7360e923203dd114b6a1466252e71667c6791c20fe6bdc
* Updating changelogs
* Reverting undesired change in Rakefile
* Setting flag for Firefox setContext
* Format script
---------
Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
Co-authored-by: Selenium CI Bot <selenium-ci@users.noreply.github.com>
Co-authored-by: Diego Molina <diemol@gmail.com>
Co-authored-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
Co-authored-by: Diego Molina <diemol@users.noreply.github.com>
diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml
index 19b9620..5ebd882 100644
--- a/.github/ISSUE_TEMPLATE/bug-report.yml
+++ b/.github/ISSUE_TEMPLATE/bug-report.yml
@@ -50,7 +50,7 @@
id: selenium-version
attributes:
label: What version of Selenium are you currently using?
- description: Important! The latest released version of Selenium is 4.31 and we can't fix old versions.
+ description: Important! The latest released version of Selenium is 4.32 and we can't fix old versions.
placeholder: e.g., 4.17.0
validations:
required: true
diff --git a/AUTHORS b/AUTHORS
index 37f61a5..0515c66 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -281,6 +281,7 @@
Evgeniy Roldukhin <evgeniy@roldukhin.ru>
EwaMarek <ewa.marek.3.14@gmail.com>
Fan <1135611487@qq.com>
+Federico Franco <81330093+FFederi@users.noreply.github.com>
Felipe Knorr Kuhn <git@knorrium.info>
Fenil Mehta <42742240+fenilgmehta@users.noreply.github.com>
FloKNetcare <Florian.Kilz@netcare.de>
diff --git a/MODULE.bazel b/MODULE.bazel
index cf98f16..9fd2d5b 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -174,16 +174,16 @@
"com.github.spotbugs:spotbugs:4.9.3",
"com.github.stephenc.jcip:jcip-annotations:1.0-1",
"com.google.code.findbugs:jsr305:3.0.2",
- "com.google.code.gson:gson:2.12.1",
- "com.google.guava:guava:33.4.6-jre",
+ "com.google.code.gson:gson:2.13.1",
+ "com.google.guava:guava:33.4.8-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",
"com.google.googlejavaformat:google-java-format:1.26.0",
"com.graphql-java:graphql-java:22.3",
"dev.failsafe:failsafe:3.3.2",
- "io.grpc:grpc-context:1.71.0",
- "io.lettuce:lettuce-core:6.5.5.RELEASE",
+ "io.grpc:grpc-context:1.72.0",
+ "io.lettuce:lettuce-core:6.6.0.RELEASE",
"io.netty:netty-buffer",
"io.netty:netty-codec-http",
"io.netty:netty-codec-http2",
@@ -217,8 +217,8 @@
"org.junit.platform:junit-platform-reporting",
"org.junit.platform:junit-platform-commons",
"org.junit.platform:junit-platform-engine",
- "org.mockito:mockito-core:5.16.1",
- "org.redisson:redisson:3.45.1",
+ "org.mockito:mockito-core:5.17.0",
+ "org.redisson:redisson:3.46.0",
"org.slf4j:slf4j-api:2.0.17",
"org.slf4j:slf4j-jdk14:2.0.17",
"org.tomlj:tomlj:1.1.1",
diff --git a/README.md b/README.md
index ee677d5..61b123c 100644
--- a/README.md
+++ b/README.md
@@ -202,6 +202,13 @@
#### Updating Dependencies
Dependencies are defined in the file [MODULE.bazel](https://github.com/SeleniumHQ/selenium/blob/trunk/MODULE.bazel).
+
+To update a dependency, modify the version in the `MODULE.bazel` file and run:
+
+```shell
+RULES_JVM_EXTERNAL_REPIN=1 bazel run @maven//:pin
+```
+
To automatically update and pin new dependencies, run:
```shell
diff --git a/Rakefile b/Rakefile
index 90ef7a1..3e1d716 100644
--- a/Rakefile
+++ b/Rakefile
@@ -98,7 +98,7 @@
//java/src/org/openqa/selenium/chromium:chromium.publish
//java/src/org/openqa/selenium/devtools/v134:v134.publish
//java/src/org/openqa/selenium/devtools/v135:v135.publish
- //java/src/org/openqa/selenium/devtools/v133:v133.publish
+ //java/src/org/openqa/selenium/devtools/v136:v136.publish
//java/src/org/openqa/selenium/edge:edge.publish
//java/src/org/openqa/selenium/firefox:firefox.publish
//java/src/org/openqa/selenium/grid/sessionmap/jdbc:jdbc.publish
diff --git a/common/devtools/chromium/v133/BUILD.bazel b/common/devtools/chromium/v136/BUILD.bazel
similarity index 100%
rename from common/devtools/chromium/v133/BUILD.bazel
rename to common/devtools/chromium/v136/BUILD.bazel
diff --git a/common/devtools/chromium/v133/browser_protocol.pdl b/common/devtools/chromium/v136/browser_protocol.pdl
similarity index 96%
rename from common/devtools/chromium/v133/browser_protocol.pdl
rename to common/devtools/chromium/v136/browser_protocol.pdl
index 3d5f44c..3f5cefd 100644
--- a/common/devtools/chromium/v133/browser_protocol.pdl
+++ b/common/devtools/chromium/v136/browser_protocol.pdl
@@ -691,6 +691,7 @@
kInlineViolation
kEvalViolation
kURLViolation
+ kSRIViolation
kTrustedTypesSinkViolation
kTrustedTypesPolicyViolation
kWasmEvalViolation
@@ -800,6 +801,30 @@
WriteErrorTooLongIdField
WriteErrorUnsupportedType
+ type SRIMessageSignatureError extends string
+ enum
+ MissingSignatureHeader
+ MissingSignatureInputHeader
+ InvalidSignatureHeader
+ InvalidSignatureInputHeader
+ SignatureHeaderValueIsNotByteSequence
+ SignatureHeaderValueIsParameterized
+ SignatureHeaderValueIsIncorrectLength
+ SignatureInputHeaderMissingLabel
+ SignatureInputHeaderValueNotInnerList
+ SignatureInputHeaderValueMissingComponents
+ SignatureInputHeaderInvalidComponentType
+ SignatureInputHeaderInvalidComponentName
+ SignatureInputHeaderInvalidHeaderComponentParameter
+ SignatureInputHeaderInvalidDerivedComponentParameter
+ SignatureInputHeaderKeyIdLength
+ SignatureInputHeaderInvalidParameter
+ SignatureInputHeaderMissingRequiredParameters
+ ValidationFailedSignatureExpired
+ ValidationFailedInvalidLength
+ ValidationFailedSignatureMismatch
+ ValidationFailedIntegrityMismatch
+
# Details for issues around "Attribution Reporting API" usage.
# Explainer: https://github.com/WICG/attribution-reporting-api
type AttributionReportingIssueDetails extends object
@@ -831,6 +856,13 @@
SharedDictionaryError sharedDictionaryError
AffectedRequest request
+ type SRIMessageSignatureIssueDetails extends object
+ properties
+ SRIMessageSignatureError error
+ string signatureBase
+ array of string integrityAssertions
+ AffectedRequest request
+
type GenericIssueErrorType extends string
enum
FormLabelForNameError
@@ -949,6 +981,9 @@
InvalidFieldsSpecified
RelyingPartyOriginIsOpaque
TypeNotMatching
+ UiDismissedNoEmbargo
+ CorsError
+ SuppressedBySegmentationPlatform
type FederatedAuthUserInfoRequestIssueDetails extends object
properties
@@ -984,6 +1019,18 @@
string failureMessage
optional Network.RequestId requestId
+ type PartitioningBlobURLInfo extends string
+ enum
+ BlockedCrossPartitionFetching
+ EnforceNoopenerForNavigation
+
+ type PartitioningBlobURLIssueDetails extends object
+ properties
+ # The BlobURL that failed to load.
+ string url
+ # Additional information about the Partitioning Blob URL issue.
+ PartitioningBlobURLInfo partitioningBlobURLInfo
+
type SelectElementAccessibilityIssueReason extends string
enum
DisallowedSelectChild
@@ -992,14 +1039,13 @@
InteractiveContentOptionChild
InteractiveContentLegendChild
- # This isue warns about errors in the select element content model.
+ # This issue warns about errors in the select element content model.
type SelectElementAccessibilityIssueDetails extends object
properties
DOM.BackendNodeId nodeId
SelectElementAccessibilityIssueReason selectElementAccessibilityIssueReason
boolean hasDisallowedAttributes
-
type StyleSheetLoadingIssueReason extends string
enum
LateImportRule
@@ -1048,6 +1094,7 @@
CorsIssue
AttributionReportingIssue
QuirksModeIssue
+ PartitioningBlobURLIssue
# Deprecated
NavigatorUserAgentIssue
GenericIssue
@@ -1061,6 +1108,7 @@
PropertyRuleIssue
SharedDictionaryIssue
SelectElementAccessibilityIssue
+ SRIMessageSignatureIssue
# 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
@@ -1077,6 +1125,7 @@
optional CorsIssueDetails corsIssueDetails
optional AttributionReportingIssueDetails attributionReportingIssueDetails
optional QuirksModeIssueDetails quirksModeIssueDetails
+ optional PartitioningBlobURLIssueDetails partitioningBlobURLIssueDetails
deprecated optional NavigatorUserAgentIssueDetails navigatorUserAgentIssueDetails
optional GenericIssueDetails genericIssueDetails
optional DeprecationIssueDetails deprecationIssueDetails
@@ -1089,6 +1138,7 @@
optional FederatedAuthUserInfoRequestIssueDetails federatedAuthUserInfoRequestIssueDetails
optional SharedDictionaryIssueDetails sharedDictionaryIssueDetails
optional SelectElementAccessibilityIssueDetails selectElementAccessibilityIssueDetails
+ optional SRIMessageSignatureIssueDetails sriMessageSignatureIssueDetails
# A unique id for a DevTools inspector issue. Allows other entities (e.g.
# exceptions, CDP message, console messages, etc.) to reference an issue.
@@ -1171,6 +1221,13 @@
returns
# Extension id.
string id
+ # Uninstalls an unpacked extension (others not supported) from the profile.
+ # Available if the client is connected using the --remote-debugging-pipe flag
+ # and the --enable-unsafe-extension-debugging.
+ command uninstall
+ parameters
+ # Extension id.
+ string id
# Gets data from extension storage in the given `storageArea`. If `keys` is
# specified, these are used to filter the result.
command getStorageItems
@@ -1428,6 +1485,7 @@
idleDetection
keyboardLock
localFonts
+ localNetworkAccess
midi
midiSysex
nfc
@@ -1687,6 +1745,25 @@
parameters
string url
+ experimental type PrivacySandboxAPI extends string
+ enum
+ BiddingAndAuctionServices
+ TrustedKeyValue
+
+ # Configures encryption keys used with a given privacy sandbox API to talk
+ # to a trusted coordinator. Since this is intended for test automation only,
+ # coordinatorOrigin must be a .test domain. No existing coordinator
+ # configuration for the origin may exist.
+ command addPrivacySandboxCoordinatorKeyConfig
+ parameters
+ PrivacySandboxAPI api
+ string coordinatorOrigin
+ string keyConfig
+ # BrowserContext to perform the action in. When omitted, default browser
+ # context is used.
+ optional BrowserContextID browserContextId
+
+
# This domain exposes CSS read/write operations. All CSS objects (stylesheets, rules, and styles)
# have an associated `id` used in subsequent operations on the related object. Each object type has
# a specific `id` structure, and those are not interchangeable between objects of different kinds.
@@ -2199,6 +2276,51 @@
# Associated style declaration.
CSSStyle style
+ # CSS function argument representation.
+ type CSSFunctionParameter extends object
+ properties
+ # The parameter name.
+ string name
+ # The parameter type.
+ string type
+
+ # CSS function conditional block representation.
+ type CSSFunctionConditionNode extends object
+ properties
+ # Media query for this conditional block. Only one type of condition should be set.
+ optional CSSMedia media
+ # Container query for this conditional block. Only one type of condition should be set.
+ optional CSSContainerQuery containerQueries
+ # @supports CSS at-rule condition. Only one type of condition should be set.
+ optional CSSSupports supports
+ # Block body.
+ array of CSSFunctionNode children
+ # The condition text.
+ string conditionText
+
+ # Section of the body of a CSS function rule.
+ type CSSFunctionNode extends object
+ properties
+ # A conditional block. If set, style should not be set.
+ optional CSSFunctionConditionNode condition
+ # Values set by this node. If set, condition should not be set.
+ optional CSSStyle style
+
+ # CSS function at-rule representation.
+ type CSSFunctionRule extends object
+ properties
+ # Name of the function.
+ 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
+ # List of parameters.
+ array of CSSFunctionParameter parameters
+ # Function body.
+ array of CSSFunctionNode children
+
# CSS keyframe rule representation.
type CSSKeyframeRule extends object
properties
@@ -2253,6 +2375,11 @@
parameters
# Identifier of the frame where "via-inspector" stylesheet should be created.
Page.FrameId frameId
+ # If true, creates a new stylesheet for every call. If false,
+ # returns a stylesheet previously created by a call with force=false
+ # for the frame's document if it exists or creates a new stylesheet
+ # (default: false).
+ optional boolean force
returns
# Identifier of the created "via-inspector" stylesheet.
StyleSheetId styleSheetId
@@ -2391,6 +2518,8 @@
optional CSSFontPaletteValuesRule cssFontPaletteValuesRule
# Id of the first parent element that does not have display: contents.
experimental optional DOM.NodeId parentLayoutNodeId
+ # A list of CSS at-function rules referenced by styles of this node.
+ experimental optional array of CSSFunctionRule cssFunctionRules
# Returns all media queries parsed by the rendering engine.
command getMediaQueries
@@ -3361,6 +3490,8 @@
# Get the popover target for a given element. In this case, this given
# element can only be an HTMLFormControlElement (<input>, <button>).
PopoverTarget
+ # Get the interest target for a given element.
+ InterestTarget
returns
# NodeId of the element matching the queried relation.
NodeId nodeId
@@ -4218,56 +4349,6 @@
parameters
StorageId storageId
-experimental domain Database
-
- # Unique identifier of Database object.
- type DatabaseId extends string
-
- # Database object.
- type Database extends object
- properties
- # Database ID.
- DatabaseId id
- # Database domain.
- string domain
- # Database name.
- string name
- # Database version.
- string version
-
- # Database error.
- type Error extends object
- properties
- # Error message.
- string message
- # Error code.
- integer code
-
- # Disables database tracking, prevents database events from being sent to the client.
- command disable
-
- # Enables database tracking, database events will now be delivered to the client.
- command enable
-
- command executeSQL
- parameters
- DatabaseId databaseId
- string query
- returns
- optional array of string columnNames
- optional array of any values
- optional Error sqlError
-
- command getDatabaseTableNames
- parameters
- DatabaseId databaseId
- returns
- array of string tableNames
-
- event addDatabase
- parameters
- Database database
-
experimental domain DeviceOrientation
# Clears the overridden Device Orientation.
@@ -4289,6 +4370,25 @@
depends on Page
depends on Runtime
+ experimental type SafeAreaInsets extends object
+ properties
+ # Overrides safe-area-inset-top.
+ optional integer top
+ # Overrides safe-area-max-inset-top.
+ optional integer topMax
+ # Overrides safe-area-inset-left.
+ optional integer left
+ # Overrides safe-area-max-inset-left.
+ optional integer leftMax
+ # Overrides safe-area-inset-bottom.
+ optional integer bottom
+ # Overrides safe-area-max-inset-bottom.
+ optional integer bottomMax
+ # Overrides safe-area-inset-right.
+ optional integer right
+ # Overrides safe-area-max-inset-right.
+ optional integer rightMax
+
# Screen orientation.
type ScreenOrientation extends object
properties
@@ -4459,6 +4559,12 @@
# cleared.
optional DOM.RGBA color
+ # Overrides the values for env(safe-area-inset-*) and env(safe-area-max-inset-*). Unset values will cause the
+ # respective variables to be undefined, even if previously overridden.
+ experimental command setSafeAreaInsetsOverride
+ parameters
+ SafeAreaInsets insets
+
# Overrides the values of device screen dimensions (window.screen.width, window.screen.height,
# window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media
# query results).
@@ -4492,7 +4598,8 @@
experimental optional Page.Viewport viewport
# If set, the display feature of a multi-segment screen. If not set, multi-segment support
# is turned-off.
- experimental optional DisplayFeature displayFeature
+ # Deprecated, use Emulation.setDisplayFeaturesOverride.
+ experimental deprecated optional DisplayFeature displayFeature
# If set, the posture of a foldable device. If not set the posture is set
# to continuous.
# Deprecated, use Emulation.setDevicePostureOverride.
@@ -4510,6 +4617,18 @@
# Does nothing if no override is set.
experimental command clearDevicePostureOverride
+ # Start using the given display features to pupulate the Viewport Segments API.
+ # This override can also be set in setDeviceMetricsOverride().
+ experimental command setDisplayFeaturesOverride
+ parameters
+ array of DisplayFeature features
+
+ # Clears the display features override set with either setDeviceMetricsOverride()
+ # or setDisplayFeaturesOverride() and starts using display features from the
+ # platform again.
+ # Does nothing if no override is set.
+ experimental command clearDisplayFeaturesOverride
+
experimental command setScrollbarsHidden
parameters
# Whether scrollbars should be always hidden.
@@ -6135,6 +6254,9 @@
# Request was a private network request and is denied by user permission.
# https://github.com/WICG/private-network-access/blob/main/permission_prompt/explainer.md
PrivateNetworkAccessPermissionDenied
+ # Request was a local network request and is denied by user permission.
+ # https://github.com/explainers-by-googlers/local-network-access
+ LocalNetworkAccessPermissionDenied
type CorsErrorStatus extends object
properties
@@ -6521,6 +6643,8 @@
PortMismatch
# The cookie's source scheme value does not match the request origin's scheme.
SchemeMismatch
+ # Unpartitioned cookie access from an anonymous context was blocked.
+ AnonymousContext
# Types of reasons why a cookie should have been blocked by 3PCD but is exempted for the request.
experimental type CookieExemptionReason extends string
@@ -6545,6 +6669,8 @@
TopLevelStorageAccess
# The cookie should have been blocked by 3PCD but is exempted by the first-party URL scheme.
Scheme
+ # The cookie was included due to the 'allow-same-site-none-cookies' value being set in the sandboxing policy.
+ SameSiteNoneCookiesInSandbox
# A cookie which was not stored from a response with the corresponding reason.
experimental type BlockedSetCookieWithReason extends object
@@ -7317,6 +7443,60 @@
# Timestamp.
MonotonicTime timestamp
+ experimental type DirectSocketDnsQueryType extends string
+ enum
+ ipv4
+ ipv6
+
+ experimental type DirectTCPSocketOptions extends object
+ properties
+ # TCP_NODELAY option
+ boolean noDelay
+ # Expected to be unsigned integer.
+ optional number keepAliveDelay
+ # Expected to be unsigned integer.
+ optional number sendBufferSize
+ # Expected to be unsigned integer.
+ optional number receiveBufferSize
+ optional DirectSocketDnsQueryType dnsQueryType
+
+
+ # Fired upon direct_socket.TCPSocket creation.
+ experimental event directTCPSocketCreated
+ parameters
+ RequestId identifier
+ string remoteAddr
+ # Unsigned int 16.
+ integer remotePort
+ DirectTCPSocketOptions options
+ MonotonicTime timestamp
+ optional Initiator initiator
+
+ # Fired when direct_socket.TCPSocket connection is opened.
+ experimental event directTCPSocketOpened
+ parameters
+ RequestId identifier
+ string remoteAddr
+ # Expected to be unsigned integer.
+ integer remotePort
+ MonotonicTime timestamp
+ optional string localAddr
+ # Expected to be unsigned integer.
+ optional integer localPort
+
+ # Fired when direct_socket.TCPSocket is aborted.
+ experimental event directTCPSocketAborted
+ parameters
+ RequestId identifier
+ string errorMessage
+ MonotonicTime timestamp
+
+ # Fired when direct_socket.TCPSocket is closed.
+ experimental event directTCPSocketClosed
+ parameters
+ RequestId identifier
+ MonotonicTime timestamp
+
experimental type PrivateNetworkRequestPolicy extends string
enum
Allow
@@ -7324,6 +7504,8 @@
WarnFromInsecureToMorePrivate
PreflightBlock
PreflightWarn
+ PermissionBlock
+ PermissionWarn
experimental type IPAddressSpace extends string
enum
@@ -8223,7 +8405,7 @@
PerformanceProfile
# All Permissions Policy features. This enum should match the one defined
- # in third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5.
+ # in services/network/public/cpp/permissions_policy/permissions_policy_features.json5.
experimental type PermissionsPolicyFeature extends string
enum
accelerometer
@@ -8247,6 +8429,7 @@
ch-ua
ch-ua-arch
ch-ua-bitness
+ ch-ua-high-entropy-values
ch-ua-platform
ch-ua-model
ch-ua-mobile
@@ -8286,6 +8469,7 @@
interest-cohort
join-ad-interest-group
keyboard-map
+ language-detector
local-fonts
magnetometer
media-playback-while-not-visible
@@ -8300,6 +8484,7 @@
private-state-token-redemption
publickey-credentials-create
publickey-credentials-get
+ rewriter
run-ad-auction
screen-wake-lock
serial
@@ -8310,7 +8495,9 @@
speaker-selection
storage-access
sub-apps
+ summarizer
sync-xhr
+ translator
unload
usb
usb-unrestricted
@@ -8319,6 +8506,7 @@
web-printing
web-share
window-management
+ writer
xr-spatial-tracking
# Reason for a permissions policy feature to be disabled.
@@ -8397,6 +8585,14 @@
OriginTrialStatus status
array of OriginTrialTokenWithStatus tokensWithStatus
+ # Additional information about the frame document's security origin.
+ experimental type SecurityOriginDetails extends object
+ properties
+ # Indicates whether the frame document's security origin is one
+ # of the local hostnames (e.g. "localhost") or IP addresses (IPv4
+ # 127.0.0.0/8 or IPv6 ::1).
+ boolean isLocalhost
+
# Information about the Frame on the page.
type Frame extends object
properties
@@ -8419,6 +8615,8 @@
experimental string domainAndRegistry
# Frame document's security origin.
string securityOrigin
+ # Additional details about the frame document's security origin.
+ experimental optional SecurityOriginDetails securityOriginDetails
# Frame document's mimeType as determined by the browser.
string mimeType
# If the frame failed to load, this contains the URL that could not be loaded. Note that unlike url above, this URL may contain a fragment.
@@ -8788,6 +8986,10 @@
# Enables page domain notifications.
command enable
+ parameters
+ # If true, the `Page.fileChooserOpened` event will be emitted regardless of the state set by
+ # `Page.setInterceptFileChooserDialog` command (default: false).
+ experimental optional boolean enableFileChooserOpenedEvent
# The manifest of a webapp, see
# https://www.w3.org/TR/appmanifest/#dfn-manifest.
@@ -9341,7 +9543,7 @@
autoReject
autoOptOut
-# Sets the Secure Payment Confirmation transaction mode.
+ # Sets the Secure Payment Confirmation transaction mode.
# https://w3c.github.io/secure-payment-confirmation/#sctn-automation-set-spc-transaction-mode
experimental command setSPCTransactionMode
parameters
@@ -9370,6 +9572,10 @@
command setInterceptFileChooserDialog
parameters
boolean enabled
+ # If true, cancels the dialog by emitting relevant events (if any)
+ # in addition to not showing it if the interception is enabled
+ # (default: false).
+ experimental optional boolean cancel
event domContentEventFired
parameters
@@ -9443,6 +9649,34 @@
experimental event frameResized
+ # Fired when a navigation starts. This event is fired for both
+ # renderer-initiated and browser-initiated navigations. For renderer-initiated
+ # navigations, the event is fired after `frameRequestedNavigation`.
+ # Navigation may still be cancelled after the event is issued. Multiple events
+ # can be fired for a single navigation, for example, when a same-document
+ # navigation becomes a cross-document navigation (such as in the case of a
+ # frameset).
+ experimental event frameStartedNavigating
+ parameters
+ # ID of the frame that is being navigated.
+ FrameId frameId
+ # The URL the navigation started with. The final URL can be different.
+ string url
+ # Loader identifier. Even though it is present in case of same-document
+ # navigation, the previously committed loaderId would not change unless
+ # the navigation changes from a same-document to a cross-document
+ # navigation.
+ Network.LoaderId loaderId
+ enum navigationType
+ reload
+ reloadBypassingCache
+ restore
+ restoreWithPost
+ historySameDocument
+ historyDifferentDocument
+ sameDocument
+ differentDocument
+
# Fired when a renderer-initiated navigation is requested.
# Navigation may still be cancelled after the event is issued.
experimental event frameRequestedNavigation
@@ -9700,6 +9934,8 @@
EmbedderExtensionSentMessageToCachedFrame
RequestedByWebViewClient
PostMessageByWebViewClient
+ CacheControlNoStoreDeviceBoundSessionTerminated
+ CacheLimitPruned
# Types of not restored reasons for back-forward cache.
experimental type BackForwardCacheNotRestoredReasonType extends string
@@ -10261,7 +10497,6 @@
# Enum of possible storage types.
type StorageType extends string
enum
- appcache
cookies
file_systems
indexeddb
@@ -10324,30 +10559,32 @@
bidderTrustedSignals
sellerTrustedSignals
- # Enum of shared storage access types.
- type SharedStorageAccessType extends string
+ # Enum of shared storage access scopes.
+ type SharedStorageAccessScope extends string
enum
- documentAddModule
- documentSelectURL
- documentRun
- documentSet
- documentAppend
- documentDelete
- documentClear
- documentGet
- workletSet
- workletAppend
- workletDelete
- workletClear
- workletGet
- workletKeys
- workletEntries
- workletLength
- workletRemainingBudget
- headerSet
- headerAppend
- headerDelete
- headerClear
+ window
+ sharedStorageWorklet
+ protectedAudienceWorklet
+ header
+
+ # Enum of shared storage access methods.
+ type SharedStorageAccessMethod extends string
+ enum
+ addModule
+ createWorklet
+ selectURL
+ run
+ batchUpdate
+ set
+ append
+ delete
+ clear
+ get
+ keys
+ values
+ entries
+ length
+ remainingBudget
# Struct for a single key-value pair in an origin's shared storage.
type SharedStorageEntry extends object
@@ -10763,12 +11000,16 @@
parameters
# Time of the access.
Network.TimeSinceEpoch accessTime
+ # Enum value indicating the access scope.
+ SharedStorageAccessScope scope
# Enum value indicating the Shared Storage API method invoked.
- SharedStorageAccessType type
+ SharedStorageAccessMethod method
# DevTools Frame Token for the primary frame tree's root.
Page.FrameId mainFrameId
- # Serialized origin for the context that invoked the Shared Storage API.
+ # Serialization of the origin owning the Shared Storage data.
string ownerOrigin
+ # Serialization of the site owning the Shared Storage data.
+ string ownerSite
# The sub-parameters wrapped by `params` are all optional and their
# presence/absence depends on `type`.
SharedStorageAccessParams params
@@ -11035,6 +11276,21 @@
returns
array of RelatedWebsiteSet sets
+ # Returns the list of URLs from a page and its embedded resources that match
+ # existing grace period URL pattern rules.
+ # https://developers.google.com/privacy-sandbox/cookies/temporary-exceptions/grace-period
+ experimental command getAffectedUrlsForThirdPartyCookieMetadata
+ parameters
+ # The URL of the page currently being visited.
+ string firstPartyUrl
+ # The list of embedded resource URLs from the page.
+ array of string thirdPartyUrls
+
+ returns
+ # Array of matching URLs. If there is a primary pattern match for the first-
+ # party URL, only the first-party URL is returned in the array.
+ array of string matchedUrls
+
# The SystemInfo domain defines methods and events for querying low-level system information.
experimental domain SystemInfo
@@ -11224,6 +11480,14 @@
string host
integer port
+ # The state of the target window.
+ experimental type WindowState extends string
+ enum
+ normal
+ minimized
+ maximized
+ fullscreen
+
# Activates (focuses) the target.
command activateTarget
parameters
@@ -11268,6 +11532,8 @@
TargetID targetId
# Binding name, 'cdp' if not specified.
optional string bindingName
+ # If true, inherits the current root session's permissions (default: false).
+ optional boolean inheritPermissions
# Creates a new empty BrowserContext. Similar to an incognito profile but you can have more than
# one.
@@ -11297,23 +11563,26 @@
parameters
# The initial URL the page will be navigated to. An empty string indicates about:blank.
string url
- # Frame left origin in DIP (headless chrome only).
+ # Frame left origin in DIP (requires newWindow to be true or headless shell).
experimental optional integer left
- # Frame top origin in DIP (headless chrome only).
+ # Frame top origin in DIP (requires newWindow to be true or headless shell).
experimental optional integer top
- # Frame width in DIP (headless chrome only).
+ # Frame width in DIP (requires newWindow to be true or headless shell).
optional integer width
- # Frame height in DIP (headless chrome only).
+ # Frame height in DIP (requires newWindow to be true or headless shell).
optional integer height
+ # Frame window state (requires newWindow to be true or headless shell).
+ # Default is normal.
+ optional WindowState windowState
# The browser context to create the page in.
experimental optional Browser.BrowserContextID browserContextId
- # Whether BeginFrames for this target will be controlled via DevTools (headless chrome only,
+ # Whether BeginFrames for this target will be controlled via DevTools (headless shell only,
# not supported on MacOS yet, false by default).
experimental optional boolean enableBeginFrameControl
- # Whether to create a new Window or Tab (chrome-only, false by default).
+ # Whether to create a new Window or Tab (false by default, not supported by headless shell).
optional boolean newWindow
- # Whether to create the target in background or foreground (chrome-only,
- # false by default).
+ # Whether to create the target in background or foreground (false by default, not supported
+ # by headless shell).
optional boolean background
# Whether to create the target of type "tab".
experimental optional boolean forTab
@@ -12630,6 +12899,7 @@
OtherPrerenderedPageActivated
V8OptimizerDisabled
PrerenderFailedDuringPrefetch
+ BrowsingDataRemoved
# Fired when a preload enabled state is updated.
event preloadEnabledStateUpdated
@@ -12663,6 +12933,7 @@
PrefetchFailedMIMENotSupported
PrefetchFailedNetError
PrefetchFailedNon2XX
+ PrefetchEvictedAfterBrowsingDataRemoved
PrefetchEvictedAfterCandidateRemoved
PrefetchEvictedForNewerPrefetch
PrefetchHeldback
@@ -12680,6 +12951,9 @@
PrefetchNotEligibleSchemeIsNotHttps
PrefetchNotEligibleUserHasCookies
PrefetchNotEligibleUserHasServiceWorker
+ PrefetchNotEligibleUserHasServiceWorkerNoFetchHandler
+ PrefetchNotEligibleRedirectFromServiceWorker
+ PrefetchNotEligibleRedirectToServiceWorker
PrefetchNotEligibleBatterySaverEnabled
PrefetchNotEligiblePreloadingDisabled
PrefetchNotFinishedInTime
@@ -12957,6 +13231,12 @@
powered-off
powered-on
+ # Indicates the various types of GATT event.
+ type GATTOperationType extends string
+ enum
+ connection
+ discovery
+
# Stores the manufacturer data
type ManufacturerData extends object
properties
@@ -12987,11 +13267,32 @@
integer rssi
ScanRecord scanRecord
+ # Describes the properties of a characteristic. This follows Bluetooth Core
+ # Specification BT 4.2 Vol 3 Part G 3.3.1. Characteristic Properties.
+ type CharacteristicProperties extends object
+ properties
+ optional boolean broadcast
+ optional boolean read
+ optional boolean writeWithoutResponse
+ optional boolean write
+ optional boolean notify
+ optional boolean indicate
+ optional boolean authenticatedSignedWrites
+ optional boolean extendedProperties
+
# Enable the BluetoothEmulation domain.
command enable
parameters
# State of the simulated central.
CentralState state
+ # If the simulated central supports low-energy.
+ boolean leSupported
+
+ # Set the state of the simulated central.
+ command setSimulatedCentralState
+ parameters
+ # State of the simulated central.
+ CentralState state
# Disable the BluetoothEmulation domain.
command disable
@@ -13010,3 +13311,55 @@
command simulateAdvertisement
parameters
ScanEntry entry
+
+ # Simulates the response code from the peripheral with |address| for a
+ # GATT operation of |type|. The |code| value follows the HCI Error Codes from
+ # Bluetooth Core Specification Vol 2 Part D 1.3 List Of Error Codes.
+ command simulateGATTOperationResponse
+ parameters
+ string address
+ GATTOperationType type
+ integer code
+
+ # Adds a service with |serviceUuid| to the peripheral with |address|.
+ command addService
+ parameters
+ string address
+ string serviceUuid
+ returns
+ # An identifier that uniquely represents this service.
+ string serviceId
+
+ # Removes the service respresented by |serviceId| from the peripheral with
+ # |address|.
+ command removeService
+ parameters
+ string address
+ string serviceId
+
+ # Adds a characteristic with |characteristicUuid| and |properties| to the
+ # service represented by |serviceId| in the peripheral with |address|.
+ command addCharacteristic
+ parameters
+ string address
+ string serviceId
+ string characteristicUuid
+ CharacteristicProperties properties
+ returns
+ # An identifier that uniquely represents this characteristic.
+ string characteristicId
+
+ # Removes the characteristic respresented by |characteristicId| from the
+ # service respresented by |serviceId| in the peripheral with |address|.
+ command removeCharacteristic
+ parameters
+ string address
+ string serviceId
+ string characteristicId
+
+ # Event for when a GATT operation of |type| to the peripheral with |address|
+ # happened.
+ event gattOperationReceived
+ parameters
+ string address
+ GATTOperationType type
diff --git a/common/devtools/chromium/v133/js_protocol.pdl b/common/devtools/chromium/v136/js_protocol.pdl
similarity index 98%
rename from common/devtools/chromium/v133/js_protocol.pdl
rename to common/devtools/chromium/v136/js_protocol.pdl
index 52f3b02..e33cdae 100644
--- a/common/devtools/chromium/v133/js_protocol.pdl
+++ b/common/devtools/chromium/v136/js_protocol.pdl
@@ -564,7 +564,8 @@
experimental optional array of LocationRange skipList
# Fired when breakpoint is resolved to an actual script and location.
- event breakpointResolved
+ # Deprecated in favor of `resolvedBreakpoints` in the `scriptParsed` event.
+ deprecated event breakpointResolved
parameters
# Breakpoint unique identifier.
BreakpointId breakpointId
@@ -622,6 +623,13 @@
# URL of the external symbol source.
optional string externalURL
+ type ResolvedBreakpoint extends object
+ properties
+ # Breakpoint unique identifier.
+ BreakpointId breakpointId
+ # Actual breakpoint location.
+ Location location
+
# Fired when virtual machine fails to parse the script.
event scriptFailedToParse
parameters
@@ -706,6 +714,10 @@
experimental optional array of Debugger.DebugSymbols debugSymbols
# The name the embedder supplied for this script.
experimental optional string embedderName
+ # The list of set breakpoints in this script if calls to `setBreakpointByUrl`
+ # matches this script's URL or hash. Clients that use this list can ignore the
+ # `breakpointResolved` event. They are equivalent.
+ experimental optional array of ResolvedBreakpoint resolvedBreakpoints
experimental domain HeapProfiler
depends on Runtime
@@ -1560,10 +1572,14 @@
# It is the total usage of the corresponding isolate not scoped to a particular Runtime.
experimental command getHeapUsage
returns
- # Used heap size in bytes.
+ # Used JavaScript heap size in bytes.
number usedSize
- # Allocated heap size in bytes.
+ # Allocated JavaScript heap size in bytes.
number totalSize
+ # Used size in bytes in the embedder's garbage-collected heap.
+ number embedderHeapUsedSize
+ # Size in bytes of backing storage for array buffers and external strings.
+ number backingStorageSize
# Returns properties of a given object. Object group of the result is inherited from the target
# object.
diff --git a/common/repositories.bzl b/common/repositories.bzl
index f6da3da..633759a 100644
--- a/common/repositories.bzl
+++ b/common/repositories.bzl
@@ -11,8 +11,8 @@
http_archive(
name = "linux_firefox",
- url = "https://ftp.mozilla.org/pub/firefox/releases/137.0.2/linux-x86_64/en-US/firefox-137.0.2.tar.xz",
- sha256 = "3d6f07eddbd98ae96b55cd6ec95fcf18b61a139a0c68739c098954b5015c4b11",
+ url = "https://ftp.mozilla.org/pub/firefox/releases/138.0.1/linux-x86_64/en-US/firefox-138.0.1.tar.xz",
+ sha256 = "943abbbae0df188771bb58125a8aaada68bac5a37641629b305619abc4bd9756",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
@@ -33,8 +33,8 @@
dmg_archive(
name = "mac_firefox",
- url = "https://ftp.mozilla.org/pub/firefox/releases/137.0.2/mac/en-US/Firefox%20137.0.2.dmg",
- sha256 = "0338912d47bdcb9ea2c09bcf31b7e68a4ded1a083b60c129781534d535601ed5",
+ url = "https://ftp.mozilla.org/pub/firefox/releases/138.0.1/mac/en-US/Firefox%20138.0.1.dmg",
+ sha256 = "c4d9860f38683ba182d34c7a2b3b8157ec3e76498e0863d3ddab0c1a73360fb0",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
@@ -50,8 +50,8 @@
http_archive(
name = "linux_beta_firefox",
- url = "https://ftp.mozilla.org/pub/firefox/releases/138.0b9/linux-x86_64/en-US/firefox-138.0b9.tar.xz",
- sha256 = "ca4f673d6abd3b2b4adc971097057664ad1a097ffd67b99257e08ea50ad5fed5",
+ url = "https://ftp.mozilla.org/pub/firefox/releases/139.0b2/linux-x86_64/en-US/firefox-139.0b2.tar.xz",
+ sha256 = "c53561c12640003b6c1d3c2112e73227451f8e0a956b65be46cd1ca783e6efe1",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
@@ -72,8 +72,8 @@
dmg_archive(
name = "mac_beta_firefox",
- url = "https://ftp.mozilla.org/pub/firefox/releases/138.0b9/mac/en-US/Firefox%20138.0b9.dmg",
- sha256 = "4e1749becc9427c908865af93cf245fc82895236eb8ad160798342a9d6714dde",
+ url = "https://ftp.mozilla.org/pub/firefox/releases/139.0b2/mac/en-US/Firefox%20139.0b2.dmg",
+ sha256 = "8a30f4098db4d7053c923344b00fdfea6f7854ed9d819afd33161a7af48c7e32",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
@@ -123,10 +123,10 @@
pkg_archive(
name = "mac_edge",
- url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/784d0da7-3b50-4888-8a30-159d8af03e55/MicrosoftEdge-135.0.3179.98.pkg",
- sha256 = "fda91427e9172b704228f01a35f9a426479e9f5f592f6ff2de85e75ade0b25c8",
+ url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/7a2f13f4-e241-4582-94b2-6c56bef6b23d/MicrosoftEdge-136.0.3240.50.pkg",
+ sha256 = "3500c3a7f548e222344c3c110e0a0b190a033adb10d020ce58b8c64a384ad8b6",
move = {
- "MicrosoftEdge-135.0.3179.98.pkg/Payload/Microsoft Edge.app": "Edge.app",
+ "MicrosoftEdge-136.0.3240.50.pkg/Payload/Microsoft Edge.app": "Edge.app",
},
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
@@ -143,8 +143,8 @@
deb_archive(
name = "linux_edge",
- url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_135.0.3179.98-1_amd64.deb",
- sha256 = "0291339ce51e66b2987f6e5fc76c310b9a5c54c0d05c3f70b3cdda2743f6774e",
+ url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_136.0.3240.50-1_amd64.deb",
+ sha256 = "19d27dddf6d4a46e1e03b3d0fa1eb4af0d5870f12d3816e0431b983331f947e9",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
@@ -199,8 +199,8 @@
http_archive(
name = "linux_chrome",
- url = "https://storage.googleapis.com/chrome-for-testing-public/135.0.7049.114/linux64/chrome-linux64.zip",
- sha256 = "dd86dbac5d1a362bf9d46818e21e4afe2e8b1b419e0810573d298842eef88b82",
+ url = "https://storage.googleapis.com/chrome-for-testing-public/136.0.7103.49/linux64/chrome-linux64.zip",
+ sha256 = "cceec137ebf1d66cdee7966c05311cc7f200a0172d012925763c151bdca90edd",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
@@ -221,8 +221,8 @@
http_archive(
name = "mac_chrome",
- url = "https://storage.googleapis.com/chrome-for-testing-public/135.0.7049.114/mac-x64/chrome-mac-x64.zip",
- sha256 = "e7deb29034368567bab7f5b24a7c09d329ef2023f61e6ed349b714abb80292c2",
+ url = "https://storage.googleapis.com/chrome-for-testing-public/136.0.7103.49/mac-x64/chrome-mac-x64.zip",
+ sha256 = "461b547a323784a1ac315fbf387dcbe777199d809c54ea8a0f635010538aaa76",
strip_prefix = "chrome-mac-x64",
patch_cmds = [
"mv 'Google Chrome for Testing.app' Chrome.app",
@@ -243,8 +243,8 @@
http_archive(
name = "linux_chromedriver",
- url = "https://storage.googleapis.com/chrome-for-testing-public/135.0.7049.114/linux64/chromedriver-linux64.zip",
- sha256 = "28ef94323503f927f8fca4650d5acf6325e69829720900cc696c3d8179ce855c",
+ url = "https://storage.googleapis.com/chrome-for-testing-public/136.0.7103.49/linux64/chromedriver-linux64.zip",
+ sha256 = "d9b388d8dc609f89332662a824899a0ed702a26c8dfd824e9a24a4e5fa44a197",
strip_prefix = "chromedriver-linux64",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
@@ -261,8 +261,8 @@
http_archive(
name = "mac_chromedriver",
- url = "https://storage.googleapis.com/chrome-for-testing-public/135.0.7049.114/mac-x64/chromedriver-mac-x64.zip",
- sha256 = "a1da3421971762c4d6f258fb8e49dfd3aa855387f0b82d0333a59e972feb21d9",
+ url = "https://storage.googleapis.com/chrome-for-testing-public/136.0.7103.49/mac-x64/chromedriver-mac-x64.zip",
+ sha256 = "ba9ce908dc76c0ae6a3ac9976a0f820247e48fca2b0c9a183dfed901ed16f157",
strip_prefix = "chromedriver-mac-x64",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
diff --git a/common/selenium_manager.bzl b/common/selenium_manager.bzl
index bc66d96..c449019 100644
--- a/common/selenium_manager.bzl
+++ b/common/selenium_manager.bzl
@@ -6,22 +6,22 @@
http_file(
name = "download_sm_linux",
executable = True,
- sha256 = "0b256b63affe9013c926bc477bfe4346535494403e9cfe338cfa9dd14aa42f8f",
- url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-3503b69/selenium-manager-linux",
+ sha256 = "7160c0104ae1aa4c138e63dc59e773a5f0552e8921166e831fd0b62f1485a109",
+ url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-93882ea/selenium-manager-linux",
)
http_file(
name = "download_sm_macos",
executable = True,
- sha256 = "816be5ba96deb321b6b0e109a59d6b8c9ff0194f2b3204f1801ad96c190ecfd5",
- url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-3503b69/selenium-manager-macos",
+ sha256 = "271717f6a250ddd3190751ce083a00e34140075187093d669649bda3967cd2b4",
+ url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-93882ea/selenium-manager-macos",
)
http_file(
name = "download_sm_windows",
executable = True,
- sha256 = "d1a942bd3e5cdb5a70e8e9683f8e964d9d6fcf5be472f9a302451ddc990843d9",
- url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-3503b69/selenium-manager-windows.exe",
+ sha256 = "2ead2755fc692b96d0cae4d288a07ac55dd97392685d23ddd7e72874744b96f2",
+ url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-93882ea/selenium-manager-windows.exe",
)
def _selenium_manager_artifacts_impl(_ctx):
diff --git a/dotnet/CHANGELOG b/dotnet/CHANGELOG
index 345cfcb..c2fc0d9 100644
--- a/dotnet/CHANGELOG
+++ b/dotnet/CHANGELOG
@@ -1,5 +1,22 @@
+v4.32.0
+======
+* Add CDP for Chrome 136 and remove 133
+* [bidi] Revisit some core functionality to deserialize without intermediate `JsonElement` allocation (#15575)
+* [bidi] Address BiDi's JSON converter AOT warnings (#15390)
+* [bidi] Added missing GenericLogEntry log entry type in Script module (#15591)
+* [bidi] Add GenericLogEntry to json serializer context
+* [bidi] Combine network interception to apply rules (breaking change) (#15603)
+* [bidi] Add strongly-typed `LocalValue.ConvertFrom` overloads (#15532)
+* [bidi] Do not throw when CallFunction or Evaluate return exceptional result (breaking change) (#15521)
+* [bidi] Reuse memory when receiving websocket messages (#15640)
+* Enhance Selenium Manager platform detection (#15649)
+* [bidi] Use sync version of writing to memory stream while receiving messages
+* Use namespace file scoped (#15651)
+* Set remote active protocol in Firefox to BiDi only
+
v4.31.0
======
+* Add CDP for Chrome 135 and remove 132
* [bidi] Decouple EvaluateResult in Script module (#15493)
* [bidi] Decouple AuthCredentials in Network module (#15491)
* [bidi] Decouple WindowProxyProperties in Script module (#15490)
@@ -13,10 +30,10 @@
* Simplify `PopupWindowFinder.Invoke` (#15549)
* [bidi] Make ContinueWithAuthCommand closer to spec (breaking change) (#15545)
* [bidi] Avoid intermediate JsonDocument allocation to determine unordered discriminator (#15555)
-* Add CDP for Chrome 135 and remove 132
v4.30.0
======
+* Add CDP for Chrome 134 and remove 131
* Fix dev environment to run tests on Windows/MacOS (#15303)
* Fix sporadic build issue with selenium manager in msbuild
* Increment `WebDriver` towards nullability (#15228)
diff --git a/dotnet/selenium-dotnet-version.bzl b/dotnet/selenium-dotnet-version.bzl
index 6d5a0f1..2b7832b 100644
--- a/dotnet/selenium-dotnet-version.bzl
+++ b/dotnet/selenium-dotnet-version.bzl
@@ -1,13 +1,13 @@
# BUILD FILE SYNTAX: STARLARK
-SE_VERSION = "4.32.0-nightly202504060755"
+SE_VERSION = "4.32.0"
ASSEMBLY_VERSION = "4.0.0.0"
SUPPORTED_NET_STANDARD_VERSIONS = ["netstandard2.0"]
SUPPORTED_DEVTOOLS_VERSIONS = [
"v134",
"v135",
- "v133",
+ "v136",
]
ASSEMBLY_COMPANY = "Selenium Committers"
diff --git a/dotnet/src/webdriver/DevTools/DevToolsDomains.cs b/dotnet/src/webdriver/DevTools/DevToolsDomains.cs
index 2c74de2..286652d 100644
--- a/dotnet/src/webdriver/DevTools/DevToolsDomains.cs
+++ b/dotnet/src/webdriver/DevTools/DevToolsDomains.cs
@@ -36,14 +36,14 @@
// added to this array and to the method below.
private static int[] SupportedDevToolsVersions =>
[
- 133,
+ 136,
135,
134,
];
private static DevToolsDomains? CreateDevToolsDomain(int protocolVersion, DevToolsSession session) => protocolVersion switch
{
- 133 => new V133.V133Domains(session),
+ 136 => new V136.V136Domains(session),
135 => new V135.V135Domains(session),
134 => new V134.V134Domains(session),
_ => null
diff --git a/dotnet/src/webdriver/DevTools/v133/V133Domains.cs b/dotnet/src/webdriver/DevTools/v136/V136Domains.cs
similarity index 78%
rename from dotnet/src/webdriver/DevTools/v133/V133Domains.cs
rename to dotnet/src/webdriver/DevTools/v136/V136Domains.cs
index df2d782..8472b91 100644
--- a/dotnet/src/webdriver/DevTools/v133/V133Domains.cs
+++ b/dotnet/src/webdriver/DevTools/v136/V136Domains.cs
@@ -1,4 +1,4 @@
-// <copyright file="V133Domains.cs" company="Selenium Committers">
+// <copyright file="V136Domains.cs" company="Selenium Committers">
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -19,21 +19,21 @@
using System;
-namespace OpenQA.Selenium.DevTools.V133;
+namespace OpenQA.Selenium.DevTools.V136;
/// <summary>
-/// Class containing the domain implementation for version 133 of the DevTools Protocol.
+/// Class containing the domain implementation for version 136 of the DevTools Protocol.
/// </summary>
-public class V133Domains : DevToolsDomains
+public class V136Domains : DevToolsDomains
{
private readonly DevToolsSessionDomains domains;
/// <summary>
- /// Initializes a new instance of the V133Domains class.
+ /// Initializes a new instance of the V136Domains class.
/// </summary>
/// <param name="session">The DevToolsSession to use with this set of domains.</param>
/// <exception cref="ArgumentNullException">If <paramref name="session"/> is <see langword="null"/>.</exception>
- public V133Domains(DevToolsSession session)
+ public V136Domains(DevToolsSession session)
{
this.domains = new DevToolsSessionDomains(session ?? throw new ArgumentNullException(nameof(session)));
}
@@ -41,7 +41,7 @@
/// <summary>
/// Gets the DevTools Protocol version for which this class is valid.
/// </summary>
- public static int DevToolsVersion => 133;
+ public static int DevToolsVersion => 136;
/// <summary>
/// Gets the version-specific domains for the DevTools session. This value must be cast to a version specific type to be at all useful.
@@ -51,20 +51,20 @@
/// <summary>
/// Gets the object used for manipulating network information in the browser.
/// </summary>
- public override DevTools.Network Network => new V133Network(domains.Network, domains.Fetch);
+ public override DevTools.Network Network => new V136Network(domains.Network, domains.Fetch);
/// <summary>
/// Gets the object used for manipulating the browser's JavaScript execution.
/// </summary>
- public override JavaScript JavaScript => new V133JavaScript(domains.Runtime, domains.Page);
+ public override JavaScript JavaScript => new V136JavaScript(domains.Runtime, domains.Page);
/// <summary>
/// Gets the object used for manipulating DevTools Protocol targets.
/// </summary>
- public override DevTools.Target Target => new V133Target(domains.Target);
+ public override DevTools.Target Target => new V136Target(domains.Target);
/// <summary>
/// Gets the object used for manipulating the browser's logs.
/// </summary>
- public override DevTools.Log Log => new V133Log(domains.Log);
+ public override DevTools.Log Log => new V136Log(domains.Log);
}
diff --git a/dotnet/src/webdriver/DevTools/v133/V133JavaScript.cs b/dotnet/src/webdriver/DevTools/v136/V136JavaScript.cs
similarity index 93%
rename from dotnet/src/webdriver/DevTools/v133/V133JavaScript.cs
rename to dotnet/src/webdriver/DevTools/v136/V136JavaScript.cs
index aa48136..1718b53 100644
--- a/dotnet/src/webdriver/DevTools/v133/V133JavaScript.cs
+++ b/dotnet/src/webdriver/DevTools/v136/V136JavaScript.cs
@@ -1,4 +1,4 @@
-// <copyright file="V133JavaScript.cs" company="Selenium Committers">
+// <copyright file="V136JavaScript.cs" company="Selenium Committers">
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -17,29 +17,29 @@
// under the License.
// </copyright>
-using OpenQA.Selenium.DevTools.V133.Page;
-using OpenQA.Selenium.DevTools.V133.Runtime;
+using OpenQA.Selenium.DevTools.V136.Page;
+using OpenQA.Selenium.DevTools.V136.Runtime;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
-namespace OpenQA.Selenium.DevTools.V133;
+namespace OpenQA.Selenium.DevTools.V136;
/// <summary>
-/// Class containing the JavaScript implementation for version 133 of the DevTools Protocol.
+/// Class containing the JavaScript implementation for version 136 of the DevTools Protocol.
/// </summary>
-public class V133JavaScript : JavaScript
+public class V136JavaScript : JavaScript
{
private readonly RuntimeAdapter runtime;
private readonly PageAdapter page;
/// <summary>
- /// Initializes a new instance of the <see cref="V133JavaScript"/> class.
+ /// Initializes a new instance of the <see cref="V136JavaScript"/> class.
/// </summary>
/// <param name="runtime">The DevTools Protocol adapter for the Runtime domain.</param>
/// <param name="page">The DevTools Protocol adapter for the Page domain.</param>
/// <exception cref="ArgumentNullException">If <paramref name="runtime"/> or <paramref name="page"/> are <see langword="null"/>.</exception>
- public V133JavaScript(RuntimeAdapter runtime, PageAdapter page)
+ public V136JavaScript(RuntimeAdapter runtime, PageAdapter page)
{
this.runtime = runtime ?? throw new ArgumentNullException(nameof(runtime));
this.page = page ?? throw new ArgumentNullException(nameof(page));
@@ -72,7 +72,7 @@
/// <returns>A task that represents the asynchronous operation.</returns>
public override async Task EnablePage()
{
- await page.Enable().ConfigureAwait(false);
+ await page.Enable(new Page.EnableCommandSettings()).ConfigureAwait(false);
}
/// <summary>
diff --git a/dotnet/src/webdriver/DevTools/v133/V133Log.cs b/dotnet/src/webdriver/DevTools/v136/V136Log.cs
similarity index 88%
rename from dotnet/src/webdriver/DevTools/v133/V133Log.cs
rename to dotnet/src/webdriver/DevTools/v136/V136Log.cs
index 3c1eb3a..51186c6 100644
--- a/dotnet/src/webdriver/DevTools/v133/V133Log.cs
+++ b/dotnet/src/webdriver/DevTools/v136/V136Log.cs
@@ -1,4 +1,4 @@
-// <copyright file="V133Log.cs" company="Selenium Committers">
+// <copyright file="V136Log.cs" company="Selenium Committers">
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -17,25 +17,25 @@
// under the License.
// </copyright>
-using OpenQA.Selenium.DevTools.V133.Log;
+using OpenQA.Selenium.DevTools.V136.Log;
using System;
using System.Threading.Tasks;
-namespace OpenQA.Selenium.DevTools.V133;
+namespace OpenQA.Selenium.DevTools.V136;
/// <summary>
-/// Class containing the browser's log as referenced by version 133 of the DevTools Protocol.
+/// Class containing the browser's log as referenced by version 136 of the DevTools Protocol.
/// </summary>
-public class V133Log : DevTools.Log
+public class V136Log : DevTools.Log
{
private LogAdapter adapter;
/// <summary>
- /// Initializes a new instance of the <see cref="V133Log"/> class.
+ /// Initializes a new instance of the <see cref="V136Log"/> class.
/// </summary>
/// <param name="adapter">The adapter for the Log domain.</param>
/// <exception cref="ArgumentNullException">If <paramref name="adapter"/> is <see langword="null"/>.</exception>
- public V133Log(LogAdapter adapter)
+ public V136Log(LogAdapter adapter)
{
this.adapter = adapter ?? throw new ArgumentNullException(nameof(adapter));
this.adapter.EntryAdded += OnAdapterEntryAdded;
diff --git a/dotnet/src/webdriver/DevTools/v133/V133Network.cs b/dotnet/src/webdriver/DevTools/v136/V136Network.cs
similarity index 95%
rename from dotnet/src/webdriver/DevTools/v133/V133Network.cs
rename to dotnet/src/webdriver/DevTools/v136/V136Network.cs
index 9f78a23..595cc7e 100644
--- a/dotnet/src/webdriver/DevTools/v133/V133Network.cs
+++ b/dotnet/src/webdriver/DevTools/v136/V136Network.cs
@@ -1,4 +1,4 @@
-// <copyright file="V133Network.cs" company="Selenium Committers">
+// <copyright file="V136Network.cs" company="Selenium Committers">
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -17,30 +17,30 @@
// under the License.
// </copyright>
-using OpenQA.Selenium.DevTools.V133.Fetch;
-using OpenQA.Selenium.DevTools.V133.Network;
+using OpenQA.Selenium.DevTools.V136.Fetch;
+using OpenQA.Selenium.DevTools.V136.Network;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
-namespace OpenQA.Selenium.DevTools.V133;
+namespace OpenQA.Selenium.DevTools.V136;
/// <summary>
-/// Class providing functionality for manipulating network calls using version 133 of the DevTools Protocol
+/// Class providing functionality for manipulating network calls using version 136 of the DevTools Protocol
/// </summary>
-public class V133Network : DevTools.Network
+public class V136Network : DevTools.Network
{
private FetchAdapter fetch;
private NetworkAdapter network;
/// <summary>
- /// Initializes a new instance of the <see cref="V133Network"/> class.
+ /// Initializes a new instance of the <see cref="V136Network"/> class.
/// </summary>
/// <param name="network">The adapter for the Network domain.</param>
/// <param name="fetch">The adapter for the Fetch domain.</param>
/// <exception cref="ArgumentNullException">If <paramref name="network"/> or <paramref name="fetch"/> are <see langword="null"/>.</exception>
- public V133Network(NetworkAdapter network, FetchAdapter fetch)
+ public V136Network(NetworkAdapter network, FetchAdapter fetch)
{
this.network = network ?? throw new ArgumentNullException(nameof(network));
this.fetch = fetch ?? throw new ArgumentNullException(nameof(fetch));
@@ -247,9 +247,9 @@
await fetch.ContinueWithAuth(new ContinueWithAuthCommandSettings()
{
RequestId = requestId,
- AuthChallengeResponse = new V133.Fetch.AuthChallengeResponse()
+ AuthChallengeResponse = new V136.Fetch.AuthChallengeResponse()
{
- Response = V133.Fetch.AuthChallengeResponseResponseValues.ProvideCredentials,
+ Response = V136.Fetch.AuthChallengeResponseResponseValues.ProvideCredentials,
Username = userName,
Password = password
}
@@ -266,9 +266,9 @@
await fetch.ContinueWithAuth(new ContinueWithAuthCommandSettings()
{
RequestId = requestId,
- AuthChallengeResponse = new OpenQA.Selenium.DevTools.V133.Fetch.AuthChallengeResponse()
+ AuthChallengeResponse = new OpenQA.Selenium.DevTools.V136.Fetch.AuthChallengeResponse()
{
- Response = V133.Fetch.AuthChallengeResponseResponseValues.CancelAuth
+ Response = V136.Fetch.AuthChallengeResponseResponseValues.CancelAuth
}
}).ConfigureAwait(false);
}
diff --git a/dotnet/src/webdriver/DevTools/v133/V133Target.cs b/dotnet/src/webdriver/DevTools/v136/V136Target.cs
similarity index 94%
rename from dotnet/src/webdriver/DevTools/v133/V133Target.cs
rename to dotnet/src/webdriver/DevTools/v136/V136Target.cs
index 6c0061d..184d386 100644
--- a/dotnet/src/webdriver/DevTools/v133/V133Target.cs
+++ b/dotnet/src/webdriver/DevTools/v136/V136Target.cs
@@ -1,4 +1,4 @@
-// <copyright file="V133Target.cs" company="Selenium Committers">
+// <copyright file="V136Target.cs" company="Selenium Committers">
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
@@ -17,27 +17,27 @@
// under the License.
// </copyright>
-using OpenQA.Selenium.DevTools.V133.Target;
+using OpenQA.Selenium.DevTools.V136.Target;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Threading.Tasks;
-namespace OpenQA.Selenium.DevTools.V133;
+namespace OpenQA.Selenium.DevTools.V136;
/// <summary>
-/// Class providing functionality for manipulating targets for version 133 of the DevTools Protocol
+/// Class providing functionality for manipulating targets for version 136 of the DevTools Protocol
/// </summary>
-public class V133Target : DevTools.Target
+public class V136Target : DevTools.Target
{
private readonly TargetAdapter adapter;
/// <summary>
- /// Initializes a new instance of the <see cref="V133Target"/> class.
+ /// Initializes a new instance of the <see cref="V136Target"/> class.
/// </summary>
/// <param name="adapter">The adapter for the Target domain.</param>
/// <exception cref="ArgumentNullException">If <paramref name="adapter"/> is <see langword="null"/>.</exception>
- public V133Target(TargetAdapter adapter)
+ public V136Target(TargetAdapter adapter)
{
this.adapter = adapter ?? throw new ArgumentNullException(nameof(adapter));
adapter.DetachedFromTarget += OnDetachedFromTarget;
diff --git a/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs b/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs
index 0d44039..8a73cd1 100644
--- a/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs
+++ b/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs
@@ -39,6 +39,6 @@
public static ChromeOptions DefaultOptions
{
- get { return new ChromeOptions() { BrowserVersion = "135" }; }
+ get { return new ChromeOptions() { BrowserVersion = "136" }; }
}
}
diff --git a/dotnet/test/common/DevTools/DevToolsConsoleTest.cs b/dotnet/test/common/DevTools/DevToolsConsoleTest.cs
index b6f16d3..d973f67 100644
--- a/dotnet/test/common/DevTools/DevToolsConsoleTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsConsoleTest.cs
@@ -25,7 +25,7 @@
namespace OpenQA.Selenium.DevTools;
-using CurrentCdpVersion = V135;
+using CurrentCdpVersion = V136;
[TestFixture]
public class DevToolsConsoleTest : DevToolsTestFixture
diff --git a/dotnet/test/common/DevTools/DevToolsLogTest.cs b/dotnet/test/common/DevTools/DevToolsLogTest.cs
index 93a2e0d..17625eb 100644
--- a/dotnet/test/common/DevTools/DevToolsLogTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsLogTest.cs
@@ -25,7 +25,7 @@
namespace OpenQA.Selenium.DevTools;
-using CurrentCdpVersion = V135;
+using CurrentCdpVersion = V136;
[TestFixture]
public class DevToolsLogTest : DevToolsTestFixture
diff --git a/dotnet/test/common/DevTools/DevToolsNetworkTest.cs b/dotnet/test/common/DevTools/DevToolsNetworkTest.cs
index 5ec3dd1..91a67a5 100644
--- a/dotnet/test/common/DevTools/DevToolsNetworkTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsNetworkTest.cs
@@ -25,7 +25,7 @@
namespace OpenQA.Selenium.DevTools;
-using CurrentCdpVersion = V135;
+using CurrentCdpVersion = V136;
[TestFixture]
public class DevToolsNetworkTest : DevToolsTestFixture
diff --git a/dotnet/test/common/DevTools/DevToolsPerformanceTest.cs b/dotnet/test/common/DevTools/DevToolsPerformanceTest.cs
index eee69d1..e2c8f1d 100644
--- a/dotnet/test/common/DevTools/DevToolsPerformanceTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsPerformanceTest.cs
@@ -22,7 +22,7 @@
namespace OpenQA.Selenium.DevTools;
-using CurrentCdpVersion = V135;
+using CurrentCdpVersion = V136;
[TestFixture]
public class DevToolsPerformanceTest : DevToolsTestFixture
diff --git a/dotnet/test/common/DevTools/DevToolsProfilerTest.cs b/dotnet/test/common/DevTools/DevToolsProfilerTest.cs
index b1546f0..2c7df2e 100644
--- a/dotnet/test/common/DevTools/DevToolsProfilerTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsProfilerTest.cs
@@ -24,7 +24,7 @@
namespace OpenQA.Selenium.DevTools;
-using CurrentCdpVersion = V135;
+using CurrentCdpVersion = V136;
[TestFixture]
public class DevToolsProfilerTest : DevToolsTestFixture
diff --git a/dotnet/test/common/DevTools/DevToolsSecurityTest.cs b/dotnet/test/common/DevTools/DevToolsSecurityTest.cs
index f7ee6f3..78d6cd1 100644
--- a/dotnet/test/common/DevTools/DevToolsSecurityTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsSecurityTest.cs
@@ -25,7 +25,7 @@
namespace OpenQA.Selenium.DevTools;
-using CurrentCdpVersion = V135;
+using CurrentCdpVersion = V136;
[TestFixture]
public class DevToolsSecurityTest : DevToolsTestFixture
diff --git a/dotnet/test/common/DevTools/DevToolsTabsTest.cs b/dotnet/test/common/DevTools/DevToolsTabsTest.cs
index b94e418..6e9fe3d 100644
--- a/dotnet/test/common/DevTools/DevToolsTabsTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsTabsTest.cs
@@ -22,7 +22,7 @@
namespace OpenQA.Selenium.DevTools;
-using CurrentCdpVersion = V135;
+using CurrentCdpVersion = V136;
[TestFixture]
public class DevToolsTabsTest : DevToolsTestFixture
diff --git a/dotnet/test/common/DevTools/DevToolsTargetTest.cs b/dotnet/test/common/DevTools/DevToolsTargetTest.cs
index ab3a91e..cd5b699 100644
--- a/dotnet/test/common/DevTools/DevToolsTargetTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsTargetTest.cs
@@ -25,12 +25,12 @@
namespace OpenQA.Selenium.DevTools;
-using CurrentCdpVersion = V135;
+using CurrentCdpVersion = V136;
[TestFixture]
public class DevToolsTargetTest : DevToolsTestFixture
{
- private int id = 135;
+ private int id = 136;
[Test]
[IgnoreBrowser(Selenium.Browser.IE, "IE does not support Chrome DevTools Protocol")]
diff --git a/java/CHANGELOG b/java/CHANGELOG
index 6a6bf4a..ca8248a 100644
--- a/java/CHANGELOG
+++ b/java/CHANGELOG
@@ -1,3 +1,13 @@
+v4.32.0
+======
+* Add CDP for Chrome 136 and remove 133
+* [grid] Dynamic Grid can enforce platform for node browser images
+* [grid] Ignored options when they are prefixed, safari specif as well (#15574)
+* [grid] Remove `browserName` capability from stereotype and SlotMatcher when using Relay Node to test a mobile application (#15537)
+* [bidi]: add browsingContext event `onNavigationCommitted` (#15560)
+* Set remote active protocol to BiDi for Firefox (#15224)
+* Add header while creating websocket (#15655)
+
v4.31.0
======
* Add CDP for Chrome 135 and remove 132
@@ -10,6 +20,7 @@
v4.30.0
======
+* Add CDP for Chrome 134 and remove 131
* [grid] remove firefox devtools leftovers #15323
* [grid] remove indirection in cache structures
* [grid] remove not reachable code
diff --git a/java/maven_install.json b/java/maven_install.json
index c7570ae..7e25941 100644
--- a/java/maven_install.json
+++ b/java/maven_install.json
@@ -1,7 +1,7 @@
{
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
- "__INPUT_ARTIFACTS_HASH": -1975487708,
- "__RESOLVED_ARTIFACTS_HASH": 1560376834,
+ "__INPUT_ARTIFACTS_HASH": 1605646922,
+ "__RESOLVED_ARTIFACTS_HASH": 1407716096,
"artifacts": {
"com.beust:jcommander": {
"shasums": {
@@ -117,17 +117,17 @@
},
"com.google.code.gson:gson": {
"shasums": {
- "jar": "ebee13d5fb7477cd7f1cc010e0c356df8ca80709715248da97f79e35ccb4fbec",
- "sources": "c5ab4ceb195f2a9278058d6a396c4872a1a07ed8b53fe80230dfd3f173d7cf56"
+ "jar": "94855942d4992f112946d3de1c334e709237b8126d8130bf07807c018a4a2120",
+ "sources": "3317b8662ebc2b7a5ff34af2214cd0f8d74d37a9fa9757be494ad8824e96eee7"
},
- "version": "2.12.1"
+ "version": "2.13.1"
},
"com.google.errorprone:error_prone_annotations": {
"shasums": {
- "jar": "77440e270b0bc9a249903c5a076c36a722c4886ca4f42675f2903a1c53ed61a5",
- "sources": "7e117e0931cb2cb4226372af336189b49edb79969d120ec958a6df0beacb0612"
+ "jar": "6661d5335090a5fc61dd869d2095bc6c1e2156e3aa47a6e4ababdf64c99a7889",
+ "sources": "bc4e1535cf5a236ca2e2cfb66d76da4cea99ae52d7447f57a2b05943cac21747"
},
- "version": "2.36.0"
+ "version": "2.38.0"
},
"com.google.googlejavaformat:google-java-format": {
"shasums": {
@@ -145,10 +145,10 @@
},
"com.google.guava:guava": {
"shasums": {
- "jar": "958a035b74ff6c7d0cdff9c384524b645eb618f7117b60e1ee915f9cffd0e716",
- "sources": "4a101ecd088e0fe6d66be0bcc3ae480c5539dc6d59a55e601a36a71dcd91514d"
+ "jar": "f3d7f57f67fd622f4d468dfdd692b3a5e3909246c28017ac3263405f0fe617ed",
+ "sources": "9d3c6aad893daac9d4812eb9fa4c3f7956a9f2e472eb7df2fea0e467fed7e766"
},
- "version": "33.4.6-jre"
+ "version": "33.4.8-jre"
},
"com.google.guava:listenablefuture": {
"shasums": {
@@ -214,24 +214,24 @@
},
"io.grpc:grpc-api": {
"shasums": {
- "jar": "49771bad244de122f05780c12f3e74ba9a301be125d0941a85e649212f4a8a01",
- "sources": "5f072127209c65b512bce8ff057a704b62c078142f455ab623afb787bb7f8ffb"
+ "jar": "f7ca643e2a8cab338b3c3c37305da4084d81d75b66a2016018c1c0ab97b655d4",
+ "sources": "66395a625aadc0566664d033dc501e0e9479fb74c4987d917ffeb2ac0b9d0812"
},
- "version": "1.71.0"
+ "version": "1.72.0"
},
"io.grpc:grpc-context": {
"shasums": {
- "jar": "dd0484ac5d0baf7ee810331504dc6202c7b426bc88dce24100e77f576904dd52",
- "sources": "47e751ce954b3cbfef3ab5eac8a8326162c9235d4f5c0e0c3b8f9057da30ccb2"
+ "jar": "43b58ec3cd95c16627f5846d1b934564b22a2715885d0ebcdbb071212213db22",
+ "sources": "feae656a0c24f30d1e5fdab11d273f8d162cb07c0ca43157d19dcb97578e2e3f"
},
- "version": "1.71.0"
+ "version": "1.72.0"
},
"io.lettuce:lettuce-core": {
"shasums": {
- "jar": "8224580c441eae5983ce75846b244339bbc5843640a3fc42a1af2b12a34071b0",
- "sources": "b9e2464e5e8f720e0b12f5ed0b3bf4ac05406d72a461df2628726ccbc6e76a89"
+ "jar": "724bcbd011e9e846e92a7a3f583db7478e2dba635bb844248217d0161b8cdba6",
+ "sources": "e8dabeabf67b7b30545af02bf05fe9f2e096171544463f5fe1b2c16f238cbcdd"
},
- "version": "6.5.5.RELEASE"
+ "version": "6.6.0.RELEASE"
},
"io.netty:netty-buffer": {
"shasums": {
@@ -662,10 +662,10 @@
},
"org.mockito:mockito-core": {
"shasums": {
- "jar": "d72bf7d23ec19d0513c680bc7ebbaccef0c643af22c82c5ecfd999b2109fc797",
- "sources": "ca022031a6ea7aead09771dfe47d9cd021a5f8ef57cedc834ba9b323e51c3113"
+ "jar": "dff59ad8c61b026ef86cc113f94f2301eb06caaf81dec30c78a96a1a65595c5e",
+ "sources": "b9e593e8c45d945b1e8929f6118e2d4d250f2899341cd4caeff2016036a02dc4"
},
- "version": "5.16.1"
+ "version": "5.17.0"
},
"org.objenesis:objenesis": {
"shasums": {
@@ -732,10 +732,10 @@
},
"org.redisson:redisson": {
"shasums": {
- "jar": "3a0bbc732cd52ccd14ad2192b4afa9ee2415e1965373dbe870c70e0bc51596c1",
- "sources": "c4acc5210d271ab7854e421cc3fcb900685e81c97711a4553ee49a01b383f6b8"
+ "jar": "45ec2f2970e27cb3b6dde1b198fee8a71d6b586f5c7646dff9dd11fc5d1ed786",
+ "sources": "14b457f162d73be8732d3024785cef34418fa71306449f6e0b47ede2f841fb10"
},
- "version": "3.45.1"
+ "version": "3.46.0"
},
"org.slf4j:slf4j-api": {
"shasums": {
@@ -786,9 +786,17 @@
"sources": "c20e579710d385869496d25217a7820665f7687dc1499b21be6e0ac7e9485a03"
},
"version": "0.6.0"
+ },
+ "redis.clients.authentication:redis-authx-core": {
+ "shasums": {
+ "jar": "cc56edb08b3df8562cddac108dca61907d21cc4ad04de05e9f5d1b01058390af",
+ "sources": "f04df788868c471833d4aff0c9fdced4042069efe392c768f4373c04b559f5e3"
+ },
+ "version": "0.1.1-beta2"
}
},
"conflict_resolution": {
+ "com.google.errorprone:error_prone_annotations:2.36.0": "com.google.errorprone:error_prone_annotations:2.38.0",
"io.projectreactor:reactor-core:3.6.2": "io.projectreactor:reactor-core:3.6.6",
"org.apache.commons:commons-lang3:3.14.0": "org.apache.commons:commons-lang3:3.17.0",
"org.objenesis:objenesis:3.4": "org.objenesis:objenesis:3.3",
@@ -865,7 +873,8 @@
"io.netty:netty-common",
"io.netty:netty-handler",
"io.netty:netty-transport",
- "io.projectreactor:reactor-core"
+ "io.projectreactor:reactor-core",
+ "redis.clients.authentication:redis-authx-core"
],
"io.netty:netty-buffer": [
"io.netty:netty-common"
@@ -1121,6 +1130,9 @@
],
"org.zeromq:jeromq": [
"eu.neilalexander:jnacl"
+ ],
+ "redis.clients.authentication:redis-authx-core": [
+ "org.slf4j:slf4j-api"
]
},
"packages": {
@@ -1462,6 +1474,7 @@
"io.grpc"
],
"io.lettuce:lettuce-core": [
+ "io.lettuce.authx",
"io.lettuce.core",
"io.lettuce.core.api",
"io.lettuce.core.api.async",
@@ -1485,6 +1498,7 @@
"io.lettuce.core.cluster.pubsub.api.sync",
"io.lettuce.core.cluster.topology",
"io.lettuce.core.codec",
+ "io.lettuce.core.datastructure.queue",
"io.lettuce.core.dynamic",
"io.lettuce.core.dynamic.annotation",
"io.lettuce.core.dynamic.batch",
@@ -2881,6 +2895,9 @@
"zmq.socket.scattergather",
"zmq.util",
"zmq.util.function"
+ ],
+ "redis.clients.authentication:redis-authx-core": [
+ "redis.clients.authentication.core"
]
},
"repositories": {
@@ -3108,7 +3125,9 @@
"org.yaml:snakeyaml",
"org.yaml:snakeyaml:jar:sources",
"org.zeromq:jeromq",
- "org.zeromq:jeromq:jar:sources"
+ "org.zeromq:jeromq:jar:sources",
+ "redis.clients.authentication:redis-authx-core",
+ "redis.clients.authentication:redis-authx-core:jar:sources"
]
},
"services": {
diff --git a/java/src/org/openqa/selenium/devtools/v133/BUILD.bazel b/java/src/org/openqa/selenium/devtools/v136/BUILD.bazel
similarity index 98%
rename from java/src/org/openqa/selenium/devtools/v133/BUILD.bazel
rename to java/src/org/openqa/selenium/devtools/v136/BUILD.bazel
index f8b032f..9b53ccd 100644
--- a/java/src/org/openqa/selenium/devtools/v133/BUILD.bazel
+++ b/java/src/org/openqa/selenium/devtools/v136/BUILD.bazel
@@ -2,7 +2,7 @@
load("//java:defs.bzl", "java_export", "java_library")
load("//java:version.bzl", "SE_VERSION")
-cdp_version = "v133"
+cdp_version = "v136"
java_export(
name = cdp_version,
diff --git a/java/src/org/openqa/selenium/devtools/v133/v133CdpInfo.java b/java/src/org/openqa/selenium/devtools/v136/v136CdpInfo.java
similarity index 86%
rename from java/src/org/openqa/selenium/devtools/v133/v133CdpInfo.java
rename to java/src/org/openqa/selenium/devtools/v136/v136CdpInfo.java
index e9213b6..d9ed02b 100644
--- a/java/src/org/openqa/selenium/devtools/v133/v133CdpInfo.java
+++ b/java/src/org/openqa/selenium/devtools/v136/v136CdpInfo.java
@@ -15,15 +15,15 @@
// specific language governing permissions and limitations
// under the License.
-package org.openqa.selenium.devtools.v133;
+package org.openqa.selenium.devtools.v136;
import com.google.auto.service.AutoService;
import org.openqa.selenium.devtools.CdpInfo;
@AutoService(CdpInfo.class)
-public class v133CdpInfo extends CdpInfo {
+public class v136CdpInfo extends CdpInfo {
- public v133CdpInfo() {
- super(133, v133Domains::new);
+ public v136CdpInfo() {
+ super(136, v136Domains::new);
}
}
diff --git a/java/src/org/openqa/selenium/devtools/v133/v133Domains.java b/java/src/org/openqa/selenium/devtools/v136/v136Domains.java
similarity index 77%
rename from java/src/org/openqa/selenium/devtools/v133/v133Domains.java
rename to java/src/org/openqa/selenium/devtools/v136/v136Domains.java
index 7da6c5c..357337e 100644
--- a/java/src/org/openqa/selenium/devtools/v133/v133Domains.java
+++ b/java/src/org/openqa/selenium/devtools/v136/v136Domains.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.openqa.selenium.devtools.v133;
+package org.openqa.selenium.devtools.v136;
import org.openqa.selenium.devtools.DevTools;
import org.openqa.selenium.devtools.idealized.Domains;
@@ -26,21 +26,21 @@
import org.openqa.selenium.devtools.idealized.target.Target;
import org.openqa.selenium.internal.Require;
-public class v133Domains implements Domains {
+public class v136Domains implements Domains {
- private final v133Javascript js;
- private final v133Events events;
- private final v133Log log;
- private final v133Network network;
- private final v133Target target;
+ private final v136Javascript js;
+ private final v136Events events;
+ private final v136Log log;
+ private final v136Network network;
+ private final v136Target target;
- public v133Domains(DevTools devtools) {
+ public v136Domains(DevTools devtools) {
Require.nonNull("DevTools", devtools);
- events = new v133Events(devtools);
- js = new v133Javascript(devtools);
- log = new v133Log();
- network = new v133Network(devtools);
- target = new v133Target();
+ events = new v136Events(devtools);
+ js = new v136Javascript(devtools);
+ log = new v136Log();
+ network = new v136Network(devtools);
+ target = new v136Target();
}
@Override
diff --git a/java/src/org/openqa/selenium/devtools/v133/v133Events.java b/java/src/org/openqa/selenium/devtools/v136/v136Events.java
similarity index 86%
rename from java/src/org/openqa/selenium/devtools/v133/v133Events.java
rename to java/src/org/openqa/selenium/devtools/v136/v136Events.java
index 34ec3a1..a99f20f 100644
--- a/java/src/org/openqa/selenium/devtools/v133/v133Events.java
+++ b/java/src/org/openqa/selenium/devtools/v136/v136Events.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.openqa.selenium.devtools.v133;
+package org.openqa.selenium.devtools.v136;
import java.time.Instant;
import java.util.List;
@@ -28,15 +28,15 @@
import org.openqa.selenium.devtools.events.ConsoleEvent;
import org.openqa.selenium.devtools.idealized.Events;
import org.openqa.selenium.devtools.idealized.runtime.model.RemoteObject;
-import org.openqa.selenium.devtools.v133.runtime.Runtime;
-import org.openqa.selenium.devtools.v133.runtime.model.ConsoleAPICalled;
-import org.openqa.selenium.devtools.v133.runtime.model.ExceptionDetails;
-import org.openqa.selenium.devtools.v133.runtime.model.ExceptionThrown;
-import org.openqa.selenium.devtools.v133.runtime.model.StackTrace;
+import org.openqa.selenium.devtools.v136.runtime.Runtime;
+import org.openqa.selenium.devtools.v136.runtime.model.ConsoleAPICalled;
+import org.openqa.selenium.devtools.v136.runtime.model.ExceptionDetails;
+import org.openqa.selenium.devtools.v136.runtime.model.ExceptionThrown;
+import org.openqa.selenium.devtools.v136.runtime.model.StackTrace;
-public class v133Events extends Events<ConsoleAPICalled, ExceptionThrown> {
+public class v136Events extends Events<ConsoleAPICalled, ExceptionThrown> {
- public v133Events(DevTools devtools) {
+ public v136Events(DevTools devtools) {
super(devtools);
}
@@ -77,7 +77,7 @@ protected ConsoleEvent toConsoleEvent(ConsoleAPICalled event) {
protected JavascriptException toJsException(ExceptionThrown event) {
ExceptionDetails details = event.getExceptionDetails();
Optional<StackTrace> maybeTrace = details.getStackTrace();
- Optional<org.openqa.selenium.devtools.v133.runtime.model.RemoteObject> maybeException =
+ Optional<org.openqa.selenium.devtools.v136.runtime.model.RemoteObject> maybeException =
details.getException();
String message =
diff --git a/java/src/org/openqa/selenium/devtools/v133/v133Javascript.java b/java/src/org/openqa/selenium/devtools/v136/v136Javascript.java
similarity index 83%
rename from java/src/org/openqa/selenium/devtools/v133/v133Javascript.java
rename to java/src/org/openqa/selenium/devtools/v136/v136Javascript.java
index 0af685c..d4dffad 100644
--- a/java/src/org/openqa/selenium/devtools/v133/v133Javascript.java
+++ b/java/src/org/openqa/selenium/devtools/v136/v136Javascript.java
@@ -15,21 +15,21 @@
// specific language governing permissions and limitations
// under the License.
-package org.openqa.selenium.devtools.v133;
+package org.openqa.selenium.devtools.v136;
import java.util.Optional;
import org.openqa.selenium.devtools.Command;
import org.openqa.selenium.devtools.DevTools;
import org.openqa.selenium.devtools.Event;
import org.openqa.selenium.devtools.idealized.Javascript;
-import org.openqa.selenium.devtools.v133.page.Page;
-import org.openqa.selenium.devtools.v133.page.model.ScriptIdentifier;
-import org.openqa.selenium.devtools.v133.runtime.Runtime;
-import org.openqa.selenium.devtools.v133.runtime.model.BindingCalled;
+import org.openqa.selenium.devtools.v136.page.Page;
+import org.openqa.selenium.devtools.v136.page.model.ScriptIdentifier;
+import org.openqa.selenium.devtools.v136.runtime.Runtime;
+import org.openqa.selenium.devtools.v136.runtime.model.BindingCalled;
-public class v133Javascript extends Javascript<ScriptIdentifier, BindingCalled> {
+public class v136Javascript extends Javascript<ScriptIdentifier, BindingCalled> {
- public v133Javascript(DevTools devtools) {
+ public v136Javascript(DevTools devtools) {
super(devtools);
}
@@ -55,7 +55,7 @@ protected Command<Void> doRemoveJsBinding(String scriptName) {
@Override
protected Command<Void> enablePage() {
- return Page.enable();
+ return Page.enable(Optional.empty());
}
@Override
diff --git a/java/src/org/openqa/selenium/devtools/v133/v133Log.java b/java/src/org/openqa/selenium/devtools/v136/v136Log.java
similarity index 89%
rename from java/src/org/openqa/selenium/devtools/v133/v133Log.java
rename to java/src/org/openqa/selenium/devtools/v136/v136Log.java
index e873d18..86dd2b0 100644
--- a/java/src/org/openqa/selenium/devtools/v133/v133Log.java
+++ b/java/src/org/openqa/selenium/devtools/v136/v136Log.java
@@ -15,19 +15,19 @@
// specific language governing permissions and limitations
// under the License.
-package org.openqa.selenium.devtools.v133;
+package org.openqa.selenium.devtools.v136;
import java.util.function.Function;
import java.util.logging.Level;
import org.openqa.selenium.devtools.Command;
import org.openqa.selenium.devtools.ConverterFunctions;
import org.openqa.selenium.devtools.Event;
-import org.openqa.selenium.devtools.v133.log.Log;
-import org.openqa.selenium.devtools.v133.log.model.LogEntry;
-import org.openqa.selenium.devtools.v133.runtime.model.Timestamp;
+import org.openqa.selenium.devtools.v136.log.Log;
+import org.openqa.selenium.devtools.v136.log.model.LogEntry;
+import org.openqa.selenium.devtools.v136.runtime.model.Timestamp;
import org.openqa.selenium.json.JsonInput;
-public class v133Log implements org.openqa.selenium.devtools.idealized.log.Log {
+public class v136Log implements org.openqa.selenium.devtools.idealized.log.Log {
@Override
public Command<Void> enable() {
diff --git a/java/src/org/openqa/selenium/devtools/v133/v133Network.java b/java/src/org/openqa/selenium/devtools/v136/v136Network.java
similarity index 92%
rename from java/src/org/openqa/selenium/devtools/v133/v133Network.java
rename to java/src/org/openqa/selenium/devtools/v136/v136Network.java
index b3d2b57..4dc60fe 100644
--- a/java/src/org/openqa/selenium/devtools/v133/v133Network.java
+++ b/java/src/org/openqa/selenium/devtools/v136/v136Network.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.openqa.selenium.devtools.v133;
+package org.openqa.selenium.devtools.v136;
import static java.net.HttpURLConnection.HTTP_OK;
@@ -30,35 +30,35 @@
import org.openqa.selenium.devtools.DevToolsException;
import org.openqa.selenium.devtools.Event;
import org.openqa.selenium.devtools.idealized.Network;
-import org.openqa.selenium.devtools.v133.fetch.Fetch;
-import org.openqa.selenium.devtools.v133.fetch.model.*;
-import org.openqa.selenium.devtools.v133.network.model.Request;
+import org.openqa.selenium.devtools.v136.fetch.Fetch;
+import org.openqa.selenium.devtools.v136.fetch.model.*;
+import org.openqa.selenium.devtools.v136.network.model.Request;
import org.openqa.selenium.internal.Either;
import org.openqa.selenium.remote.http.HttpRequest;
import org.openqa.selenium.remote.http.HttpResponse;
-public class v133Network extends Network<AuthRequired, RequestPaused> {
+public class v136Network extends Network<AuthRequired, RequestPaused> {
- private static final Logger LOG = Logger.getLogger(v133Network.class.getName());
+ private static final Logger LOG = Logger.getLogger(v136Network.class.getName());
- public v133Network(DevTools devTools) {
+ public v136Network(DevTools devTools) {
super(devTools);
}
@Override
protected Command<Void> setUserAgentOverride(UserAgent userAgent) {
- return org.openqa.selenium.devtools.v133.network.Network.setUserAgentOverride(
+ return org.openqa.selenium.devtools.v136.network.Network.setUserAgentOverride(
userAgent.userAgent(), userAgent.acceptLanguage(), userAgent.platform(), Optional.empty());
}
@Override
protected Command<Void> enableNetworkCaching() {
- return org.openqa.selenium.devtools.v133.network.Network.setCacheDisabled(false);
+ return org.openqa.selenium.devtools.v136.network.Network.setCacheDisabled(false);
}
@Override
protected Command<Void> disableNetworkCaching() {
- return org.openqa.selenium.devtools.v133.network.Network.setCacheDisabled(true);
+ return org.openqa.selenium.devtools.v136.network.Network.setCacheDisabled(true);
}
@Override
diff --git a/java/src/org/openqa/selenium/devtools/v133/v133Target.java b/java/src/org/openqa/selenium/devtools/v136/v136Target.java
similarity index 83%
rename from java/src/org/openqa/selenium/devtools/v133/v133Target.java
rename to java/src/org/openqa/selenium/devtools/v136/v136Target.java
index 9543657..5781fec 100644
--- a/java/src/org/openqa/selenium/devtools/v133/v133Target.java
+++ b/java/src/org/openqa/selenium/devtools/v136/v136Target.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.openqa.selenium.devtools.v133;
+package org.openqa.selenium.devtools.v136;
import java.util.List;
import java.util.Map;
@@ -28,21 +28,21 @@
import org.openqa.selenium.devtools.idealized.browser.model.BrowserContextID;
import org.openqa.selenium.devtools.idealized.target.model.SessionID;
import org.openqa.selenium.devtools.idealized.target.model.TargetID;
-import org.openqa.selenium.devtools.v133.target.Target;
-import org.openqa.selenium.devtools.v133.target.model.TargetInfo;
+import org.openqa.selenium.devtools.v136.target.Target;
+import org.openqa.selenium.devtools.v136.target.model.TargetInfo;
import org.openqa.selenium.json.JsonInput;
import org.openqa.selenium.json.TypeToken;
-public class v133Target implements org.openqa.selenium.devtools.idealized.target.Target {
+public class v136Target implements org.openqa.selenium.devtools.idealized.target.Target {
@Override
public Command<Void> detachFromTarget(
Optional<SessionID> sessionId, Optional<TargetID> targetId) {
return Target.detachFromTarget(
sessionId.map(
- id -> new org.openqa.selenium.devtools.v133.target.model.SessionID(id.toString())),
+ id -> new org.openqa.selenium.devtools.v136.target.model.SessionID(id.toString())),
targetId.map(
- id -> new org.openqa.selenium.devtools.v133.target.model.TargetID(id.toString())));
+ id -> new org.openqa.selenium.devtools.v136.target.model.TargetID(id.toString())));
}
@Override
@@ -74,19 +74,19 @@ public Command<Void> detachFromTarget(
@Override
public Command<SessionID> attachToTarget(TargetID targetId) {
- Function<JsonInput, org.openqa.selenium.devtools.v133.target.model.SessionID> mapper =
+ Function<JsonInput, org.openqa.selenium.devtools.v136.target.model.SessionID> mapper =
ConverterFunctions.map(
- "sessionId", org.openqa.selenium.devtools.v133.target.model.SessionID.class);
+ "sessionId", org.openqa.selenium.devtools.v136.target.model.SessionID.class);
return new Command<>(
"Target.attachToTarget",
Map.of(
"targetId",
- new org.openqa.selenium.devtools.v133.target.model.TargetID(targetId.toString()),
+ new org.openqa.selenium.devtools.v136.target.model.TargetID(targetId.toString()),
"flatten",
true),
input -> {
- org.openqa.selenium.devtools.v133.target.model.SessionID id = mapper.apply(input);
+ org.openqa.selenium.devtools.v136.target.model.SessionID id = mapper.apply(input);
return new SessionID(id.toString());
});
}
@@ -101,9 +101,9 @@ public Event<TargetID> detached() {
return new Event<>(
"Target.detachedFromTarget",
input -> {
- Function<JsonInput, org.openqa.selenium.devtools.v133.target.model.TargetID> converter =
+ Function<JsonInput, org.openqa.selenium.devtools.v136.target.model.TargetID> converter =
ConverterFunctions.map(
- "targetId", org.openqa.selenium.devtools.v133.target.model.TargetID.class);
+ "targetId", org.openqa.selenium.devtools.v136.target.model.TargetID.class);
return new TargetID(converter.apply(input).toString());
});
}
diff --git a/java/src/org/openqa/selenium/devtools/versions.bzl b/java/src/org/openqa/selenium/devtools/versions.bzl
index 293399d..45c920c 100644
--- a/java/src/org/openqa/selenium/devtools/versions.bzl
+++ b/java/src/org/openqa/selenium/devtools/versions.bzl
@@ -1,7 +1,7 @@
CDP_VERSIONS = [
"v134",
"v135",
- "v133",
+ "v136",
]
CDP_DEPS = ["//java/src/org/openqa/selenium/devtools/%s" % v for v in CDP_VERSIONS]
diff --git a/java/test/org/openqa/selenium/firefox/FirefoxDriverTest.java b/java/test/org/openqa/selenium/firefox/FirefoxDriverTest.java
index bfc92e8..002cf77 100644
--- a/java/test/org/openqa/selenium/firefox/FirefoxDriverTest.java
+++ b/java/test/org/openqa/selenium/firefox/FirefoxDriverTest.java
@@ -263,7 +263,9 @@ void canTakeFullPageScreenshot() {
@NoDriverAfterTest
@Test
void canSetContext() {
- HasContext context = (HasContext) driver;
+ localDriver =
+ new FirefoxDriver(getDefaultOptions().addArguments("-remote-allow-system-access"));
+ HasContext context = (HasContext) localDriver;
assertThat(context.getContext()).isEqualTo(FirefoxCommandContext.CONTENT);
context.setContext(FirefoxCommandContext.CHROME);
diff --git a/java/test/org/openqa/selenium/firefox/RemoteFirefoxDriverTest.java b/java/test/org/openqa/selenium/firefox/RemoteFirefoxDriverTest.java
index 8aee1ef..e5b716d 100644
--- a/java/test/org/openqa/selenium/firefox/RemoteFirefoxDriverTest.java
+++ b/java/test/org/openqa/selenium/firefox/RemoteFirefoxDriverTest.java
@@ -62,6 +62,7 @@ public void shouldAllowRemoteWebDriverBuilderToUseHasContext() throws MalformedU
FirefoxOptions options = new FirefoxOptions();
String dir = "foo/bar";
options.addPreference("browser.download.dir", dir);
+ options.addArguments("-remote-allow-system-access");
localDriver = new WebDriverBuilder().get(options);
((HasContext) localDriver).setContext(FirefoxCommandContext.CHROME);
@@ -78,6 +79,7 @@ public void shouldSetContext() {
FirefoxOptions options = new FirefoxOptions();
String dir = "foo/bar";
options.addPreference("browser.download.dir", dir);
+ options.addArguments("-remote-allow-system-access");
localDriver = new WebDriverBuilder().get(options);
diff --git a/java/version.bzl b/java/version.bzl
index d0f2fc8..b97648b 100644
--- a/java/version.bzl
+++ b/java/version.bzl
@@ -1,2 +1,2 @@
-SE_VERSION = "4.32.0-SNAPSHOT"
+SE_VERSION = "4.32.0"
TOOLS_JAVA_VERSION = "17"
diff --git a/javascript/selenium-webdriver/BUILD.bazel b/javascript/selenium-webdriver/BUILD.bazel
index 6c9a24f..4d26d39 100644
--- a/javascript/selenium-webdriver/BUILD.bazel
+++ b/javascript/selenium-webdriver/BUILD.bazel
@@ -11,12 +11,12 @@
npm_link_all_packages(name = "node_modules")
-VERSION = "4.32.0-nightly202504060755"
+VERSION = "4.32.0"
BROWSER_VERSIONS = [
"v134",
"v135",
- "v133",
+ "v136",
]
js_library(
diff --git a/javascript/selenium-webdriver/CHANGES.md b/javascript/selenium-webdriver/CHANGES.md
index feb4ed7..c839465 100644
--- a/javascript/selenium-webdriver/CHANGES.md
+++ b/javascript/selenium-webdriver/CHANGES.md
@@ -1,3 +1,8 @@
+## 4.32.0
+
+- [cdp] Add CDP for Chrome 136 and remove 133
+- Set remote active protocol in Firefox to BiDi only
+
## 4.31.0
- [bidi]: fix storage module instance checks and add user context cookie test (#15467)
diff --git a/javascript/selenium-webdriver/package.json b/javascript/selenium-webdriver/package.json
index 3555c1a..28a982a 100644
--- a/javascript/selenium-webdriver/package.json
+++ b/javascript/selenium-webdriver/package.json
@@ -1,6 +1,6 @@
{
"name": "selenium-webdriver",
- "version": "4.32.0-nightly202504060755",
+ "version": "4.32.0",
"description": "The official WebDriver JavaScript bindings from the Selenium project",
"license": "Apache-2.0",
"keywords": [
diff --git a/javascript/selenium-webdriver/test/firefox/contextSwitching_test.js b/javascript/selenium-webdriver/test/firefox/contextSwitching_test.js
index 8e3d5b0..67f5d77 100644
--- a/javascript/selenium-webdriver/test/firefox/contextSwitching_test.js
+++ b/javascript/selenium-webdriver/test/firefox/contextSwitching_test.js
@@ -22,6 +22,7 @@
const { Browser } = require('selenium-webdriver/index')
const { Context } = require('selenium-webdriver/firefox')
const { suite } = require('../../lib/test')
+const firefox = require('selenium-webdriver/firefox')
suite(
function (env) {
@@ -38,7 +39,9 @@
describe('context switching', function () {
beforeEach(async function () {
- driver = await env.builder().build()
+ let options = new firefox.Options()
+ options.addArguments('-remote-allow-system-access')
+ driver = await env.builder().setFirefoxOptions(options).build()
})
it('can get context', async function () {
diff --git a/py/BUILD.bazel b/py/BUILD.bazel
index 530fd4d..0d58550 100644
--- a/py/BUILD.bazel
+++ b/py/BUILD.bazel
@@ -62,12 +62,12 @@
],
)
-SE_VERSION = "4.32.0.202504060755"
+SE_VERSION = "4.32.0"
BROWSER_VERSIONS = [
"v134",
"v135",
- "v133",
+ "v136",
]
TEST_DEPS = [
diff --git a/py/CHANGES b/py/CHANGES
index 016aa90..815183e 100644
--- a/py/CHANGES
+++ b/py/CHANGES
@@ -1,3 +1,21 @@
+Selenium 4.32.0
+* Add CDP for Chrome 136 and remove 133
+* BiDi Network implementation of Intercepts and Auth in Python (#14592)
+* Fix select being able to select options hidden by css rules (#15135)
+* [bidi]: Implement BiDi browser module (#15616)
+* Call service.stop() when session can't be started (#15636)
+* Remove logging API for non-Chromium browsers (#15641)
+* Raise TypeError when creating webdriver.Remote() without options (#15619)
+* Add autoflake linter and update linting dependencies (#15643)
+* Fix driver service stop when starting browser fails (#15656)
+* [bidi]: add bidi command `session.status` and encapsulate in Session class (#15615)
+* Set remote active protocol in Firefox to BiDi only
+* [bidi]: Implement BiDi `browsing_context` module (#15631)
+* [BiDi] separate log module from script module and add more tests (#15668)
+* Add client_config property and update deprecation messages (#15674)
+* Remove support for GLOBAL_DEFAULT_TIMEOUT environment variable (#15673)
+* Server class to manage (download/run) grid server (#15666)
+
Selenium 4.31.0
* Add CDP for Chrome 135 and remove 132
* Fix docstring issues that sphinx complains about (#15466)
diff --git a/py/docs/source/conf.py b/py/docs/source/conf.py
index 49f9993..9fa324b 100644
--- a/py/docs/source/conf.py
+++ b/py/docs/source/conf.py
@@ -58,7 +58,7 @@
# The short X.Y version.
version = '4.32'
# The full version, including alpha/beta/rc tags.
-release = '4.32.0.202504060755'
+release = '4.32.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/py/pyproject.toml b/py/pyproject.toml
index 5803c4d..b97abd6 100644
--- a/py/pyproject.toml
+++ b/py/pyproject.toml
@@ -4,7 +4,7 @@
[project]
name = "selenium"
-version = "4.32.0.202504060755"
+version = "4.32.0"
license = { text = "Apache 2.0" }
description = "Official Python bindings for Selenium WebDriver."
readme = "README.rst"
diff --git a/py/selenium/__init__.py b/py/selenium/__init__.py
index 00aa600..cb04d4e 100644
--- a/py/selenium/__init__.py
+++ b/py/selenium/__init__.py
@@ -16,4 +16,4 @@
# under the License.
-__version__ = "4.32.0.202504060755"
+__version__ = "4.32.0"
diff --git a/py/selenium/webdriver/__init__.py b/py/selenium/webdriver/__init__.py
index f16cbda..43e6271 100644
--- a/py/selenium/webdriver/__init__.py
+++ b/py/selenium/webdriver/__init__.py
@@ -44,7 +44,7 @@
from .wpewebkit.service import Service as WPEWebKitService # noqa
from .wpewebkit.webdriver import WebDriver as WPEWebKit # noqa
-__version__ = "4.32.0.202504060755"
+__version__ = "4.32.0"
# We need an explicit __all__ because the above won't otherwise be exported.
__all__ = [
diff --git a/rb/CHANGES b/rb/CHANGES
index cf0d7e6..627b2b7 100644
--- a/rb/CHANGES
+++ b/rb/CHANGES
@@ -1,3 +1,15 @@
+4.32.0 (2025-05-02)
+=========================
+* Add CDP for Chrome 136 and remove 133
+* log at info level with names and values when Guards#add_condition used
+* Add PrintOptions Implementation for Ruby WebDriver (#15158)
+* [ruby] fix lint for print_options.rb (#15608)
+* add enable_downloads to attr_accessor for all options classes
+* make logging of test guards debug level not info
+* Set remote active protocol in Firefox to BiDi only
+* handle issue with selenium manager exit status being nil (#15676)
+* Add websocket-port parameter to firefox service (#15458)
+
4.31.0 (2025-04-04)
=========================
* Add support for 135 and remove 132
diff --git a/rb/Gemfile.lock b/rb/Gemfile.lock
index e8c7ee9..7ed310c 100644
--- a/rb/Gemfile.lock
+++ b/rb/Gemfile.lock
@@ -1,9 +1,9 @@
PATH
remote: .
specs:
- selenium-devtools (0.135.0)
+ selenium-devtools (0.136.0)
selenium-webdriver (~> 4.2)
- selenium-webdriver (4.32.0.nightly)
+ selenium-webdriver (4.32.0)
base64 (~> 0.2)
logger (~> 1.4)
rexml (~> 3.2, >= 3.2.5)
@@ -33,11 +33,11 @@
bigdecimal (3.1.9)
bigdecimal (3.1.9-java)
concurrent-ruby (1.3.5)
- connection_pool (2.5.0)
+ connection_pool (2.5.3)
crack (1.0.0)
bigdecimal
rexml
- csv (3.3.3)
+ csv (3.3.4)
curb (1.0.9)
date (3.4.1)
date (3.4.1-java)
@@ -46,12 +46,12 @@
reline (>= 0.3.8)
diff-lcs (1.6.1)
drb (2.2.1)
- ffi (1.17.1)
- ffi (1.17.1-arm64-darwin)
- ffi (1.17.1-java)
- ffi (1.17.1-x64-mingw-ucrt)
- ffi (1.17.1-x86_64-darwin)
- ffi (1.17.1-x86_64-linux-gnu)
+ ffi (1.17.2)
+ ffi (1.17.2-arm64-darwin)
+ ffi (1.17.2-java)
+ ffi (1.17.2-x64-mingw-ucrt)
+ ffi (1.17.2-x86_64-darwin)
+ ffi (1.17.2-x86_64-linux-gnu)
fileutils (1.7.3)
git (1.19.1)
addressable (~> 2.8)
@@ -66,8 +66,8 @@
rdoc (>= 4.0.0)
reline (>= 0.4.2)
jar-dependencies (0.5.5)
- json (2.10.2)
- json (2.10.2-java)
+ json (2.11.3)
+ json (2.11.3-java)
language_server-protocol (3.17.0.4)
lint_roller (1.1.0)
listen (3.9.0)
@@ -75,21 +75,21 @@
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.7.0)
minitest (5.25.5)
- parallel (1.26.3)
- parser (3.3.7.4)
+ parallel (1.27.0)
+ parser (3.3.8.0)
ast (~> 2.4.1)
racc
pp (0.6.2)
prettyprint
prettyprint (0.2.0)
prism (1.4.0)
- psych (5.2.3)
+ psych (5.2.4)
date
stringio
- psych (5.2.3-java)
+ psych (5.2.4-java)
date
jar-dependencies (>= 0.1.7)
- public_suffix (6.0.1)
+ public_suffix (6.0.2)
racc (1.8.1)
racc (1.8.1-java)
rack (2.2.13)
@@ -113,14 +113,14 @@
rspec-mocks (~> 3.13.0)
rspec-core (3.13.3)
rspec-support (~> 3.13.0)
- rspec-expectations (3.13.3)
+ rspec-expectations (3.13.4)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
- rspec-mocks (3.13.2)
+ rspec-mocks (3.13.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
- rspec-support (3.13.2)
- rubocop (1.75.2)
+ rspec-support (3.13.3)
+ rubocop (1.75.4)
json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
@@ -131,7 +131,7 @@
rubocop-ast (>= 1.44.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0)
- rubocop-ast (1.44.0)
+ rubocop-ast (1.44.1)
parser (>= 3.3.7.2)
prism (~> 1.4)
rubocop-performance (1.25.0)
@@ -141,7 +141,7 @@
rubocop-rake (0.7.1)
lint_roller (~> 1.1)
rubocop (>= 1.72.1)
- rubocop-rspec (3.5.0)
+ rubocop-rspec (3.6.0)
lint_roller (~> 1.1)
rubocop (~> 1.72, >= 1.72.1)
ruby-progressbar (1.13.0)
@@ -162,9 +162,9 @@
securerandom (>= 0.1)
strscan (>= 1.0.0)
terminal-table (>= 2, < 4)
- stringio (3.1.6)
- strscan (3.1.2)
- strscan (3.1.2-java)
+ stringio (3.1.7)
+ strscan (3.1.4)
+ strscan (3.1.4-java)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
tzinfo (2.0.6)
diff --git a/rb/lib/selenium/devtools/BUILD.bazel b/rb/lib/selenium/devtools/BUILD.bazel
index 93251c9..c7e9fb6 100644
--- a/rb/lib/selenium/devtools/BUILD.bazel
+++ b/rb/lib/selenium/devtools/BUILD.bazel
@@ -6,7 +6,7 @@
CDP_VERSIONS = [
"v134",
"v135",
- "v133",
+ "v136",
]
rb_library(
diff --git a/rb/lib/selenium/devtools/version.rb b/rb/lib/selenium/devtools/version.rb
index 792a2d1..649df3d 100644
--- a/rb/lib/selenium/devtools/version.rb
+++ b/rb/lib/selenium/devtools/version.rb
@@ -19,6 +19,6 @@
module Selenium
module DevTools
- VERSION = '0.135.0'
+ VERSION = '0.136.0'
end # DevTools
end # Selenium
diff --git a/rb/lib/selenium/webdriver/version.rb b/rb/lib/selenium/webdriver/version.rb
index d212daf..50a46cc 100644
--- a/rb/lib/selenium/webdriver/version.rb
+++ b/rb/lib/selenium/webdriver/version.rb
@@ -19,6 +19,6 @@
module Selenium
module WebDriver
- VERSION = '4.32.0.nightly'
+ VERSION = '4.32.0'
end # WebDriver
end # Selenium
diff --git a/rust/BUILD.bazel b/rust/BUILD.bazel
index 288d0ed..233607c 100644
--- a/rust/BUILD.bazel
+++ b/rust/BUILD.bazel
@@ -77,7 +77,7 @@
name = "selenium-manager",
srcs = ["src/main.rs"],
edition = "2021",
- version = "0.4.32-nightly",
+ version = "0.4.32",
visibility = ["//visibility:public"],
deps = [
":selenium_manager",
diff --git a/rust/CHANGELOG.md b/rust/CHANGELOG.md
index 9e7ee56..28d1b4f 100644
--- a/rust/CHANGELOG.md
+++ b/rust/CHANGELOG.md
@@ -1,3 +1,7 @@
+0.4.32
+======
+*no changes*
+
0.4.31
======
*no changes*
diff --git a/rust/Cargo.Bazel.lock b/rust/Cargo.Bazel.lock
index 3be446e..4c44a23 100644
--- a/rust/Cargo.Bazel.lock
+++ b/rust/Cargo.Bazel.lock
@@ -1,5 +1,5 @@
{
- "checksum": "ebe654eaa2ca52e0d4b917a3c0252724bcf56b14c9b2a625ad14217ae048a3d0",
+ "checksum": "66ed2aa4356ad9085fb297e516ceddf9800dc25cc5bdfffa8a454a996042169a",
"crates": {
"addr2line 0.21.0": {
"name": "addr2line",
@@ -2032,15 +2032,78 @@
"target": "jobserver"
},
{
- "id": "libc 0.2.168",
- "target": "libc"
- },
- {
"id": "shlex 1.3.0",
"target": "shlex"
}
],
- "selects": {}
+ "selects": {
+ "aarch64-apple-darwin": [
+ {
+ "id": "libc 0.2.168",
+ "target": "libc"
+ }
+ ],
+ "aarch64-unknown-linux-gnu": [
+ {
+ "id": "libc 0.2.168",
+ "target": "libc"
+ }
+ ],
+ "aarch64-unknown-nixos-gnu": [
+ {
+ "id": "libc 0.2.168",
+ "target": "libc"
+ }
+ ],
+ "arm-unknown-linux-gnueabi": [
+ {
+ "id": "libc 0.2.168",
+ "target": "libc"
+ }
+ ],
+ "i686-unknown-linux-gnu": [
+ {
+ "id": "libc 0.2.168",
+ "target": "libc"
+ }
+ ],
+ "powerpc-unknown-linux-gnu": [
+ {
+ "id": "libc 0.2.168",
+ "target": "libc"
+ }
+ ],
+ "s390x-unknown-linux-gnu": [
+ {
+ "id": "libc 0.2.168",
+ "target": "libc"
+ }
+ ],
+ "x86_64-apple-darwin": [
+ {
+ "id": "libc 0.2.168",
+ "target": "libc"
+ }
+ ],
+ "x86_64-unknown-freebsd": [
+ {
+ "id": "libc 0.2.168",
+ "target": "libc"
+ }
+ ],
+ "x86_64-unknown-linux-gnu": [
+ {
+ "id": "libc 0.2.168",
+ "target": "libc"
+ }
+ ],
+ "x86_64-unknown-nixos-gnu": [
+ {
+ "id": "libc 0.2.168",
+ "target": "libc"
+ }
+ ]
+ }
},
"edition": "2018",
"version": "1.1.30"
@@ -13356,9 +13419,9 @@
],
"license_file": "LICENSE"
},
- "selenium-manager 0.4.32-nightly": {
+ "selenium-manager 0.4.32": {
"name": "selenium-manager",
- "version": "0.4.32-nightly",
+ "version": "0.4.32",
"package_url": "https://github.com/SeleniumHQ/selenium",
"repository": null,
"targets": [
@@ -13507,7 +13570,7 @@
"selects": {}
},
"edition": "2021",
- "version": "0.4.32-nightly"
+ "version": "0.4.32"
},
"license": "Apache-2.0",
"license_ids": [
@@ -21396,7 +21459,7 @@
},
"binary_crates": [],
"workspace_members": {
- "selenium-manager 0.4.32-nightly": "rust"
+ "selenium-manager 0.4.32": "rust"
},
"conditions": {
"aarch64-apple-darwin": [
diff --git a/rust/Cargo.lock b/rust/Cargo.lock
index 8ea6fb2..c11356d 100644
--- a/rust/Cargo.lock
+++ b/rust/Cargo.lock
@@ -1837,7 +1837,7 @@
[[package]]
name = "selenium-manager"
-version = "0.4.32-nightly"
+version = "0.4.32"
dependencies = [
"anyhow",
"apple-flat-package",
diff --git a/rust/Cargo.toml b/rust/Cargo.toml
index 79393e5..60ada3c 100644
--- a/rust/Cargo.toml
+++ b/rust/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "selenium-manager"
-version = "0.4.32-nightly" # don't forget to update rust/BUILD.bazel
+version = "0.4.32" # don't forget to update rust/BUILD.bazel
edition = "2021"
authors = ["Selenium <selenium-developers@googlegroups.com"]
license = "Apache-2.0"