diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index cb4556e52d4d4..6efc3fe23f50f 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -50,7 +50,7 @@ body: id: selenium-version attributes: label: What version of Selenium are you currently using? - description: Important! The latest released version of Selenium is 4.35 and we can't fix old versions. + description: Important! The latest released version of Selenium is 4.36 and we can't fix old versions. placeholder: e.g., 4.17.0 validations: required: true diff --git a/.github/label-commenter-config.yml b/.github/label-commenter-config.yml index 4932a6aa025dd..890be6878ab68 100644 --- a/.github/label-commenter-config.yml +++ b/.github/label-commenter-config.yml @@ -117,7 +117,7 @@ labels: This is related to code in the Support packages. The support packages contain example code that many users find helpful, but they do not necessarily represent the best practices for using Selenium, and the Selenium team is not prioritizing work on them right now. - This doesn't mean that we won't ever work on them, but it is not on our roadmap as we push to release Selenium 5. + This doesn't mean that we won't ever work on them, but it is not on our long term roadmap. We actively encourage people to create their own wrapper and helper code that makes sense for them. If you have any questions, please [contact us](https://www.selenium.dev/support) @@ -127,10 +127,12 @@ labels: The support packages contain example code that many users find helpful, but they do not necessarily represent the best practices for using Selenium, and the Selenium team is not currently merging changes to them. + + After reviewing the change, unless it is a critical fix or a feature that is needed for Selenium + to work, we will likely close the PR. We actively encourage people to add the wrapper and helper code that makes sense for them to their own frameworks. If you have any questions, please [contact us](https://www.selenium.dev/support) - action: close diff --git a/.github/renovate.json b/.github/renovate.json index 818b30e75f3f7..1926d485b79c4 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -1,3 +1,26 @@ { - "labels": ["B-dependencies"] + "labels": [ + "B-dependencies" + ], + "docker": { + "enabled": false + }, + "packageRules": [ + { + "matchDatasources": [ + "docker" + ], + "enabled": false + }, + { + "matchPackagePatterns": [ + "^docker:", + "^gcr.io/", + "^registry.k8s.io/", + "^quay.io/", + "^ghcr.io/" + ], + "enabled": false + } + ] } diff --git a/.github/workflows/ci-python.yml b/.github/workflows/ci-python.yml index 96bdbfefddf18..173cf2fa64613 100644 --- a/.github/workflows/ci-python.yml +++ b/.github/workflows/ci-python.yml @@ -21,13 +21,13 @@ jobs: - name: Checkout source tree uses: actions/checkout@v4 - name: Set up Python 3.9 - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: 3.9 - name: Install dependencies run: | python -m pip install --upgrade pip - pip install tox==4.27.0 + pip install tox==4.30.2 - name: Generate docs run: tox -c py/tox.ini env: @@ -41,13 +41,13 @@ jobs: - name: Checkout source tree uses: actions/checkout@v4 - name: Set up Python 3.9 - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: 3.9 - name: Install dependencies run: | python -m pip install --upgrade pip - pip install tox==4.27.0 + pip install tox==4.30.2 - name: Run type checking run: | tox -c py/tox.ini || true diff --git a/.github/workflows/ci-ruby.yml b/.github/workflows/ci-ruby.yml index 91bfc322ab9b4..08cff26a7eda3 100644 --- a/.github/workflows/ci-ruby.yml +++ b/.github/workflows/ci-ruby.yml @@ -96,7 +96,7 @@ jobs: matrix: include: - browser: edge - os: windows + os: macos with: name: Remote Tests (${{ matrix.browser }}, ${{ matrix.os }}) browser: ${{ matrix.browser }} diff --git a/.github/workflows/stage-release.yml b/.github/workflows/stage-release.yml index ec787db2e8fc3..ec797a780abc4 100644 --- a/.github/workflows/stage-release.yml +++ b/.github/workflows/stage-release.yml @@ -81,3 +81,5 @@ jobs: with: version: ${{ needs.github-release.outputs.version }} sha: ${{ github.sha }} + secrets: + SELENIUM_CI_TOKEN: ${{ secrets.SELENIUM_CI_TOKEN }} diff --git a/.github/workflows/update-documentation.yml b/.github/workflows/update-documentation.yml index fb8d579ea891f..d9d1ff83f197f 100644 --- a/.github/workflows/update-documentation.yml +++ b/.github/workflows/update-documentation.yml @@ -19,6 +19,11 @@ on: - dotnet - node - all + force: + description: Force generation even if version is nightly, type "force" to enable + required: false + type: string + default: "" workflow_call: inputs: @@ -32,6 +37,9 @@ on: required: false type: string default: "all" + secrets: + SELENIUM_CI_TOKEN: + required: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -60,7 +68,7 @@ jobs: distribution: 'temurin' - name: Set up Python 3.9 if: ${{ inputs.language == 'py' || inputs.language == 'all' }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: 3.9 - name: Install dependencies @@ -74,7 +82,7 @@ jobs: npm install npm install --prefix javascript/selenium-webdriver - name: Generate Documentation for selected langauges - run: ./go ${{ inputs.language }}:docs + run: ./go ${{ inputs.language }}:docs ${{ inputs.force }} - name: Documentation Pull Request id: cpr uses: peter-evans/create-pull-request@v6 diff --git a/.idea/misc.xml b/.idea/misc.xml index c052579f90a0f..43262c34163c2 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -6,4 +6,4 @@ - \ No newline at end of file + diff --git a/.skipped-tests b/.skipped-tests index 88eb59305ca8b..fba4d59fb1281 100644 --- a/.skipped-tests +++ b/.skipped-tests @@ -51,6 +51,4 @@ -//rb/spec/integration/selenium/webdriver:element-chrome -//rb/spec/integration/selenium/webdriver:element-chrome-bidi -//rb/spec/integration/selenium/webdriver:element-chrome-remote --//rb/spec/integration/selenium/webdriver:manager-firefox-beta --//rb/spec/integration/selenium/webdriver:manager-firefox-beta-remote -//rb:lint diff --git a/AUTHORS b/AUTHORS index c2caea885e760..131093bad398f 100644 --- a/AUTHORS +++ b/AUTHORS @@ -78,6 +78,7 @@ Andrii Rohovets Andy Duncan Angie Jones anonymous_sdet +Anthony Richardson <26676+Osseta@users.noreply.github.com> Anthony Sottile Anton Usmansky Anton Velma @@ -318,6 +319,7 @@ GFHuang <4510984+GF-Huang@users.noreply.github.com> ggkiokas <115367874+ggkiokas@users.noreply.github.com> Ghjuvan Lacambre Giorgos Tzampanakis +Giulio Longfils glaszig Glib Briia Godefroid Chapelle @@ -367,6 +369,7 @@ Iain Dawson Ian Lesperance ian zhang Iaroslav Naidon +iDONi <30952073+Aidoni0797@users.noreply.github.com> ifland Ilya Kozhevnikov Ilyas Bayraktar @@ -681,6 +684,7 @@ Nirantak Raghav Nitish Noel Gordon Noritaka Kobayashi +NoStory-py Nowell Strite Nozomi Ito no_author @@ -703,6 +707,7 @@ Outsider Paladin Wang <49390614+eversoutheast@users.noreply.github.com> Pallavi Palmer Bandy <37938675+palmermbandy@users.noreply.github.com> +Paresh Gupta <123556346+Paresh-0007@users.noreply.github.com> Pat Tullmann Patrice Jaton Patrick Beart @@ -900,6 +905,7 @@ Ulf Adams Ulrich Buchgraber User253489 V24 <55334829+umarfarouk98@users.noreply.github.com> +Vaibhav Gupta Valery Yatsynovich Varun Menon varunsurapaneni <67070327+varunsurapaneni@users.noreply.github.com> @@ -908,6 +914,8 @@ vedanthvdev <61700595+vedanthvdev@users.noreply.github.com> vergiliu vflame <0x484x0@gmail.com> Victor Tang +Victoria Ivanova +Victoria Ivanova Viet Nguyen Duc Vijay Singh Vijendarn Selvarajah <11275608+vijay44@users.noreply.github.com> diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3905abcb1d9e9..822c21f4f1c12 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,12 +14,10 @@ the defect. If the issue can't be reproduced it will be closed. Please provide [concise reproducible test cases](http://sscce.org/) and describe what results you are seeing and what results you expect. -Issues shouldn't be used for support. Please address questions to the -[`selenium-users@` mailing list](https://groups.google.com/forum/#!forum/selenium-users). +Issues shouldn't be used for support. To raise a bug, please go to the +[Issue tracker](https://github.com/SeleniumHQ/selenium/issues). Discussion of high level project ideas or non-technical topics should -move to the -[`selenium-developers@` mailing list](https://groups.google.com/forum/#!forum/selenium-developers) -instead. +move to the Selenium [Slack channel](https://inviter.co/seleniumhq). We also need help with triaging [issues that needs investigation](https://github.com/SeleniumHQ/selenium/labels/I-needs%20investigation). @@ -34,7 +32,6 @@ with details describing what feature(s) you'd like added or changed. If you'd like a hand at trying to implement the feature yourself, please refer to the [Code Contributions](#code-contributions) section of the document. - ## Documentation Selenium is a big software project and documentation is key to @@ -57,7 +54,7 @@ significant and valuable contributions over time are made _Committers_ and given commit-access to the project. If you're looking for easy bugs, have a look at -[issues labelled E-easy](https://github.com/SeleniumHQ/selenium/issues?q=is%3Aopen+is%3Aissue+label%3AE-easy) +[issues labelled: `good first issue`](https://github.com/SeleniumHQ/selenium/issues?q=is%3Aopen%20is%3Aissue%20label%3A%22good%20first%20issue%22) on Github. This document will guide you through the contribution process. diff --git a/MODULE.bazel b/MODULE.bazel index f73c55bc41d7b..dd60b47797859 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -15,11 +15,11 @@ bazel_dep(name = "platforms", version = "0.0.11") bazel_dep(name = "protobuf", version = "29.2", dev_dependency = True, repo_name = "com_google_protobuf") # Required for rules_rust to import the crates properly -bazel_dep(name = "rules_cc", version = "0.1.1", dev_dependency = True) +bazel_dep(name = "rules_cc", version = "0.2.0", dev_dependency = True) bazel_dep(name = "rules_dotnet", version = "0.17.5") bazel_dep(name = "rules_java", version = "8.7.1") -bazel_dep(name = "rules_jvm_external", version = "6.6") +bazel_dep(name = "rules_jvm_external", version = "6.8") bazel_dep(name = "rules_multitool", version = "1.3.0") bazel_dep(name = "rules_nodejs", version = "6.3.2") bazel_dep(name = "rules_oci", version = "1.8.0") @@ -29,12 +29,10 @@ bazel_dep(name = "rules_proto", version = "7.0.2") bazel_dep(name = "rules_ruby", version = "0.19.0") # Until `rules_jvm_external` 6.8 ships -git_override( +single_version_override( module_name = "rules_jvm_external", - commit = "aca619b117c1fe306ffdd20c5f47cc4dbd5effed", patch_strip = 1, patches = ["//java:rules_jvm_external_javadoc.patch"], - remote = "https://github.com/bazel-contrib/rules_jvm_external.git", ) multitool = use_extension("@rules_multitool//multitool:extension.bzl", "multitool") @@ -176,20 +174,22 @@ maven.install( artifacts = [ "com.beust:jcommander:1.82", "com.github.javaparser:javaparser-core:3.27.0", - "com.github.spotbugs:spotbugs:4.9.4", + "com.github.spotbugs:spotbugs:4.9.6", "com.github.stephenc.jcip:jcip-annotations:1.0-1", "com.google.code.findbugs:jsr305:3.0.2", - "com.google.code.gson:gson:2.13.1", - "com.google.guava:guava:33.4.8-jre", + "com.google.code.gson:gson:2.13.2", + "com.google.guava:guava:33.5.0-jre", "com.github.ben-manes.caffeine:caffeine:3.2.2", "com.google.auto:auto-common:1.2.2", "com.google.auto.service:auto-service:1.1.1", "com.google.auto.service:auto-service-annotations:1.1.1", "com.google.googlejavaformat:google-java-format:1.28.0", + "com.google.protobuf:protobuf-java:4.32.1", + "com.google.protobuf.nano:protobuf-javanano:3.1.0", "com.graphql-java:graphql-java:24.1", "dev.failsafe:failsafe:3.3.2", - "io.grpc:grpc-context:1.74.0", - "io.lettuce:lettuce-core:6.8.0.RELEASE", + "io.grpc:grpc-context:1.75.0", + "io.lettuce:lettuce-core:6.8.1.RELEASE", "io.netty:netty-buffer", "io.netty:netty-codec-http", "io.netty:netty-codec-http2", @@ -207,14 +207,15 @@ maven.install( "io.opentelemetry:opentelemetry-sdk-testing", "io.opentelemetry:opentelemetry-sdk-trace", "it.ozimov:embedded-redis:0.7.3", - "net.bytebuddy:byte-buddy:1.17.6", - "org.htmlunit:htmlunit-core-js:4.14.0", + "net.bytebuddy:byte-buddy:1.17.7", + "org.htmlunit:htmlunit-core-js:4.16.0", "org.apache.commons:commons-exec:1.5.0", "org.apache.logging.log4j:log4j-core:2.25.1", "org.assertj:assertj-core:3.27.4", - "org.bouncycastle:bcpkix-jdk18on:1.81", + "org.bouncycastle:bcpkix-jdk18on:1.82", "org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5", "org.hsqldb:hsqldb:2.7.4", + "org.jboss.marshalling:jboss-marshalling:2.2.3.Final", "org.jspecify:jspecify:1.0.0", "org.junit.jupiter:junit-jupiter-api", "org.junit.jupiter:junit-jupiter-engine", @@ -223,8 +224,8 @@ maven.install( "org.junit.platform:junit-platform-reporting", "org.junit.platform:junit-platform-commons", "org.junit.platform:junit-platform-engine", - "org.mockito:mockito-core:5.18.0", - "org.redisson:redisson:3.50.0", + "org.mockito:mockito-core:5.19.0", + "org.redisson:redisson:3.51.0", "org.slf4j:slf4j-api:2.0.17", "org.slf4j:slf4j-jdk14:2.0.17", "org.tomlj:tomlj:1.1.1", @@ -233,8 +234,8 @@ maven.install( "uk.org.webcompere:system-stubs-core:2.1.8", ], boms = [ - "io.opentelemetry:opentelemetry-bom:1.53.0", - "io.netty:netty-bom:4.1.121.Final", + "io.opentelemetry:opentelemetry-bom:1.54.0", + "io.netty:netty-bom:4.2.6.Final", "org.junit:junit-bom:5.13.4", ], excluded_artifacts = [ @@ -272,23 +273,25 @@ ruby.bundle_fetch( "//:rb/selenium-webdriver.gemspec", ], gem_checksums = { - "activesupport-7.2.2.1": "842bcbf8a92977f80fb4750661a237cf5dd4fdd442066b3c35e88afb488647f5", + "activesupport-7.2.2.2": "c54e84bb3d9027f1f372fb8f68203538fcfe0d5ff42801774c03974daa15bef0", "addressable-2.8.7": "462986537cf3735ab5f3c0f557f14155d778f4b43ea4f485a9deb9c8f7c58232", "ast-2.4.3": "954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383", - "base64-0.2.0": "0f25e9b21a02a0cc0cea8ef92b2041035d39350946e8789c562b2d1a3da01507", - "benchmark-0.4.0": "0f12f8c495545e3710c3e4f0480f63f06b4c842cc94cec7f33a956f5180e874a", - "bigdecimal-3.1.9": "2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc", - "bigdecimal-3.1.9-java": "dd9b8f7c870664cd9538a1325ce385ba57a6627969177258c4f0e661a7be4456", + "base64-0.3.0": "27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b", + "benchmark-0.4.1": "d4ef40037bba27f03b28013e219b950b82bace296549ec15a78016552f8d2cce", + "bigdecimal-3.2.3": "ffd11d1ac67a0d3b2f44aec0a6487210b3f813f363dd11f1fcccf5ba00da4e1b", + "bigdecimal-3.2.3-java": "7293e87efd050feac875bff1c62335dd5e8ce65d86ad22d7a4a3b5ed4f0ab48d", "concurrent-ruby-1.3.5": "813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6", - "connection_pool-2.5.3": "cfd74a82b9b094d1ce30c4f1a346da23ee19dc8a062a16a85f58eab1ced4305b", + "connection_pool-2.5.4": "e9e1922327416091f3f6542f5f4446c2a20745276b9aa796dd0bb2fd0ea1e70a", "crack-1.0.0": "c83aefdb428cdc7b66c7f287e488c796f055c0839e6e545fec2c7047743c4a49", - "csv-3.3.4": "e96ecd5a8c3494aa5b596282249daba5c6033203c199248e6146e36d2a78d8cd", + "csv-3.3.5": "6e5134ac3383ef728b7f02725d9872934f523cb40b961479f69cf3afa6c8e73f", "curb-1.0.9": "07e5b74a4836103ce186827528f76a22d3991a9b7c45f5c10ee18ee7b03feb0d", "date-3.4.1": "bf268e14ef7158009bfeaec40b5fa3c7271906e88b196d958a89d4b408abe64f", "date-3.4.1-java": "74740d914c65a922a15657c25ff0e203c16f1d0f7aa910a9ebed712afe9819c4", - "debug-1.10.0": "11e28ca74875979e612444104f3972bd5ffb9e79179907d7ad46dba44bd2e7a4", - "diff-lcs-1.6.1": "12a5a83f3e37a8e2f4427268e305914d5f1879f22b4e73bb1a09f76a3dd86cd4", - "drb-2.2.1": "e9d472bf785f558b96b25358bae115646da0dbfd45107ad858b0bc0d935cb340", + "debug-1.11.0": "1425db64cfa0130c952684e3dc974985be201dd62899bf4bbe3f8b5d6cf1aef2", + "diff-lcs-1.6.2": "9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962", + "drb-2.2.3": "0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373", + "erb-5.0.2": "d30f258143d4300fb4ecf430042ac12970c9bb4b33c974a545b8f58c1ec26c0f", + "erb-5.0.2-java": "d000d963afebc166ec7f2499b2b3198d526790cf962c37514d7a85843a60423c", "ffi-1.17.2": "297235842e5947cc3036ebe64077584bff583cd7a4e94e9a02fdec399ef46da6", "ffi-1.17.2-java": "94c8516d7c97b21915497b994e41f69e7e8e21d5fc085c498b68e52044e191ec", "ffi-1.17.2-x64-mingw-ucrt": "15d2da54ee578657a333a6059ed16eaba1cbd794ceecd15944825b65c8381ac0", @@ -296,57 +299,57 @@ ruby.bundle_fetch( "ffi-1.17.2-x86_64-linux-gnu": "05d2026fc9dbb7cfd21a5934559f16293815b7ce0314846fee2ac8efbdb823ea", "fileutils-1.7.3": "57271e854b694a87755d76f836f5c57b2c9538ebbaf4b2154bb66addf15eb5da", "git-1.19.1": "b0a422d9f6517353c48a330d6114de4db9e0c82dbe7202964a1d9f1fbc827d70", - "hashdiff-1.1.2": "2c30eeded6ed3dce8401d2b5b99e6963fe5f14ed85e60dd9e33c545a44b71a77", + "hashdiff-1.2.1": "9c079dbc513dfc8833ab59c0c2d8f230fa28499cc5efb4b8dd276cf931457cd1", "i18n-1.14.7": "ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f", - "io-console-0.8.0": "cd6a9facbc69871d69b2cb8b926fc6ea7ef06f06e505e81a64f14a470fddefa2", - "io-console-0.8.0-java": "3cc6fd5c66e587145c1fdf8dc40c2e3d851e90722a5d0cc3f38da352f06fe1bd", + "io-console-0.8.1": "1e15440a6b2f67b6ea496df7c474ed62c860ad11237f29b3bd187f054b925fcb", + "io-console-0.8.1-java": "9457a61a7b23aab11e9e9ff67f71ae81d7f1a6a2e582bb5d65d754cbb546c06f", "irb-1.15.2": "222f32952e278da34b58ffe45e8634bf4afc2dc7aa9da23fed67e581aa50fdba", "jar-dependencies-0.5.5": "2972b9fcba4b014e6446a84b5c09674a3e8648b95b71768e729f0e8e40568059", - "json-2.11.3": "9a10f658a2de67c0eb837eb795dd48132ce797c403e52b5ebef87dcdc7f9ccc1", - "json-2.11.3-java": "cfe8db24e49073c5bcd93699d106a1c1c9e5bc301fcc0de05965e72fad999a34", - "language_server-protocol-3.17.0.4": "c484626478664fd13482d8180947c50a8590484b1258b99b7aedb3b69df89669", + "json-2.13.2": "02e1f118d434c6b230a64ffa5c8dee07e3ec96244335c392eaed39e1199dbb68", + "json-2.13.2-java": "2e1292c45598a3642216820a821cba89c623f99387b8cb90adb345878f4e5c7d", + "language_server-protocol-3.17.0.5": "fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc", "lint_roller-1.1.0": "2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87", "listen-3.9.0": "db9e4424e0e5834480385197c139cb6b0ae0ef28cc13310cfd1ca78377d59c67", "logger-1.7.0": "196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203", "minitest-5.25.5": "391b6c6cb43a4802bfb7c93af1ebe2ac66a210293f4a3fb7db36f2fc7dc2c756", "parallel-1.27.0": "4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130", - "parser-3.3.8.0": "2476364142b307fa5a1b1ece44f260728be23858a9c71078e956131a75453c45", + "parser-3.3.9.0": "94d6929354b1a6e3e1f89d79d4d302cc8f5aa814431a6c9c7e0623335d7687f2", "pp-0.6.2": "947ec3120c6f92195f8ee8aa25a7b2c5297bb106d83b41baa02983686577b6ff", "prettyprint-0.2.0": "2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193", "prism-1.4.0": "dc0e3e00e93160213dc2a65519d9002a4a1e7b962db57d444cf1a71565bb703e", - "psych-5.2.4": "f2d9810f7f383a6b0fbc705202851e1a55b236bcb8e168ab5dfa5741842ec7c5", - "psych-5.2.4-java": "a3ae584e85e11fd069f17a563ef18f204d3df0fde0c093d35ae494fd64164664", + "psych-5.2.6": "814328aa5dcb6d604d32126a20bc1cbcf05521a5b49dbb1a8b30a07e580f316e", + "psych-5.2.6-java": "0a5f65d47ed1ae3475d062b254e7b2035a259eac578038016d62172dd4cfbd91", "public_suffix-6.0.2": "bfa7cd5108066f8c9602e0d6d4114999a5df5839a63149d3e8b0f9c1d3558394", "racc-1.8.1": "4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f", "racc-1.8.1-java": "54f2e6d1e1b91c154013277d986f52a90e5ececbe91465d29172e49342732b98", - "rack-2.2.13": "ccee101719696a5da12ee9da6fb3b1d20cb329939e089e0e458be6e93667f0fb", + "rack-2.2.17": "5fe02a1ca80d6fb2271dba00985ee2962d6f5620b6f46dfed89f5301ac4699dd", "rainbow-3.1.1": "039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a", - "rake-13.2.1": "46cb38dae65d7d74b6020a4ac9d48afed8eb8149c040eccf0523bec91907059d", + "rake-13.3.0": "96f5092d786ff412c62fde76f793cc0541bd84d2eb579caa529aa8a059934493", "rb-fsevent-0.11.2": "43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe", "rb-inotify-0.11.1": "a0a700441239b0ff18eb65e3866236cd78613d6b9f78fea1f9ac47a85e47be6e", - "rbs-3.9.2": "873b5d01a11f3dc15a7cc3bd66d9d50c3d05fad4fbb73b47704eb96f0ba6faf2", - "rchardet-1.9.0": "26889486cdd83b378652baf7603f71d93e431bb11bc237b4cd8c65151af4a590", - "rdoc-6.13.1": "62a0dac99493c94e8eb7a3fb44e55aefcb4cecb119f7991f25bddc5ed8d472f7", - "regexp_parser-2.10.0": "cb6f0ddde88772cd64bff1dbbf68df66d376043fe2e66a9ef77fcb1b0c548c61", - "reline-0.6.1": "1afcc9d7cb1029cdbe780d72f2f09251ce46d3780050f3ec39c3ccc6b60675fb", - "rexml-3.4.1": "c74527a9a0a04b4ec31dbe0dc4ed6004b960af943d8db42e539edde3a871abca", - "rspec-3.13.0": "d490914ac1d5a5a64a0e1400c1d54ddd2a501324d703b8cfe83f458337bab993", - "rspec-core-3.13.3": "25136507f4f9cf2e8977a2851e64e438b4331646054e345998714108745cdfe4", - "rspec-expectations-3.13.4": "4e43459765dfee900b25aa1361e106ab0799895ede65fc57872069feb559ecd8", - "rspec-mocks-3.13.3": "be08abadfe28e932d03b8e70215cd5972bd7693e0f1a45c7479b11e9a773c3c2", - "rspec-support-3.13.3": "2a61e393f6e18b7228726e0c6869c5d5a1419d37206116c4d917d145276b3f43", - "rubocop-1.75.4": "e0656af44d0811bb40f6d0bd4ed6c8d80c0f05f3444f0e8f0839833dd46d18c6", - "rubocop-ast-1.44.1": "e3cc04203b2ef04f6d6cf5f85fe6d643f442b18cc3b23e3ada0ce5b6521b8e92", - "rubocop-performance-1.25.0": "6f7d03568a770054117a78d0a8e191cefeffb703b382871ca7743831b1a52ec1", + "rbs-3.9.5": "eabaaf60aee84e38cbf94839c6e1b9cd145c7295fc3cc0e88c92e4069b1119b0", + "rchardet-1.10.0": "d5ea2ed61a720a220f1914778208e718a0c7ed2a484b6d357ba695aa7001390f", + "rdoc-6.14.2": "9fdd44df130f856ae70cc9a264dfd659b9b40de369b16581f4ab746e42439226", + "regexp_parser-2.11.3": "ca13f381a173b7a93450e53459075c9b76a10433caadcb2f1180f2c741fc55a4", + "reline-0.6.2": "1dad26a6008872d59c8e05244b119347c9f2ddaf4a53dce97856cd5f30a02846", + "rexml-3.4.4": "19e0a2c3425dfbf2d4fc1189747bdb2f849b6c5e74180401b15734bc97b5d142", + "rspec-3.13.1": "b9f9a58fa915b8d94a1d6b3195fe6dd28c4c34836a6097015142c4a9ace72140", + "rspec-core-3.13.5": "ab3f682897c6131c67f9a17cfee5022a597f283aebe654d329a565f9937a4fa3", + "rspec-expectations-3.13.5": "33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836", + "rspec-mocks-3.13.5": "e4338a6f285ada9fe56f5893f5457783af8194f5d08884d17a87321d5195ea81", + "rspec-support-3.13.6": "2e8de3702427eab064c9352fe74488cc12a1bfae887ad8b91cba480ec9f8afb2", + "rubocop-1.81.1": "352a9a6f314a4312f6c305f1f72bc466254d221c95445cd49e1b65d1f9411635", + "rubocop-ast-1.47.1": "592682017855408b046a8190689490763aecea175238232b1b526826349d01ae", + "rubocop-performance-1.26.0": "7bb0d9d9fb2ea122bf6f9a596dd7cf9dc93ab4950923d26c4ae4f328cef71ca9", "rubocop-rake-0.7.1": "3797f2b6810c3e9df7376c26d5f44f3475eda59eb1adc38e6f62ecf027cbae4d", - "rubocop-rspec-3.6.0": "c0e4205871776727e54dee9cc91af5fd74578001551ba40e1fe1a1ab4b404479", + "rubocop-rspec-3.7.0": "b7b214da112034db9c6d00f2d811a354847e870f7b6ed2482b29649c3d42058f", "ruby-progressbar-1.13.0": "80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33", - "rubyzip-2.4.1": "8577c88edc1fde8935eb91064c5cb1aef9ad5494b940cf19c775ee833e075615", + "rubyzip-3.1.1": "54c97dd156437018c6914d76df52d10560a3b7784de36b1551e4a0709f958273", "securerandom-0.4.1": "cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1", "steep-1.5.3": "7c6302a4d5932d0a46176ebc79766e52b853c223a85525aa2f8911e345123b85", "stringio-3.1.7": "5b78b7cb242a315fb4fca61a8255d62ec438f58da2b90be66048546ade4507fa", - "strscan-3.1.4": "8e130a503aa6c79352c6ac02a9819507c8b8720c174ce8335e3eb2c8cc2ae042", - "strscan-3.1.4-java": "5551e01d215ba8ac7dadb6dab46b9fb4c33303ba63eaf3e1b0496c078b8d3fb8", + "strscan-3.1.5": "f8413b90ea9395a69609a4414a8c88551bcda64337e234272c24fcd4c83e5947", + "strscan-3.1.5-java": "84805eaad025f64854376608a6dbd49d4a22740ec3f21ba880434a6641621f1e", "terminal-table-3.0.2": "f951b6af5f3e00203fb290a669e0a85c5dd5b051b3b023392ccfd67ba5abae91", "tzinfo-2.0.6": "8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b", "unicode-display_width-2.6.0": "12279874bba6d5e4d2728cef814b19197dbb10d7a7837a869bab65da943b7f5a", diff --git a/Rakefile b/Rakefile index 833ec94917f68..73936caa4ff04 100644 --- a/Rakefile +++ b/Rakefile @@ -96,7 +96,7 @@ task '//java/test/org/openqa/selenium/environment/webserver:webserver:uber' => [ 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/v137:v137.publish + //java/src/org/openqa/selenium/devtools/v140:v140.publish //java/src/org/openqa/selenium/devtools/v138:v138.publish //java/src/org/openqa/selenium/devtools/v139:v139.publish //java/src/org/openqa/selenium/edge:edge.publish @@ -1118,12 +1118,13 @@ namespace :all do end desc 'Update all API Documentation' - task :docs do - Rake::Task['java:docs'].invoke('skip_update') - Rake::Task['py:docs'].invoke('skip_update') - Rake::Task['rb:docs'].invoke('skip_update') - Rake::Task['dotnet:docs'].invoke('skip_update') - Rake::Task['node:docs'].invoke('skip_update') + task :docs do |_task, arguments| + args = arguments.to_a + Rake::Task['java:docs'].invoke(*(args + ['skip_update'])) + Rake::Task['py:docs'].invoke(*(args + ['skip_update'])) + Rake::Task['rb:docs'].invoke(*(args + ['skip_update'])) + Rake::Task['dotnet:docs'].invoke(*(args + ['skip_update'])) + Rake::Task['node:docs'].invoke(*(args + ['skip_update'])) update_gh_pages end diff --git a/WORKSPACE b/WORKSPACE index e82b52f11fa56..151d0438675ff 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -26,15 +26,15 @@ rules_closure_toolchains() http_archive( name = "rules_rust", - integrity = "sha256-eEXiHXSGUH6qD1bdI5KXZ/B04m0wIUeoyM7pmujzbbQ=", - urls = ["https://github.com/bazelbuild/rules_rust/releases/download/0.55.5/rules_rust-0.55.5.tar.gz"], + integrity = "sha256-YrnH/f8jCpEqGAU+keNqauc+QSde9egtcFXqPtJuee4=", + urls = ["https://github.com/bazelbuild/rules_rust/releases/download/0.65.0/rules_rust-0.65.0.tar.gz"], ) load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains") rules_rust_dependencies() -rust_register_toolchains() +rust_register_toolchains(versions = ["1.89.0"]) load("@rules_rust//crate_universe:defs.bzl", "crates_repository") @@ -48,3 +48,7 @@ crates_repository( load("@crates//:defs.bzl", "crate_repositories") crate_repositories() + +load("@rules_rust//cargo:deps.bzl", "cargo_dependencies") + +cargo_dependencies() diff --git a/common/devtools/chromium/v137/BUILD.bazel b/common/devtools/chromium/v140/BUILD.bazel similarity index 100% rename from common/devtools/chromium/v137/BUILD.bazel rename to common/devtools/chromium/v140/BUILD.bazel diff --git a/common/devtools/chromium/v137/browser_protocol.pdl b/common/devtools/chromium/v140/browser_protocol.pdl similarity index 97% rename from common/devtools/chromium/v137/browser_protocol.pdl rename to common/devtools/chromium/v140/browser_protocol.pdl index db00f32e16afa..64b9c19d9a2fe 100644 --- a/common/devtools/chromium/v137/browser_protocol.pdl +++ b/common/devtools/chromium/v140/browser_protocol.pdl @@ -825,6 +825,13 @@ experimental domain Audits ValidationFailedSignatureMismatch ValidationFailedIntegrityMismatch + type UnencodedDigestError extends string + enum + MalformedDictionary + UnknownAlgorithm + IncorrectDigestType + IncorrectDigestLength + # Details for issues around "Attribution Reporting API" usage. # Explainer: https://github.com/WICG/attribution-reporting-api type AttributionReportingIssueDetails extends object @@ -863,6 +870,11 @@ experimental domain Audits array of string integrityAssertions AffectedRequest request + type UnencodedDigestIssueDetails extends object + properties + UnencodedDigestError error + AffectedRequest request + type GenericIssueErrorType extends string enum FormLabelForNameError @@ -1031,19 +1043,20 @@ experimental domain Audits # Additional information about the Partitioning Blob URL issue. PartitioningBlobURLInfo partitioningBlobURLInfo - type SelectElementAccessibilityIssueReason extends string + type ElementAccessibilityIssueReason extends string enum DisallowedSelectChild DisallowedOptGroupChild NonPhrasingContentOptionChild InteractiveContentOptionChild InteractiveContentLegendChild + InteractiveContentSummaryDescendant - # This issue warns about errors in the select element content model. - type SelectElementAccessibilityIssueDetails extends object + # This issue warns about errors in the select or summary element content model. + type ElementAccessibilityIssueDetails extends object properties DOM.BackendNodeId nodeId - SelectElementAccessibilityIssueReason selectElementAccessibilityIssueReason + ElementAccessibilityIssueReason elementAccessibilityIssueReason boolean hasDisallowedAttributes type StyleSheetLoadingIssueReason extends string @@ -1079,6 +1092,19 @@ experimental domain Audits # The value of the property rule property that failed to parse optional string propertyValue + type UserReidentificationIssueType extends string + enum + BlockedFrameNavigation + BlockedSubresource + + # This issue warns about uses of APIs that may be considered misuse to + # re-identify users. + type UserReidentificationIssueDetails extends object + properties + UserReidentificationIssueType type + # Applies to BlockedFrameNavigation and BlockedSubresource issue types. + optional AffectedRequest request + # A unique identifier for the type of issue. Each type may use one of the # optional fields in InspectorIssueDetails to convey more specific # information about the kind of issue. @@ -1107,8 +1133,10 @@ experimental domain Audits FederatedAuthUserInfoRequestIssue PropertyRuleIssue SharedDictionaryIssue - SelectElementAccessibilityIssue + ElementAccessibilityIssue SRIMessageSignatureIssue + UnencodedDigestIssue + UserReidentificationIssue # This struct holds a list of optional fields with additional information # specific to the kind of issue. When adding a new issue code, please also @@ -1137,8 +1165,10 @@ experimental domain Audits optional PropertyRuleIssueDetails propertyRuleIssueDetails optional FederatedAuthUserInfoRequestIssueDetails federatedAuthUserInfoRequestIssueDetails optional SharedDictionaryIssueDetails sharedDictionaryIssueDetails - optional SelectElementAccessibilityIssueDetails selectElementAccessibilityIssueDetails + optional ElementAccessibilityIssueDetails elementAccessibilityIssueDetails optional SRIMessageSignatureIssueDetails sriMessageSignatureIssueDetails + optional UnencodedDigestIssueDetails unencodedDigestIssueDetails + optional UserReidentificationIssueDetails userReidentificationIssueDetails # A unique id for a DevTools inspector issue. Allows other entities (e.g. # exceptions, CDP message, console messages, etc.) to reference an issue. @@ -1619,6 +1649,10 @@ domain Browser inProgress completed canceled + # If download is "completed", provides the path of the downloaded file. + # Depending on the platform, it is not guaranteed to be set, nor the file + # is guaranteed to exist. + experimental optional string filePath # Close browser gracefully. command close @@ -1728,6 +1762,18 @@ domain Browser # with 'left', 'top', 'width' or 'height'. Leaves unspecified fields unchanged. Bounds bounds + # Set size of the browser contents resizing browser window as necessary. + experimental command setContentsSize + parameters + # Browser window id. + WindowID windowId + # The window contents width in DIP. Assumes current width if omitted. + # Must be specified if 'height' is omitted. + optional integer width + # The window contents height in DIP. Assumes current height if omitted. + # Must be specified if 'width' is omitted. + optional integer height + # Set dock tile details, platform-specific. experimental command setDockTile parameters @@ -2102,6 +2148,8 @@ experimental domain CSS optional DOM.LogicalAxes logicalAxes # true if the query contains scroll-state() queries. optional boolean queriesScrollState + # true if the query contains anchored() queries. + optional boolean queriesAnchored # CSS Supports at-rule descriptor. experimental type CSSSupports extends object @@ -2527,6 +2575,11 @@ experimental domain CSS # A list of CSS at-function rules referenced by styles of this node. experimental optional array of CSSFunctionRule cssFunctionRules + # Returns the values of the default UA-defined environment variables used in env() + experimental command getEnvironmentVariables + returns + object environmentVariables + # Returns all media queries parsed by the rendering engine. command getMediaQueries returns @@ -2987,12 +3040,14 @@ domain DOM view-transition view-transition-group view-transition-image-pair + view-transition-group-children view-transition-old view-transition-new placeholder file-selector-button details-content picker + permission-icon # Shadow root type. type ShadowRootType extends string @@ -3364,6 +3419,8 @@ domain DOM optional BackendNodeId backendNodeId # JavaScript object id of the node wrapper. optional Runtime.RemoteObjectId objectId + # Include all shadow roots. Equals to false if not specified. + experimental optional boolean includeShadowDOM returns # Outer HTML markup. string outerHTML @@ -3496,8 +3553,12 @@ domain DOM # Get the popover target for a given element. In this case, this given # element can only be an HTMLFormControlElement (,