[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"