diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml
index fb2d19a97a272..40253a37a5f77 100644
--- a/.github/workflows/pre-release.yml
+++ b/.github/workflows/pre-release.yml
@@ -72,6 +72,8 @@ jobs:
with:
ruby-version: '3.1'
working-directory: 'rb'
+ - name: Setup curl for Ubuntu
+ run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
- name: "Prep git"
run: |
git config --local user.email "selenium-ci@users.noreply.github.com"
diff --git a/.github/workflows/stage-release.yml b/.github/workflows/stage-release.yml
index 6d15a040cfdc0..b40f7690347ee 100644
--- a/.github/workflows/stage-release.yml
+++ b/.github/workflows/stage-release.yml
@@ -2,7 +2,12 @@ name: Release Staging
on:
pull_request:
- types: [closed]
+ types: [ closed ]
+ workflow_dispatch:
+ inputs:
+ version:
+ description: 'Selenium version to release'
+ required: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -11,52 +16,56 @@ env:
jobs:
github-release:
if: >
- github.event.pull_request.merged == true &&
+ (github.event.pull_request.merged == true &&
github.repository_owner == 'seleniumhq' &&
- startsWith(github.event.pull_request.head.ref, 'release-preparation-')
+ startsWith(github.event.pull_request.head.ref, 'release-preparation-')) ||
+ (github.event_name == 'workflow_dispatch' &&
+ github.event.inputs.version != '' &&
+ github.repository_owner == 'seleniumhq')
runs-on: ubuntu-latest
+ permissions: write-all
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Extract version from branch name
- id: extract_version
+ if: github.event.pull_request.merged == true
run: |
VERSION=$(echo $BRANCH_NAME | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
echo "VERSION=$VERSION" >> $GITHUB_ENV
+ - name: Extract version from workflow input
+ if: github.event_name == 'workflow_dispatch'
+ run: |
+ VERSION=${{ inputs.version }}
+ echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Prep git
run: |
git config --local user.email "selenium-ci@users.noreply.github.com"
git config --local user.name "Selenium CI Bot"
- - name: Tag Release
- run: |
- git tag selenium-${{ env.VERSION }}
- git push origin selenium-${{ env.VERSION }}
- - name: Update Nightly Tag to Remove pre-release
- run: |
- git fetch --tags
- git tag -d nightly || echo "Nightly tag not found"
- git tag nightly
- git push origin refs/tags/nightly --force
+ # - name: Tag Release
+ # run: |
+ # git tag selenium-${{ env.VERSION }} || echo "Tag already exists"
+ # git push origin selenium-${{ env.VERSION }} || echo "Tag already exists remotely"
- name: Setup Java
uses: actions/setup-java@v3
with:
java-version: 17
distribution: 'temurin'
+ - name: Setup curl for Ubuntu
+ run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
- name: Build and Stage Packages
run: ./go all:package[--config=release]
- name: Generate Draft Release
- uses: softprops/action-gh-release@v2
+ uses: ncipollo/release-action@v1
with:
- name: Selenium ${{ env.VERSION }}
- body: |
- ## Detailed Changelogs by Component
-
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)** |
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)** |
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)** |
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)** |
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/node/selenium-webdriver/CHANGES.md)** |
**[IEDriver](https://github.com/SeleniumHQ/selenium/blob/trunk/cpp/iedriverserver/CHANGELOG)**
-
- tag_name: selenium-${{ env.VERSION }}
+ artifacts: "build/dist/*.*"
+ bodyFile: "scripts/github-actions/release_header.md"
draft: true
- generate_release_notes: true
+ generateReleaseNotes: true
+ name: "Selenium ${{ env.VERSION }}"
prerelease: false
- files: build/dist/*.*
+ skipIfReleaseExists: true
+ tag: "selenium-${{ env.VERSION }}"
+ commit: "${{ github.sha }}"
update-documentation:
needs: github-release
diff --git a/.github/workflows/update-documentation.yml b/.github/workflows/update-documentation.yml
index 7e2e5efee541f..15b57055cc51a 100644
--- a/.github/workflows/update-documentation.yml
+++ b/.github/workflows/update-documentation.yml
@@ -46,7 +46,7 @@ jobs:
git config --local user.email "selenium-ci@users.noreply.github.com"
git config --local user.name "Selenium CI Bot"
- name: Setup Java
- uses: actions/setup-java@v3
+ uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
@@ -58,7 +58,7 @@ jobs:
git format-patch -1 HEAD --stdout > java-docs.patch
- name: Upload patch
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'java'
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: java-docs-patch
path: java-docs.patch
@@ -76,10 +76,12 @@ jobs:
git config --local user.email "selenium-ci@users.noreply.github.com"
git config --local user.name "Selenium CI Bot"
- name: Setup Java
- uses: actions/setup-java@v3
+ uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
+ - name: Setup curl for Ubuntu
+ run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
- name: Update Documentation
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'ruby'
run: ./go rb:docs
@@ -88,7 +90,7 @@ jobs:
git format-patch -1 HEAD --stdout > ruby-docs.patch
- name: Upload patch
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'ruby'
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: ruby-docs-patch
path: ruby-docs.patch
@@ -106,7 +108,7 @@ jobs:
git config --local user.email "selenium-ci@users.noreply.github.com"
git config --local user.name "Selenium CI Bot"
- name: Set up Python 3.8
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Install dependencies
@@ -121,7 +123,7 @@ jobs:
git format-patch -1 HEAD --stdout > python-docs.patch
- name: Upload patch
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'python'
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: python-docs-patch
path: python-docs.patch
@@ -150,7 +152,7 @@ jobs:
git format-patch -1 HEAD --stdout > dotnet-docs.patch
- name: Upload patch
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'dotnet'
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: dotnet-docs-patch
path: dotnet-docs.patch
@@ -179,7 +181,7 @@ jobs:
git format-patch -1 HEAD --stdout > node-docs.patch
- name: Upload patch
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'node'
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: node-docs-patch
path: node-docs.patch
@@ -199,34 +201,35 @@ jobs:
git checkout -b api-docs-${{ inputs.tag }}
- name: Download Java patch
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'java'
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v4
with:
name: java-docs-patch
path: patches/
- name: Download Ruby patch
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'ruby'
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v4
with:
name: ruby-docs-patch
path: patches/
- name: Download Python patch
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'python'
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v4
with:
name: python-docs-patch
path: patches/
- name: Download .NET patch
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'dotnet'
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v4
with:
name: dotnet-docs-patch
path: patches/
- name: Download Node patch
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'node'
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v4
with:
name: node-docs-patch
path: patches/
+ merge-multiple: true
- name: Apply patches
run: |
for patch in patches/*.patch; do
diff --git a/.gitignore b/.gitignore
index 6fe400008e66c..0a10c80ea2aae 100644
--- a/.gitignore
+++ b/.gitignore
@@ -78,6 +78,7 @@ py/docs/source/**/*
py/build/
py/LICENSE
py/pytestdebug.log
+py/python.iml
selenium.egg-info/
third_party/java/jetty/jetty-repacked.jar
*.user
diff --git a/AUTHORS b/AUTHORS
index de3df458c7739..6ed08840399de 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -23,7 +23,6 @@ Ahmed Ashour
AJ
Ajay Kemparaj
Akhil Lb
-Ákos Lukács
Akuli
Al Sutton
Alan Baird
@@ -137,7 +136,6 @@ Carlos Ortega
Carlos Villela
Carson McDonald
ce86f3bb9faf71e <118820152+ce86f3bb9faf71e@users.noreply.github.com>
-Cédric Boutillier
Cervac Petru
cezarelnazli
ch-saeki <31008335+ch-saeki@users.noreply.github.com>
@@ -174,6 +172,7 @@ Coty Rosenblath
Craig Nishina
CsolG
customcommander
+Cédric Boutillier
Dakkaron
Damien Allison
Damir
@@ -232,6 +231,7 @@ Dmitry Tokarev
Dmytro Shpakovskyi
dnknitro
doctor-house <66467615+doctor-house@users.noreply.github.com>
+Dominic Evans <8060970+dnwe@users.noreply.github.com>
Dominik Dary
Dominik Rauch
Dominik Stadler
@@ -267,7 +267,6 @@ Eric Plaster
Erik Beans
Erik E. Beerepoot
Erik Kuefler
-Étienne Barrié
Evan Sangaline
Evgeniy Roldukhin
EwaMarek
@@ -279,10 +278,10 @@ Florian LOPES
Florian Mutter <32459530+florianmutter@users.noreply.github.com>
Florian Zipperle
Francis Bergin
+Franz Liedke
François Freitag
François JACQUES
François Reynaud
-Franz Liedke
Frederik Carlier
Fredrik Wollsén
freynaud
@@ -425,7 +424,6 @@ Jim van Musscher
jkbzh <3439365+jkbzh@users.noreply.github.com>
jkohls
jmuramatsu
-João Luca Ripardo
Joaquín Romero
jochenberger
Joe Bandenburg
@@ -457,12 +455,12 @@ Jonathan Lipps
Jonathon Kereliuk
Jongkuen Hong
Jordan Mace
-Jörg Sautter
josephg
Josh Goldberg
Joshua Bruning
Joshua Fehler
Joshua Grant
+João Luca Ripardo
JT Archie
jugglinmike
Julian Didier
@@ -477,6 +475,7 @@ Justin Tulloss
Justine Tunney
justinwoolley@gmail.com
jwoolley <19597672+jwoolley@users.noreply.github.com>
+Jörg Sautter
Kamen Litchev
Karl Kuehn
Karl-Philipp Richter
@@ -530,10 +529,10 @@ Lucas Diniz
Lucas Tierney
Luis Correia
Luis Pflamminger
-Lukáš Linhart
Luke Hill
Luke Inman-Semerau
lukec
+Lukáš Linhart
Lyudmil Latinov
Machinexa2 <60662297+machinexa2@users.noreply.github.com>
Maciej Pakulski
@@ -809,15 +808,16 @@ Stuart Knightly
sufyanAbbasi
sugama
sunnyyukaige
+Swastik Baranwal
symonk
Take
take0x <89313929+take0x@users.noreply.github.com>
Takeshi Kishi
Takuho NAKANO
Takuma Chiba
-Tamás Buka
Tamas Utasi <3823780+utamas@users.noreply.github.com>
Tamsil Sajid Amani
+Tamás Buka
Tatsuya Hoshino
Terence Haddock
thecr8tr
@@ -860,7 +860,6 @@ Ulf Adams
Ulrich Buchgraber
User253489
V24 <55334829+umarfarouk98@users.noreply.github.com>
-Václav Votípka
Valery Yatsynovich
Varun Menon
varunsurapaneni <67070327+varunsurapaneni@users.noreply.github.com>
@@ -885,6 +884,7 @@ Vladimir Támara Patiño
VladimirPodolyan <36446855+VladimirPodolyan@users.noreply.github.com>
Vladislav Velichko <111522705+vlad8x8@users.noreply.github.com>
Vyvyan Codd
+Václav Votípka
Werner Robitza
wiggin15
wildloop
@@ -906,4 +906,6 @@ Zhuo Peng
Ziyu
Zoltar - Knower of All
zsong
+Ákos Lukács
+Étienne Barrié
保木本将之
diff --git a/MODULE.bazel b/MODULE.bazel
index 8c246a1d02fba..348c66a2bf10d 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -1,10 +1,10 @@
module(name = "selenium")
bazel_dep(name = "apple_rules_lint", version = "0.4.0")
-bazel_dep(name = "aspect_bazel_lib", version = "2.7.9")
-bazel_dep(name = "aspect_rules_esbuild", version = "0.20.1")
-bazel_dep(name = "aspect_rules_js", version = "1.42.3")
-bazel_dep(name = "aspect_rules_ts", version = "2.4.2")
+bazel_dep(name = "aspect_bazel_lib", version = "2.8.1")
+bazel_dep(name = "aspect_rules_esbuild", version = "0.21.0")
+bazel_dep(name = "aspect_rules_js", version = "2.0.1")
+bazel_dep(name = "aspect_rules_ts", version = "3.1.0")
bazel_dep(name = "bazel_features", version = "1.13.0")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "buildifier_prebuilt", version = "6.4.0")
@@ -18,7 +18,7 @@ bazel_dep(name = "protobuf", version = "21.7", dev_dependency = True, repo_name
bazel_dep(name = "rules_cc", version = "0.0.9", dev_dependency = True)
bazel_dep(name = "rules_dotnet", version = "0.15.1")
-bazel_dep(name = "rules_java", version = "7.6.3")
+bazel_dep(name = "rules_java", version = "7.11.1")
bazel_dep(name = "rules_jvm_external", version = "6.3")
bazel_dep(name = "rules_nodejs", version = "6.2.0")
bazel_dep(name = "rules_oci", version = "1.7.6")
@@ -169,7 +169,7 @@ maven.install(
name = "maven",
artifacts = [
"com.beust:jcommander:1.82",
- "com.github.javaparser:javaparser-core:3.26.1",
+ "com.github.javaparser:javaparser-core:3.26.2",
"com.github.spotbugs:spotbugs:4.8.6",
"com.github.stephenc.jcip:jcip-annotations:1.0-1",
"com.google.code.gson:gson:2.11.0",
@@ -183,29 +183,29 @@ maven.install(
"dev.failsafe:failsafe:3.3.2",
"io.grpc:grpc-context:1.66.0",
"io.lettuce:lettuce-core:6.4.0.RELEASE",
- "io.netty:netty-buffer:4.1.112.Final",
- "io.netty:netty-codec-http:4.1.112.Final",
- "io.netty:netty-codec-http2:4.1.112.Final",
- "io.netty:netty-common:4.1.112.Final",
- "io.netty:netty-handler:4.1.112.Final",
- "io.netty:netty-handler-proxy:4.1.112.Final",
- "io.netty:netty-transport:4.1.112.Final",
- "io.opentelemetry:opentelemetry-api:1.41.0",
- "io.opentelemetry:opentelemetry-context:1.41.0",
- "io.opentelemetry:opentelemetry-exporter-logging:1.41.0",
- "io.opentelemetry:opentelemetry-sdk:1.41.0",
- "io.opentelemetry:opentelemetry-sdk-common:1.41.0",
- "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:1.41.0",
- "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:1.41.0",
- "io.opentelemetry:opentelemetry-sdk-testing:1.41.0",
- "io.opentelemetry:opentelemetry-sdk-trace:1.41.0",
+ "io.netty:netty-buffer:4.1.113.Final",
+ "io.netty:netty-codec-http:4.1.113.Final",
+ "io.netty:netty-codec-http2:4.1.113.Final",
+ "io.netty:netty-common:4.1.113.Final",
+ "io.netty:netty-handler:4.1.113.Final",
+ "io.netty:netty-handler-proxy:4.1.113.Final",
+ "io.netty:netty-transport:4.1.113.Final",
+ "io.opentelemetry:opentelemetry-api:1.42.1",
+ "io.opentelemetry:opentelemetry-context:1.42.1",
+ "io.opentelemetry:opentelemetry-exporter-logging:1.42.1",
+ "io.opentelemetry:opentelemetry-sdk:1.42.1",
+ "io.opentelemetry:opentelemetry-sdk-common:1.42.1",
+ "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:1.42.1",
+ "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:1.42.1",
+ "io.opentelemetry:opentelemetry-sdk-testing:1.42.1",
+ "io.opentelemetry:opentelemetry-sdk-trace:1.42.1",
"io.opentelemetry.semconv:opentelemetry-semconv:1.25.0-alpha",
"io.ous:jtoml:2.0.0",
"it.ozimov:embedded-redis:0.7.3",
- "net.bytebuddy:byte-buddy:1.15.0",
+ "net.bytebuddy:byte-buddy:1.15.1",
"org.htmlunit:htmlunit-core-js:4.4.0",
"org.apache.commons:commons-exec:1.4.0",
- "org.apache.logging.log4j:log4j-core:2.23.1",
+ "org.apache.logging.log4j:log4j-core:2.24.0",
"org.assertj:assertj-core:3.26.3",
"org.bouncycastle:bcpkix-jdk18on:1.78.1",
"org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5",
@@ -218,8 +218,8 @@ maven.install(
"org.junit.platform:junit-platform-reporting:1.11.0",
"org.junit.platform:junit-platform-commons:1.11.0",
"org.junit.platform:junit-platform-engine:1.11.0",
- "org.mockito:mockito-core:5.12.0",
- "org.redisson:redisson:3.35.0",
+ "org.mockito:mockito-core:5.13.0",
+ "org.redisson:redisson:3.36.0",
"org.slf4j:slf4j-api:2.0.16",
"org.slf4j:slf4j-jdk14:2.0.16",
"org.zeromq:jeromq:0.6.0",
diff --git a/Rakefile b/Rakefile
index 3cd257a68fb42..5c2ca0fe42ccb 100644
--- a/Rakefile
+++ b/Rakefile
@@ -98,7 +98,7 @@ JAVA_RELEASE_TARGETS = %w[
//java/src/org/openqa/selenium/chrome:chrome.publish
//java/src/org/openqa/selenium/chromium:chromium.publish
//java/src/org/openqa/selenium/devtools/v128:v128.publish
- //java/src/org/openqa/selenium/devtools/v126:v126.publish
+ //java/src/org/openqa/selenium/devtools/v129:v129.publish
//java/src/org/openqa/selenium/devtools/v127:v127.publish
//java/src/org/openqa/selenium/devtools/v85:v85.publish
//java/src/org/openqa/selenium/edge:edge.publish
diff --git a/common/devtools/chromium/v126/BUILD.bazel b/common/devtools/chromium/v129/BUILD.bazel
similarity index 100%
rename from common/devtools/chromium/v126/BUILD.bazel
rename to common/devtools/chromium/v129/BUILD.bazel
diff --git a/common/devtools/chromium/v126/browser_protocol.pdl b/common/devtools/chromium/v129/browser_protocol.pdl
similarity index 96%
rename from common/devtools/chromium/v126/browser_protocol.pdl
rename to common/devtools/chromium/v129/browser_protocol.pdl
index 157c4bdb871fd..3a8d01b4b95e8 100644
--- a/common/devtools/chromium/v126/browser_protocol.pdl
+++ b/common/devtools/chromium/v129/browser_protocol.pdl
@@ -156,6 +156,7 @@ experimental domain Accessibility
flowto
labelledby
owns
+ url
# A node in the accessibility tree.
type AXNode extends object
@@ -622,6 +623,8 @@ experimental domain Audits
CoopSandboxedIFrameCannotNavigateToCoopPage
CorpNotSameOrigin
CorpNotSameOriginAfterDefaultedToSameOriginByCoep
+ CorpNotSameOriginAfterDefaultedToSameOriginByDip
+ CorpNotSameOriginAfterDefaultedToSameOriginByCoepAndDip
CorpNotSameSite
# Details for a request that has been blocked with the BLOCKED_BY_RESPONSE
@@ -800,7 +803,6 @@ experimental domain Audits
type GenericIssueErrorType extends string
enum
- CrossOriginPortalPostMessageError
FormLabelForNameError
FormDuplicateIdForInputError
FormInputWithNoLabelError
@@ -889,7 +891,9 @@ experimental domain Audits
ClientMetadataNoResponse
ClientMetadataInvalidResponse
ClientMetadataInvalidContentType
+ IdpNotPotentiallyTrustworthy
DisabledInSettings
+ DisabledInFlags
ErrorFetchingSignin
InvalidSigninResponse
AccountsHttpNotFound
@@ -912,6 +916,9 @@ experimental domain Audits
NotSignedInWithIdp
MissingTransientUserActivation
ReplacedByButtonMode
+ InvalidFieldsSpecified
+ RelyingPartyOriginIsOpaque
+ TypeNotMatching
type FederatedAuthUserInfoRequestIssueDetails extends object
properties
@@ -1095,13 +1102,20 @@ experimental domain Audits
parameters
InspectorIssue issue
-# Defines commands and events for browser extensions. Available if the client
-# is connected using the --remote-debugging-pipe flag and
-# the --enable-unsafe-extension-debugging flag is set.
+# Defines commands and events for browser extensions.
experimental domain Extensions
+ # Storage areas.
+ type StorageArea extends string
+ enum
+ session
+ local
+ sync
+ managed
# Installs an unpacked extension from the filesystem similar to
# --load-extension CLI flags. Returns extension ID once the extension
- # has been installed.
+ # has been installed. Available if the client is connected using the
+ # --remote-debugging-pipe flag and the --enable-unsafe-extension-debugging
+ # flag is set.
command loadUnpacked
parameters
# Absolute file path.
@@ -1109,6 +1123,44 @@ experimental domain Extensions
returns
# 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
+ parameters
+ # ID of extension.
+ string id
+ # StorageArea to retrieve data from.
+ StorageArea storageArea
+ # Keys to retrieve.
+ optional array of string keys
+ returns
+ object data
+ # Removes `keys` from extension storage in the given `storageArea`.
+ command removeStorageItems
+ parameters
+ # ID of extension.
+ string id
+ # StorageArea to remove data from.
+ StorageArea storageArea
+ # Keys to remove.
+ array of string keys
+ # Clears extension storage in the given `storageArea`.
+ command clearStorageItems
+ parameters
+ # ID of extension.
+ string id
+ # StorageArea to remove data from.
+ StorageArea storageArea
+ # Sets `values` in extension storage in the given `storageArea`. The provided `values`
+ # will be merged with existing values in the storage area.
+ command setStorageItems
+ parameters
+ # ID of extension.
+ string id
+ # StorageArea to set data in.
+ StorageArea storageArea
+ # Values to set.
+ object values
# Defines commands and events for Autofill.
experimental domain Autofill
@@ -1362,6 +1414,8 @@ domain Browser
optional boolean userVisibleOnly
# For "clipboard" permission, may specify allowWithoutSanitization.
optional boolean allowWithoutSanitization
+ # For "fullscreen" permission, must specify allowWithoutGesture:true.
+ optional boolean allowWithoutGesture
# For "camera" permission, may specify panTiltZoom.
optional boolean panTiltZoom
@@ -2002,13 +2056,6 @@ experimental domain CSS
# Associated style declaration.
CSSStyle style
- # CSS position-fallback rule representation.
- deprecated type CSSPositionFallbackRule extends object
- properties
- Value name
- # List of keyframes.
- array of CSSTryRule tryRules
-
# CSS @position-try rule representation.
type CSSPositionTryRule extends object
properties
@@ -2021,6 +2068,7 @@ experimental domain CSS
StyleSheetOrigin origin
# Associated style declaration.
CSSStyle style
+ boolean active
# CSS keyframes rule representation.
type CSSKeyframesRule extends object
@@ -2194,10 +2242,11 @@ experimental domain CSS
optional array of InheritedPseudoElementMatches inheritedPseudoElements
# A list of CSS keyframed animations matching this node.
optional array of CSSKeyframesRule cssKeyframesRules
- # A list of CSS position fallbacks matching this node.
- deprecated optional array of CSSPositionFallbackRule cssPositionFallbackRules
- # A list of CSS @position-try rules matching this node, based on the position-try-options property.
+ # A list of CSS @position-try rules matching this node, based on the position-try-fallbacks property.
optional array of CSSPositionTryRule cssPositionTryRules
+ # Index of the active fallback in the applied position-try-fallback property,
+ # will not be set if there is no active position-try fallback.
+ optional integer activePositionFallbackIndex
# A list of CSS at-property rules matching this node.
optional array of CSSPropertyRule cssPropertyRules
# A list of CSS property registrations matching this node.
@@ -2636,7 +2685,9 @@ domain DOM
highlight
first-line-inherited
scroll-marker
- scroll-markers
+ scroll-marker-group
+ scroll-next-button
+ scroll-prev-button
scrollbar
scrollbar-thumb
scrollbar-button
@@ -2755,6 +2806,12 @@ domain DOM
optional CompatibilityMode compatibilityMode
optional BackendNode assignedSlot
+ # A structure to hold the top-level node of a detached tree and an array of its retained descendants.
+ type DetachedElementInfo extends object
+ properties
+ Node treeNode
+ array of NodeId retainedNodeIds
+
# A structure holding an RGBA color.
type RGBA extends object
properties
@@ -3265,6 +3322,12 @@ domain DOM
returns
string path
+ # Returns list of detached nodes
+ experimental command getDetachedDomNodes
+ returns
+ # The list of detached nodes
+ array of DetachedElementInfo detachedNodes
+
# Enables console to refer to the node with given id via $x (see Command Line API for more details
# $x functions).
experimental command setInspectedNode
@@ -3336,6 +3399,21 @@ domain DOM
# Descendant nodes with container queries against the given container.
array of NodeId nodeIds
+ # Returns the target anchor element of the given anchor query according to
+ # https://www.w3.org/TR/css-anchor-position-1/#target.
+ experimental command getAnchorElement
+ parameters
+ # Id of the positioned element from which to find the anchor.
+ NodeId nodeId
+ # An optional anchor specifier, as defined in
+ # https://www.w3.org/TR/css-anchor-position-1/#anchor-specifier.
+ # If not provided, it will return the implicit anchor element for
+ # the given positioned element.
+ optional string anchorSpecifier
+ returns
+ # The anchor element of the given anchor query.
+ NodeId nodeId
+
# Fired when `Element`'s attribute is modified.
event attributeModified
parameters
@@ -4157,6 +4235,21 @@ domain Emulation
optional SensorReadingXYZ xyz
optional SensorReadingQuaternion quaternion
+ experimental type PressureSource extends string
+ enum
+ cpu
+
+ experimental type PressureState extends string
+ enum
+ nominal
+ fair
+ serious
+ critical
+
+ experimental type PressureMetadata extends object
+ properties
+ optional boolean available
+
# Tells whether emulation is supported.
deprecated command canEmulate
returns
@@ -4326,6 +4419,24 @@ domain Emulation
SensorType type
SensorReading reading
+ # Overrides a pressure source of a given type, as used by the Compute
+ # Pressure API, so that updates to PressureObserver.observe() are provided
+ # via setPressureStateOverride instead of being retrieved from
+ # platform-provided telemetry data.
+ experimental command setPressureSourceOverrideEnabled
+ parameters
+ boolean enabled
+ PressureSource source
+ optional PressureMetadata metadata
+
+ # Provides a given pressure state that will be processed and eventually be
+ # delivered to PressureObserver users. |source| must have been previously
+ # overridden by setPressureSourceOverrideEnabled.
+ experimental command setPressureStateOverride
+ parameters
+ PressureSource source
+ PressureState state
+
# Overrides the Idle state.
command setIdleOverride
parameters
@@ -4534,6 +4645,42 @@ domain IO
# UUID of the specified Blob.
string uuid
+experimental domain FileSystem
+ depends on Network
+ depends on Storage
+
+ type File extends object
+ properties
+ string name
+ # Timestamp
+ Network.TimeSinceEpoch lastModified
+ # Size in bytes
+ number size
+ string type
+
+ type Directory extends object
+ properties
+ string name
+ array of string nestedDirectories
+ # Files that are directly nested under this directory.
+ array of File nestedFiles
+
+ type BucketFileSystemLocator extends object
+ properties
+ # Storage key
+ Storage.SerializedStorageKey storageKey
+ # Bucket name. Not passing a `bucketName` will retrieve the default Bucket. (https://developer.mozilla.org/en-US/docs/Web/API/Storage_API#storage_buckets)
+ optional string bucketName
+ # Path to the directory using each path component as an array item.
+ array of string pathComponents
+
+ command getDirectory
+ parameters
+ BucketFileSystemLocator bucketFileSystemLocator
+ returns
+ # Returns the directory object at the path.
+ Directory directory
+
experimental domain IndexedDB
depends on Runtime
depends on Storage
@@ -5589,6 +5736,10 @@ domain Network
experimental number workerFetchStart
# Settled fetch event respondWith promise.
experimental number workerRespondWithSettled
+ # Started ServiceWorker static routing source evaluation.
+ experimental optional number workerRouterEvaluationStart
+ # Started cache lookup when the source was evaluated to `cache`.
+ experimental optional number workerCacheLookupStart
# Started sending request.
number sendStart
# Finished sending request.
@@ -5735,6 +5886,8 @@ domain Network
coop-sandboxed-iframe-cannot-navigate-to-coop-page
corp-not-same-origin
corp-not-same-origin-after-defaulted-to-same-origin-by-coep
+ corp-not-same-origin-after-defaulted-to-same-origin-by-dip
+ corp-not-same-origin-after-defaulted-to-same-origin-by-coep-and-dip
corp-not-same-site
# The reason why request was blocked.
@@ -5874,6 +6027,8 @@ domain Network
# The router source of the matched rule. If there is a matched rule, this
# field will be set, otherwise no value will be set.
optional ServiceWorkerRouterSource matchedSourceType
+ # The actual router source used.
+ optional ServiceWorkerRouterSource actualSourceType
# HTTP response data.
type Response extends object
@@ -6006,6 +6161,16 @@ domain Network
# Set if another request triggered this request (e.g. preflight).
optional RequestId requestId
+ # cookiePartitionKey object
+ # The representation of the components of the key that are created by the cookiePartitionKey class contained in net/cookies/cookie_partition_key.h.
+ experimental type CookiePartitionKey extends object
+ properties
+ # The site of the top-level URL the browser was visiting at the start
+ # of the request to the endpoint that set the cookie.
+ string topLevelSite
+ # Indicates if the cookie has any ancestors that are cross-site to the topLevelSite.
+ boolean hasCrossSiteAncestor
+
# Cookie object
type Cookie extends object
properties
@@ -6039,9 +6204,8 @@ domain Network
# An unspecified port value allows protocol clients to emulate legacy cookie scope for the port.
# This is a temporary ability and it will be removed in the future.
experimental integer sourcePort
- # Cookie partition key. The site of the top-level URL the browser was visiting at the start
- # of the request to the endpoint that set the cookie.
- experimental optional string partitionKey
+ # Cookie partition key.
+ experimental optional CookiePartitionKey partitionKey
# True if cookie partition key is opaque.
experimental optional boolean partitionKeyOpaque
@@ -6186,6 +6350,8 @@ domain Network
TopLevelStorageAccess
# The cookie should have been blocked by 3PCD but is exempted by CORS opt-in.
CorsOptIn
+ # The cookie should have been blocked by 3PCD but is exempted by the first-party URL scheme.
+ Scheme
# A cookie which was not stored from a response with the corresponding reason.
experimental type BlockedSetCookieWithReason extends object
@@ -6255,10 +6421,8 @@ domain Network
# An unspecified port value allows protocol clients to emulate legacy cookie scope for the port.
# This is a temporary ability and it will be removed in the future.
experimental optional integer sourcePort
- # Cookie partition key. The site of the top-level URL the browser was visiting at the start
- # of the request to the endpoint that set the cookie.
- # If not set, the cookie will be set as not partitioned.
- experimental optional string partitionKey
+ # Cookie partition key. If not set, the cookie will be set as not partitioned.
+ experimental optional CookiePartitionKey partitionKey
# Authorization challenge for HTTP status code 401 or 407.
experimental type AuthChallenge extends object
@@ -6461,9 +6625,9 @@ domain Network
optional string domain
# If specified, deletes only cookies with the exact path.
optional string path
- # If specified, deletes only cookies with the the given name and partitionKey where domain
- # matches provided URL.
- experimental optional string partitionKey
+ # If specified, deletes only cookies with the the given name and partitionKey where
+ # all partition key attributes match the cookie partition key attribute.
+ experimental optional CookiePartitionKey partitionKey
# Disables network tracking, prevents network events from being sent to the client.
command disable
@@ -6640,10 +6804,8 @@ domain Network
# An unspecified port value allows protocol clients to emulate legacy cookie scope for the port.
# This is a temporary ability and it will be removed in the future.
experimental optional integer sourcePort
- # Cookie partition key. The site of the top-level URL the browser was visiting at the start
- # of the request to the endpoint that set the cookie.
- # If not set, the cookie will be set as not partitioned.
- experimental optional string partitionKey
+ # Cookie partition key. If not set, the cookie will be set as not partitioned.
+ experimental optional CookiePartitionKey partitionKey
returns
# Always set to true. If an error occurs, the response indicates protocol error.
deprecated boolean success
@@ -7035,7 +7197,7 @@ domain Network
optional string headersText
# The cookie partition key that will be used to store partitioned cookies set in this response.
# Only sent when partitioned cookies are enabled.
- optional string cookiePartitionKey
+ experimental optional CookiePartitionKey cookiePartitionKey
# True if partitioned cookies are enabled, but the partition key is not serializable to string.
optional boolean cookiePartitionKeyOpaque
# A list of cookies which should have been blocked by 3PCD but are exempted and stored from
@@ -7069,7 +7231,7 @@ domain Network
FailedPrecondition
ResourceExhausted
AlreadyExists
- Unavailable
+ ResourceLimited
Unauthorized
BadResponse
InternalError
@@ -7084,6 +7246,9 @@ domain Network
# The number of obtained Trust Tokens on a successful "Issuance" operation.
optional integer issuedTokenCount
+ # Fired once security policy has been updated.
+ experimental event policyUpdated
+
# Fired once when parsing the .wbn file has succeeded.
# The event contains the information about the web bundle contents.
experimental event subresourceWebBundleMetadataReceived
@@ -7136,6 +7301,7 @@ domain Network
UnsafeNone
SameOriginPlusCoep
RestrictPropertiesPlusCoep
+ NoopenerAllowPopups
experimental type CrossOriginOpenerPolicyStatus extends object
properties
@@ -7848,6 +8014,7 @@ domain Page
experimental type PermissionsPolicyFeature extends string
enum
accelerometer
+ all-screens-capture
ambient-light-sensor
attribution-reporting
autoplay
@@ -7882,6 +8049,8 @@ domain Page
clipboard-write
compute-pressure
cross-origin-isolated
+ deferred-fetch
+ digital-credentials-get
direct-sockets
display-capture
document-domain
@@ -7902,6 +8071,7 @@ domain Page
keyboard-map
local-fonts
magnetometer
+ media-playback-while-not-visible
microphone
midi
otp-credentials
@@ -8239,14 +8409,16 @@ domain Page
experimental type ClientNavigationReason extends string
enum
+ anchorClick
formSubmissionGet
formSubmissionPost
httpHeaderRefresh
- scriptInitiated
+ initialFrameNavigation
metaTagRefresh
+ other
pageBlockInterstitial
reload
- anchorClick
+ scriptInitiated
experimental type ClientNavigationDisposition extends string
enum
@@ -9214,6 +9386,11 @@ domain Page
HTTPAuthRequired
CookieFlushed
BroadcastChannelOnMessage
+ WebViewSettingsChanged
+ WebViewJavaScriptObjectChanged
+ WebViewMessageListenerInjected
+ WebViewSafeBrowsingAllowlistChanged
+ WebViewDocumentStartJavascriptChanged
#Blocklisted features
WebSocket
WebTransport
@@ -9244,7 +9421,6 @@ domain Page
Printing
WebDatabase
PictureInPicture
- Portal
SpeechRecognizer
IdleManager
PaymentManager
@@ -9362,6 +9538,15 @@ domain Page
FrameId frameId
# Frame's new url.
string url
+ # Navigation type
+ enum navigationType
+ # Navigation due to fragment navigation.
+ fragment
+ # Navigation due to history API usage.
+ historyApi
+ # Navigation due to other reasons.
+ other
+
# Compressed image data requested by the `startScreencast`.
experimental event screencastFrame
@@ -10434,6 +10619,23 @@ experimental domain Storage
exact
modulus
+ experimental type AttributionReportingAggregatableDebugReportingData extends object
+ properties
+ UnsignedInt128AsBase16 keyPiece
+ # number instead of integer because not all uint32 can be represented by
+ # int
+ number value
+ array of string types
+
+ experimental type AttributionReportingAggregatableDebugReportingConfig extends object
+ properties
+ # number instead of integer because not all uint32 can be represented by
+ # int, only present for source registrations
+ optional number budget
+ UnsignedInt128AsBase16 keyPiece
+ array of AttributionReportingAggregatableDebugReportingData debugData
+ optional string aggregationCoordinatorOrigin
+
experimental type AttributionReportingSourceRegistration extends object
properties
Network.TimeSinceEpoch time
@@ -10452,6 +10654,8 @@ experimental domain Storage
array of AttributionReportingAggregationKeysEntry aggregationKeys
optional UnsignedInt64AsBase10 debugKey
AttributionReportingTriggerDataMatching triggerDataMatching
+ SignedInt64AsBase10 destinationLimitPriority
+ AttributionReportingAggregatableDebugReportingConfig aggregatableDebugReportingConfig
experimental type AttributionReportingSourceRegistrationResult extends string
enum
@@ -10468,6 +10672,7 @@ experimental domain Storage
reportingOriginsPerSiteLimitReached
exceedsMaxChannelCapacity
exceedsMaxTriggerStateCardinality
+ destinationPerDayReportingLimitReached
experimental event attributionReportingSourceRegistered
parameters
@@ -10485,6 +10690,8 @@ experimental domain Storage
# number instead of integer because not all uint32 can be represented by
# int
number value
+ UnsignedInt64AsBase10 filteringId
+
experimental type AttributionReportingAggregatableValueEntry extends object
properties
@@ -10517,10 +10724,12 @@ experimental domain Storage
array of AttributionReportingEventTriggerData eventTriggerData
array of AttributionReportingAggregatableTriggerData aggregatableTriggerData
array of AttributionReportingAggregatableValueEntry aggregatableValues
+ integer aggregatableFilteringIdMaxBytes
boolean debugReporting
optional string aggregationCoordinatorOrigin
AttributionReportingSourceRegistrationTimeConfig sourceRegistrationTimeConfig
optional string triggerContextId
+ AttributionReportingAggregatableDebugReportingConfig aggregatableDebugReportingConfig
experimental type AttributionReportingEventLevelResult extends string
enum
@@ -10748,7 +10957,7 @@ domain Target
experimental optional Page.FrameId openerFrameId
experimental optional Browser.BrowserContextID browserContextId
# Provides additional details for specific target types. For example, for
- # the type of "page", this may be set to "portal" or "prerender".
+ # the type of "page", this may be set to "prerender".
experimental optional string subtype
# A filter used by target query/discovery/auto-attach operations.
@@ -12136,6 +12345,9 @@ experimental domain Preload
JavaScriptInterfaceAdded
JavaScriptInterfaceRemoved
AllPrerenderingCanceled
+ WindowClosed
+ SlowNetwork
+ OtherPrerenderedPageActivated
# Fired when a preload enabled state is updated.
event preloadEnabledStateUpdated
@@ -12300,7 +12512,7 @@ experimental domain FedCm
parameters
# Allows callers to disable the promise rejection delay that would
# normally happen, if this is unimportant to what's being tested.
- # (step 4 of https://w3c-fedid.github.io/FedCM/#browser-api-rp-sign-in)
+ # (step 4 of https://fedidcg.github.io/FedCM/#browser-api-rp-sign-in)
optional boolean disableRejectionDelay
command disable
@@ -12376,15 +12588,14 @@ experimental domain PWA
# manifestId.
optional string installUrlOrBundleUrl
- # Uninstals the given manifest_id and closes any opened app windows.
+ # Uninstalls the given manifest_id and closes any opened app windows.
command uninstall
parameters
string manifestId
# Launches the installed web app, or an url in the same web app instead of the
- # default start url if it is provided. Returns a tab / web contents based
- # Target.TargetID which can be used to attach to via Target.attachToTarget or
- # similar APIs.
+ # default start url if it is provided. Returns a page Target.TargetID which
+ # can be used to attach to via Target.attachToTarget or similar APIs.
command launch
parameters
string manifestId
@@ -12392,3 +12603,127 @@ experimental domain PWA
returns
# ID of the tab target created as a result.
Target.TargetID targetId
+
+ # Opens one or more local files from an installed web app identified by its
+ # manifestId. The web app needs to have file handlers registered to process
+ # the files. The API returns one or more page Target.TargetIDs which can be
+ # used to attach to via Target.attachToTarget or similar APIs.
+ # If some files in the parameters cannot be handled by the web app, they will
+ # be ignored. If none of the files can be handled, this API returns an error.
+ # If no files are provided as the parameter, this API also returns an error.
+ #
+ # According to the definition of the file handlers in the manifest file, one
+ # Target.TargetID may represent a page handling one or more files. The order
+ # of the returned Target.TargetIDs is not guaranteed.
+ #
+ # TODO(crbug.com/339454034): Check the existences of the input files.
+ command launchFilesInApp
+ parameters
+ string manifestId
+ array of string files
+ returns
+ # IDs of the tab targets created as the result.
+ array of Target.TargetID targetIds
+
+ # Opens the current page in its web app identified by the manifest id, needs
+ # to be called on a page target. This function returns immediately without
+ # waiting for the app to finish loading.
+ command openCurrentPageInApp
+ parameters
+ string manifestId
+
+ # If user prefers opening the app in browser or an app window.
+ type DisplayMode extends string
+ enum
+ standalone
+ browser
+
+ # Changes user settings of the web app identified by its manifestId. If the
+ # app was not installed, this command returns an error. Unset parameters will
+ # be ignored; unrecognized values will cause an error.
+ #
+ # Unlike the ones defined in the manifest files of the web apps, these
+ # settings are provided by the browser and controlled by the users, they
+ # impact the way the browser handling the web apps.
+ #
+ # See the comment of each parameter.
+ command changeAppUserSettings
+ parameters
+ string manifestId
+ # If user allows the links clicked on by the user in the app's scope, or
+ # extended scope if the manifest has scope extensions and the flags
+ # `DesktopPWAsLinkCapturingWithScopeExtensions` and
+ # `WebAppEnableScopeExtensions` are enabled.
+ #
+ # Note, the API does not support resetting the linkCapturing to the
+ # initial value, uninstalling and installing the web app again will reset
+ # it.
+ #
+ # TODO(crbug.com/339453269): Setting this value on ChromeOS is not
+ # supported yet.
+ optional boolean linkCapturing
+ optional DisplayMode displayMode
+
+# This domain allows configuring virtual Bluetooth devices to test
+# the web-bluetooth API.
+experimental domain BluetoothEmulation
+ # Indicates the various states of Central.
+ type CentralState extends string
+ enum
+ absent
+ powered-off
+ powered-on
+
+ # Stores the manufacturer data
+ type ManufacturerData extends object
+ properties
+ # Company identifier
+ # https://bitbucket.org/bluetooth-SIG/public/src/main/assigned_numbers/company_identifiers/company_identifiers.yaml
+ # https://usb.org/developers
+ integer key
+ # Manufacturer-specific data
+ binary data
+
+ # Stores the byte data of the advertisement packet sent by a Bluetooth device.
+ type ScanRecord extends object
+ properties
+ optional string name
+ optional array of string uuids
+ # Stores the external appearance description of the device.
+ optional integer appearance
+ # Stores the transmission power of a broadcasting device.
+ optional integer txPower
+ # Key is the company identifier and the value is an array of bytes of
+ # manufacturer specific data.
+ optional array of ManufacturerData manufacturerData
+
+ # Stores the advertisement packet information that is sent by a Bluetooth device.
+ type ScanEntry extends object
+ properties
+ string deviceAddress
+ integer rssi
+ ScanRecord scanRecord
+
+ # Enable the BluetoothEmulation domain.
+ command enable
+ parameters
+ # State of the simulated central.
+ CentralState state
+
+ # Disable the BluetoothEmulation domain.
+ command disable
+
+ # Simulates a peripheral with |address|, |name| and |knownServiceUuids|
+ # that has already been connected to the system.
+ command simulatePreconnectedPeripheral
+ parameters
+ string address
+ string name
+ array of ManufacturerData manufacturerData
+ array of string knownServiceUuids
+
+ # Simulates an advertisement packet described in |entry| being received by
+ # the central.
+ command simulateAdvertisement
+ parameters
+ ScanEntry entry
diff --git a/common/devtools/chromium/v126/js_protocol.pdl b/common/devtools/chromium/v129/js_protocol.pdl
similarity index 100%
rename from common/devtools/chromium/v126/js_protocol.pdl
rename to common/devtools/chromium/v129/js_protocol.pdl
diff --git a/common/mirror/selenium b/common/mirror/selenium
index 4562a05484813..5c1e9a15d6f24 100644
--- a/common/mirror/selenium
+++ b/common/mirror/selenium
@@ -3,13 +3,33 @@
"tag_name": "nightly",
"assets": [
{
- "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-java-4.25.0-SNAPSHOT.zip"
+ "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-java-4.26.0-SNAPSHOT.zip"
},
{
- "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.25.0-SNAPSHOT.jar"
+ "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.26.0-SNAPSHOT.jar"
},
{
- "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.25.0-SNAPSHOT.zip"
+ "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.26.0-SNAPSHOT.zip"
+ }
+ ]
+ },
+ {
+ "tag_name": "selenium-4.25.0",
+ "assets": [
+ {
+ "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.25.0/selenium-dotnet-4.25.0.zip"
+ },
+ {
+ "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.25.0/selenium-dotnet-strongnamed-4.25.0.zip"
+ },
+ {
+ "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.25.0/selenium-java-4.25.0.zip"
+ },
+ {
+ "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.25.0/selenium-server-4.25.0.jar"
+ },
+ {
+ "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.25.0/selenium-server-4.25.0.zip"
}
]
},
@@ -938,25 +958,5 @@
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.0.0-rc-1/selenium-server-4.0.0-rc-1.zip"
}
]
- },
- {
- "tag_name": "selenium-4.0.0-beta-4",
- "assets": [
- {
- "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.0.0-beta-4/selenium-dotnet-4.0.0-beta-4.zip"
- },
- {
- "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.0.0-beta-4/selenium-dotnet-strongnamed-4.0.0-beta-4.zip"
- },
- {
- "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.0.0-beta-4/selenium-html-runner-4.0.0-beta-4.jar"
- },
- {
- "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.0.0-beta-4/selenium-java-4.0.0-beta-4.zip"
- },
- {
- "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.0.0-beta-4/selenium-server-4.0.0-beta-4.jar"
- }
- ]
}
]
diff --git a/common/repositories.bzl b/common/repositories.bzl
index e5fe36194e6d2..2b68a39f8cd05 100644
--- a/common/repositories.bzl
+++ b/common/repositories.bzl
@@ -11,8 +11,8 @@ def pin_browsers():
http_archive(
name = "linux_firefox",
- url = "https://ftp.mozilla.org/pub/firefox/releases/129.0.2/linux-x86_64/en-US/firefox-129.0.2.tar.bz2",
- sha256 = "abc39c9deb686084933371bbe0546001f7bfab46c9d7a0cf4b1a4a025886cd5e",
+ url = "https://ftp.mozilla.org/pub/firefox/releases/130.0.1/linux-x86_64/en-US/firefox-130.0.1.tar.bz2",
+ sha256 = "3b9cd7fe7d22f0960ee5a058e3c9e6b507814958ec5a9ac691cbd5ebd0895c93",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
@@ -33,8 +33,8 @@ js_library(
dmg_archive(
name = "mac_firefox",
- url = "https://ftp.mozilla.org/pub/firefox/releases/129.0.2/mac/en-US/Firefox%20129.0.2.dmg",
- sha256 = "04e84a82ade99d031f8b28bd36e9b9606b83dc09905aac42e992c8e59a289539",
+ url = "https://ftp.mozilla.org/pub/firefox/releases/130.0.1/mac/en-US/Firefox%20130.0.1.dmg",
+ sha256 = "63ed878485d5498c269d95ba7e64f1104ed085b8e330b0ef0a565f85cc603426",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
@@ -50,8 +50,8 @@ js_library(
http_archive(
name = "linux_beta_firefox",
- url = "https://ftp.mozilla.org/pub/firefox/releases/130.0b8/linux-x86_64/en-US/firefox-130.0b8.tar.bz2",
- sha256 = "5546eeeec1ef74632380045485fe21fe4b70529e144b7796f6379fa2886d20b3",
+ url = "https://ftp.mozilla.org/pub/firefox/releases/131.0b8/linux-x86_64/en-US/firefox-131.0b8.tar.bz2",
+ sha256 = "53a6c775688243908d5d010c9c14eda488d20faabb966be31fd49d711b89f1e1",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
@@ -72,8 +72,8 @@ js_library(
dmg_archive(
name = "mac_beta_firefox",
- url = "https://ftp.mozilla.org/pub/firefox/releases/130.0b8/mac/en-US/Firefox%20130.0b8.dmg",
- sha256 = "ce43a790b96838e6866930ac8c8be47a4db43029c9cff8c7248816b50dfdec65",
+ url = "https://ftp.mozilla.org/pub/firefox/releases/131.0b8/mac/en-US/Firefox%20131.0b8.dmg",
+ sha256 = "8acb3265bdf9859abfbb58604f5b253a0efe1fab7b82d4ae7d3983706ac5427b",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
@@ -123,10 +123,10 @@ js_library(
pkg_archive(
name = "mac_edge",
- url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/a0405b5e-b043-4a22-bc5a-34c762d62c1e/MicrosoftEdge-128.0.2739.42.pkg",
- sha256 = "091c611cd1920e93cf6998309d54f35843d4217b1d3f548ab258692150a5cbe6",
+ url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/28b1932d-413c-4868-b79f-f72482800efb/MicrosoftEdge-128.0.2739.79.pkg",
+ sha256 = "8bcdd29a37414136e46860acb6c151d3ae1f9ef1ee62464a0d00a7eda71b5e29",
move = {
- "MicrosoftEdge-128.0.2739.42.pkg/Payload/Microsoft Edge.app": "Edge.app",
+ "MicrosoftEdge-128.0.2739.79.pkg/Payload/Microsoft Edge.app": "Edge.app",
},
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
@@ -143,8 +143,8 @@ js_library(
deb_archive(
name = "linux_edge",
- url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_128.0.2739.42-1_amd64.deb",
- sha256 = "0307595f6127b36fab8472d857479f62c5d8053b366b9ec7c86cf693e20331e4",
+ url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_128.0.2739.79-1_amd64.deb",
+ sha256 = "6238024b9d240927b76bb199021fe6e804d04759b61992638871755f5cc444f5",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
@@ -165,8 +165,8 @@ js_library(
http_archive(
name = "linux_edgedriver",
- url = "https://msedgedriver.azureedge.net/128.0.2739.22/edgedriver_linux64.zip",
- sha256 = "466f3d9753ce50057df555a9555decfc4b883857636eb02fe928701495647f80",
+ url = "https://msedgedriver.azureedge.net/128.0.2739.81/edgedriver_linux64.zip",
+ sha256 = "66a7b7fca41920c813263642ee5be105bb3b18f89fa09319a3b681ccf608aeb5",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
@@ -182,8 +182,8 @@ js_library(
http_archive(
name = "mac_edgedriver",
- url = "https://msedgedriver.azureedge.net/128.0.2739.22/edgedriver_mac64.zip",
- sha256 = "42524ae9681ecc0f216ce23ddbda7cea2e37882417f2eecee6b884b1207ab645",
+ url = "https://msedgedriver.azureedge.net/128.0.2739.81/edgedriver_mac64.zip",
+ sha256 = "554b60f5863f13db237bbba75fa8bac52517c364104dc859df0b457804ed10c9",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
@@ -199,8 +199,8 @@ js_library(
http_archive(
name = "linux_chrome",
- url = "https://storage.googleapis.com/chrome-for-testing-public/128.0.6613.84/linux64/chrome-linux64.zip",
- sha256 = "fb27db71f2d42afbf85dbdb722e3d2d28d8bc6985f5bb3c9dc153596e86342d9",
+ url = "https://storage.googleapis.com/chrome-for-testing-public/129.0.6668.58/linux64/chrome-linux64.zip",
+ sha256 = "0918cb647b186f6e429a90e67a716489cf96d0295da8a3a8c40a441379708ba9",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
@@ -221,8 +221,8 @@ js_library(
http_archive(
name = "mac_chrome",
- url = "https://storage.googleapis.com/chrome-for-testing-public/128.0.6613.84/mac-x64/chrome-mac-x64.zip",
- sha256 = "c71bcfac84865449b84f21bc0ee4ca46018012b2ea2dfdec5ab87fcfac60724e",
+ url = "https://storage.googleapis.com/chrome-for-testing-public/129.0.6668.58/mac-x64/chrome-mac-x64.zip",
+ sha256 = "2f1c317cde0ba19be2f4e731cb77fc0b45ec423781c099ae5208228abedd1359",
strip_prefix = "chrome-mac-x64",
patch_cmds = [
"mv 'Google Chrome for Testing.app' Chrome.app",
@@ -243,8 +243,8 @@ js_library(
http_archive(
name = "linux_chromedriver",
- url = "https://storage.googleapis.com/chrome-for-testing-public/128.0.6613.84/linux64/chromedriver-linux64.zip",
- sha256 = "aa1a13b603cdaecda330455b56e55902c403ca09bbdb17e15af8430bf9835337",
+ url = "https://storage.googleapis.com/chrome-for-testing-public/129.0.6668.58/linux64/chromedriver-linux64.zip",
+ sha256 = "0fc68a18a9db153e98521ca1654bb3fd7842ad4552f98ec8ec6688e907efd9b1",
strip_prefix = "chromedriver-linux64",
build_file_content = """
load("@aspect_rules_js//js:defs.bzl", "js_library")
@@ -261,8 +261,8 @@ js_library(
http_archive(
name = "mac_chromedriver",
- url = "https://storage.googleapis.com/chrome-for-testing-public/128.0.6613.84/mac-x64/chromedriver-mac-x64.zip",
- sha256 = "e30a779e51a4b8d0e5985fb76e624e99a31c71072c5c165a54ef7949ee958f53",
+ url = "https://storage.googleapis.com/chrome-for-testing-public/129.0.6668.58/mac-x64/chromedriver-mac-x64.zip",
+ sha256 = "df4df07aa534e1c082c252e54959c4caf2af1eed3d4631852e683971ffdec6cb",
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 816e69a03802e..bb0133c12e949 100644
--- a/common/selenium_manager.bzl
+++ b/common/selenium_manager.bzl
@@ -6,22 +6,22 @@ def selenium_manager():
http_file(
name = "download_sm_linux",
executable = True,
- sha256 = "b53480279b2322ec7b57cdaaa4d828c699dddb6d60803cb30770f6ff59a74cbb",
- url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-24a949d/selenium-manager-linux",
+ sha256 = "d4d775c38f5403d4a719e69903e6f70d15d2454d03da80ad6b82515a4ebfb986",
+ url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-dffb534/selenium-manager-linux",
)
http_file(
name = "download_sm_macos",
executable = True,
- sha256 = "a8c0c55d1e58cb84c2ac691c469bb988181cc077cdded395093363fca455094e",
- url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-24a949d/selenium-manager-macos",
+ sha256 = "2d6b20c603c4ca913423b3725cdc7ffa7e6a1554c9c161e3da226b186ba71054",
+ url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-dffb534/selenium-manager-macos",
)
http_file(
name = "download_sm_windows",
executable = True,
- sha256 = "070cfa94ac3edd88fa3e467f8e929f93551655a7dff4ad476737de023c2b037f",
- url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-24a949d/selenium-manager-windows.exe",
+ sha256 = "58c47a131fd4323c647a95cb37baeafc5a14a536885ccc152457e87a4fd2188d",
+ url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-dffb534/selenium-manager-windows.exe",
)
def _selenium_manager_artifacts_impl(_ctx):
diff --git a/dotnet/CHANGELOG b/dotnet/CHANGELOG
index 0ed2549a9559d..a237ec48e7f02 100644
--- a/dotnet/CHANGELOG
+++ b/dotnet/CHANGELOG
@@ -1,3 +1,15 @@
+v4.25.0
+======
+* Add CDP for Chrome 129 and remove 126
+* BiDi implementation (#14318)
+* Add BiDi OriginalOpener in browsing context info
+* [bidi] Forward subscription options in browser context for log module
+* [bidi] Enable implicit ways to specify page ranges for printing
+* Workaround using pre-processor directive (#14499)
+* [bidi] Simplify browsing context type enumeration
+* [bidi] Expose BiDi associated reference in browsing context
+* [bidi] Rename entry point AsBidirectional to AsBiDirectional
+
v4.24.0
======
* Migration from `Newtonsoft.Json` to `System.Text.Json` package (#14292)
diff --git a/dotnet/selenium-dotnet-version.bzl b/dotnet/selenium-dotnet-version.bzl
index 24b882ed1e101..aad327babbc0d 100644
--- a/dotnet/selenium-dotnet-version.bzl
+++ b/dotnet/selenium-dotnet-version.bzl
@@ -1,13 +1,13 @@
# BUILD FILE SYNTAX: STARLARK
-SE_VERSION = "4.25.0-nightly202408281539"
+SE_VERSION = "4.26.0-nightly202409202352"
ASSEMBLY_VERSION = "4.0.0.0"
SUPPORTED_NET_STANDARD_VERSIONS = ["netstandard2.0"]
SUPPORTED_DEVTOOLS_VERSIONS = [
"v85",
"v128",
- "v126",
+ "v129",
"v127",
]
diff --git a/dotnet/src/webdriver/DevTools/DevToolsDomains.cs b/dotnet/src/webdriver/DevTools/DevToolsDomains.cs
index bba2588e11215..f29e5eecaaf09 100644
--- a/dotnet/src/webdriver/DevTools/DevToolsDomains.cs
+++ b/dotnet/src/webdriver/DevTools/DevToolsDomains.cs
@@ -36,7 +36,7 @@ public abstract class DevToolsDomains
private static readonly Dictionary SupportedDevToolsVersions = new Dictionary()
{
{ 127, typeof(V127.V127Domains) },
- { 126, typeof(V126.V126Domains) },
+ { 129, typeof(V129.V129Domains) },
{ 128, typeof(V128.V128Domains) },
{ 85, typeof(V85.V85Domains) }
};
diff --git a/dotnet/src/webdriver/DevTools/v126/V126Domains.cs b/dotnet/src/webdriver/DevTools/v129/V129Domains.cs
similarity index 78%
rename from dotnet/src/webdriver/DevTools/v126/V126Domains.cs
rename to dotnet/src/webdriver/DevTools/v129/V129Domains.cs
index 447f26b8e68bb..1839321c442e2 100644
--- a/dotnet/src/webdriver/DevTools/v126/V126Domains.cs
+++ b/dotnet/src/webdriver/DevTools/v129/V129Domains.cs
@@ -1,4 +1,4 @@
-//
+//
// 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
@@ -15,20 +15,20 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-namespace OpenQA.Selenium.DevTools.V126
+namespace OpenQA.Selenium.DevTools.V129
{
///
- /// Class containing the domain implementation for version 126 of the DevTools Protocol.
+ /// Class containing the domain implementation for version 129 of the DevTools Protocol.
///
- public class V126Domains : DevToolsDomains
+ public class V129Domains : DevToolsDomains
{
private DevToolsSessionDomains domains;
///
- /// Initializes a new instance of the V126Domains class.
+ /// Initializes a new instance of the V129Domains class.
///
/// The DevToolsSession to use with this set of domains.
- public V126Domains(DevToolsSession session)
+ public V129Domains(DevToolsSession session)
{
this.domains = new DevToolsSessionDomains(session);
}
@@ -36,7 +36,7 @@ public V126Domains(DevToolsSession session)
///
/// Gets the DevTools Protocol version for which this class is valid.
///
- public static int DevToolsVersion => 126;
+ public static int DevToolsVersion => 129;
///
/// Gets the version-specific domains for the DevTools session. This value must be cast to a version specific type to be at all useful.
@@ -46,21 +46,21 @@ public V126Domains(DevToolsSession session)
///
/// Gets the object used for manipulating network information in the browser.
///
- public override DevTools.Network Network => new V126Network(domains.Network, domains.Fetch);
+ public override DevTools.Network Network => new V129Network(domains.Network, domains.Fetch);
///
/// Gets the object used for manipulating the browser's JavaScript execution.
///
- public override JavaScript JavaScript => new V126JavaScript(domains.Runtime, domains.Page);
+ public override JavaScript JavaScript => new V129JavaScript(domains.Runtime, domains.Page);
///
/// Gets the object used for manipulating DevTools Protocol targets.
///
- public override DevTools.Target Target => new V126Target(domains.Target);
+ public override DevTools.Target Target => new V129Target(domains.Target);
///
/// Gets the object used for manipulating the browser's logs.
///
- public override DevTools.Log Log => new V126Log(domains.Log);
+ public override DevTools.Log Log => new V129Log(domains.Log);
}
}
diff --git a/dotnet/src/webdriver/DevTools/v126/V126JavaScript.cs b/dotnet/src/webdriver/DevTools/v129/V129JavaScript.cs
similarity index 94%
rename from dotnet/src/webdriver/DevTools/v126/V126JavaScript.cs
rename to dotnet/src/webdriver/DevTools/v129/V129JavaScript.cs
index 16cbe3b2010ed..c7c773b53a59e 100644
--- a/dotnet/src/webdriver/DevTools/v126/V126JavaScript.cs
+++ b/dotnet/src/webdriver/DevTools/v129/V129JavaScript.cs
@@ -1,4 +1,4 @@
-//
+//
// 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
@@ -15,28 +15,28 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-using OpenQA.Selenium.DevTools.V126.Page;
-using OpenQA.Selenium.DevTools.V126.Runtime;
+using OpenQA.Selenium.DevTools.V129.Page;
+using OpenQA.Selenium.DevTools.V129.Runtime;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
-namespace OpenQA.Selenium.DevTools.V126
+namespace OpenQA.Selenium.DevTools.V129
{
///
- /// Class containing the JavaScript implementation for version 126 of the DevTools Protocol.
+ /// Class containing the JavaScript implementation for version 129 of the DevTools Protocol.
///
- public class V126JavaScript : JavaScript
+ public class V129JavaScript : JavaScript
{
private RuntimeAdapter runtime;
private PageAdapter page;
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The DevTools Protocol adapter for the Runtime domain.
/// The DevTools Protocol adapter for the Page domain.
- public V126JavaScript(RuntimeAdapter runtime, PageAdapter page)
+ public V129JavaScript(RuntimeAdapter runtime, PageAdapter page)
{
this.runtime = runtime;
this.page = page;
diff --git a/dotnet/src/webdriver/DevTools/v126/V126Log.cs b/dotnet/src/webdriver/DevTools/v129/V129Log.cs
similarity index 88%
rename from dotnet/src/webdriver/DevTools/v126/V126Log.cs
rename to dotnet/src/webdriver/DevTools/v129/V129Log.cs
index 7d8cacdf0bf14..0dd60e6e04e6d 100644
--- a/dotnet/src/webdriver/DevTools/v126/V126Log.cs
+++ b/dotnet/src/webdriver/DevTools/v129/V129Log.cs
@@ -1,4 +1,4 @@
-//
+//
// 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
@@ -15,23 +15,23 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-using OpenQA.Selenium.DevTools.V126.Log;
+using OpenQA.Selenium.DevTools.V129.Log;
using System.Threading.Tasks;
-namespace OpenQA.Selenium.DevTools.V126
+namespace OpenQA.Selenium.DevTools.V129
{
///
- /// Class containing the browser's log as referenced by version 126 of the DevTools Protocol.
+ /// Class containing the browser's log as referenced by version 129 of the DevTools Protocol.
///
- public class V126Log : DevTools.Log
+ public class V129Log : DevTools.Log
{
private LogAdapter adapter;
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The adapter for the Log domain.
- public V126Log(LogAdapter adapter)
+ public V129Log(LogAdapter adapter)
{
this.adapter = adapter;
this.adapter.EntryAdded += OnAdapterEntryAdded;
diff --git a/dotnet/src/webdriver/DevTools/v126/V126Network.cs b/dotnet/src/webdriver/DevTools/v129/V129Network.cs
similarity index 95%
rename from dotnet/src/webdriver/DevTools/v126/V126Network.cs
rename to dotnet/src/webdriver/DevTools/v129/V129Network.cs
index 773faee6eb8ea..6b174d2c1d72a 100644
--- a/dotnet/src/webdriver/DevTools/v126/V126Network.cs
+++ b/dotnet/src/webdriver/DevTools/v129/V129Network.cs
@@ -1,4 +1,4 @@
-//
+//
// 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
@@ -16,29 +16,29 @@
// limitations under the License.
//
-using OpenQA.Selenium.DevTools.V126.Fetch;
-using OpenQA.Selenium.DevTools.V126.Network;
+using OpenQA.Selenium.DevTools.V129.Fetch;
+using OpenQA.Selenium.DevTools.V129.Network;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
-namespace OpenQA.Selenium.DevTools.V126
+namespace OpenQA.Selenium.DevTools.V129
{
///
- /// Class providing functionality for manipulating network calls using version 126 of the DevTools Protocol
+ /// Class providing functionality for manipulating network calls using version 129 of the DevTools Protocol
///
- public class V126Network : DevTools.Network
+ public class V129Network : DevTools.Network
{
private FetchAdapter fetch;
private NetworkAdapter network;
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The adapter for the Network domain.
/// The adapter for the Fetch domain.
- public V126Network(NetworkAdapter network, FetchAdapter fetch)
+ public V129Network(NetworkAdapter network, FetchAdapter fetch)
{
this.network = network;
this.fetch = fetch;
@@ -216,9 +216,9 @@ public override async Task ContinueWithAuth(string requestId, string userName, s
await fetch.ContinueWithAuth(new ContinueWithAuthCommandSettings()
{
RequestId = requestId,
- AuthChallengeResponse = new V126.Fetch.AuthChallengeResponse()
+ AuthChallengeResponse = new V129.Fetch.AuthChallengeResponse()
{
- Response = V126.Fetch.AuthChallengeResponseResponseValues.ProvideCredentials,
+ Response = V129.Fetch.AuthChallengeResponseResponseValues.ProvideCredentials,
Username = userName,
Password = password
}
@@ -235,9 +235,9 @@ public override async Task CancelAuth(string requestId)
await fetch.ContinueWithAuth(new ContinueWithAuthCommandSettings()
{
RequestId = requestId,
- AuthChallengeResponse = new OpenQA.Selenium.DevTools.V126.Fetch.AuthChallengeResponse()
+ AuthChallengeResponse = new OpenQA.Selenium.DevTools.V129.Fetch.AuthChallengeResponse()
{
- Response = V126.Fetch.AuthChallengeResponseResponseValues.CancelAuth
+ Response = V129.Fetch.AuthChallengeResponseResponseValues.CancelAuth
}
}).ConfigureAwait(false);
}
diff --git a/dotnet/src/webdriver/DevTools/v126/V126Target.cs b/dotnet/src/webdriver/DevTools/v129/V129Target.cs
similarity index 94%
rename from dotnet/src/webdriver/DevTools/v126/V126Target.cs
rename to dotnet/src/webdriver/DevTools/v129/V129Target.cs
index dc05c394209c5..3e4410491adc2 100644
--- a/dotnet/src/webdriver/DevTools/v126/V126Target.cs
+++ b/dotnet/src/webdriver/DevTools/v129/V129Target.cs
@@ -1,4 +1,4 @@
-//
+//
// 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
@@ -16,26 +16,26 @@
// limitations under the License.
//
-using OpenQA.Selenium.DevTools.V126.Target;
+using OpenQA.Selenium.DevTools.V129.Target;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Threading.Tasks;
-namespace OpenQA.Selenium.DevTools.V126
+namespace OpenQA.Selenium.DevTools.V129
{
///
- /// Class providing functionality for manipulating targets for version 126 of the DevTools Protocol
+ /// Class providing functionality for manipulating targets for version 129 of the DevTools Protocol
///
- public class V126Target : DevTools.Target
+ public class V129Target : DevTools.Target
{
private TargetAdapter adapter;
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The adapter for the Target domain.
- public V126Target(TargetAdapter adapter)
+ public V129Target(TargetAdapter adapter)
{
this.adapter = adapter;
adapter.DetachedFromTarget += OnDetachedFromTarget;
diff --git a/dotnet/src/webdriver/WebDriver.csproj b/dotnet/src/webdriver/WebDriver.csproj
index 2c47781f24008..2b0c63d660eea 100644
--- a/dotnet/src/webdriver/WebDriver.csproj
+++ b/dotnet/src/webdriver/WebDriver.csproj
@@ -106,7 +106,7 @@
-
+
diff --git a/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs b/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs
index b3ef895b7b5e9..718ae0f6c6473 100644
--- a/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs
+++ b/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs
@@ -20,7 +20,7 @@ public StableChannelChromeDriver(ChromeDriverService service, ChromeOptions opti
public static ChromeOptions DefaultOptions
{
- get { return new ChromeOptions() { BrowserVersion = "128" }; }
+ get { return new ChromeOptions() { BrowserVersion = "129" }; }
}
}
}
diff --git a/dotnet/test/common/DevTools/DevToolsConsoleTest.cs b/dotnet/test/common/DevTools/DevToolsConsoleTest.cs
index a6df49f26cb6c..a2437fb1c37cc 100644
--- a/dotnet/test/common/DevTools/DevToolsConsoleTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsConsoleTest.cs
@@ -6,7 +6,7 @@
namespace OpenQA.Selenium.DevTools
{
- using CurrentCdpVersion = V128;
+ using CurrentCdpVersion = V129;
[TestFixture]
public class DevToolsConsoleTest : DevToolsTestFixture
diff --git a/dotnet/test/common/DevTools/DevToolsLogTest.cs b/dotnet/test/common/DevTools/DevToolsLogTest.cs
index ff51f257e7e03..096eac7fc662e 100644
--- a/dotnet/test/common/DevTools/DevToolsLogTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsLogTest.cs
@@ -6,7 +6,7 @@
namespace OpenQA.Selenium.DevTools
{
- using CurrentCdpVersion = V128;
+ using CurrentCdpVersion = V129;
[TestFixture]
public class DevToolsLogTest : DevToolsTestFixture
diff --git a/dotnet/test/common/DevTools/DevToolsNetworkTest.cs b/dotnet/test/common/DevTools/DevToolsNetworkTest.cs
index 6e8fc70c152a3..98d7291b725f4 100644
--- a/dotnet/test/common/DevTools/DevToolsNetworkTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsNetworkTest.cs
@@ -6,7 +6,7 @@
namespace OpenQA.Selenium.DevTools
{
- using CurrentCdpVersion = V128;
+ using CurrentCdpVersion = V129;
[TestFixture]
public class DevToolsNetworkTest : DevToolsTestFixture
diff --git a/dotnet/test/common/DevTools/DevToolsPerformanceTest.cs b/dotnet/test/common/DevTools/DevToolsPerformanceTest.cs
index d27bf1ed519ea..b23ef6a6825b6 100644
--- a/dotnet/test/common/DevTools/DevToolsPerformanceTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsPerformanceTest.cs
@@ -3,7 +3,7 @@
namespace OpenQA.Selenium.DevTools
{
- using CurrentCdpVersion = V128;
+ using CurrentCdpVersion = V129;
[TestFixture]
public class DevToolsPerformanceTest : DevToolsTestFixture
diff --git a/dotnet/test/common/DevTools/DevToolsProfilerTest.cs b/dotnet/test/common/DevTools/DevToolsProfilerTest.cs
index 09af1d4c1084e..fa90ffb9761d2 100644
--- a/dotnet/test/common/DevTools/DevToolsProfilerTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsProfilerTest.cs
@@ -5,7 +5,7 @@
namespace OpenQA.Selenium.DevTools
{
- using CurrentCdpVersion = V128;
+ using CurrentCdpVersion = V129;
[TestFixture]
public class DevToolsProfilerTest : DevToolsTestFixture
diff --git a/dotnet/test/common/DevTools/DevToolsSecurityTest.cs b/dotnet/test/common/DevTools/DevToolsSecurityTest.cs
index a60fb707930b7..1cde50c30cc0b 100644
--- a/dotnet/test/common/DevTools/DevToolsSecurityTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsSecurityTest.cs
@@ -6,7 +6,7 @@
namespace OpenQA.Selenium.DevTools
{
- using CurrentCdpVersion = V128;
+ using CurrentCdpVersion = V129;
[TestFixture]
public class DevToolsSecurityTest : DevToolsTestFixture
diff --git a/dotnet/test/common/DevTools/DevToolsTabsTest.cs b/dotnet/test/common/DevTools/DevToolsTabsTest.cs
index 264343f047542..bfac7ab874486 100644
--- a/dotnet/test/common/DevTools/DevToolsTabsTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsTabsTest.cs
@@ -3,7 +3,7 @@
namespace OpenQA.Selenium.DevTools
{
- using CurrentCdpVersion = V128;
+ using CurrentCdpVersion = V129;
[TestFixture]
public class DevToolsTabsTest : DevToolsTestFixture
diff --git a/dotnet/test/common/DevTools/DevToolsTargetTest.cs b/dotnet/test/common/DevTools/DevToolsTargetTest.cs
index e7e16b66e4e5b..a7bb2a98d2bfb 100644
--- a/dotnet/test/common/DevTools/DevToolsTargetTest.cs
+++ b/dotnet/test/common/DevTools/DevToolsTargetTest.cs
@@ -6,12 +6,12 @@
namespace OpenQA.Selenium.DevTools
{
- using CurrentCdpVersion = V128;
+ using CurrentCdpVersion = V129;
[TestFixture]
public class DevToolsTargetTest : DevToolsTestFixture
{
- private int id = 128;
+ private int id = 129;
[Test]
[IgnoreBrowser(Selenium.Browser.IE, "IE does not support Chrome DevTools Protocol")]
diff --git a/java/CHANGELOG b/java/CHANGELOG
index f72c993701e62..9daf9573fc362 100644
--- a/java/CHANGELOG
+++ b/java/CHANGELOG
@@ -1,3 +1,10 @@
+v4.25.0
+======
+* Add CDP for Chrome 129 and remove 126
+* replace `fedcm` links with new ones (#14478)
+* toml: warn about upcoming change enforcing string to have quotes (#14491)
+* Escape cookie values when required for tests (#14486)
+
v4.24.0
======
* Add "se" prefixed capabilities to session response (#14323)
diff --git a/java/maven_install.json b/java/maven_install.json
index 1e708a8f7ab8a..34adb920c307a 100644
--- a/java/maven_install.json
+++ b/java/maven_install.json
@@ -1,13 +1,13 @@
{
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
- "__INPUT_ARTIFACTS_HASH": 1231734442,
- "__RESOLVED_ARTIFACTS_HASH": 1820339376,
+ "__INPUT_ARTIFACTS_HASH": -809854593,
+ "__RESOLVED_ARTIFACTS_HASH": -1445024694,
"conflict_resolution": {
"com.google.code.gson:gson:2.8.9": "com.google.code.gson:gson:2.11.0",
"com.google.errorprone:error_prone_annotations:2.3.2": "com.google.errorprone:error_prone_annotations:2.28.0",
"com.google.guava:guava:31.1-jre": "com.google.guava:guava:33.3.0-jre",
"com.google.j2objc:j2objc-annotations:1.3": "com.google.j2objc:j2objc-annotations:3.0.0",
- "org.mockito:mockito-core:4.3.1": "org.mockito:mockito-core:5.12.0"
+ "org.mockito:mockito-core:4.3.1": "org.mockito:mockito-core:5.13.0"
},
"artifacts": {
"com.beust:jcommander": {
@@ -68,10 +68,10 @@
},
"com.github.javaparser:javaparser-core": {
"shasums": {
- "jar": "6781afe827b51f6e1d2b4b0171777fe6f14dc56bde15d7cbb62d88176c4b795f",
- "sources": "256e6674591c845f08ee95039983ddedbf080a9a9adfa03f864bd5d8d9dd5d19"
+ "jar": "3e3e0c65d57d12797dbead3df1ebb28e7583737d0cd1f2a898dba6febd50ab88",
+ "sources": "e450a5f8c86af0b0a5db5096ffbd1a794a86ff2e6a8a55266e28b3ad4df70c40"
},
- "version": "3.26.1"
+ "version": "3.26.2"
},
"com.github.spotbugs:spotbugs": {
"shasums": {
@@ -264,17 +264,17 @@
},
"io.netty:netty-buffer": {
"shasums": {
- "jar": "bc182c48f5369d48cd8370d2ab0c5b8d99dd8ffa4a0f8ac701652d57bd380eff",
- "sources": "c4d1439ac728ac782d9f8cd446e016d0dc491f7025f2faa187c45a79940c01e4"
+ "jar": "a85c198180a8de997e8f64a62e054946a39af0708466c1bd67747d393d2feee1",
+ "sources": "b21b7a03dd5ab0af84def551fcbaf26d61f2e9e8a0b9581b067a7722f1e5322c"
},
- "version": "4.1.112.Final"
+ "version": "4.1.113.Final"
},
"io.netty:netty-codec": {
"shasums": {
- "jar": "72db4f93629f7ea520d2998c08e2b1d69f9c6a4792b53da5e9a001d24c78b151",
- "sources": "def7cd0a0d97534a067ade11d97a7efb5f56252c40b84f6ceca6cb10e731d96f"
+ "jar": "c7669cbeda2b5c6284627b7ffafd6f1014a96639013b26ebb9d6bcb828f76542",
+ "sources": "e54247ed6809b0368fe21dcd2ff0f15f0dffc427e4691f82db9eec0ee0541006"
},
- "version": "4.1.112.Final"
+ "version": "4.1.113.Final"
},
"io.netty:netty-codec-dns": {
"shasums": {
@@ -285,52 +285,52 @@
},
"io.netty:netty-codec-http": {
"shasums": {
- "jar": "21b502d1374d6992728d004e0c1c95544d46d971f55ea78dcb854ce1ac0c83bc",
- "sources": "24554d68228b5cf6a27b6e8e2049dcd5827ff7b4c52a11b1108cd57f38db3147"
+ "jar": "bd5ebc6435d78d6fc96b36545d7e5ef00ec1045fd87ef367a9bc951c76400490",
+ "sources": "233477291b8fc8defa9b93cbc92021e6ceeca1dd5ef1e85701cb1810b5a231f3"
},
- "version": "4.1.112.Final"
+ "version": "4.1.113.Final"
},
"io.netty:netty-codec-http2": {
"shasums": {
- "jar": "7f73efc845e8818d71da23b21dc65d69132dd0e12ed0e80cc937bd79ab7d5749",
- "sources": "82fa383199f281d2baf81e8da937ce5fada68e6828f0f27ab61d3e2aa277e715"
+ "jar": "15e37fe28b31d92b77edb804ffe6d194bce330be194b77b3911afad03b21a07c",
+ "sources": "7e2c9bc7e789dc06f3cafdd7c0a8c882e3ac0a5810d4fb053a54396b8eeb960b"
},
- "version": "4.1.112.Final"
+ "version": "4.1.113.Final"
},
"io.netty:netty-codec-socks": {
"shasums": {
- "jar": "069f14507676282a8c4b871b27332aa4491c16339ec0e86f4d86d45a953b51f5",
- "sources": "41ec36fe79dd141836b1a10a3b689bc9f20850b7eba301664e7c2ead2c10135a"
+ "jar": "d871bfd5d9c648b640fa26fbe4bab82d05583f6f359f5428995cd4b91d3407cb",
+ "sources": "d8beecbd55020e25b88840fe72b9a125168416b4f1db9f3c628a5fa0bf4ac8a3"
},
- "version": "4.1.112.Final"
+ "version": "4.1.113.Final"
},
"io.netty:netty-common": {
"shasums": {
- "jar": "b03967f32c65de5ed339b97729170e0289b22ffa5729e7f45f68bf6b431fb567",
- "sources": "fef8a1934929e69e337f5e639154fec43762430ffbfe12059f4fd801dde95521"
+ "jar": "c0fb22d47111cb06aac2af67fe55e2e216a49fd00e767f4acb7488b280f8c327",
+ "sources": "ed34484d83860c3721c709bb38abd2a1f91c8edea18d59fd4e89da1e96b4d911"
},
- "version": "4.1.112.Final"
+ "version": "4.1.113.Final"
},
"io.netty:netty-handler": {
"shasums": {
- "jar": "ea4d6062a5fb10a6e2364d8bbdebc1cfa814f1fc9f910ef57e5caf02fb15c588",
- "sources": "545db6fab6a5cf28884820e91a387c26a4e2408821208802d10d560e42e2b0f5"
+ "jar": "7a583c4fe5880504d1257a4a6bfe6a635cd34ffe18aab0e4caabbf17d104f172",
+ "sources": "968ead1589c79ab5488b031f4564ee4f2cb0d0c17e9cf9b42ad826ed74e85293"
},
- "version": "4.1.112.Final"
+ "version": "4.1.113.Final"
},
"io.netty:netty-handler-proxy": {
"shasums": {
- "jar": "91f7c93dfe4b7a13198d40af39edac0adb0c33f08d9759242997b89176130c8c",
- "sources": "bb89f0fa98a7725b5d10080e5346a4ab5f17729dd0a8c8ae37636a04137d5ecd"
+ "jar": "78e7890ca04255785fb441c4ba7bc4954536b4aa58622fa86f6dc8b6004cca59",
+ "sources": "ce3511277296605cb26a4e963655bdcd7bbf222c238ec868cb7922022a93291a"
},
- "version": "4.1.112.Final"
+ "version": "4.1.113.Final"
},
"io.netty:netty-resolver": {
"shasums": {
- "jar": "6b4ac9f3b67f562f0770d57c389279ff9c708eb401e1a3635f52297f0f897edc",
- "sources": "7b5d51741c2aa9fe0795bc78940faeb0a3624b6c2ce186606fb6829663957abc"
+ "jar": "b2c110a547e7dc6e2b27017ea4ef98416d7d832d2cf40625d0273b90e61df8ab",
+ "sources": "2bcdae61be836aac497ec1d1a232f22a541a8d51436d20dcb12413019029ab63"
},
- "version": "4.1.112.Final"
+ "version": "4.1.113.Final"
},
"io.netty:netty-resolver-dns": {
"shasums": {
@@ -341,17 +341,17 @@
},
"io.netty:netty-transport": {
"shasums": {
- "jar": "d38e31624d25ca790ee413d529c152170217ebedbcdcf61164fa6291f3a56c92",
- "sources": "bdd48af82e88f19af79aadd3a2015a2b83e2071539ff3a265c06f2907a22126d"
+ "jar": "cb8b97ff77d7c5f1c591c84d2dee3389a0eaa63a3137b7b8c0c64e1dbada6688",
+ "sources": "36b22629d6dae03c6358fcef069471fd339fd66002094c5b22eaf2dfe90bb529"
},
- "version": "4.1.112.Final"
+ "version": "4.1.113.Final"
},
"io.netty:netty-transport-native-unix-common": {
"shasums": {
- "jar": "e79ccea1b87a6348d4ebd3dfb37a2cccd9b7cb65c3375f6ccdac086c7b5ce487",
- "sources": "d4ef7999a768e8907ace0d550acd6c1add2359f85f56e1c747f7f3d4daf37d51"
+ "jar": "804640095390c1284a1ad537207c6d5b391cfb798a7ef976e5b238fcd9c08ea3",
+ "sources": "6c1eefb4fec3fe864cee47dbabd7b7ea4dbf693efaf67e0070f8d71447f1fadc"
},
- "version": "4.1.112.Final"
+ "version": "4.1.113.Final"
},
"io.opentelemetry.semconv:opentelemetry-semconv": {
"shasums": {
@@ -362,87 +362,87 @@
},
"io.opentelemetry:opentelemetry-api": {
"shasums": {
- "jar": "9336668f388de68a0a2c3e114154febd29db19a7644f27c4eba548f5de852258",
- "sources": "7a29795475a8dbe670afd124a64e7dd94f129eecb6c529ecaa47aaa01ba2c018"
+ "jar": "6b0f9d067260ea3ed6c3960352b80800b993cb3962fa6fb1b6383cd04c3c0874",
+ "sources": "0c3c8c37171fa4eb7e2201cb575fee8ae5eb681890b849e3ef42c7d793eec841"
},
- "version": "1.41.0"
+ "version": "1.42.1"
},
"io.opentelemetry:opentelemetry-api-incubator": {
"shasums": {
- "jar": "9dd36c6744b73c4d85e669cb646fa1f8b8c1888a4e3c0b9d04d2eebf24f3a875",
- "sources": "588f6467bb01972c582a5eb65179010a527284c71be961da07ff2a238de07d91"
+ "jar": "2d5f478fe5971dc6cc454b483f84151280559f1e1a4b8dabea346fd425b6ad47",
+ "sources": "b924e38a40889978363ad07385d86e67a1112df4e5118578dd1c088d1ef110c3"
},
- "version": "1.41.0-alpha"
+ "version": "1.42.1-alpha"
},
"io.opentelemetry:opentelemetry-context": {
"shasums": {
- "jar": "5e3432a4464a432abfdab73be7142e516d25a84aa8426fce1192ffb0532faa35",
- "sources": "476565b58af8b59cd41325003f1fc3fb791116c509765974f04b3be8a121bb10"
+ "jar": "fc8f47bc94bec89a3dbdbcf631470fb7fd7d3e628b10d43bc376f17ebde4b405",
+ "sources": "143f5c77ced023235554da06e4c39b732d995f9599bf518bf4dae4a1bc9ae0bc"
},
- "version": "1.41.0"
+ "version": "1.42.1"
},
"io.opentelemetry:opentelemetry-exporter-logging": {
"shasums": {
- "jar": "ff1c2f0cd48c7b40d6452cbaed85137a5b942bda044052b765bcc92c23ed20fe",
- "sources": "c72710136619a697e34607da4c3ddbccdab2231db866a361d93640f0e224a4ef"
+ "jar": "f4e85c2756ff27accc1e90f221465149c3a0528d286701ed4aec70794daa72b3",
+ "sources": "6a71e942cd904192c81b1dc31f745439ad3b32f44713d56ea3286fae977932d1"
},
- "version": "1.41.0"
+ "version": "1.42.1"
},
"io.opentelemetry:opentelemetry-sdk": {
"shasums": {
- "jar": "1e20916ea9b76b85aec3ad1c78170e0cd59556f3ae120ec4fdea256a87cb3d91",
- "sources": "dcc4ea7543d910af2d00566198fe2a0785a06868db0fd818fb74112b8246aea6"
+ "jar": "df28b75c2df629c8971fd4afb59036d4861dc96789e6760a54a4266499ced5fb",
+ "sources": "2071f11cdc2caf4814b3ad60d2b49e578cee4d67676c693ff9d646e1073e07cd"
},
- "version": "1.41.0"
+ "version": "1.42.1"
},
"io.opentelemetry:opentelemetry-sdk-common": {
"shasums": {
- "jar": "9da8a6e0c0eb33d5dbee588885da7f936ae4734f665af8400499cde8432ab5a0",
- "sources": "b43671444771d41ffa29b3371f7180da7fa29f3e8434018f398a71b0751d1543"
+ "jar": "0cb2f9e93291ccfe7099ed424b7616e7e80ee51fdbbff99d2b2365f52428b179",
+ "sources": "62af024af0f5f13ee3f9640356073bf6dd819b47548f6fc2ceda90d34bc8b5e2"
},
- "version": "1.41.0"
+ "version": "1.42.1"
},
"io.opentelemetry:opentelemetry-sdk-extension-autoconfigure": {
"shasums": {
- "jar": "876c15934f58e37e7a640d5722fb85513442eb4697c8b0a2ac3f0d5cd28475e5",
- "sources": "aeb03de44dce050e76226a7991ea0b6ece6ab27d90fb15019f3f6ff010d1c19b"
+ "jar": "ce1186edb83c68e5fb91877cf018a75703153befa36ce6628b11f603f681e00e",
+ "sources": "787e25715d13f38d02e2f77d741b0df6643fc7f3800646d6ee32671e3846db5e"
},
- "version": "1.41.0"
+ "version": "1.42.1"
},
"io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi": {
"shasums": {
- "jar": "e0b5475b82533e990c87471b2b02f477b59561a23d0b853cd49f08a373b2c8f1",
- "sources": "cc735674ea1f18e3ececd9781095b7462ca76c98b7861b1e0d21505fd16c2ed9"
+ "jar": "fe095e16871b942cae7fed6e0b3bbff462111fe62fe31ccd34d7542f8ebcfe90",
+ "sources": "4dd4752c749d50487ab0e5753dfbf9289a3efb5768c73fe5e575239513338a80"
},
- "version": "1.41.0"
+ "version": "1.42.1"
},
"io.opentelemetry:opentelemetry-sdk-logs": {
"shasums": {
- "jar": "1cc068c52d0a89096dc8814bc90b126388a68ec9e41defbd9ea349ebf91755a4",
- "sources": "b297b2117203d3ef710537e41786e1f975b4d33d2df092a2c9bf7dc24d113e6f"
+ "jar": "e8229fe1305ad76a879d2dcccffb189308423fc45602bd20715dae9e52862bc0",
+ "sources": "c632f4d62c801d516e60d4899679de715d2897d4fffd7c737e26fba7ee60a452"
},
- "version": "1.41.0"
+ "version": "1.42.1"
},
"io.opentelemetry:opentelemetry-sdk-metrics": {
"shasums": {
- "jar": "acda798602ff7ae41e64bb21ea2011cd56b3fbde71df39fbdf6e59892edf345f",
- "sources": "baa5c20fe2f320e0462b84f75fdebfefe86e5440e4788de037ea1cc1aec9fc0a"
+ "jar": "0144c6f2845c25baab653764b365d178f589cd9d427d8a30ea06dafdf75576c5",
+ "sources": "3a8d6977adc1b792cc00fdee48701efe4e3c5a7609aa2e4a62d46654ed530a56"
},
- "version": "1.41.0"
+ "version": "1.42.1"
},
"io.opentelemetry:opentelemetry-sdk-testing": {
"shasums": {
- "jar": "29b1ad9e4d151b2cdfc61b5735eb6c388b539410d2bcb6f66db6a4e54ac80f30",
- "sources": "3cee134eec68f681539e98b93745d1a240527ddda007fdf90b39bb0cbf84853b"
+ "jar": "402267cbc8fc93bbea0f85212e95ac7d3cf7e29c9f26dd88e9c43f7e1ef45280",
+ "sources": "7caeaa8d20e562450ef76672530af6c9dd49e3003071e5e8530d9bb86360aa42"
},
- "version": "1.41.0"
+ "version": "1.42.1"
},
"io.opentelemetry:opentelemetry-sdk-trace": {
"shasums": {
- "jar": "b18b38ef0687b36ed0e0bc2e1e796bc0479eadb8c13109cad203f759474a921f",
- "sources": "60083c17ea6686264bb1fc68a9e927b9e9e234faa6cd437fb5af150da9129557"
+ "jar": "23a4ab8ed8cfb32cc3ef3a2bc921eb8e9f2c6c73e0bf184061c68b4fc2c98b02",
+ "sources": "bb7b29c5d7587e1ff0ce34b8162ad0c852eb000f27932995390588be8dcc7719"
},
- "version": "1.41.0"
+ "version": "1.42.1"
},
"io.ous:jtoml": {
"shasums": {
@@ -495,17 +495,17 @@
},
"net.bytebuddy:byte-buddy": {
"shasums": {
- "jar": "c743cfb4db1e6c67af6297fbe32a3ad94710884cde4c7eecb1bad7d820d4f2ba",
- "sources": "e868f936ad49d59b0e273afd3fcd2b3ef6492f8e9f483b7eeb99eee2bb6e4cb2"
+ "jar": "cc5f178f37ef83339b7ec93e8d0bed6b0730871cdb39c663527ddeae4a54a825",
+ "sources": "fca376d0298b5528dda33b06378a8820c6e9029e4ab19c89b64d2344cb4ae700"
},
- "version": "1.15.0"
+ "version": "1.15.1"
},
"net.bytebuddy:byte-buddy-agent": {
"shasums": {
- "jar": "3ef6ec7175801361170067cc6902969f966d37c72bf9353d9cd282263b184064",
- "sources": "ba7ead86f342cb392c3a910c4eeffd8f66274481e8a613cd2a9a59c456d08fac"
+ "jar": "3399a0fdf7ba3f1386ebf831a706037428f1b1af81d653c25cf8a8fde2e4d2ea",
+ "sources": "e1851c192c949dac8e84e935ebec97e95a96af0c51c84451a9fa4667ef047188"
},
- "version": "1.14.15"
+ "version": "1.15.0"
},
"net.sf.saxon:Saxon-HE": {
"shasums": {
@@ -565,17 +565,17 @@
},
"org.apache.logging.log4j:log4j-api": {
"shasums": {
- "jar": "92ec1fd36ab3bc09de6198d2d7c0914685c0f7127ea931acc32fd2ecdd82ea89",
- "sources": "d5cf646b25ee4ee16b27aea90d919aa0b35846feae811abc8cb389331420a059"
+ "jar": "de99b52578c62ee0125dd345e7121502facfe29294314ae684a4a12314c4e55a",
+ "sources": "1678a06935bdb4fc9f43af6ada2b495e284517c7f5a44d9a653cddb395c8b4e1"
},
- "version": "2.23.1"
+ "version": "2.24.0"
},
"org.apache.logging.log4j:log4j-core": {
"shasums": {
- "jar": "7079368005fc34f56248f57f8a8a53361c3a53e9007d556dbc66fc669df081b5",
- "sources": "3da91ab04815b5506efa7b7ec3bca6f8dacc398a8f25329ff8e8c734e98d1678"
+ "jar": "3f5b93c80f0f3d2e8cfb166a7d64ec589f8c9326fa0d7c41d74d63b28f6fd62e",
+ "sources": "48f975893afb7ba045583c9c4de965809b1ddd3a2948cf16ac003a86ee4b2d56"
},
- "version": "2.23.1"
+ "version": "2.24.0"
},
"org.apiguardian:apiguardian-api": {
"shasums": {
@@ -712,10 +712,10 @@
},
"org.mockito:mockito-core": {
"shasums": {
- "jar": "4a2eb29237050da749e90a46f948bce7e26ec22b671e41f59b1ac6f4b6408229",
- "sources": "8d109e7f4eed8c92f00842554e664060097995fc575a11e57381551182f5432a"
+ "jar": "f8a6dad9511fbc809c493b1840414e42172335e414bdbabe643dd2d53dae9a7e",
+ "sources": "5bb0e8cdc11586a0305c3e2af7f1dacafaffc96df8226f83d099d0c9eeba95de"
},
- "version": "5.12.0"
+ "version": "5.13.0"
},
"org.objenesis:objenesis": {
"shasums": {
@@ -775,10 +775,10 @@
},
"org.redisson:redisson": {
"shasums": {
- "jar": "28c7291d09ad69ff4f6a4516322a4285b0867df0960c922bdfe3a370cac6957a",
- "sources": "b33f3b680b259bc24515d42919240146d451edcf2812cd99c084e7b19961a9d5"
+ "jar": "7c031183fa0b3070467dad51131ab57b70dcef961156a68a949de432cc248d6b",
+ "sources": "d3aac121720386669d625b6b89601ece83ea2e7ab8d15540be5f6a59328d245b"
},
- "version": "3.35.0"
+ "version": "3.36.0"
},
"org.slf4j:slf4j-api": {
"shasums": {
@@ -1028,6 +1028,7 @@
],
"io.opentelemetry:opentelemetry-sdk-testing": [
"io.opentelemetry:opentelemetry-api",
+ "io.opentelemetry:opentelemetry-api-incubator",
"io.opentelemetry:opentelemetry-sdk"
],
"io.opentelemetry:opentelemetry-sdk-trace": [
@@ -2132,8 +2133,10 @@
"org.apache.logging.log4j:log4j-api": [
"org.apache.logging.log4j",
"org.apache.logging.log4j.internal",
+ "org.apache.logging.log4j.internal.map",
"org.apache.logging.log4j.message",
"org.apache.logging.log4j.simple",
+ "org.apache.logging.log4j.simple.internal",
"org.apache.logging.log4j.spi",
"org.apache.logging.log4j.status",
"org.apache.logging.log4j.util",
@@ -2171,11 +2174,13 @@
"org.apache.logging.log4j.core.config.status",
"org.apache.logging.log4j.core.config.xml",
"org.apache.logging.log4j.core.config.yaml",
+ "org.apache.logging.log4j.core.context.internal",
"org.apache.logging.log4j.core.filter",
"org.apache.logging.log4j.core.filter.mutable",
"org.apache.logging.log4j.core.impl",
"org.apache.logging.log4j.core.jackson",
"org.apache.logging.log4j.core.jmx",
+ "org.apache.logging.log4j.core.jmx.internal",
"org.apache.logging.log4j.core.layout",
"org.apache.logging.log4j.core.layout.internal",
"org.apache.logging.log4j.core.lookup",
diff --git a/java/src/org/openqa/selenium/devtools/v126/BUILD.bazel b/java/src/org/openqa/selenium/devtools/v129/BUILD.bazel
similarity index 98%
rename from java/src/org/openqa/selenium/devtools/v126/BUILD.bazel
rename to java/src/org/openqa/selenium/devtools/v129/BUILD.bazel
index 7a5445eafcd73..029982b67a608 100644
--- a/java/src/org/openqa/selenium/devtools/v126/BUILD.bazel
+++ b/java/src/org/openqa/selenium/devtools/v129/BUILD.bazel
@@ -2,7 +2,7 @@ load("//common:defs.bzl", "copy_file")
load("//java:defs.bzl", "java_export", "java_library")
load("//java:version.bzl", "SE_VERSION")
-cdp_version = "v126"
+cdp_version = "v129"
java_export(
name = cdp_version,
diff --git a/java/src/org/openqa/selenium/devtools/v126/v126CdpInfo.java b/java/src/org/openqa/selenium/devtools/v129/v129CdpInfo.java
similarity index 86%
rename from java/src/org/openqa/selenium/devtools/v126/v126CdpInfo.java
rename to java/src/org/openqa/selenium/devtools/v129/v129CdpInfo.java
index 619fddc2c5a8b..bf57d309dd9e9 100644
--- a/java/src/org/openqa/selenium/devtools/v126/v126CdpInfo.java
+++ b/java/src/org/openqa/selenium/devtools/v129/v129CdpInfo.java
@@ -15,15 +15,15 @@
// specific language governing permissions and limitations
// under the License.
-package org.openqa.selenium.devtools.v126;
+package org.openqa.selenium.devtools.v129;
import com.google.auto.service.AutoService;
import org.openqa.selenium.devtools.CdpInfo;
@AutoService(CdpInfo.class)
-public class v126CdpInfo extends CdpInfo {
+public class v129CdpInfo extends CdpInfo {
- public v126CdpInfo() {
- super(126, v126Domains::new);
+ public v129CdpInfo() {
+ super(129, v129Domains::new);
}
}
diff --git a/java/src/org/openqa/selenium/devtools/v126/v126Domains.java b/java/src/org/openqa/selenium/devtools/v129/v129Domains.java
similarity index 77%
rename from java/src/org/openqa/selenium/devtools/v126/v126Domains.java
rename to java/src/org/openqa/selenium/devtools/v129/v129Domains.java
index 77157aa02efde..735d10c60e534 100644
--- a/java/src/org/openqa/selenium/devtools/v126/v126Domains.java
+++ b/java/src/org/openqa/selenium/devtools/v129/v129Domains.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.openqa.selenium.devtools.v126;
+package org.openqa.selenium.devtools.v129;
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 v126Domains implements Domains {
+public class v129Domains implements Domains {
- private final v126Javascript js;
- private final v126Events events;
- private final v126Log log;
- private final v126Network network;
- private final v126Target target;
+ private final v129Javascript js;
+ private final v129Events events;
+ private final v129Log log;
+ private final v129Network network;
+ private final v129Target target;
- public v126Domains(DevTools devtools) {
+ public v129Domains(DevTools devtools) {
Require.nonNull("DevTools", devtools);
- events = new v126Events(devtools);
- js = new v126Javascript(devtools);
- log = new v126Log();
- network = new v126Network(devtools);
- target = new v126Target();
+ events = new v129Events(devtools);
+ js = new v129Javascript(devtools);
+ log = new v129Log();
+ network = new v129Network(devtools);
+ target = new v129Target();
}
@Override
diff --git a/java/src/org/openqa/selenium/devtools/v126/v126Events.java b/java/src/org/openqa/selenium/devtools/v129/v129Events.java
similarity index 86%
rename from java/src/org/openqa/selenium/devtools/v126/v126Events.java
rename to java/src/org/openqa/selenium/devtools/v129/v129Events.java
index 187476f956201..1d7765fd964ab 100644
--- a/java/src/org/openqa/selenium/devtools/v126/v126Events.java
+++ b/java/src/org/openqa/selenium/devtools/v129/v129Events.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.openqa.selenium.devtools.v126;
+package org.openqa.selenium.devtools.v129;
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.v126.runtime.Runtime;
-import org.openqa.selenium.devtools.v126.runtime.model.ConsoleAPICalled;
-import org.openqa.selenium.devtools.v126.runtime.model.ExceptionDetails;
-import org.openqa.selenium.devtools.v126.runtime.model.ExceptionThrown;
-import org.openqa.selenium.devtools.v126.runtime.model.StackTrace;
+import org.openqa.selenium.devtools.v129.runtime.Runtime;
+import org.openqa.selenium.devtools.v129.runtime.model.ConsoleAPICalled;
+import org.openqa.selenium.devtools.v129.runtime.model.ExceptionDetails;
+import org.openqa.selenium.devtools.v129.runtime.model.ExceptionThrown;
+import org.openqa.selenium.devtools.v129.runtime.model.StackTrace;
-public class v126Events extends Events {
+public class v129Events extends Events {
- public v126Events(DevTools devtools) {
+ public v129Events(DevTools devtools) {
super(devtools);
}
@@ -77,7 +77,7 @@ protected ConsoleEvent toConsoleEvent(ConsoleAPICalled event) {
protected JavascriptException toJsException(ExceptionThrown event) {
ExceptionDetails details = event.getExceptionDetails();
Optional maybeTrace = details.getStackTrace();
- Optional maybeException =
+ Optional maybeException =
details.getException();
String message =
diff --git a/java/src/org/openqa/selenium/devtools/v126/v126Javascript.java b/java/src/org/openqa/selenium/devtools/v129/v129Javascript.java
similarity index 85%
rename from java/src/org/openqa/selenium/devtools/v126/v126Javascript.java
rename to java/src/org/openqa/selenium/devtools/v129/v129Javascript.java
index 8dff4812215a5..632de793b788a 100644
--- a/java/src/org/openqa/selenium/devtools/v126/v126Javascript.java
+++ b/java/src/org/openqa/selenium/devtools/v129/v129Javascript.java
@@ -15,21 +15,21 @@
// specific language governing permissions and limitations
// under the License.
-package org.openqa.selenium.devtools.v126;
+package org.openqa.selenium.devtools.v129;
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.v126.page.Page;
-import org.openqa.selenium.devtools.v126.page.model.ScriptIdentifier;
-import org.openqa.selenium.devtools.v126.runtime.Runtime;
-import org.openqa.selenium.devtools.v126.runtime.model.BindingCalled;
+import org.openqa.selenium.devtools.v129.page.Page;
+import org.openqa.selenium.devtools.v129.page.model.ScriptIdentifier;
+import org.openqa.selenium.devtools.v129.runtime.Runtime;
+import org.openqa.selenium.devtools.v129.runtime.model.BindingCalled;
-public class v126Javascript extends Javascript {
+public class v129Javascript extends Javascript {
- public v126Javascript(DevTools devtools) {
+ public v129Javascript(DevTools devtools) {
super(devtools);
}
diff --git a/java/src/org/openqa/selenium/devtools/v126/v126Log.java b/java/src/org/openqa/selenium/devtools/v129/v129Log.java
similarity index 89%
rename from java/src/org/openqa/selenium/devtools/v126/v126Log.java
rename to java/src/org/openqa/selenium/devtools/v129/v129Log.java
index 4256fb7650a5b..e7e15cf97d802 100644
--- a/java/src/org/openqa/selenium/devtools/v126/v126Log.java
+++ b/java/src/org/openqa/selenium/devtools/v129/v129Log.java
@@ -15,19 +15,19 @@
// specific language governing permissions and limitations
// under the License.
-package org.openqa.selenium.devtools.v126;
+package org.openqa.selenium.devtools.v129;
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.v126.log.Log;
-import org.openqa.selenium.devtools.v126.log.model.LogEntry;
-import org.openqa.selenium.devtools.v126.runtime.model.Timestamp;
+import org.openqa.selenium.devtools.v129.log.Log;
+import org.openqa.selenium.devtools.v129.log.model.LogEntry;
+import org.openqa.selenium.devtools.v129.runtime.model.Timestamp;
import org.openqa.selenium.json.JsonInput;
-public class v126Log implements org.openqa.selenium.devtools.idealized.log.Log {
+public class v129Log implements org.openqa.selenium.devtools.idealized.log.Log {
@Override
public Command enable() {
diff --git a/java/src/org/openqa/selenium/devtools/v126/v126Network.java b/java/src/org/openqa/selenium/devtools/v129/v129Network.java
similarity index 92%
rename from java/src/org/openqa/selenium/devtools/v126/v126Network.java
rename to java/src/org/openqa/selenium/devtools/v129/v129Network.java
index fd2fdc62e5de5..41c76f9897c46 100644
--- a/java/src/org/openqa/selenium/devtools/v126/v126Network.java
+++ b/java/src/org/openqa/selenium/devtools/v129/v129Network.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.openqa.selenium.devtools.v126;
+package org.openqa.selenium.devtools.v129;
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.v126.fetch.Fetch;
-import org.openqa.selenium.devtools.v126.fetch.model.*;
-import org.openqa.selenium.devtools.v126.network.model.Request;
+import org.openqa.selenium.devtools.v129.fetch.Fetch;
+import org.openqa.selenium.devtools.v129.fetch.model.*;
+import org.openqa.selenium.devtools.v129.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 v126Network extends Network {
+public class v129Network extends Network {
- private static final Logger LOG = Logger.getLogger(v126Network.class.getName());
+ private static final Logger LOG = Logger.getLogger(v129Network.class.getName());
- public v126Network(DevTools devTools) {
+ public v129Network(DevTools devTools) {
super(devTools);
}
@Override
protected Command setUserAgentOverride(UserAgent userAgent) {
- return org.openqa.selenium.devtools.v126.network.Network.setUserAgentOverride(
+ return org.openqa.selenium.devtools.v129.network.Network.setUserAgentOverride(
userAgent.userAgent(), userAgent.acceptLanguage(), userAgent.platform(), Optional.empty());
}
@Override
protected Command enableNetworkCaching() {
- return org.openqa.selenium.devtools.v126.network.Network.setCacheDisabled(false);
+ return org.openqa.selenium.devtools.v129.network.Network.setCacheDisabled(false);
}
@Override
protected Command disableNetworkCaching() {
- return org.openqa.selenium.devtools.v126.network.Network.setCacheDisabled(true);
+ return org.openqa.selenium.devtools.v129.network.Network.setCacheDisabled(true);
}
@Override
diff --git a/java/src/org/openqa/selenium/devtools/v126/v126Target.java b/java/src/org/openqa/selenium/devtools/v129/v129Target.java
similarity index 83%
rename from java/src/org/openqa/selenium/devtools/v126/v126Target.java
rename to java/src/org/openqa/selenium/devtools/v129/v129Target.java
index a940ddf04b4ba..07c78a9d85e82 100644
--- a/java/src/org/openqa/selenium/devtools/v126/v126Target.java
+++ b/java/src/org/openqa/selenium/devtools/v129/v129Target.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.openqa.selenium.devtools.v126;
+package org.openqa.selenium.devtools.v129;
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.v126.target.Target;
-import org.openqa.selenium.devtools.v126.target.model.TargetInfo;
+import org.openqa.selenium.devtools.v129.target.Target;
+import org.openqa.selenium.devtools.v129.target.model.TargetInfo;
import org.openqa.selenium.json.JsonInput;
import org.openqa.selenium.json.TypeToken;
-public class v126Target implements org.openqa.selenium.devtools.idealized.target.Target {
+public class v129Target implements org.openqa.selenium.devtools.idealized.target.Target {
@Override
public Command detachFromTarget(
Optional sessionId, Optional targetId) {
return Target.detachFromTarget(
sessionId.map(
- id -> new org.openqa.selenium.devtools.v126.target.model.SessionID(id.toString())),
+ id -> new org.openqa.selenium.devtools.v129.target.model.SessionID(id.toString())),
targetId.map(
- id -> new org.openqa.selenium.devtools.v126.target.model.TargetID(id.toString())));
+ id -> new org.openqa.selenium.devtools.v129.target.model.TargetID(id.toString())));
}
@Override
@@ -74,19 +74,19 @@ public Command detachFromTarget(
@Override
public Command attachToTarget(TargetID targetId) {
- Function mapper =
+ Function mapper =
ConverterFunctions.map(
- "sessionId", org.openqa.selenium.devtools.v126.target.model.SessionID.class);
+ "sessionId", org.openqa.selenium.devtools.v129.target.model.SessionID.class);
return new Command<>(
"Target.attachToTarget",
Map.of(
"targetId",
- new org.openqa.selenium.devtools.v126.target.model.TargetID(targetId.toString()),
+ new org.openqa.selenium.devtools.v129.target.model.TargetID(targetId.toString()),
"flatten",
true),
input -> {
- org.openqa.selenium.devtools.v126.target.model.SessionID id = mapper.apply(input);
+ org.openqa.selenium.devtools.v129.target.model.SessionID id = mapper.apply(input);
return new SessionID(id.toString());
});
}
@@ -101,9 +101,9 @@ public Event detached() {
return new Event<>(
"Target.detachedFromTarget",
input -> {
- Function converter =
+ Function converter =
ConverterFunctions.map(
- "targetId", org.openqa.selenium.devtools.v126.target.model.TargetID.class);
+ "targetId", org.openqa.selenium.devtools.v129.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 c95a98f5195e5..32e5565a8a838 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 = [
"v85", # Required by Firefox
"v128",
- "v126",
+ "v129",
"v127",
]
diff --git a/java/version.bzl b/java/version.bzl
index 51fb4a9c7246e..20171265cb335 100644
--- a/java/version.bzl
+++ b/java/version.bzl
@@ -1,2 +1,2 @@
-SE_VERSION = "4.25.0-SNAPSHOT"
+SE_VERSION = "4.26.0-SNAPSHOT"
TOOLS_JAVA_VERSION = "17"
diff --git a/javascript/node/selenium-webdriver/BUILD.bazel b/javascript/node/selenium-webdriver/BUILD.bazel
index a9768601cee28..1cb3a28ab17ab 100644
--- a/javascript/node/selenium-webdriver/BUILD.bazel
+++ b/javascript/node/selenium-webdriver/BUILD.bazel
@@ -11,12 +11,12 @@ load("//javascript/private:browsers.bzl", "BROWSERS")
npm_link_all_packages(name = "node_modules")
-VERSION = "4.25.0-nightly202409161624"
+VERSION = "4.26.0-nightly202409202352"
BROWSER_VERSIONS = [
"v85",
"v128",
- "v126",
+ "v129",
"v127",
]
@@ -63,6 +63,7 @@ npm_package(
"//javascript/node/selenium-webdriver/lib/atoms:mutation-listener",
],
package = "selenium-webdriver",
+ publishable = True,
tags = [
"release-artifact",
],
diff --git a/javascript/node/selenium-webdriver/CHANGES.md b/javascript/node/selenium-webdriver/CHANGES.md
index 783438b45181f..765a6a53a8cb3 100644
--- a/javascript/node/selenium-webdriver/CHANGES.md
+++ b/javascript/node/selenium-webdriver/CHANGES.md
@@ -1,3 +1,7 @@
+## 4.25.0
+
+- Add CDP for Chrome 129 and remove 126
+
## 4.24.1
- Close CDP websocket connection on driver.quit (#14501)
diff --git a/javascript/node/selenium-webdriver/package.json b/javascript/node/selenium-webdriver/package.json
index 871fc6572a6d5..fbbd003d28364 100644
--- a/javascript/node/selenium-webdriver/package.json
+++ b/javascript/node/selenium-webdriver/package.json
@@ -1,6 +1,6 @@
{
"name": "selenium-webdriver",
- "version": "4.25.0-nightly202409161624",
+ "version": "4.26.0-nightly202409202352",
"description": "The official WebDriver JavaScript bindings from the Selenium project",
"license": "Apache-2.0",
"keywords": [
diff --git a/package-lock.json b/package-lock.json
index bde2e3586d80a..e3a0a3154f6ff 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1707,7 +1707,7 @@
}
},
"javascript/node/selenium-webdriver": {
- "version": "4.25.0-nightly202408281539",
+ "version": "4.26.0-nightly202409202352-nightly202408281539",
"license": "Apache-2.0",
"dependencies": {
"@bazel/runfiles": "^5.8.1",
diff --git a/py/BUILD.bazel b/py/BUILD.bazel
index 19352cd37c5c7..e2ba6dd2019f1 100644
--- a/py/BUILD.bazel
+++ b/py/BUILD.bazel
@@ -62,12 +62,12 @@ compile_pip_requirements(
],
)
-SE_VERSION = "4.25.0.dev202408281539"
+SE_VERSION = "4.26.0.dev202409202351"
BROWSER_VERSIONS = [
"v85",
"v128",
- "v126",
+ "v129",
"v127",
]
diff --git a/py/CHANGES b/py/CHANGES
index f29b4bc3d5400..a4e6fd42cb226 100644
--- a/py/CHANGES
+++ b/py/CHANGES
@@ -1,3 +1,10 @@
+Selenium 4.25.0
+* Add CDP for Chrome 129 and remove 126
+* fix type errors for `service.py`, `cdp.py`, `webelement.py` and `remote_connection.py` (#14448)
+* fix type errors for `input_device` and `file_detector` (#14459)
+* fix type errors for `pointer_input.py`, `wheel_input.py` and `firefox/options.py` (#14476)
+* firefox_profile.py: use `with` statement in zipfile as Python 2.x support is dropped (#14489)
+
Selenium 4.24.0
* Allow overriding `GLOBAL_DEFAULT_TIMEOUT` (#14354)
* fix mypy errors for `timeouts.py` and `print_page_options.py` (#14362)
diff --git a/py/docs/source/conf.py b/py/docs/source/conf.py
index dadf9708dc574..d0f2f6b947180 100644
--- a/py/docs/source/conf.py
+++ b/py/docs/source/conf.py
@@ -56,9 +56,9 @@
# built documents.
#
# The short X.Y version.
-version = '4.25'
+version = '4.26'
# The full version, including alpha/beta/rc tags.
-release = '4.25.0.dev202408281539'
+release = '4.26.0.dev202409202351'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/py/selenium/__init__.py b/py/selenium/__init__.py
index 7338509aab4fd..e4c5adeea398b 100644
--- a/py/selenium/__init__.py
+++ b/py/selenium/__init__.py
@@ -16,4 +16,4 @@
# under the License.
-__version__ = "4.25.0.dev202408281539"
+__version__ = "4.26.0.dev202409202351"
diff --git a/py/selenium/webdriver/__init__.py b/py/selenium/webdriver/__init__.py
index 4023fd3079aae..e61f321c187e0 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.25.0.dev202408281539"
+__version__ = "4.26.0.dev202409202351"
# We need an explicit __all__ because the above won't otherwise be exported.
__all__ = [
diff --git a/py/setup.py b/py/setup.py
index ba78a9a66ce8d..9cdd0712f7158 100755
--- a/py/setup.py
+++ b/py/setup.py
@@ -28,7 +28,7 @@
setup_args = {
'cmdclass': {'install': install},
'name': 'selenium',
- 'version': "4.25.0.dev202408281539",
+ 'version': "4.26.0.dev202409202351",
'license': 'Apache 2.0',
'description': 'Official Python bindings for Selenium WebDriver.',
'long_description': open(join(abspath(dirname(__file__)), "README.rst")).read(),
diff --git a/py/test/selenium/webdriver/common/correct_event_firing_tests.py b/py/test/selenium/webdriver/common/correct_event_firing_tests.py
index 98a2b86a81624..754b8c5abd256 100644
--- a/py/test/selenium/webdriver/common/correct_event_firing_tests.py
+++ b/py/test/selenium/webdriver/common/correct_event_firing_tests.py
@@ -111,21 +111,20 @@ def test_clearing_an_element_should_cause_the_on_change_handler_to_fire(driver,
assert result.text == "Cleared"
-# TODO Currently Failing and needs fixing
-# def test_sending_keys_to_another_element_should_cause_the_blur_event_to_fire(driver, pages):
-# pages.load("javascriptPage.html")
-# element = driver.find_element(By.ID, "theworks")
-# element.send_keys("foo")
-# element2 = driver.find_element(By.ID, "changeable")
-# element2.send_keys("bar")
-# _assertEventFired(driver, "blur")
-
-# TODO Currently Failing and needs fixing
-# def test_sending_keys_to_an_element_should_cause_the_focus_event_to_fire(driver, pages):
-# pages.load("javascriptPage.html")
-# element = driver.find_element(By.ID, "theworks")
-# element.send_keys("foo")
-# _assertEventFired(driver, "focus")
+def test_sending_keys_to_another_element_should_cause_the_blur_event_to_fire(driver, pages):
+ pages.load("javascriptPage.html")
+ element = driver.find_element(By.ID, "theworks")
+ element.send_keys("foo")
+ element2 = driver.find_element(By.ID, "changeable")
+ element2.send_keys("bar")
+ _assert_event_fired(driver, "blur")
+
+
+def test_sending_keys_to_an_element_should_cause_the_focus_event_to_fire(driver, pages):
+ pages.load("javascriptPage.html")
+ element = driver.find_element(By.ID, "theworks")
+ element.send_keys("foo")
+ _assert_event_fired(driver, "focus")
def _click_on_element_which_records_events(driver):
diff --git a/rb/CHANGES b/rb/CHANGES
index 600f2bef46e42..2711e0ada7c2d 100644
--- a/rb/CHANGES
+++ b/rb/CHANGES
@@ -1,3 +1,10 @@
+4.25.0 (2024-09-19)
+=========================
+* Add CDP for Chrome 129 and remove 126
+* Fix add_cause method not being able to process an array of hashes (#14433)
+* replace `fedcm` links with new ones (#14478)
+* Allow driver path to be set using ENV variables (#14287)
+
4.24.0 (2024-08-23)
=========================
* Deprecate WebStorage JS methods (#14276)
diff --git a/rb/Gemfile.lock b/rb/Gemfile.lock
index 4897afdf652ec..446dbdb16d988 100644
--- a/rb/Gemfile.lock
+++ b/rb/Gemfile.lock
@@ -1,9 +1,9 @@
PATH
remote: .
specs:
- selenium-devtools (0.128.0)
+ selenium-devtools (0.129.0)
selenium-webdriver (~> 4.2)
- selenium-webdriver (4.25.0.nightly)
+ selenium-webdriver (4.26.0.nightly)
base64 (~> 0.2)
logger (~> 1.4)
rexml (~> 3.2, >= 3.2.5)
@@ -50,7 +50,7 @@ GEM
addressable (~> 2.8)
rchardet (~> 1.8)
hashdiff (1.1.1)
- i18n (1.14.5)
+ i18n (1.14.6)
concurrent-ruby (~> 1.0)
io-console (0.7.2)
io-console (0.7.2-java)
@@ -64,10 +64,10 @@ GEM
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
- logger (1.6.0)
+ logger (1.6.1)
minitest (5.25.1)
parallel (1.26.3)
- parser (3.3.4.2)
+ parser (3.3.5.0)
ast (~> 2.4.1)
racc
psych (5.1.2)
@@ -89,41 +89,39 @@ GEM
rdoc (6.7.0)
psych (>= 4.0.0)
regexp_parser (2.9.2)
- reline (0.5.9)
+ reline (0.5.10)
io-console (~> 0.5)
- rexml (3.3.6)
- strscan
+ rexml (3.3.7)
rspec (3.13.0)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
- rspec-core (3.13.0)
+ rspec-core (3.13.1)
rspec-support (~> 3.13.0)
- rspec-expectations (3.13.2)
+ rspec-expectations (3.13.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-support (3.13.1)
- rubocop (1.65.1)
+ rubocop (1.66.1)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.4, < 3.0)
- rexml (>= 3.2.5, < 4.0)
- rubocop-ast (>= 1.31.1, < 2.0)
+ rubocop-ast (>= 1.32.2, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
- rubocop-ast (1.32.1)
+ rubocop-ast (1.32.3)
parser (>= 3.3.1.0)
rubocop-capybara (2.21.0)
rubocop (~> 1.41)
rubocop-factory_bot (2.26.1)
rubocop (~> 1.61)
- rubocop-performance (1.21.1)
+ rubocop-performance (1.22.1)
rubocop (>= 1.48.1, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
rubocop-rake (0.6.0)
@@ -160,14 +158,14 @@ GEM
unicode-display_width (>= 1.1.1, < 3)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
- unicode-display_width (2.5.0)
+ unicode-display_width (2.6.0)
webmock (3.23.1)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
webrick (1.8.1)
websocket (1.2.11)
- yard (0.9.36)
+ yard (0.9.37)
PLATFORMS
java
diff --git a/rb/lib/selenium/devtools/BUILD.bazel b/rb/lib/selenium/devtools/BUILD.bazel
index c4eadc3adaf7c..8aa9b187bdae8 100644
--- a/rb/lib/selenium/devtools/BUILD.bazel
+++ b/rb/lib/selenium/devtools/BUILD.bazel
@@ -6,7 +6,7 @@ package(default_visibility = ["//rb:__subpackages__"])
CDP_VERSIONS = [
"v85",
"v128",
- "v126",
+ "v129",
"v127",
]
diff --git a/rb/lib/selenium/devtools/version.rb b/rb/lib/selenium/devtools/version.rb
index ce2354d5d0988..be6d000d557c4 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.128.0'
+ VERSION = '0.129.0'
end # DevTools
end # Selenium
diff --git a/rb/lib/selenium/webdriver/common/logger.rb b/rb/lib/selenium/webdriver/common/logger.rb
index 3268d54acb061..318d4e3110ab5 100644
--- a/rb/lib/selenium/webdriver/common/logger.rb
+++ b/rb/lib/selenium/webdriver/common/logger.rb
@@ -167,7 +167,7 @@ def deprecate(old, new = nil, id: [], reference: '', &block)
id << :deprecations if @allowed.include?(:deprecations)
- message = +"[DEPRECATION] #{old} is deprecated"
+ message = "[DEPRECATION] #{old} is deprecated"
message << if new
". Use #{new} instead."
else
diff --git a/rb/lib/selenium/webdriver/common/target_locator.rb b/rb/lib/selenium/webdriver/common/target_locator.rb
index cda4e9ad4e253..9300d414d6d74 100644
--- a/rb/lib/selenium/webdriver/common/target_locator.rb
+++ b/rb/lib/selenium/webdriver/common/target_locator.rb
@@ -96,12 +96,11 @@ def window(id)
@bridge.switch_to_window id
begin
- returned = yield
+ yield
ensure
current_handles = @bridge.window_handles
original = current_handles.first unless current_handles.include? original
@bridge.switch_to_window original
- returned
end
else
@bridge.switch_to_window id
diff --git a/rb/lib/selenium/webdriver/common/wait.rb b/rb/lib/selenium/webdriver/common/wait.rb
index a12dc31b5a9f0..feeecdb4f31c7 100644
--- a/rb/lib/selenium/webdriver/common/wait.rb
+++ b/rb/lib/selenium/webdriver/common/wait.rb
@@ -65,7 +65,7 @@ def until
msg = if @message
@message.dup
else
- +"timed out after #{@timeout} seconds"
+ "timed out after #{@timeout} seconds"
end
msg << " (#{last_error.message})" if last_error
diff --git a/rb/lib/selenium/webdriver/version.rb b/rb/lib/selenium/webdriver/version.rb
index d2220756cc1b7..e99cd42fa460c 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.25.0.nightly'
+ VERSION = '4.26.0.nightly'
end # WebDriver
end # Selenium
diff --git a/rust/CHANGELOG.md b/rust/CHANGELOG.md
index 5130482369f5f..b56d9cf5b207f 100644
--- a/rust/CHANGELOG.md
+++ b/rust/CHANGELOG.md
@@ -1,3 +1,9 @@
+0.4.25
+======
+
+* Reuse driver mirror URL (when available) to discover Firefox versions (#13941) (#14493)
+* Selenium Manager errors when browser-path is wrong (#13352) (#14381)
+
0.4.24
======
diff --git a/scripts/github-actions/release_header.md b/scripts/github-actions/release_header.md
new file mode 100644
index 0000000000000..357a1461dd907
--- /dev/null
+++ b/scripts/github-actions/release_header.md
@@ -0,0 +1,4 @@
+## Detailed Changelogs by Component
+
+
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)** |
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)** |
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)** |
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)** |
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/node/selenium-webdriver/CHANGES.md)** |
**[IEDriver](https://github.com/SeleniumHQ/selenium/blob/trunk/cpp/iedriverserver/CHANGELOG)**
+
diff --git a/scripts/gitpod/.gitpod.Dockerfile b/scripts/gitpod/.gitpod.Dockerfile
index 840b46d1b7df7..a1b4e1100b985 100644
--- a/scripts/gitpod/.gitpod.Dockerfile
+++ b/scripts/gitpod/.gitpod.Dockerfile
@@ -1,7 +1,7 @@
# Used to create a development image for working on Selenium
# You can find the new timestamped tags here: https://hub.docker.com/r/gitpod/workspace-full/tags
-FROM gitpod/workspace-full:2024-02-19-11-51-41
+FROM gitpod/workspace-full
USER root
@@ -21,7 +21,7 @@ ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -qqy && \
apt-get -qy install python-is-python3 \
- dotnet-sdk-6.0 \
+ dotnet-sdk-8.0 \
supervisor \
x11vnc \
fluxbox \
@@ -50,7 +50,7 @@ RUN wget -nv -O /tmp/noVNC.zip "https://github.com/novnc/noVNC/archive/refs/tags
# Bazel
-RUN curl -L https://github.com/bazelbuild/bazelisk/releases/download/v1.19.0/bazelisk-linux-amd64 -o /usr/bin/bazelisk && \
+RUN curl -L https://github.com/bazelbuild/bazelisk/releases/download/v1.21.0/bazelisk-linux-amd64 -o /usr/bin/bazelisk && \
chmod 755 /usr/bin/bazelisk && \
ln -sf /usr/bin/bazelisk /usr/bin/bazel