From b4073ffa7f1930795378c5fda59077d73af25854 Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Tue, 12 Aug 2025 18:30:15 +0200 Subject: [PATCH 001/118] Bumping versions to nightly --- dotnet/selenium-dotnet-version.bzl | 2 +- java/version.bzl | 2 +- javascript/selenium-webdriver/BUILD.bazel | 2 +- javascript/selenium-webdriver/package.json | 2 +- py/BUILD.bazel | 2 +- py/docs/source/conf.py | 4 +- py/pyproject.toml | 2 +- py/selenium/__init__.py | 2 +- py/selenium/webdriver/__init__.py | 2 +- rb/Gemfile.lock | 2 +- rb/lib/selenium/webdriver/version.rb | 2 +- rust/BUILD.bazel | 2 +- rust/Cargo.Bazel.lock | 83 +++------------------- rust/Cargo.lock | 2 +- rust/Cargo.toml | 2 +- 15 files changed, 25 insertions(+), 88 deletions(-) diff --git a/dotnet/selenium-dotnet-version.bzl b/dotnet/selenium-dotnet-version.bzl index 4c9f17180c4ff..a621623ea6940 100644 --- a/dotnet/selenium-dotnet-version.bzl +++ b/dotnet/selenium-dotnet-version.bzl @@ -1,6 +1,6 @@ # BUILD FILE SYNTAX: STARLARK -SE_VERSION = "4.35.0" +SE_VERSION = "4.36.0-nightly202508121825" ASSEMBLY_VERSION = "4.0.0.0" SUPPORTED_NET_STANDARD_VERSIONS = ["netstandard2.0"] diff --git a/java/version.bzl b/java/version.bzl index eabb2a39cee88..df5ebe7dd7f47 100644 --- a/java/version.bzl +++ b/java/version.bzl @@ -1,2 +1,2 @@ -SE_VERSION = "4.35.0" +SE_VERSION = "4.36.0-SNAPSHOT" TOOLS_JAVA_VERSION = "17" diff --git a/javascript/selenium-webdriver/BUILD.bazel b/javascript/selenium-webdriver/BUILD.bazel index 02d7c11441c3a..292370e429251 100644 --- a/javascript/selenium-webdriver/BUILD.bazel +++ b/javascript/selenium-webdriver/BUILD.bazel @@ -11,7 +11,7 @@ load("//javascript/private:browsers.bzl", "BROWSERS") npm_link_all_packages(name = "node_modules") -VERSION = "4.35.0" +VERSION = "4.36.0-nightly202508121825" BROWSER_VERSIONS = [ "v137", diff --git a/javascript/selenium-webdriver/package.json b/javascript/selenium-webdriver/package.json index 63e719cec283a..64f8861743eb8 100644 --- a/javascript/selenium-webdriver/package.json +++ b/javascript/selenium-webdriver/package.json @@ -1,6 +1,6 @@ { "name": "selenium-webdriver", - "version": "4.35.0", + "version": "4.36.0-nightly202508121825", "description": "The official WebDriver JavaScript bindings from the Selenium project", "license": "Apache-2.0", "keywords": [ diff --git a/py/BUILD.bazel b/py/BUILD.bazel index e920a0c1dd5f2..db1c47031c156 100644 --- a/py/BUILD.bazel +++ b/py/BUILD.bazel @@ -63,7 +63,7 @@ compile_pip_requirements( ], ) -SE_VERSION = "4.35.0" +SE_VERSION = "4.36.0.202508121825" BROWSER_VERSIONS = [ "v137", diff --git a/py/docs/source/conf.py b/py/docs/source/conf.py index c175d51487615..8353f4f23ecae 100644 --- a/py/docs/source/conf.py +++ b/py/docs/source/conf.py @@ -64,9 +64,9 @@ # built documents. # # The short X.Y version. -version = "4.35" +version = "4.36" # The full version, including alpha/beta/rc tags. -release = "4.35.0" +release = "4.36.0.202508121825" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/py/pyproject.toml b/py/pyproject.toml index 2d7737f2b0ceb..5b2b0ad0d4d98 100644 --- a/py/pyproject.toml +++ b/py/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "selenium" -version = "4.35.0" +version = "4.36.0.202508121825" license = "Apache-2.0" license-files = ["LICENSE", "NOTICE"] description = "Official Python bindings for Selenium WebDriver." diff --git a/py/selenium/__init__.py b/py/selenium/__init__.py index 4968d9c8ad3b4..d8d68e7a0b277 100644 --- a/py/selenium/__init__.py +++ b/py/selenium/__init__.py @@ -16,4 +16,4 @@ # under the License. -__version__ = "4.35.0" +__version__ = "4.36.0.202508121825" diff --git a/py/selenium/webdriver/__init__.py b/py/selenium/webdriver/__init__.py index 48c84fa54b3d2..49efd310bda81 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.35.0" +__version__ = "4.36.0.202508121825" # We need an explicit __all__ because the above won't otherwise be exported. __all__ = [ diff --git a/rb/Gemfile.lock b/rb/Gemfile.lock index c80f299f85c2d..b3ff2ee63694a 100644 --- a/rb/Gemfile.lock +++ b/rb/Gemfile.lock @@ -3,7 +3,7 @@ PATH specs: selenium-devtools (0.139.0) selenium-webdriver (~> 4.2) - selenium-webdriver (4.35.0) + selenium-webdriver (4.36.0.nightly) base64 (~> 0.2) logger (~> 1.4) rexml (~> 3.2, >= 3.2.5) diff --git a/rb/lib/selenium/webdriver/version.rb b/rb/lib/selenium/webdriver/version.rb index 14c6b1ecba1bf..274968d95bc78 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.35.0' + VERSION = '4.36.0.nightly' end # WebDriver end # Selenium diff --git a/rust/BUILD.bazel b/rust/BUILD.bazel index c17f5f20766ed..abdff69723a4a 100644 --- a/rust/BUILD.bazel +++ b/rust/BUILD.bazel @@ -77,7 +77,7 @@ rust_binary( name = "selenium-manager", srcs = ["src/main.rs"], edition = "2021", - version = "0.4.35", + version = "0.4.36-nightly", visibility = ["//visibility:public"], deps = [ ":selenium_manager", diff --git a/rust/Cargo.Bazel.lock b/rust/Cargo.Bazel.lock index f23664029e62f..650d66595a1a0 100644 --- a/rust/Cargo.Bazel.lock +++ b/rust/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "ba20a76142f2e697f7d66ffe689ecff09c9198c4fded6da537f4dcc9c507b184", + "checksum": "eaf243012334a63ea1f849dc43ec832e87c2f982b91793e26047d340b68bcae3", "crates": { "addr2line 0.21.0": { "name": "addr2line", @@ -2105,79 +2105,16 @@ "id": "jobserver 0.1.31", "target": "jobserver" }, + { + "id": "libc 0.2.174", + "target": "libc" + }, { "id": "shlex 1.3.0", "target": "shlex" } ], - "selects": { - "aarch64-apple-darwin": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-unknown-linux-gnu": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-unknown-nixos-gnu": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "arm-unknown-linux-gnueabi": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "i686-unknown-linux-gnu": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "powerpc-unknown-linux-gnu": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "s390x-unknown-linux-gnu": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-apple-darwin": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-unknown-freebsd": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-unknown-linux-gnu": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-unknown-nixos-gnu": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ] - } + "selects": {} }, "edition": "2018", "version": "1.1.30" @@ -13606,9 +13543,9 @@ ], "license_file": "LICENSE" }, - "selenium-manager 0.4.35": { + "selenium-manager 0.4.36-nightly": { "name": "selenium-manager", - "version": "0.4.35", + "version": "0.4.36-nightly", "package_url": "https://github.com/SeleniumHQ/selenium", "repository": null, "targets": [ @@ -13764,7 +13701,7 @@ "selects": {} }, "edition": "2021", - "version": "0.4.35" + "version": "0.4.36-nightly" }, "license": "Apache-2.0", "license_ids": [ @@ -22018,7 +21955,7 @@ }, "binary_crates": [], "workspace_members": { - "selenium-manager 0.4.35": "rust" + "selenium-manager 0.4.36-nightly": "rust" }, "conditions": { "aarch64-apple-darwin": [ diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 01685f8dc1375..65fc357a0c3d5 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -1850,7 +1850,7 @@ dependencies = [ [[package]] name = "selenium-manager" -version = "0.4.35" +version = "0.4.36-nightly" dependencies = [ "anyhow", "apple-flat-package", diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 9a94d708849f3..9bef694cfaa5d 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "selenium-manager" -version = "0.4.35" # don't forget to update rust/BUILD.bazel +version = "0.4.36-nightly" # don't forget to update rust/BUILD.bazel edition = "2021" authors = ["Selenium Date: Wed, 13 Aug 2025 08:11:57 +0200 Subject: [PATCH 002/118] [dotnet][rb][java][js][py] Automated Browser Version Update (#16167) Update pinned browser versions Co-authored-by: Selenium CI Bot --- common/repositories.bzl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/common/repositories.bzl b/common/repositories.bzl index f97a27d99b332..a5d903b1c7142 100644 --- a/common/repositories.bzl +++ b/common/repositories.bzl @@ -199,8 +199,8 @@ js_library( http_archive( name = "linux_chrome", - url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.66/linux64/chrome-linux64.zip", - sha256 = "4ee01c09848cce8cbb0b2ad1a86571caf9889bf771f01225ea4bb83eeec8da8a", + url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.68/linux64/chrome-linux64.zip", + sha256 = "57966f0d19e7c4294d89e7fa25b1a6f0801475c3d51cf708597d5af9a9e474f8", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) @@ -220,8 +220,8 @@ js_library( ) http_archive( name = "mac_chrome", - url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.66/mac-x64/chrome-mac-x64.zip", - sha256 = "9c1e521e9887ff4e21061ad142a22de522e91b3279544e08f510633549c0ff21", + url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.68/mac-x64/chrome-mac-x64.zip", + sha256 = "a49442c4cc6a28faeeecde16d27b5b8a1c5306020788c81160f2a19388ecf645", strip_prefix = "chrome-mac-x64", patch_cmds = [ "mv 'Google Chrome for Testing.app' Chrome.app", @@ -241,8 +241,8 @@ js_library( ) http_archive( name = "linux_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.66/linux64/chromedriver-linux64.zip", - sha256 = "54e7a0bd1050018c17dc529167a5deecb9dd709ecbb926be6d9599a22e86e22a", + url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.68/linux64/chromedriver-linux64.zip", + sha256 = "ec29104132a6ff1ae5f2ffe7b27b7ff675a58ab9b1ef616badcbdd35577b31b3", strip_prefix = "chromedriver-linux64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") @@ -259,8 +259,8 @@ js_library( http_archive( name = "mac_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.66/mac-x64/chromedriver-mac-x64.zip", - sha256 = "12ed690058dbffa45e0239675a7b70bf232de14f8c95c9a717ca33482cdd52b6", + url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.68/mac-x64/chromedriver-mac-x64.zip", + sha256 = "2b9787f5f758c9f3e3888ac23270f8de47b168679718a4440bd1cea2b3cc57e9", strip_prefix = "chromedriver-mac-x64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") From d112a2913bec85def85f82bbee0f338a65e3adce Mon Sep 17 00:00:00 2001 From: Navin Chandra Date: Wed, 13 Aug 2025 14:19:19 +0530 Subject: [PATCH 003/118] [py]: close ipv6 port in case of error (#16165) --- py/selenium/webdriver/common/utils.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/py/selenium/webdriver/common/utils.py b/py/selenium/webdriver/common/utils.py index 4bc16a9400e8e..801b88ce2d027 100644 --- a/py/selenium/webdriver/common/utils.py +++ b/py/selenium/webdriver/common/utils.py @@ -44,6 +44,8 @@ def free_port() -> int: free_socket = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) free_socket.bind(("::1", 0)) except OSError: + if free_socket: + free_socket.close() raise RuntimeError("Can't find free port (Unable to bind to IPv4 or IPv6)") try: port: int = free_socket.getsockname()[1] From 88a732ab4cae87d07162a06c5ed0867c03255f1b Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Wed, 13 Aug 2025 08:53:14 +0000 Subject: [PATCH 004/118] Update mirror info (Wed Aug 13 08:53:14 UTC 2025) --- common/mirror/selenium | 52 +++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/common/mirror/selenium b/common/mirror/selenium index e233fc81b779b..aa4278ad46db9 100644 --- a/common/mirror/selenium +++ b/common/mirror/selenium @@ -1,15 +1,35 @@ [ + { + "tag_name": "selenium-4.35.0", + "assets": [ + { + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.35.0/selenium-dotnet-4.35.0.zip" + }, + { + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.35.0/selenium-dotnet-strongnamed-4.35.0.zip" + }, + { + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.35.0/selenium-java-4.35.0.zip" + }, + { + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.35.0/selenium-server-4.35.0.jar" + }, + { + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.35.0/selenium-server-4.35.0.zip" + } + ] + }, { "tag_name": "nightly", "assets": [ { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-java-4.35.0-SNAPSHOT.zip" + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-java-4.36.0-SNAPSHOT.zip" }, { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.35.0-SNAPSHOT.jar" + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.36.0-SNAPSHOT.jar" }, { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.35.0-SNAPSHOT.zip" + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.36.0-SNAPSHOT.zip" } ] }, @@ -791,31 +811,5 @@ "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.7.0/selenium-server-4.7.2.zip" } ] - }, - { - "tag_name": "selenium-4.6.0", - "assets": [ - { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.6.0/IEDriverServer_Win32_4.6.0.zip" - }, - { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.6.0/IEDriverServer_x64_4.6.0.zip" - }, - { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.6.0/selenium-dotnet-4.6.0.zip" - }, - { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.6.0/selenium-dotnet-strongnamed-4.6.0.zip" - }, - { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.6.0/selenium-java-4.6.0.zip" - }, - { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.6.0/selenium-server-4.6.0.jar" - }, - { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.6.0/selenium-server-4.6.0.zip" - } - ] } ] From 1d8078ec383b83277975d143ca7509c364e84dfa Mon Sep 17 00:00:00 2001 From: Pallavi Date: Wed, 13 Aug 2025 20:51:37 +0530 Subject: [PATCH 005/118] [docs] Update issue label in CONTRIBUTING.md (#16169) Co-authored-by: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3905abcb1d9e9..b3a2943632d8e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -57,7 +57,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. From db884e5d7df6ed79af84b4dc3b065dbb2d195e7e Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Thu, 14 Aug 2025 00:23:34 +0000 Subject: [PATCH 006/118] Update mirror info (Thu Aug 14 00:23:34 UTC 2025) --- common/mirror/selenium | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/common/mirror/selenium b/common/mirror/selenium index aa4278ad46db9..39346e21d15b0 100644 --- a/common/mirror/selenium +++ b/common/mirror/selenium @@ -1,35 +1,35 @@ [ { - "tag_name": "selenium-4.35.0", + "tag_name": "nightly", "assets": [ { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.35.0/selenium-dotnet-4.35.0.zip" - }, - { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.35.0/selenium-dotnet-strongnamed-4.35.0.zip" - }, - { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.35.0/selenium-java-4.35.0.zip" + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-java-4.36.0-SNAPSHOT.zip" }, { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.35.0/selenium-server-4.35.0.jar" + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.36.0-SNAPSHOT.jar" }, { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.35.0/selenium-server-4.35.0.zip" + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.36.0-SNAPSHOT.zip" } ] }, { - "tag_name": "nightly", + "tag_name": "selenium-4.35.0", "assets": [ { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-java-4.36.0-SNAPSHOT.zip" + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.35.0/selenium-dotnet-4.35.0.zip" }, { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.36.0-SNAPSHOT.jar" + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.35.0/selenium-dotnet-strongnamed-4.35.0.zip" }, { - "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.36.0-SNAPSHOT.zip" + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.35.0/selenium-java-4.35.0.zip" + }, + { + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.35.0/selenium-server-4.35.0.jar" + }, + { + "browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.35.0/selenium-server-4.35.0.zip" } ] }, From 5e512bdac16b58eef288ae64a0a5988a3e7592c6 Mon Sep 17 00:00:00 2001 From: Navin Chandra Date: Thu, 14 Aug 2025 10:27:21 +0530 Subject: [PATCH 007/118] [py][docs]: update dead API docs link to API reference in `index.rst` (#16170) --- py/docs/source/index.rst | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/py/docs/source/index.rst b/py/docs/source/index.rst index 80f40bd12ee4d..9e5859e5ac040 100644 --- a/py/docs/source/index.rst +++ b/py/docs/source/index.rst @@ -9,19 +9,19 @@ Python language bindings for Selenium WebDriver. The `selenium` package is used to automate web browser interaction from Python. -+-------------------+------------------------------------------------+ -| **Home**: | https://selenium.dev | -+-------------------+------------------------------------------------+ -| **GitHub**: | https://github.com/SeleniumHQ/Selenium | -+-------------------+------------------------------------------------+ -| **PyPI**: | https://pypi.org/project/selenium | -+-------------------+------------------------------------------------+ -| **IRC/Slack**: | https://www.selenium.dev/support/#ChatRoom | -+-------------------+------------------------------------------------+ -| **Docs**: | https://www.selenium.dev/selenium/docs/api/py | -+-------------------+------------------------------------------------+ -| **API Docs**: | `api.html `_ | -+-------------------+------------------------------------------------+ ++-------------------+--------------------------------------------------------+ +| **Home**: | https://selenium.dev | ++-------------------+--------------------------------------------------------+ +| **GitHub**: | https://github.com/SeleniumHQ/Selenium | ++-------------------+--------------------------------------------------------+ +| **PyPI**: | https://pypi.org/project/selenium | ++-------------------+--------------------------------------------------------+ +| **IRC/Slack**: | https://www.selenium.dev/support/#ChatRoom | ++-------------------+--------------------------------------------------------+ +| **Docs**: | https://www.selenium.dev/selenium/docs/api/py | ++-------------------+--------------------------------------------------------+ +| **API Reference**:| https://www.selenium.dev/selenium/docs/api/py/api.html | ++-------------------+--------------------------------------------------------+ Updated documentation published with each commit is available at: `readthedocs.io `_ From 78816352251cd919d1b9cc721d0016aec97659de Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Thu, 14 Aug 2025 07:04:01 +0200 Subject: [PATCH 008/118] [dotnet][rb][java][js][py] Automated Browser Version Update (#16175) Co-authored-by: Selenium CI Bot Co-authored-by: Navin Chandra --- common/repositories.bzl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/common/repositories.bzl b/common/repositories.bzl index a5d903b1c7142..18cd0ae3ff93f 100644 --- a/common/repositories.bzl +++ b/common/repositories.bzl @@ -277,8 +277,8 @@ js_library( http_archive( name = "linux_beta_chrome", - url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.6/linux64/chrome-linux64.zip", - sha256 = "b157ec8a2952606724486f9ed0911aa4dec8e3bcbeb1ba722c13f52999a58dff", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.16/linux64/chrome-linux64.zip", + sha256 = "ced1841af7400a153e23cef3e39a7f9247034a0f1ce845b36b22904920db63e2", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) @@ -298,8 +298,8 @@ js_library( ) http_archive( name = "mac_beta_chrome", - url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.6/mac-x64/chrome-mac-x64.zip", - sha256 = "6d5b57ee94e218a4101662e02d0f8086e4711701be7d99a2693ad62809f927fe", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.16/mac-x64/chrome-mac-x64.zip", + sha256 = "dcc3d96ad192f15f10089b7a92fb429ba0a934f4820eecc3af44f0d961b4bcf5", strip_prefix = "chrome-mac-x64", patch_cmds = [ "mv 'Google Chrome for Testing.app' Chrome.app", @@ -319,8 +319,8 @@ js_library( ) http_archive( name = "linux_beta_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.6/linux64/chromedriver-linux64.zip", - sha256 = "78c84b8bb6f7671a657ecf25531fa7972c9d4ea753523e11d2f75a0eb14ebff0", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.16/linux64/chromedriver-linux64.zip", + sha256 = "f40639ecc590adea9583a15066afd8e2e3e84173435dc4e31d9b01afcc41bd66", strip_prefix = "chromedriver-linux64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") @@ -337,8 +337,8 @@ js_library( http_archive( name = "mac_beta_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.6/mac-x64/chromedriver-mac-x64.zip", - sha256 = "10dc8f0ea0154261aedb2f1b075bee761f1a26de793085d4f22160cc169e22d4", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.16/mac-x64/chromedriver-mac-x64.zip", + sha256 = "931126b95bdaed2ae63001195c8506011d6e7d2554b61462c82e19671602978b", strip_prefix = "chromedriver-mac-x64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") From 830bc8fe8415b82af264e382276ff4419794fe0c Mon Sep 17 00:00:00 2001 From: Boni Garcia Date: Thu, 14 Aug 2025 18:24:48 +0200 Subject: [PATCH 009/118] Update hash of SM Windows binary (signed with EV token and manually updated in the repo) --- common/selenium_manager.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/selenium_manager.bzl b/common/selenium_manager.bzl index 6e005b759e6b7..6eb62c2bd4e81 100644 --- a/common/selenium_manager.bzl +++ b/common/selenium_manager.bzl @@ -20,7 +20,7 @@ def selenium_manager(): http_file( name = "download_sm_windows", executable = True, - sha256 = "eb6e3b19bb70c3fee7fdb332153d7c7c523034044059900e80b663b8817e720c", + sha256 = "89dd1d25e321a07cc88fd76fb6143008298092faecb1573835e0f86483d0abfa", url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-acecd4f/selenium-manager-windows.exe", ) From 3fa33b78855a0f9b7adc3192f3710bd851edae5a Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Thu, 14 Aug 2025 19:21:00 +0200 Subject: [PATCH 010/118] Generating docs even if it is nightly [skip ci] --- .github/workflows/update-documentation.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/update-documentation.yml b/.github/workflows/update-documentation.yml index fb8d579ea891f..e558c451e6cdc 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: @@ -74,7 +79,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 From 31e927ea1577edf1c0fc6bda24a3e61bd36409b9 Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Thu, 14 Aug 2025 19:51:48 +0200 Subject: [PATCH 011/118] Updating Rakefile to allow task receive args [skip ci] --- Rakefile | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Rakefile b/Rakefile index 833ec94917f68..ec93558514cb2 100644 --- a/Rakefile +++ b/Rakefile @@ -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 From 992c1cd3a993fc5070641506a97a058465deabee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Sautter?= Date: Thu, 14 Aug 2025 17:28:57 +0200 Subject: [PATCH 012/118] [grid] close the HttpClient after the session is gone --- .../openqa/selenium/grid/node/DefaultActiveSession.java | 5 ++--- .../grid/node/config/DriverServiceSessionFactory.java | 6 ++---- .../openqa/selenium/grid/node/docker/DockerSession.java | 1 + .../src/org/openqa/selenium/grid/router/HandleSession.java | 1 + .../org/openqa/selenium/grid/web/ReverseProxyHandler.java | 7 ++++++- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/java/src/org/openqa/selenium/grid/node/DefaultActiveSession.java b/java/src/org/openqa/selenium/grid/node/DefaultActiveSession.java index 94fc774d06406..4c38c48a4a5a0 100644 --- a/java/src/org/openqa/selenium/grid/node/DefaultActiveSession.java +++ b/java/src/org/openqa/selenium/grid/node/DefaultActiveSession.java @@ -28,14 +28,13 @@ import org.openqa.selenium.remote.Dialect; import org.openqa.selenium.remote.SessionId; import org.openqa.selenium.remote.http.HttpClient; -import org.openqa.selenium.remote.http.HttpHandler; import org.openqa.selenium.remote.http.HttpRequest; import org.openqa.selenium.remote.http.HttpResponse; import org.openqa.selenium.remote.tracing.Tracer; public class DefaultActiveSession extends BaseActiveSession { - private final HttpHandler handler; + private final ReverseProxyHandler handler; private final String killUrl; protected DefaultActiveSession( @@ -68,6 +67,6 @@ public HttpResponse execute(HttpRequest req) throws UncheckedIOException { @Override public void stop() { - // no-op + handler.close(); } } diff --git a/java/src/org/openqa/selenium/grid/node/config/DriverServiceSessionFactory.java b/java/src/org/openqa/selenium/grid/node/config/DriverServiceSessionFactory.java index 4ec5fe7d0a2e6..b69aa518d30da 100644 --- a/java/src/org/openqa/selenium/grid/node/config/DriverServiceSessionFactory.java +++ b/java/src/org/openqa/selenium/grid/node/config/DriverServiceSessionFactory.java @@ -190,7 +190,6 @@ public Either apply(CreateSessionRequest sess caps = readPrefixedCaps(capabilities, caps); span.addEvent("Driver service created session", attributeMap); - final HttpClient fClient = client; return Either.right( new DefaultActiveSession( tracer, @@ -204,9 +203,8 @@ public Either apply(CreateSessionRequest sess Instant.now()) { @Override public void stop() { - try (fClient) { - service.stop(); - } + super.stop(); + service.stop(); } }); } catch (Exception e) { diff --git a/java/src/org/openqa/selenium/grid/node/docker/DockerSession.java b/java/src/org/openqa/selenium/grid/node/docker/DockerSession.java index 3851347abbb19..6608e7cb7bdca 100644 --- a/java/src/org/openqa/selenium/grid/node/docker/DockerSession.java +++ b/java/src/org/openqa/selenium/grid/node/docker/DockerSession.java @@ -67,6 +67,7 @@ public void stop() { } saveLogs(); container.stop(Duration.ofMinutes(1)); + super.stop(); } private void saveLogs() { diff --git a/java/src/org/openqa/selenium/grid/router/HandleSession.java b/java/src/org/openqa/selenium/grid/router/HandleSession.java index b199f0a51f356..58c36ed4cc27d 100644 --- a/java/src/org/openqa/selenium/grid/router/HandleSession.java +++ b/java/src/org/openqa/selenium/grid/router/HandleSession.java @@ -90,6 +90,7 @@ public UsageCountingReverseProxyHandler( @Override public void close() { + // must not call super.close() here, to ensure the HttpClient stays alive // set the last use here, to ensure we have to calculate the real inactivity of the client entry.lastUse = Instant.now(); entry.inUse.decrementAndGet(); diff --git a/java/src/org/openqa/selenium/grid/web/ReverseProxyHandler.java b/java/src/org/openqa/selenium/grid/web/ReverseProxyHandler.java index b6a98bb323992..8fb0b91eb3bd8 100644 --- a/java/src/org/openqa/selenium/grid/web/ReverseProxyHandler.java +++ b/java/src/org/openqa/selenium/grid/web/ReverseProxyHandler.java @@ -33,7 +33,7 @@ import org.openqa.selenium.remote.tracing.Span; import org.openqa.selenium.remote.tracing.Tracer; -public class ReverseProxyHandler implements HttpHandler { +public class ReverseProxyHandler implements HttpHandler, AutoCloseable { private static final Logger LOG = Logger.getLogger(ReverseProxyHandler.class.getName()); @@ -101,4 +101,9 @@ public HttpResponse execute(HttpRequest req) throws UncheckedIOException { return resp; } } + + @Override + public void close() { + upstream.close(); + } } From 38d5d1aa9aec33c974413cd1b7269ca196da0cea Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Thu, 14 Aug 2025 22:11:30 +0200 Subject: [PATCH 013/118] Fixing workflow to update docs after release. --- .github/workflows/stage-release.yml | 2 ++ .github/workflows/update-documentation.yml | 3 +++ 2 files changed, 5 insertions(+) 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 e558c451e6cdc..5297f41ebfc0f 100644 --- a/.github/workflows/update-documentation.yml +++ b/.github/workflows/update-documentation.yml @@ -37,6 +37,9 @@ on: required: false type: string default: "all" + secrets: + SELENIUM_CI_TOKEN: + required: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From d00c0a2aee40042630364588e702be19e2008a1f Mon Sep 17 00:00:00 2001 From: Boni Garcia Date: Fri, 15 Aug 2025 11:25:18 +0200 Subject: [PATCH 014/118] [rust] Update Rust dependencies to latest stable versions --- rust/Cargo.Bazel.lock | 434 ++++++++++++++++++++++++------------------ rust/Cargo.lock | 98 +++++----- rust/Cargo.toml | 16 +- 3 files changed, 304 insertions(+), 244 deletions(-) diff --git a/rust/Cargo.Bazel.lock b/rust/Cargo.Bazel.lock index 650d66595a1a0..181ca229fe0c8 100644 --- a/rust/Cargo.Bazel.lock +++ b/rust/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "eaf243012334a63ea1f849dc43ec832e87c2f982b91793e26047d340b68bcae3", + "checksum": "df16973281961e693e2d8c4ba5bafc9ac44614d38f46bf698b1cdb09b8d568b2", "crates": { "addr2line 0.21.0": { "name": "addr2line", @@ -572,14 +572,14 @@ ], "license_file": "LICENSE-APACHE" }, - "anyhow 1.0.98": { + "anyhow 1.0.99": { "name": "anyhow", - "version": "1.0.98", + "version": "1.0.99", "package_url": "https://github.com/dtolnay/anyhow", "repository": { "Http": { - "url": "https://static.crates.io/crates/anyhow/1.0.98/download", - "sha256": "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" + "url": "https://static.crates.io/crates/anyhow/1.0.99/download", + "sha256": "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" } }, "targets": [ @@ -623,7 +623,7 @@ "deps": { "common": [ { - "id": "anyhow 1.0.98", + "id": "anyhow 1.0.99", "target": "build_script_build" }, { @@ -634,7 +634,7 @@ "selects": {} }, "edition": "2018", - "version": "1.0.98" + "version": "1.0.99" }, "build_script_attrs": { "compile_data_glob": [ @@ -801,7 +801,7 @@ "target": "rand" }, { - "id": "reqwest 0.12.22", + "id": "reqwest 0.12.23", "target": "reqwest" }, { @@ -2480,14 +2480,14 @@ ], "license_file": "LICENSE.txt" }, - "clap 4.5.40": { + "clap 4.5.45": { "name": "clap", - "version": "4.5.40", + "version": "4.5.45", "package_url": "https://github.com/clap-rs/clap", "repository": { "Http": { - "url": "https://static.crates.io/crates/clap/4.5.40/download", - "sha256": "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f" + "url": "https://static.crates.io/crates/clap/4.5.45/download", + "sha256": "1fc0e74a703892159f5ae7d3aac52c8e6c392f5ae5f359c70b5881d60aaac318" } }, "targets": [ @@ -2526,7 +2526,7 @@ "deps": { "common": [ { - "id": "clap_builder 4.5.40", + "id": "clap_builder 4.5.44", "target": "clap_builder" } ], @@ -2536,13 +2536,13 @@ "proc_macro_deps": { "common": [ { - "id": "clap_derive 4.5.40", + "id": "clap_derive 4.5.45", "target": "clap_derive" } ], "selects": {} }, - "version": "4.5.40" + "version": "4.5.45" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -2551,14 +2551,14 @@ ], "license_file": "LICENSE-APACHE" }, - "clap_builder 4.5.40": { + "clap_builder 4.5.44": { "name": "clap_builder", - "version": "4.5.40", + "version": "4.5.44", "package_url": "https://github.com/clap-rs/clap", "repository": { "Http": { - "url": "https://static.crates.io/crates/clap_builder/4.5.40/download", - "sha256": "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e" + "url": "https://static.crates.io/crates/clap_builder/4.5.44/download", + "sha256": "b3e7f4214277f3c7aa526a59dd3fbe306a370daee1f8b7b8c987069cd8e888a8" } }, "targets": [ @@ -2614,7 +2614,7 @@ "selects": {} }, "edition": "2021", - "version": "4.5.40" + "version": "4.5.44" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -2623,14 +2623,14 @@ ], "license_file": "LICENSE-APACHE" }, - "clap_derive 4.5.40": { + "clap_derive 4.5.45": { "name": "clap_derive", - "version": "4.5.40", + "version": "4.5.45", "package_url": "https://github.com/clap-rs/clap", "repository": { "Http": { - "url": "https://static.crates.io/crates/clap_derive/4.5.40/download", - "sha256": "d2c7947ae4cc3d851207c1adb5b5e260ff0cca11446b1d6d1423788e442257ce" + "url": "https://static.crates.io/crates/clap_derive/4.5.45/download", + "sha256": "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6" } }, "targets": [ @@ -2680,7 +2680,7 @@ "selects": {} }, "edition": "2021", - "version": "4.5.40" + "version": "4.5.45" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -3238,7 +3238,7 @@ "target": "pem" }, { - "id": "reqwest 0.12.22", + "id": "reqwest 0.12.23", "target": "reqwest" }, { @@ -5949,7 +5949,7 @@ "target": "smallvec" }, { - "id": "tokio 1.46.1", + "id": "tokio 1.47.1", "target": "tokio" }, { @@ -6035,7 +6035,7 @@ "alias": "pki_types" }, { - "id": "tokio 1.46.1", + "id": "tokio 1.47.1", "target": "tokio" }, { @@ -6159,7 +6159,7 @@ "target": "socket2" }, { - "id": "tokio 1.46.1", + "id": "tokio 1.47.1", "target": "tokio" }, { @@ -10138,7 +10138,7 @@ "target": "thiserror" }, { - "id": "tokio 1.46.1", + "id": "tokio 1.47.1", "target": "tokio" }, { @@ -11038,14 +11038,14 @@ ], "license_file": null }, - "reqwest 0.12.22": { + "reqwest 0.12.23": { "name": "reqwest", - "version": "0.12.22", + "version": "0.12.23", "package_url": "https://github.com/seanmonstar/reqwest", "repository": { "Http": { - "url": "https://static.crates.io/crates/reqwest/0.12.22/download", - "sha256": "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531" + "url": "https://static.crates.io/crates/reqwest/0.12.23/download", + "sha256": "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" } }, "targets": [ @@ -11465,7 +11465,7 @@ "target": "pin_project_lite" }, { - "id": "tokio 1.46.1", + "id": "tokio 1.47.1", "target": "tokio" }, { @@ -11483,7 +11483,7 @@ "target": "js_sys" }, { - "id": "serde_json 1.0.140", + "id": "serde_json 1.0.142", "target": "serde_json" }, { @@ -12022,7 +12022,7 @@ } }, "edition": "2021", - "version": "0.12.22" + "version": "0.12.23" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -12145,14 +12145,14 @@ "license_ids": [], "license_file": "LICENSE" }, - "rstest 0.25.0": { + "rstest 0.26.1": { "name": "rstest", - "version": "0.25.0", + "version": "0.26.1", "package_url": "https://github.com/la10736/rstest", "repository": { "Http": { - "url": "https://static.crates.io/crates/rstest/0.25.0/download", - "sha256": "6fc39292f8613e913f7df8fa892b8944ceb47c247b78e1b1ae2f09e019be789d" + "url": "https://static.crates.io/crates/rstest/0.26.1/download", + "sha256": "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49" } }, "targets": [ @@ -12178,13 +12178,13 @@ "proc_macro_deps": { "common": [ { - "id": "rstest_macros 0.25.0", + "id": "rstest_macros 0.26.1", "target": "rstest_macros" } ], "selects": {} }, - "version": "0.25.0" + "version": "0.26.1" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -12193,14 +12193,14 @@ ], "license_file": "LICENSE-APACHE" }, - "rstest_macros 0.25.0": { + "rstest_macros 0.26.1": { "name": "rstest_macros", - "version": "0.25.0", + "version": "0.26.1", "package_url": "https://github.com/la10736/rstest", "repository": { "Http": { - "url": "https://static.crates.io/crates/rstest_macros/0.25.0/download", - "sha256": "1f168d99749d307be9de54d23fd226628d99768225ef08f6ffb52e0182a27746" + "url": "https://static.crates.io/crates/rstest_macros/0.26.1/download", + "sha256": "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0" } }, "targets": [ @@ -12261,7 +12261,7 @@ "target": "relative_path" }, { - "id": "rstest_macros 0.25.0", + "id": "rstest_macros 0.26.1", "target": "build_script_build" }, { @@ -12276,7 +12276,7 @@ "selects": {} }, "edition": "2021", - "version": "0.25.0" + "version": "0.26.1" }, "build_script_attrs": { "compile_data_glob": [ @@ -13570,7 +13570,7 @@ "deps": { "common": [ { - "id": "anyhow 1.0.98", + "id": "anyhow 1.0.99", "target": "anyhow" }, { @@ -13582,7 +13582,7 @@ "target": "bzip2" }, { - "id": "clap 4.5.40", + "id": "clap 4.5.45", "target": "clap" }, { @@ -13626,7 +13626,7 @@ "target": "regex" }, { - "id": "reqwest 0.12.22", + "id": "reqwest 0.12.23", "target": "reqwest" }, { @@ -13634,7 +13634,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.140", + "id": "serde_json 1.0.142", "target": "serde_json" }, { @@ -13650,11 +13650,11 @@ "target": "tempfile" }, { - "id": "tokio 1.46.1", + "id": "tokio 1.47.1", "target": "tokio" }, { - "id": "toml 0.8.23", + "id": "toml 0.9.5", "target": "toml" }, { @@ -13670,7 +13670,7 @@ "target": "xz2" }, { - "id": "zip 4.2.0", + "id": "zip 4.3.0", "target": "zip" } ], @@ -13694,7 +13694,7 @@ "target": "is_executable" }, { - "id": "rstest 0.25.0", + "id": "rstest 0.26.1", "target": "rstest" } ], @@ -13827,6 +13827,7 @@ ], "crate_features": { "common": [ + "alloc", "default", "derive", "serde_derive", @@ -13991,14 +13992,14 @@ ], "license_file": "LICENSE-APACHE" }, - "serde_json 1.0.140": { + "serde_json 1.0.142": { "name": "serde_json", - "version": "1.0.140", + "version": "1.0.142", "package_url": "https://github.com/serde-rs/json", "repository": { "Http": { - "url": "https://static.crates.io/crates/serde_json/1.0.140/download", - "sha256": "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" + "url": "https://static.crates.io/crates/serde_json/1.0.142/download", + "sha256": "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7" } }, "targets": [ @@ -14058,14 +14059,14 @@ "target": "serde" }, { - "id": "serde_json 1.0.140", + "id": "serde_json 1.0.142", "target": "build_script_build" } ], "selects": {} }, "edition": "2021", - "version": "1.0.140" + "version": "1.0.142" }, "build_script_attrs": { "compile_data_glob": [ @@ -14082,14 +14083,14 @@ ], "license_file": "LICENSE-APACHE" }, - "serde_spanned 0.6.9": { + "serde_spanned 1.0.0": { "name": "serde_spanned", - "version": "0.6.9", + "version": "1.0.0", "package_url": "https://github.com/toml-rs/toml", "repository": { "Http": { - "url": "https://static.crates.io/crates/serde_spanned/0.6.9/download", - "sha256": "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" + "url": "https://static.crates.io/crates/serde_spanned/1.0.0/download", + "sha256": "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" } }, "targets": [ @@ -14113,7 +14114,9 @@ ], "crate_features": { "common": [ - "serde" + "alloc", + "serde", + "std" ], "selects": {} }, @@ -14127,7 +14130,7 @@ "selects": {} }, "edition": "2021", - "version": "0.6.9" + "version": "1.0.0" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -14879,6 +14882,68 @@ ], "license_file": "LICENSE-APACHE" }, + "socket2 0.6.0": { + "name": "socket2", + "version": "0.6.0", + "package_url": "https://github.com/rust-lang/socket2", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/socket2/0.6.0/download", + "sha256": "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" + } + }, + "targets": [ + { + "Library": { + "crate_name": "socket2", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "socket2", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "all" + ], + "selects": {} + }, + "deps": { + "common": [], + "selects": { + "cfg(unix)": [ + { + "id": "libc 0.2.174", + "target": "libc" + } + ], + "cfg(windows)": [ + { + "id": "windows-sys 0.59.0", + "target": "windows_sys" + } + ] + } + }, + "edition": "2021", + "version": "0.6.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, "spin 0.9.8": { "name": "spin", "version": "0.9.8", @@ -16354,14 +16419,14 @@ ], "license_file": "LICENSE-APACHE.md" }, - "tokio 1.46.1": { + "tokio 1.47.1": { "name": "tokio", - "version": "1.46.1", + "version": "1.47.1", "package_url": "https://github.com/tokio-rs/tokio", "repository": { "Http": { - "url": "https://static.crates.io/crates/tokio/1.46.1/download", - "sha256": "0cc3a2344dafbe23a245241fe8b09735b521110d30fcefbbd5feb1797ca35d17" + "url": "https://static.crates.io/crates/tokio/1.47.1/download", + "sha256": "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" } }, "targets": [ @@ -16646,7 +16711,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16660,7 +16725,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16674,7 +16739,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16688,7 +16753,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16698,11 +16763,11 @@ "target": "bytes" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" }, { - "id": "windows-sys 0.52.0", + "id": "windows-sys 0.59.0", "target": "windows_sys" } ], @@ -16716,7 +16781,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16730,7 +16795,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16744,7 +16809,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16758,7 +16823,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16772,7 +16837,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16786,7 +16851,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16800,7 +16865,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16834,7 +16899,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16848,7 +16913,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16858,11 +16923,11 @@ "target": "bytes" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" }, { - "id": "windows-sys 0.52.0", + "id": "windows-sys 0.59.0", "target": "windows_sys" } ], @@ -16876,7 +16941,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16890,7 +16955,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16904,7 +16969,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16914,7 +16979,7 @@ "target": "bytes" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16924,7 +16989,7 @@ "target": "bytes" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16938,7 +17003,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16948,7 +17013,7 @@ "target": "bytes" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16958,7 +17023,7 @@ "target": "bytes" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16972,7 +17037,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -16986,7 +17051,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -17000,7 +17065,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -17010,11 +17075,11 @@ "target": "bytes" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" }, { - "id": "windows-sys 0.52.0", + "id": "windows-sys 0.59.0", "target": "windows_sys" } ], @@ -17028,7 +17093,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -17042,7 +17107,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -17056,7 +17121,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -17070,7 +17135,7 @@ "target": "libc" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ], @@ -17080,7 +17145,7 @@ "target": "bytes" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" } ] @@ -17096,7 +17161,7 @@ ], "selects": {} }, - "version": "1.46.1" + "version": "1.47.1" }, "license": "MIT", "license_ids": [ @@ -17207,7 +17272,7 @@ "alias": "pki_types" }, { - "id": "tokio 1.46.1", + "id": "tokio 1.47.1", "target": "tokio" } ], @@ -17223,14 +17288,14 @@ ], "license_file": "LICENSE-APACHE" }, - "toml 0.8.23": { + "toml 0.9.5": { "name": "toml", - "version": "0.8.23", + "version": "0.9.5", "package_url": "https://github.com/toml-rs/toml", "repository": { "Http": { - "url": "https://static.crates.io/crates/toml/0.8.23/download", - "sha256": "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" + "url": "https://static.crates.io/crates/toml/0.9.5/download", + "sha256": "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" } }, "targets": [ @@ -17256,7 +17321,9 @@ "common": [ "default", "display", - "parse" + "parse", + "serde", + "std" ], "selects": {} }, @@ -17267,22 +17334,30 @@ "target": "serde" }, { - "id": "serde_spanned 0.6.9", + "id": "serde_spanned 1.0.0", "target": "serde_spanned" }, { - "id": "toml_datetime 0.6.11", + "id": "toml_datetime 0.7.0", "target": "toml_datetime" }, { - "id": "toml_edit 0.22.27", - "target": "toml_edit" + "id": "toml_parser 1.0.2", + "target": "toml_parser" + }, + { + "id": "toml_writer 1.0.2", + "target": "toml_writer" + }, + { + "id": "winnow 0.7.10", + "target": "winnow" } ], "selects": {} }, "edition": "2021", - "version": "0.8.23" + "version": "0.9.5" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -17291,14 +17366,14 @@ ], "license_file": "LICENSE-APACHE" }, - "toml_datetime 0.6.11": { + "toml_datetime 0.7.0": { "name": "toml_datetime", - "version": "0.6.11", + "version": "0.7.0", "package_url": "https://github.com/toml-rs/toml", "repository": { "Http": { - "url": "https://static.crates.io/crates/toml_datetime/0.6.11/download", - "sha256": "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" + "url": "https://static.crates.io/crates/toml_datetime/0.7.0/download", + "sha256": "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" } }, "targets": [ @@ -17322,7 +17397,9 @@ ], "crate_features": { "common": [ - "serde" + "alloc", + "serde", + "std" ], "selects": {} }, @@ -17336,7 +17413,7 @@ "selects": {} }, "edition": "2021", - "version": "0.6.11" + "version": "0.7.0" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -17345,20 +17422,20 @@ ], "license_file": "LICENSE-APACHE" }, - "toml_edit 0.22.27": { - "name": "toml_edit", - "version": "0.22.27", + "toml_parser 1.0.2": { + "name": "toml_parser", + "version": "1.0.2", "package_url": "https://github.com/toml-rs/toml", "repository": { "Http": { - "url": "https://static.crates.io/crates/toml_edit/0.22.27/download", - "sha256": "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" + "url": "https://static.crates.io/crates/toml_parser/1.0.2/download", + "sha256": "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" } }, "targets": [ { "Library": { - "crate_name": "toml_edit", + "crate_name": "toml_parser", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -17369,41 +17446,20 @@ } } ], - "library_target_name": "toml_edit", + "library_target_name": "toml_parser", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "display", - "parse", - "serde" + "alloc", + "std" ], "selects": {} }, "deps": { "common": [ - { - "id": "indexmap 2.7.1", - "target": "indexmap" - }, - { - "id": "serde 1.0.219", - "target": "serde" - }, - { - "id": "serde_spanned 0.6.9", - "target": "serde_spanned" - }, - { - "id": "toml_datetime 0.6.11", - "target": "toml_datetime" - }, - { - "id": "toml_write 0.1.2", - "target": "toml_write" - }, { "id": "winnow 0.7.10", "target": "winnow" @@ -17412,7 +17468,7 @@ "selects": {} }, "edition": "2021", - "version": "0.22.27" + "version": "1.0.2" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -17421,20 +17477,20 @@ ], "license_file": "LICENSE-APACHE" }, - "toml_write 0.1.2": { - "name": "toml_write", - "version": "0.1.2", + "toml_writer 1.0.2": { + "name": "toml_writer", + "version": "1.0.2", "package_url": "https://github.com/toml-rs/toml", "repository": { "Http": { - "url": "https://static.crates.io/crates/toml_write/0.1.2/download", - "sha256": "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" + "url": "https://static.crates.io/crates/toml_writer/1.0.2/download", + "sha256": "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" } }, "targets": [ { "Library": { - "crate_name": "toml_write", + "crate_name": "toml_writer", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -17445,7 +17501,7 @@ } } ], - "library_target_name": "toml_write", + "library_target_name": "toml_writer", "common_attrs": { "compile_data_glob": [ "**" @@ -17453,13 +17509,12 @@ "crate_features": { "common": [ "alloc", - "default", "std" ], "selects": {} }, "edition": "2021", - "version": "0.1.2" + "version": "1.0.2" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -17503,6 +17558,7 @@ "futures-core", "futures-util", "pin-project-lite", + "retry", "sync_wrapper", "timeout", "tokio", @@ -17529,7 +17585,7 @@ "target": "sync_wrapper" }, { - "id": "tokio 1.46.1", + "id": "tokio 1.47.1", "target": "tokio" }, { @@ -18991,6 +19047,7 @@ "Headers", "ReadableStream", "Request", + "RequestCache", "RequestCredentials", "RequestInit", "RequestMode", @@ -19824,7 +19881,6 @@ "Win32_System_IO", "Win32_System_Pipes", "Win32_System_SystemInformation", - "Win32_System_SystemServices", "Win32_System_Threading", "Win32_System_WindowsProgramming", "default" @@ -19884,10 +19940,18 @@ "Win32", "Win32_Foundation", "Win32_Globalization", + "Win32_Networking", + "Win32_Networking_WinSock", + "Win32_Security", "Win32_Storage", "Win32_Storage_FileSystem", "Win32_System", "Win32_System_Com", + "Win32_System_IO", + "Win32_System_Pipes", + "Win32_System_SystemServices", + "Win32_System_Threading", + "Win32_System_WindowsProgramming", "Win32_UI", "Win32_UI_Shell", "default" @@ -20578,14 +20642,6 @@ "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "alloc", - "default", - "std" - ], - "selects": {} - }, "edition": "2021", "version": "0.7.10" }, @@ -21519,14 +21575,14 @@ ], "license_file": "LICENSE" }, - "zip 4.2.0": { + "zip 4.3.0": { "name": "zip", - "version": "4.2.0", + "version": "4.3.0", "package_url": "https://github.com/zip-rs/zip2.git", "repository": { "Http": { - "url": "https://static.crates.io/crates/zip/4.2.0/download", - "sha256": "95ab361742de920c5535880f89bbd611ee62002bf11341d16a5f057bb8ba6899" + "url": "https://static.crates.io/crates/zip/4.3.0/download", + "sha256": "9aed4ac33e8eb078c89e6cbb1d5c4c7703ec6d299fc3e7c3695af8f8b423468b" } }, "targets": [ @@ -21591,7 +21647,7 @@ } }, "edition": "2021", - "version": "4.2.0" + "version": "4.3.0" }, "license": "MIT", "license_ids": [ @@ -22490,10 +22546,10 @@ ] }, "direct_deps": [ - "anyhow 1.0.98", + "anyhow 1.0.99", "apple-flat-package 0.20.0", "bzip2 0.6.0", - "clap 4.5.40", + "clap 4.5.45", "debpkg 0.6.0", "directories 6.0.0", "env_logger 0.11.8", @@ -22504,24 +22560,24 @@ "infer 0.19.0", "log 0.4.27", "regex 1.11.1", - "reqwest 0.12.22", + "reqwest 0.12.23", "serde 1.0.219", - "serde_json 1.0.140", + "serde_json 1.0.142", "sevenz-rust 0.6.1", "tar 0.4.44", "tempfile 3.20.0", - "tokio 1.46.1", - "toml 0.8.23", + "tokio 1.47.1", + "toml 0.9.5", "walkdir 2.5.0", "which 8.0.0", "winapi 0.3.9", "xz2 0.1.7", - "zip 4.2.0" + "zip 4.3.0" ], "direct_dev_deps": [ "assert_cmd 2.0.17", "is_executable 1.0.4", - "rstest 0.25.0" + "rstest 0.26.1" ], "unused_patches": [] } diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 65fc357a0c3d5..ba54a9ea2c848 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -98,9 +98,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.98" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" dependencies = [ "backtrace", ] @@ -369,9 +369,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.40" +version = "4.5.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f" +checksum = "1fc0e74a703892159f5ae7d3aac52c8e6c392f5ae5f359c70b5881d60aaac318" dependencies = [ "clap_builder", "clap_derive", @@ -379,9 +379,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.40" +version = "4.5.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e" +checksum = "b3e7f4214277f3c7aa526a59dd3fbe306a370daee1f8b7b8c987069cd8e888a8" dependencies = [ "anstream", "anstyle", @@ -391,9 +391,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.40" +version = "4.5.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2c7947ae4cc3d851207c1adb5b5e260ff0cca11446b1d6d1423788e442257ce" +checksum = "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6" dependencies = [ "heck", "proc-macro2", @@ -941,7 +941,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -1514,7 +1514,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls", - "socket2", + "socket2 0.5.10", "thiserror 1.0.69", "tokio", "tracing", @@ -1545,7 +1545,7 @@ checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" dependencies = [ "libc", "once_cell", - "socket2", + "socket2 0.5.10", "tracing", "windows-sys 0.52.0", ] @@ -1646,9 +1646,9 @@ checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" [[package]] name = "reqwest" -version = "0.12.22" +version = "0.12.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531" +checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" dependencies = [ "base64", "bytes", @@ -1701,19 +1701,18 @@ dependencies = [ [[package]] name = "rstest" -version = "0.25.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fc39292f8613e913f7df8fa892b8944ceb47c247b78e1b1ae2f09e019be789d" +checksum = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49" dependencies = [ "rstest_macros", - "rustc_version", ] [[package]] name = "rstest_macros" -version = "0.25.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f168d99749d307be9de54d23fd226628d99768225ef08f6ffb52e0182a27746" +checksum = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0" dependencies = [ "cfg-if", "glob", @@ -1924,9 +1923,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.142" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7" dependencies = [ "itoa", "memchr", @@ -1936,9 +1935,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.9" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" dependencies = [ "serde", ] @@ -2046,6 +2045,16 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "socket2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + [[package]] name = "spin" version = "0.9.8" @@ -2238,9 +2247,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.46.1" +version = "1.47.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc3a2344dafbe23a245241fe8b09735b521110d30fcefbbd5feb1797ca35d17" +checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" dependencies = [ "backtrace", "bytes", @@ -2249,9 +2258,9 @@ dependencies = [ "mio", "pin-project-lite", "slab", - "socket2", + "socket2 0.6.0", "tokio-macros", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2278,44 +2287,42 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.23" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" +checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" dependencies = [ + "indexmap 2.7.1", "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_parser", + "toml_writer", + "winnow", ] [[package]] name = "toml_datetime" -version = "0.6.11" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" +checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" dependencies = [ "serde", ] [[package]] -name = "toml_edit" -version = "0.22.27" +name = "toml_parser" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" +checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" dependencies = [ - "indexmap 2.7.1", - "serde", - "serde_spanned", - "toml_datetime", - "toml_write", "winnow", ] [[package]] -name = "toml_write" -version = "0.1.2" +name = "toml_writer" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" +checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" [[package]] name = "tower" @@ -2725,9 +2732,6 @@ name = "winnow" version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" -dependencies = [ - "memchr", -] [[package]] name = "winsafe" @@ -2890,9 +2894,9 @@ dependencies = [ [[package]] name = "zip" -version = "4.2.0" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ab361742de920c5535880f89bbd611ee62002bf11341d16a5f057bb8ba6899" +checksum = "9aed4ac33e8eb078c89e6cbb1d5c4c7703ec6d299fc3e7c3695af8f8b423468b" dependencies = [ "arbitrary", "crc32fast", diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 9bef694cfaa5d..8aaf555f85c7c 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -12,28 +12,28 @@ Selenium Manager is a CLI tool that automatically manages the browser/driver res """ [dependencies] -clap = { version = "4.5.40", features = ["derive", "cargo"] } +clap = { version = "4.5.45", features = ["derive", "cargo"] } log = "0.4.27" env_logger = "0.11.8" regex = "1.11.1" -tokio = { version = "1.46.1", default-features = false, features = ["macros", "net", "rt-multi-thread"] } +tokio = { version = "1.47.1", default-features = false, features = ["macros", "net", "rt-multi-thread"] } tempfile = "3.20.0" -reqwest = { version = "0.12.22", default-features = false, features = ["rustls-tls"] } -zip = { version = "4.2.0", default-features = false, features = ["deflate"] } +reqwest = { version = "0.12.23", default-features = false, features = ["rustls-tls"] } +zip = { version = "4.3.0", default-features = false, features = ["deflate"] } directories = "6.0.0" serde = { version = "1.0.219", features = ["derive"] } -serde_json = "1.0.140" +serde_json = "1.0.142" flate2 = "1.1.2" tar = "0.4.44" infer = "0.19.0" exitcode = "1.1.2" -toml = "0.8.23" +toml = "0.9.5" bzip2 = "0.6.0" sevenz-rust = "0.6.1" xz2 = "0.1.7" walkdir = "2.5.0" debpkg = "0.6.0" -anyhow = { version = "1.0.98", default-features = false, features = ["backtrace", "std"] } +anyhow = { version = "1.0.99", default-features = false, features = ["backtrace", "std"] } apple-flat-package = "0.20.0" which = "8.0.0" fs2 = "0.4.3" @@ -45,7 +45,7 @@ winapi = { version = "0.3.9", features = ["winver", "winnt", "sysinfoapi"] } [dev-dependencies] assert_cmd = "2.0.17" is_executable = "1.0.4" -rstest = { version = "0.25.0", default-features = false } +rstest = { version = "0.26.1", default-features = false } [profile.release] opt-level = 'z' # Optimize for size From 2e613ae6a90cb3ca97d7a0b519e50a4fceaad54c Mon Sep 17 00:00:00 2001 From: Boni Garcia Date: Fri, 15 Aug 2025 11:36:31 +0200 Subject: [PATCH 015/118] [rust] Update versions in browser download test --- rust/tests/browser_download_tests.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rust/tests/browser_download_tests.rs b/rust/tests/browser_download_tests.rs index 23214694a4218..4cb2b605041a1 100644 --- a/rust/tests/browser_download_tests.rs +++ b/rust/tests/browser_download_tests.rs @@ -47,10 +47,10 @@ fn browser_latest_download_test(#[case] browser: String) { } #[rstest] -#[case("chrome", "113")] -#[case("chrome", "131.0.6725.0")] +#[case("chrome", "131")] +#[case("chrome", "131.0.6778.264")] #[case("chrome", "beta")] -#[case("firefox", "116")] +#[case("firefox", "121")] #[case("firefox", "121.0.1")] #[case("firefox", "beta")] #[case("firefox", "esr")] From f9883e325b1c4f38674b88d4d5bd48ea22f8fdbf Mon Sep 17 00:00:00 2001 From: Boni Garcia Date: Fri, 15 Aug 2025 12:56:19 +0200 Subject: [PATCH 016/118] [rust] Use DEBUG level for WARN traces in offline mode (#15836) --- rust/src/lib.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/rust/src/lib.rs b/rust/src/lib.rs index a0b8437ad3be5..a27d36f7a6c2b 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -935,11 +935,10 @@ pub trait SeleniumManager { err: Error, ) -> Result<(), Error> { if *is_driver_in_path { - self.get_logger().warn(format!( - "Exception managing {}: {}", - self.get_browser_name(), - err - )); + self.get_logger().debug_or_warn( + format!("Exception managing {}: {}", self.get_browser_name(), err), + self.is_offline(), + ); Ok(()) } else { Err(err) From 706495a3a64f073d5e81aaca083c4f9d87f30ee6 Mon Sep 17 00:00:00 2001 From: iDONi <30952073+Aidoni0797@users.noreply.github.com> Date: Sat, 16 Aug 2025 01:11:15 +0600 Subject: [PATCH 017/118] [py] Update docstring and comments in keys.py (#16187) Co-authored-by: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> --- py/selenium/webdriver/common/keys.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/py/selenium/webdriver/common/keys.py b/py/selenium/webdriver/common/keys.py index 8d2bf29c5e8d3..d07cdc3159c81 100644 --- a/py/selenium/webdriver/common/keys.py +++ b/py/selenium/webdriver/common/keys.py @@ -14,11 +14,16 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. + """The Keys implementation.""" class Keys: - """Set of special keys codes.""" + """Set of special key codes for input actions. + + Primarily intended for keyboard usage, but also applied in other contexts + such as Action Chains and IME interactions. + """ NULL = "\ue000" CANCEL = "\ue001" # ^break @@ -58,7 +63,8 @@ class Keys: SEMICOLON = "\ue018" EQUALS = "\ue019" - NUMPAD0 = "\ue01a" # number pad keys + # Keys representing number pad digits + NUMPAD0 = "\ue01a" NUMPAD1 = "\ue01b" NUMPAD2 = "\ue01c" NUMPAD3 = "\ue01d" @@ -68,6 +74,7 @@ class Keys: NUMPAD7 = "\ue021" NUMPAD8 = "\ue022" NUMPAD9 = "\ue023" + MULTIPLY = "\ue024" ADD = "\ue025" SEPARATOR = "\ue026" @@ -75,7 +82,8 @@ class Keys: DECIMAL = "\ue028" DIVIDE = "\ue029" - F1 = "\ue031" # function keys + # Function keys + F1 = "\ue031" F2 = "\ue032" F3 = "\ue033" F4 = "\ue034" From 61b10bc3ac614468acc28af3351457edaf3fc7b6 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Fri, 15 Aug 2025 23:06:17 +0300 Subject: [PATCH 018/118] [dotnet] [bidi] Simplify type naming of internal command parameters (#16188) --- .../webdriver/BiDi/Browser/BrowserModule.cs | 4 ++-- .../webdriver/BiDi/Browser/CloseCommand.cs | 2 +- .../BiDi/Browser/CreateUserContextCommand.cs | 6 ++--- .../BiDi/Browser/GetClientWindowsCommand.cs | 2 +- .../BiDi/Browser/GetUserContextsCommand.cs | 2 +- .../BiDi/Browser/RemoveUserContextCommand.cs | 6 ++--- .../BiDi/BrowsingContext/ActivateCommand.cs | 6 ++--- .../BrowsingContext/BrowsingContextModule.cs | 24 +++++++++---------- .../CaptureScreenshotCommand.cs | 6 ++--- .../BiDi/BrowsingContext/CloseCommand.cs | 6 ++--- .../BiDi/BrowsingContext/CreateCommand.cs | 6 ++--- .../BiDi/BrowsingContext/GetTreeCommand.cs | 6 ++--- .../HandleUserPromptCommand.cs | 6 ++--- .../BrowsingContext/LocateNodesCommand.cs | 6 ++--- .../BiDi/BrowsingContext/NavigateCommand.cs | 6 ++--- .../BiDi/BrowsingContext/PrintCommand.cs | 6 ++--- .../BiDi/BrowsingContext/ReloadCommand.cs | 6 ++--- .../BrowsingContext/SetViewportCommand.cs | 6 ++--- .../BrowsingContext/TraverseHistoryCommand.cs | 6 ++--- .../webdriver/BiDi/Communication/Command.cs | 12 +++++----- .../src/webdriver/BiDi/Input/InputModule.cs | 6 ++--- .../BiDi/Input/PerformActionsCommand.cs | 6 ++--- .../BiDi/Input/ReleaseActionsCommand.cs | 6 ++--- .../webdriver/BiDi/Input/SetFilesCommand.cs | 6 ++--- .../BiDi/Network/AddInterceptCommand.cs | 6 ++--- .../BiDi/Network/ContinueRequestCommand.cs | 6 ++--- .../BiDi/Network/ContinueResponseCommand.cs | 6 ++--- .../BiDi/Network/ContinueWithAuthCommand.cs | 2 +- .../BiDi/Network/FailRequestCommand.cs | 6 ++--- .../webdriver/BiDi/Network/NetworkModule.cs | 14 +++++------ .../BiDi/Network/ProvideResponseCommand.cs | 6 ++--- .../BiDi/Network/RemoveInterceptCommand.cs | 6 ++--- .../BiDi/Network/SetCacheBehaviorCommand.cs | 6 ++--- .../BiDi/Script/AddPreloadScriptCommand.cs | 6 ++--- .../BiDi/Script/CallFunctionCommand.cs | 6 ++--- .../webdriver/BiDi/Script/DisownCommand.cs | 6 ++--- .../webdriver/BiDi/Script/EvaluateCommand.cs | 6 ++--- .../webdriver/BiDi/Script/GetRealmsCommand.cs | 6 ++--- .../BiDi/Script/RemovePreloadScriptCommand.cs | 6 ++--- .../src/webdriver/BiDi/Script/ScriptModule.cs | 10 ++++---- .../src/webdriver/BiDi/Session/EndCommand.cs | 2 +- .../src/webdriver/BiDi/Session/NewCommand.cs | 6 ++--- .../webdriver/BiDi/Session/SessionModule.cs | 8 +++---- .../webdriver/BiDi/Session/StatusCommand.cs | 2 +- .../BiDi/Session/SubscribeCommand.cs | 6 ++--- .../BiDi/Session/UnsubscribeCommand.cs | 14 +++++------ .../BiDi/Storage/DeleteCookiesCommand.cs | 6 ++--- .../BiDi/Storage/GetCookiesCommand.cs | 6 ++--- .../BiDi/Storage/SetCookieCommand.cs | 6 ++--- .../webdriver/BiDi/Storage/StorageModule.cs | 6 ++--- 50 files changed, 160 insertions(+), 160 deletions(-) diff --git a/dotnet/src/webdriver/BiDi/Browser/BrowserModule.cs b/dotnet/src/webdriver/BiDi/Browser/BrowserModule.cs index 35363438385fd..ef4860e1ad997 100644 --- a/dotnet/src/webdriver/BiDi/Browser/BrowserModule.cs +++ b/dotnet/src/webdriver/BiDi/Browser/BrowserModule.cs @@ -31,7 +31,7 @@ public async Task CloseAsync(CloseOptions? options = null) public async Task CreateUserContextAsync(CreateUserContextOptions? options = null) { - var @params = new CreateUserContextCommandParameters(options?.AcceptInsecureCerts, options?.Proxy, options?.UnhandledPromptBehavior); + var @params = new CreateUserContextParameters(options?.AcceptInsecureCerts, options?.Proxy, options?.UnhandledPromptBehavior); return await Broker.ExecuteCommandAsync(new CreateUserContextCommand(@params), options).ConfigureAwait(false); } @@ -43,7 +43,7 @@ public async Task GetUserContextsAsync(GetUserContextsOpt public async Task RemoveUserContextAsync(UserContext userContext, RemoveUserContextOptions? options = null) { - var @params = new RemoveUserContextCommandParameters(userContext); + var @params = new RemoveUserContextParameters(userContext); return await Broker.ExecuteCommandAsync(new RemoveUserContextCommand(@params), options).ConfigureAwait(false); } diff --git a/dotnet/src/webdriver/BiDi/Browser/CloseCommand.cs b/dotnet/src/webdriver/BiDi/Browser/CloseCommand.cs index 67f6a3e0d29e9..b7f157c14aaa1 100644 --- a/dotnet/src/webdriver/BiDi/Browser/CloseCommand.cs +++ b/dotnet/src/webdriver/BiDi/Browser/CloseCommand.cs @@ -22,6 +22,6 @@ namespace OpenQA.Selenium.BiDi.Browser; internal sealed class CloseCommand() - : Command(CommandParameters.Empty, "browser.close"); + : Command(Parameters.Empty, "browser.close"); public sealed class CloseOptions : CommandOptions; diff --git a/dotnet/src/webdriver/BiDi/Browser/CreateUserContextCommand.cs b/dotnet/src/webdriver/BiDi/Browser/CreateUserContextCommand.cs index 9259d2457c947..796e8c2b26ea5 100644 --- a/dotnet/src/webdriver/BiDi/Browser/CreateUserContextCommand.cs +++ b/dotnet/src/webdriver/BiDi/Browser/CreateUserContextCommand.cs @@ -21,10 +21,10 @@ namespace OpenQA.Selenium.BiDi.Browser; -internal sealed class CreateUserContextCommand(CreateUserContextCommandParameters @params) - : Command(@params, "browser.createUserContext"); +internal sealed class CreateUserContextCommand(CreateUserContextParameters @params) + : Command(@params, "browser.createUserContext"); -internal sealed record CreateUserContextCommandParameters(bool? AcceptInsecureCerts, Session.ProxyConfiguration? Proxy, Session.UserPromptHandler? UnhandledPromptBehavior) : CommandParameters; +internal sealed record CreateUserContextParameters(bool? AcceptInsecureCerts, Session.ProxyConfiguration? Proxy, Session.UserPromptHandler? UnhandledPromptBehavior) : Parameters; public sealed class CreateUserContextOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/Browser/GetClientWindowsCommand.cs b/dotnet/src/webdriver/BiDi/Browser/GetClientWindowsCommand.cs index 9c1dabcbd7778..2d90714d20fec 100644 --- a/dotnet/src/webdriver/BiDi/Browser/GetClientWindowsCommand.cs +++ b/dotnet/src/webdriver/BiDi/Browser/GetClientWindowsCommand.cs @@ -24,7 +24,7 @@ namespace OpenQA.Selenium.BiDi.Browser; internal sealed class GetClientWindowsCommand() - : Command(CommandParameters.Empty, "browser.getClientWindows"); + : Command(Parameters.Empty, "browser.getClientWindows"); public sealed class GetClientWindowsOptions : CommandOptions; diff --git a/dotnet/src/webdriver/BiDi/Browser/GetUserContextsCommand.cs b/dotnet/src/webdriver/BiDi/Browser/GetUserContextsCommand.cs index 0ea309c6394e9..67d1648186f31 100644 --- a/dotnet/src/webdriver/BiDi/Browser/GetUserContextsCommand.cs +++ b/dotnet/src/webdriver/BiDi/Browser/GetUserContextsCommand.cs @@ -24,7 +24,7 @@ namespace OpenQA.Selenium.BiDi.Browser; internal sealed class GetUserContextsCommand() - : Command(CommandParameters.Empty, "browser.getUserContexts"); + : Command(Parameters.Empty, "browser.getUserContexts"); public class GetUserContextsOptions : CommandOptions; diff --git a/dotnet/src/webdriver/BiDi/Browser/RemoveUserContextCommand.cs b/dotnet/src/webdriver/BiDi/Browser/RemoveUserContextCommand.cs index feaf1e820600c..926759c64ebdd 100644 --- a/dotnet/src/webdriver/BiDi/Browser/RemoveUserContextCommand.cs +++ b/dotnet/src/webdriver/BiDi/Browser/RemoveUserContextCommand.cs @@ -21,9 +21,9 @@ namespace OpenQA.Selenium.BiDi.Browser; -internal sealed class RemoveUserContextCommand(RemoveUserContextCommandParameters @params) - : Command(@params, "browser.removeUserContext"); +internal sealed class RemoveUserContextCommand(RemoveUserContextParameters @params) + : Command(@params, "browser.removeUserContext"); -internal sealed record RemoveUserContextCommandParameters(UserContext UserContext) : CommandParameters; +internal sealed record RemoveUserContextParameters(UserContext UserContext) : Parameters; public sealed class RemoveUserContextOptions : CommandOptions; diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/ActivateCommand.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/ActivateCommand.cs index 59aae1197767b..07dff55099a2a 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/ActivateCommand.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/ActivateCommand.cs @@ -21,9 +21,9 @@ namespace OpenQA.Selenium.BiDi.BrowsingContext; -internal sealed class ActivateCommand(ActivateCommandParameters @params) - : Command(@params, "browsingContext.activate"); +internal sealed class ActivateCommand(ActivateParameters @params) + : Command(@params, "browsingContext.activate"); -internal sealed record ActivateCommandParameters(BrowsingContext Context) : CommandParameters; +internal sealed record ActivateParameters(BrowsingContext Context) : Parameters; public sealed class ActivateOptions : CommandOptions; diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/BrowsingContextModule.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/BrowsingContextModule.cs index bba5de7b3005d..5571b4fa9ff6f 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/BrowsingContextModule.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/BrowsingContextModule.cs @@ -27,7 +27,7 @@ public sealed class BrowsingContextModule(Broker broker) : Module(broker) { public async Task CreateAsync(ContextType type, CreateOptions? options = null) { - var @params = new CreateCommandParameters(type, options?.ReferenceContext, options?.Background, options?.UserContext); + var @params = new CreateParameters(type, options?.ReferenceContext, options?.Background, options?.UserContext); var createResult = await Broker.ExecuteCommandAsync(new CreateCommand(@params), options).ConfigureAwait(false); @@ -36,77 +36,77 @@ public async Task CreateAsync(ContextType type, CreateOptions? public async Task NavigateAsync(BrowsingContext context, string url, NavigateOptions? options = null) { - var @params = new NavigateCommandParameters(context, url, options?.Wait); + var @params = new NavigateParameters(context, url, options?.Wait); return await Broker.ExecuteCommandAsync(new NavigateCommand(@params), options).ConfigureAwait(false); } public async Task ActivateAsync(BrowsingContext context, ActivateOptions? options = null) { - var @params = new ActivateCommandParameters(context); + var @params = new ActivateParameters(context); return await Broker.ExecuteCommandAsync(new ActivateCommand(@params), options).ConfigureAwait(false); } public async Task LocateNodesAsync(BrowsingContext context, Locator locator, LocateNodesOptions? options = null) { - var @params = new LocateNodesCommandParameters(context, locator, options?.MaxNodeCount, options?.SerializationOptions, options?.StartNodes); + var @params = new LocateNodesParameters(context, locator, options?.MaxNodeCount, options?.SerializationOptions, options?.StartNodes); return await Broker.ExecuteCommandAsync(new LocateNodesCommand(@params), options).ConfigureAwait(false); } public async Task CaptureScreenshotAsync(BrowsingContext context, CaptureScreenshotOptions? options = null) { - var @params = new CaptureScreenshotCommandParameters(context, options?.Origin, options?.Format, options?.Clip); + var @params = new CaptureScreenshotParameters(context, options?.Origin, options?.Format, options?.Clip); return await Broker.ExecuteCommandAsync(new CaptureScreenshotCommand(@params), options).ConfigureAwait(false); } public async Task CloseAsync(BrowsingContext context, CloseOptions? options = null) { - var @params = new CloseCommandParameters(context, options?.PromptUnload); + var @params = new CloseParameters(context, options?.PromptUnload); return await Broker.ExecuteCommandAsync(new CloseCommand(@params), options).ConfigureAwait(false); } public async Task TraverseHistoryAsync(BrowsingContext context, int delta, TraverseHistoryOptions? options = null) { - var @params = new TraverseHistoryCommandParameters(context, delta); + var @params = new TraverseHistoryParameters(context, delta); return await Broker.ExecuteCommandAsync(new TraverseHistoryCommand(@params), options).ConfigureAwait(false); } public async Task ReloadAsync(BrowsingContext context, ReloadOptions? options = null) { - var @params = new ReloadCommandParameters(context, options?.IgnoreCache, options?.Wait); + var @params = new ReloadParameters(context, options?.IgnoreCache, options?.Wait); return await Broker.ExecuteCommandAsync(new ReloadCommand(@params), options).ConfigureAwait(false); } public async Task SetViewportAsync(BrowsingContext context, SetViewportOptions? options = null) { - var @params = new SetViewportCommandParameters(context, options?.Viewport, options?.DevicePixelRatio); + var @params = new SetViewportParameters(context, options?.Viewport, options?.DevicePixelRatio); return await Broker.ExecuteCommandAsync(new SetViewportCommand(@params), options).ConfigureAwait(false); } public async Task GetTreeAsync(GetTreeOptions? options = null) { - var @params = new GetTreeCommandParameters(options?.MaxDepth, options?.Root); + var @params = new GetTreeParameters(options?.MaxDepth, options?.Root); return await Broker.ExecuteCommandAsync(new GetTreeCommand(@params), options).ConfigureAwait(false); } public async Task PrintAsync(BrowsingContext context, PrintOptions? options = null) { - var @params = new PrintCommandParameters(context, options?.Background, options?.Margin, options?.Orientation, options?.Page, options?.PageRanges, options?.Scale, options?.ShrinkToFit); + var @params = new PrintParameters(context, options?.Background, options?.Margin, options?.Orientation, options?.Page, options?.PageRanges, options?.Scale, options?.ShrinkToFit); return await Broker.ExecuteCommandAsync(new PrintCommand(@params), options).ConfigureAwait(false); } public async Task HandleUserPromptAsync(BrowsingContext context, HandleUserPromptOptions? options = null) { - var @params = new HandleUserPromptCommandParameters(context, options?.Accept, options?.UserText); + var @params = new HandleUserPromptParameters(context, options?.Accept, options?.UserText); return await Broker.ExecuteCommandAsync(new HandleUserPromptCommand(@params), options).ConfigureAwait(false); } diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/CaptureScreenshotCommand.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/CaptureScreenshotCommand.cs index 6fa5149b10646..4bb970bf50ea8 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/CaptureScreenshotCommand.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/CaptureScreenshotCommand.cs @@ -22,10 +22,10 @@ namespace OpenQA.Selenium.BiDi.BrowsingContext; -internal sealed class CaptureScreenshotCommand(CaptureScreenshotCommandParameters @params) - : Command(@params, "browsingContext.captureScreenshot"); +internal sealed class CaptureScreenshotCommand(CaptureScreenshotParameters @params) + : Command(@params, "browsingContext.captureScreenshot"); -internal sealed record CaptureScreenshotCommandParameters(BrowsingContext Context, ScreenshotOrigin? Origin, ImageFormat? Format, ClipRectangle? Clip) : CommandParameters; +internal sealed record CaptureScreenshotParameters(BrowsingContext Context, ScreenshotOrigin? Origin, ImageFormat? Format, ClipRectangle? Clip) : Parameters; public sealed class CaptureScreenshotOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/CloseCommand.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/CloseCommand.cs index 69f207189ae70..afe451c4083bc 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/CloseCommand.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/CloseCommand.cs @@ -21,10 +21,10 @@ namespace OpenQA.Selenium.BiDi.BrowsingContext; -internal sealed class CloseCommand(CloseCommandParameters @params) - : Command(@params, "browsingContext.close"); +internal sealed class CloseCommand(CloseParameters @params) + : Command(@params, "browsingContext.close"); -internal sealed record CloseCommandParameters(BrowsingContext Context, bool? PromptUnload) : CommandParameters; +internal sealed record CloseParameters(BrowsingContext Context, bool? PromptUnload) : Parameters; public sealed class CloseOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/CreateCommand.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/CreateCommand.cs index 2e3881a393b6e..65600ac14ce79 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/CreateCommand.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/CreateCommand.cs @@ -21,10 +21,10 @@ namespace OpenQA.Selenium.BiDi.BrowsingContext; -internal sealed class CreateCommand(CreateCommandParameters @params) - : Command(@params, "browsingContext.create"); +internal sealed class CreateCommand(CreateParameters @params) + : Command(@params, "browsingContext.create"); -internal sealed record CreateCommandParameters(ContextType Type, BrowsingContext? ReferenceContext, bool? Background, Browser.UserContext? UserContext) : CommandParameters; +internal sealed record CreateParameters(ContextType Type, BrowsingContext? ReferenceContext, bool? Background, Browser.UserContext? UserContext) : Parameters; public sealed class CreateOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/GetTreeCommand.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/GetTreeCommand.cs index 637981f20af78..fdc9d0c284d38 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/GetTreeCommand.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/GetTreeCommand.cs @@ -23,10 +23,10 @@ namespace OpenQA.Selenium.BiDi.BrowsingContext; -internal sealed class GetTreeCommand(GetTreeCommandParameters @params) - : Command(@params, "browsingContext.getTree"); +internal sealed class GetTreeCommand(GetTreeParameters @params) + : Command(@params, "browsingContext.getTree"); -internal sealed record GetTreeCommandParameters(long? MaxDepth, BrowsingContext? Root) : CommandParameters; +internal sealed record GetTreeParameters(long? MaxDepth, BrowsingContext? Root) : Parameters; public sealed class GetTreeOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/HandleUserPromptCommand.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/HandleUserPromptCommand.cs index 6c01767d65a02..6789651f79074 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/HandleUserPromptCommand.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/HandleUserPromptCommand.cs @@ -21,10 +21,10 @@ namespace OpenQA.Selenium.BiDi.BrowsingContext; -internal sealed class HandleUserPromptCommand(HandleUserPromptCommandParameters @params) - : Command(@params, "browsingContext.handleUserPrompt"); +internal sealed class HandleUserPromptCommand(HandleUserPromptParameters @params) + : Command(@params, "browsingContext.handleUserPrompt"); -internal sealed record HandleUserPromptCommandParameters(BrowsingContext Context, bool? Accept, string? UserText) : CommandParameters; +internal sealed record HandleUserPromptParameters(BrowsingContext Context, bool? Accept, string? UserText) : Parameters; public sealed class HandleUserPromptOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/LocateNodesCommand.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/LocateNodesCommand.cs index 3def0f8d4118f..3f38ab986eeaf 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/LocateNodesCommand.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/LocateNodesCommand.cs @@ -23,10 +23,10 @@ namespace OpenQA.Selenium.BiDi.BrowsingContext; -internal sealed class LocateNodesCommand(LocateNodesCommandParameters @params) - : Command(@params, "browsingContext.locateNodes"); +internal sealed class LocateNodesCommand(LocateNodesParameters @params) + : Command(@params, "browsingContext.locateNodes"); -internal sealed record LocateNodesCommandParameters(BrowsingContext Context, Locator Locator, long? MaxNodeCount, Script.SerializationOptions? SerializationOptions, IEnumerable? StartNodes) : CommandParameters; +internal sealed record LocateNodesParameters(BrowsingContext Context, Locator Locator, long? MaxNodeCount, Script.SerializationOptions? SerializationOptions, IEnumerable? StartNodes) : Parameters; public sealed class LocateNodesOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/NavigateCommand.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/NavigateCommand.cs index 87a36d5490ab7..a39e4f89ffa74 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/NavigateCommand.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/NavigateCommand.cs @@ -21,10 +21,10 @@ namespace OpenQA.Selenium.BiDi.BrowsingContext; -internal sealed class NavigateCommand(NavigateCommandParameters @params) - : Command(@params, "browsingContext.navigate"); +internal sealed class NavigateCommand(NavigateParameters @params) + : Command(@params, "browsingContext.navigate"); -internal sealed record NavigateCommandParameters(BrowsingContext Context, string Url, ReadinessState? Wait) : CommandParameters; +internal sealed record NavigateParameters(BrowsingContext Context, string Url, ReadinessState? Wait) : Parameters; public sealed class NavigateOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/PrintCommand.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/PrintCommand.cs index ae689de7737e6..d9180f9ecc59b 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/PrintCommand.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/PrintCommand.cs @@ -23,10 +23,10 @@ namespace OpenQA.Selenium.BiDi.BrowsingContext; -internal sealed class PrintCommand(PrintCommandParameters @params) - : Command(@params, "browsingContext.print"); +internal sealed class PrintCommand(PrintParameters @params) + : Command(@params, "browsingContext.print"); -internal sealed record PrintCommandParameters(BrowsingContext Context, bool? Background, PrintMargin? Margin, PrintOrientation? Orientation, PrintPage? Page, IEnumerable? PageRanges, double? Scale, bool? ShrinkToFit) : CommandParameters; +internal sealed record PrintParameters(BrowsingContext Context, bool? Background, PrintMargin? Margin, PrintOrientation? Orientation, PrintPage? Page, IEnumerable? PageRanges, double? Scale, bool? ShrinkToFit) : Parameters; public sealed class PrintOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/ReloadCommand.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/ReloadCommand.cs index 7532d91359309..ec348b51ae3d1 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/ReloadCommand.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/ReloadCommand.cs @@ -21,10 +21,10 @@ namespace OpenQA.Selenium.BiDi.BrowsingContext; -internal sealed class ReloadCommand(ReloadCommandParameters @params) - : Command(@params, "browsingContext.reload"); +internal sealed class ReloadCommand(ReloadParameters @params) + : Command(@params, "browsingContext.reload"); -internal sealed record ReloadCommandParameters(BrowsingContext Context, bool? IgnoreCache, ReadinessState? Wait) : CommandParameters; +internal sealed record ReloadParameters(BrowsingContext Context, bool? IgnoreCache, ReadinessState? Wait) : Parameters; public sealed class ReloadOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/SetViewportCommand.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/SetViewportCommand.cs index bbf274481c040..41260597592dc 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/SetViewportCommand.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/SetViewportCommand.cs @@ -21,10 +21,10 @@ namespace OpenQA.Selenium.BiDi.BrowsingContext; -internal sealed class SetViewportCommand(SetViewportCommandParameters @params) - : Command(@params, "browsingContext.setViewport"); +internal sealed class SetViewportCommand(SetViewportParameters @params) + : Command(@params, "browsingContext.setViewport"); -internal sealed record SetViewportCommandParameters(BrowsingContext Context, Viewport? Viewport, double? DevicePixelRatio) : CommandParameters; +internal sealed record SetViewportParameters(BrowsingContext Context, Viewport? Viewport, double? DevicePixelRatio) : Parameters; public sealed class SetViewportOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/TraverseHistoryCommand.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/TraverseHistoryCommand.cs index 410798bd6f726..2e45c90489d7f 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/TraverseHistoryCommand.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/TraverseHistoryCommand.cs @@ -21,10 +21,10 @@ namespace OpenQA.Selenium.BiDi.BrowsingContext; -internal sealed class TraverseHistoryCommand(TraverseHistoryCommandParameters @params) - : Command(@params, "browsingContext.traverseHistory"); +internal sealed class TraverseHistoryCommand(TraverseHistoryParameters @params) + : Command(@params, "browsingContext.traverseHistory"); -internal sealed record TraverseHistoryCommandParameters(BrowsingContext Context, long Delta) : CommandParameters; +internal sealed record TraverseHistoryParameters(BrowsingContext Context, long Delta) : Parameters; public sealed class TraverseHistoryOptions : CommandOptions; diff --git a/dotnet/src/webdriver/BiDi/Communication/Command.cs b/dotnet/src/webdriver/BiDi/Communication/Command.cs index ce12b125e08a2..0fd27b28566dd 100644 --- a/dotnet/src/webdriver/BiDi/Communication/Command.cs +++ b/dotnet/src/webdriver/BiDi/Communication/Command.cs @@ -40,17 +40,17 @@ protected Command(string method, Type resultType) public Type ResultType { get; } } -internal abstract class Command(TCommandParameters @params, string method) : Command(method, typeof(TCommandResult)) - where TCommandParameters : CommandParameters - where TCommandResult : EmptyResult +internal abstract class Command(TParameters @params, string method) : Command(method, typeof(TResult)) + where TParameters : Parameters + where TResult : EmptyResult { [JsonPropertyOrder(2)] - public TCommandParameters Params { get; } = @params; + public TParameters Params { get; } = @params; } -internal record CommandParameters +internal record Parameters { - public static CommandParameters Empty { get; } = new CommandParameters(); + public static Parameters Empty { get; } = new Parameters(); } public record EmptyResult; diff --git a/dotnet/src/webdriver/BiDi/Input/InputModule.cs b/dotnet/src/webdriver/BiDi/Input/InputModule.cs index 91e2c96b55392..c394ffc0556cb 100644 --- a/dotnet/src/webdriver/BiDi/Input/InputModule.cs +++ b/dotnet/src/webdriver/BiDi/Input/InputModule.cs @@ -27,21 +27,21 @@ public sealed class InputModule(Broker broker) : Module(broker) { public async Task PerformActionsAsync(BrowsingContext.BrowsingContext context, IEnumerable actions, PerformActionsOptions? options = null) { - var @params = new PerformActionsCommandParameters(context, actions); + var @params = new PerformActionsParameters(context, actions); return await Broker.ExecuteCommandAsync(new PerformActionsCommand(@params), options).ConfigureAwait(false); } public async Task ReleaseActionsAsync(BrowsingContext.BrowsingContext context, ReleaseActionsOptions? options = null) { - var @params = new ReleaseActionsCommandParameters(context); + var @params = new ReleaseActionsParameters(context); return await Broker.ExecuteCommandAsync(new ReleaseActionsCommand(@params), options).ConfigureAwait(false); } public async Task SetFilesAsync(BrowsingContext.BrowsingContext context, Script.ISharedReference element, IEnumerable files, SetFilesOptions? options = null) { - var @params = new SetFilesCommandParameters(context, element, files); + var @params = new SetFilesParameters(context, element, files); return await Broker.ExecuteCommandAsync(new SetFilesCommand(@params), options).ConfigureAwait(false); } diff --git a/dotnet/src/webdriver/BiDi/Input/PerformActionsCommand.cs b/dotnet/src/webdriver/BiDi/Input/PerformActionsCommand.cs index be5206baaaf1b..4ea5ba83ebfc9 100644 --- a/dotnet/src/webdriver/BiDi/Input/PerformActionsCommand.cs +++ b/dotnet/src/webdriver/BiDi/Input/PerformActionsCommand.cs @@ -22,9 +22,9 @@ namespace OpenQA.Selenium.BiDi.Input; -internal sealed class PerformActionsCommand(PerformActionsCommandParameters @params) - : Command(@params, "input.performActions"); +internal sealed class PerformActionsCommand(PerformActionsParameters @params) + : Command(@params, "input.performActions"); -internal sealed record PerformActionsCommandParameters(BrowsingContext.BrowsingContext Context, IEnumerable Actions) : CommandParameters; +internal sealed record PerformActionsParameters(BrowsingContext.BrowsingContext Context, IEnumerable Actions) : Parameters; public sealed class PerformActionsOptions : CommandOptions; diff --git a/dotnet/src/webdriver/BiDi/Input/ReleaseActionsCommand.cs b/dotnet/src/webdriver/BiDi/Input/ReleaseActionsCommand.cs index 133c6bdad22be..3228645ff0726 100644 --- a/dotnet/src/webdriver/BiDi/Input/ReleaseActionsCommand.cs +++ b/dotnet/src/webdriver/BiDi/Input/ReleaseActionsCommand.cs @@ -21,9 +21,9 @@ namespace OpenQA.Selenium.BiDi.Input; -internal sealed class ReleaseActionsCommand(ReleaseActionsCommandParameters @params) - : Command(@params, "input.releaseActions"); +internal sealed class ReleaseActionsCommand(ReleaseActionsParameters @params) + : Command(@params, "input.releaseActions"); -internal sealed record ReleaseActionsCommandParameters(BrowsingContext.BrowsingContext Context) : CommandParameters; +internal sealed record ReleaseActionsParameters(BrowsingContext.BrowsingContext Context) : Parameters; public sealed class ReleaseActionsOptions : CommandOptions; diff --git a/dotnet/src/webdriver/BiDi/Input/SetFilesCommand.cs b/dotnet/src/webdriver/BiDi/Input/SetFilesCommand.cs index 78fdcbf9048a1..b695361378e42 100644 --- a/dotnet/src/webdriver/BiDi/Input/SetFilesCommand.cs +++ b/dotnet/src/webdriver/BiDi/Input/SetFilesCommand.cs @@ -22,9 +22,9 @@ namespace OpenQA.Selenium.BiDi.Input; -internal sealed class SetFilesCommand(SetFilesCommandParameters @params) - : Command(@params, "input.setFiles"); +internal sealed class SetFilesCommand(SetFilesParameters @params) + : Command(@params, "input.setFiles"); -internal sealed record SetFilesCommandParameters(BrowsingContext.BrowsingContext Context, Script.ISharedReference Element, IEnumerable Files) : CommandParameters; +internal sealed record SetFilesParameters(BrowsingContext.BrowsingContext Context, Script.ISharedReference Element, IEnumerable Files) : Parameters; public sealed class SetFilesOptions : CommandOptions; diff --git a/dotnet/src/webdriver/BiDi/Network/AddInterceptCommand.cs b/dotnet/src/webdriver/BiDi/Network/AddInterceptCommand.cs index 58ca8831009d6..698d6ea865f67 100644 --- a/dotnet/src/webdriver/BiDi/Network/AddInterceptCommand.cs +++ b/dotnet/src/webdriver/BiDi/Network/AddInterceptCommand.cs @@ -22,10 +22,10 @@ namespace OpenQA.Selenium.BiDi.Network; -internal sealed class AddInterceptCommand(AddInterceptCommandParameters @params) - : Command(@params, "network.addIntercept"); +internal sealed class AddInterceptCommand(AddInterceptParameters @params) + : Command(@params, "network.addIntercept"); -internal sealed record AddInterceptCommandParameters(IEnumerable Phases, IEnumerable? Contexts, IEnumerable? UrlPatterns) : CommandParameters; +internal sealed record AddInterceptParameters(IEnumerable Phases, IEnumerable? Contexts, IEnumerable? UrlPatterns) : Parameters; public class AddInterceptOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/Network/ContinueRequestCommand.cs b/dotnet/src/webdriver/BiDi/Network/ContinueRequestCommand.cs index 786ed9d68ca60..c31d7eb6a7392 100644 --- a/dotnet/src/webdriver/BiDi/Network/ContinueRequestCommand.cs +++ b/dotnet/src/webdriver/BiDi/Network/ContinueRequestCommand.cs @@ -22,10 +22,10 @@ namespace OpenQA.Selenium.BiDi.Network; -internal sealed class ContinueRequestCommand(ContinueRequestCommandParameters @params) - : Command(@params, "network.continueRequest"); +internal sealed class ContinueRequestCommand(ContinueRequestParameters @params) + : Command(@params, "network.continueRequest"); -internal sealed record ContinueRequestCommandParameters(Request Request, BytesValue? Body, IEnumerable? Cookies, IEnumerable
? Headers, string? Method, string? Url) : CommandParameters; +internal sealed record ContinueRequestParameters(Request Request, BytesValue? Body, IEnumerable? Cookies, IEnumerable
? Headers, string? Method, string? Url) : Parameters; public sealed class ContinueRequestOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/Network/ContinueResponseCommand.cs b/dotnet/src/webdriver/BiDi/Network/ContinueResponseCommand.cs index 06ce733eb27d2..a45199c2f85de 100644 --- a/dotnet/src/webdriver/BiDi/Network/ContinueResponseCommand.cs +++ b/dotnet/src/webdriver/BiDi/Network/ContinueResponseCommand.cs @@ -22,10 +22,10 @@ namespace OpenQA.Selenium.BiDi.Network; -internal sealed class ContinueResponseCommand(ContinueResponseCommandParameters @params) - : Command(@params, "network.continueResponse"); +internal sealed class ContinueResponseCommand(ContinueResponseParameters @params) + : Command(@params, "network.continueResponse"); -internal sealed record ContinueResponseCommandParameters(Request Request, IEnumerable? Cookies, IEnumerable? Credentials, IEnumerable
? Headers, string? ReasonPhrase, long? StatusCode) : CommandParameters; +internal sealed record ContinueResponseParameters(Request Request, IEnumerable? Cookies, IEnumerable? Credentials, IEnumerable
? Headers, string? ReasonPhrase, long? StatusCode) : Parameters; public sealed class ContinueResponseOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/Network/ContinueWithAuthCommand.cs b/dotnet/src/webdriver/BiDi/Network/ContinueWithAuthCommand.cs index bd41e31c6d704..64e985d737a15 100644 --- a/dotnet/src/webdriver/BiDi/Network/ContinueWithAuthCommand.cs +++ b/dotnet/src/webdriver/BiDi/Network/ContinueWithAuthCommand.cs @@ -29,7 +29,7 @@ internal class ContinueWithAuthCommand(ContinueWithAuthParameters @params) [JsonDerivedType(typeof(ContinueWithAuthCredentials), "provideCredentials")] [JsonDerivedType(typeof(ContinueWithAuthDefaultCredentials), "default")] [JsonDerivedType(typeof(ContinueWithAuthCancelCredentials), "cancel")] -internal abstract record ContinueWithAuthParameters(Request Request) : CommandParameters; +internal abstract record ContinueWithAuthParameters(Request Request) : Parameters; internal sealed record ContinueWithAuthCredentials(Request Request, AuthCredentials Credentials) : ContinueWithAuthParameters(Request); diff --git a/dotnet/src/webdriver/BiDi/Network/FailRequestCommand.cs b/dotnet/src/webdriver/BiDi/Network/FailRequestCommand.cs index 1c2cdbafab295..9e1efc8c0a37e 100644 --- a/dotnet/src/webdriver/BiDi/Network/FailRequestCommand.cs +++ b/dotnet/src/webdriver/BiDi/Network/FailRequestCommand.cs @@ -21,9 +21,9 @@ namespace OpenQA.Selenium.BiDi.Network; -internal sealed class FailRequestCommand(FailRequestCommandParameters @params) - : Command(@params, "network.failRequest"); +internal sealed class FailRequestCommand(FailRequestParameters @params) + : Command(@params, "network.failRequest"); -internal sealed record FailRequestCommandParameters(Request Request) : CommandParameters; +internal sealed record FailRequestParameters(Request Request) : Parameters; public sealed class FailRequestOptions : CommandOptions; diff --git a/dotnet/src/webdriver/BiDi/Network/NetworkModule.cs b/dotnet/src/webdriver/BiDi/Network/NetworkModule.cs index 3f6893055d92f..38b74db9ee551 100644 --- a/dotnet/src/webdriver/BiDi/Network/NetworkModule.cs +++ b/dotnet/src/webdriver/BiDi/Network/NetworkModule.cs @@ -28,7 +28,7 @@ public sealed partial class NetworkModule(Broker broker) : Module(broker) { public async Task AddInterceptAsync(IEnumerable phases, AddInterceptOptions? options = null) { - var @params = new AddInterceptCommandParameters(phases, options?.Contexts, options?.UrlPatterns); + var @params = new AddInterceptParameters(phases, options?.Contexts, options?.UrlPatterns); var result = await Broker.ExecuteCommandAsync(new AddInterceptCommand(@params), options).ConfigureAwait(false); @@ -37,42 +37,42 @@ public async Task AddInterceptAsync(IEnumerable phase public async Task RemoveInterceptAsync(Intercept intercept, RemoveInterceptOptions? options = null) { - var @params = new RemoveInterceptCommandParameters(intercept); + var @params = new RemoveInterceptParameters(intercept); return await Broker.ExecuteCommandAsync(new RemoveInterceptCommand(@params), options).ConfigureAwait(false); } public async Task SetCacheBehaviorAsync(CacheBehavior behavior, SetCacheBehaviorOptions? options = null) { - var @params = new SetCacheBehaviorCommandParameters(behavior, options?.Contexts); + var @params = new SetCacheBehaviorParameters(behavior, options?.Contexts); return await Broker.ExecuteCommandAsync(new SetCacheBehaviorCommand(@params), options).ConfigureAwait(false); } public async Task ContinueRequestAsync(Request request, ContinueRequestOptions? options = null) { - var @params = new ContinueRequestCommandParameters(request, options?.Body, options?.Cookies, options?.Headers, options?.Method, options?.Url); + var @params = new ContinueRequestParameters(request, options?.Body, options?.Cookies, options?.Headers, options?.Method, options?.Url); return await Broker.ExecuteCommandAsync(new ContinueRequestCommand(@params), options).ConfigureAwait(false); } public async Task ContinueResponseAsync(Request request, ContinueResponseOptions? options = null) { - var @params = new ContinueResponseCommandParameters(request, options?.Cookies, options?.Credentials, options?.Headers, options?.ReasonPhrase, options?.StatusCode); + var @params = new ContinueResponseParameters(request, options?.Cookies, options?.Credentials, options?.Headers, options?.ReasonPhrase, options?.StatusCode); return await Broker.ExecuteCommandAsync(new ContinueResponseCommand(@params), options).ConfigureAwait(false); } public async Task FailRequestAsync(Request request, FailRequestOptions? options = null) { - var @params = new FailRequestCommandParameters(request); + var @params = new FailRequestParameters(request); return await Broker.ExecuteCommandAsync(new FailRequestCommand(@params), options).ConfigureAwait(false); } public async Task ProvideResponseAsync(Request request, ProvideResponseOptions? options = null) { - var @params = new ProvideResponseCommandParameters(request, options?.Body, options?.Cookies, options?.Headers, options?.ReasonPhrase, options?.StatusCode); + var @params = new ProvideResponseParameters(request, options?.Body, options?.Cookies, options?.Headers, options?.ReasonPhrase, options?.StatusCode); return await Broker.ExecuteCommandAsync(new ProvideResponseCommand(@params), options).ConfigureAwait(false); } diff --git a/dotnet/src/webdriver/BiDi/Network/ProvideResponseCommand.cs b/dotnet/src/webdriver/BiDi/Network/ProvideResponseCommand.cs index 679dc088b6998..290c63339498d 100644 --- a/dotnet/src/webdriver/BiDi/Network/ProvideResponseCommand.cs +++ b/dotnet/src/webdriver/BiDi/Network/ProvideResponseCommand.cs @@ -22,10 +22,10 @@ namespace OpenQA.Selenium.BiDi.Network; -internal sealed class ProvideResponseCommand(ProvideResponseCommandParameters @params) - : Command(@params, "network.provideResponse"); +internal sealed class ProvideResponseCommand(ProvideResponseParameters @params) + : Command(@params, "network.provideResponse"); -internal sealed record ProvideResponseCommandParameters(Request Request, BytesValue? Body, IEnumerable? Cookies, IEnumerable
? Headers, string? ReasonPhrase, long? StatusCode) : CommandParameters; +internal sealed record ProvideResponseParameters(Request Request, BytesValue? Body, IEnumerable? Cookies, IEnumerable
? Headers, string? ReasonPhrase, long? StatusCode) : Parameters; public sealed class ProvideResponseOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/Network/RemoveInterceptCommand.cs b/dotnet/src/webdriver/BiDi/Network/RemoveInterceptCommand.cs index 179c18d68d089..96eda3c812c1f 100644 --- a/dotnet/src/webdriver/BiDi/Network/RemoveInterceptCommand.cs +++ b/dotnet/src/webdriver/BiDi/Network/RemoveInterceptCommand.cs @@ -21,9 +21,9 @@ namespace OpenQA.Selenium.BiDi.Network; -internal sealed class RemoveInterceptCommand(RemoveInterceptCommandParameters @params) - : Command(@params, "network.removeIntercept"); +internal sealed class RemoveInterceptCommand(RemoveInterceptParameters @params) + : Command(@params, "network.removeIntercept"); -internal sealed record RemoveInterceptCommandParameters(Intercept Intercept) : CommandParameters; +internal sealed record RemoveInterceptParameters(Intercept Intercept) : Parameters; public class RemoveInterceptOptions : CommandOptions; diff --git a/dotnet/src/webdriver/BiDi/Network/SetCacheBehaviorCommand.cs b/dotnet/src/webdriver/BiDi/Network/SetCacheBehaviorCommand.cs index 15a96b235e4fa..d61544eb275bd 100644 --- a/dotnet/src/webdriver/BiDi/Network/SetCacheBehaviorCommand.cs +++ b/dotnet/src/webdriver/BiDi/Network/SetCacheBehaviorCommand.cs @@ -22,10 +22,10 @@ namespace OpenQA.Selenium.BiDi.Network; -internal sealed class SetCacheBehaviorCommand(SetCacheBehaviorCommandParameters @params) - : Command(@params, "network.setCacheBehavior"); +internal sealed class SetCacheBehaviorCommand(SetCacheBehaviorParameters @params) + : Command(@params, "network.setCacheBehavior"); -internal sealed record SetCacheBehaviorCommandParameters(CacheBehavior CacheBehavior, IEnumerable? Contexts) : CommandParameters; +internal sealed record SetCacheBehaviorParameters(CacheBehavior CacheBehavior, IEnumerable? Contexts) : Parameters; public sealed class SetCacheBehaviorOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/Script/AddPreloadScriptCommand.cs b/dotnet/src/webdriver/BiDi/Script/AddPreloadScriptCommand.cs index 612301b4864ce..7f5c7047c50b7 100644 --- a/dotnet/src/webdriver/BiDi/Script/AddPreloadScriptCommand.cs +++ b/dotnet/src/webdriver/BiDi/Script/AddPreloadScriptCommand.cs @@ -22,10 +22,10 @@ namespace OpenQA.Selenium.BiDi.Script; -internal sealed class AddPreloadScriptCommand(AddPreloadScriptCommandParameters @params) - : Command(@params, "script.addPreloadScript"); +internal sealed class AddPreloadScriptCommand(AddPreloadScriptParameters @params) + : Command(@params, "script.addPreloadScript"); -internal sealed record AddPreloadScriptCommandParameters(string FunctionDeclaration, IEnumerable? Arguments, IEnumerable? Contexts, string? Sandbox) : CommandParameters; +internal sealed record AddPreloadScriptParameters(string FunctionDeclaration, IEnumerable? Arguments, IEnumerable? Contexts, string? Sandbox) : Parameters; public sealed class AddPreloadScriptOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/Script/CallFunctionCommand.cs b/dotnet/src/webdriver/BiDi/Script/CallFunctionCommand.cs index 7d8381296c53b..1203ed39a6578 100644 --- a/dotnet/src/webdriver/BiDi/Script/CallFunctionCommand.cs +++ b/dotnet/src/webdriver/BiDi/Script/CallFunctionCommand.cs @@ -22,10 +22,10 @@ namespace OpenQA.Selenium.BiDi.Script; -internal sealed class CallFunctionCommand(CallFunctionCommandParameters @params) - : Command(@params, "script.callFunction"); +internal sealed class CallFunctionCommand(CallFunctionParameters @params) + : Command(@params, "script.callFunction"); -internal sealed record CallFunctionCommandParameters(string FunctionDeclaration, bool AwaitPromise, Target Target, IEnumerable? Arguments, ResultOwnership? ResultOwnership, SerializationOptions? SerializationOptions, LocalValue? This, bool? UserActivation) : CommandParameters; +internal sealed record CallFunctionParameters(string FunctionDeclaration, bool AwaitPromise, Target Target, IEnumerable? Arguments, ResultOwnership? ResultOwnership, SerializationOptions? SerializationOptions, LocalValue? This, bool? UserActivation) : Parameters; public sealed class CallFunctionOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/Script/DisownCommand.cs b/dotnet/src/webdriver/BiDi/Script/DisownCommand.cs index abfa458329763..f85c93a9da453 100644 --- a/dotnet/src/webdriver/BiDi/Script/DisownCommand.cs +++ b/dotnet/src/webdriver/BiDi/Script/DisownCommand.cs @@ -22,7 +22,7 @@ namespace OpenQA.Selenium.BiDi.Script; -internal sealed class DisownCommand(DisownCommandParameters @params) - : Command(@params, "script.disown"); +internal sealed class DisownCommand(DisownParameters @params) + : Command(@params, "script.disown"); -internal sealed record DisownCommandParameters(IEnumerable Handles, Target Target) : CommandParameters; +internal sealed record DisownParameters(IEnumerable Handles, Target Target) : Parameters; diff --git a/dotnet/src/webdriver/BiDi/Script/EvaluateCommand.cs b/dotnet/src/webdriver/BiDi/Script/EvaluateCommand.cs index cf9aecd75ceac..170cc8ad01c08 100644 --- a/dotnet/src/webdriver/BiDi/Script/EvaluateCommand.cs +++ b/dotnet/src/webdriver/BiDi/Script/EvaluateCommand.cs @@ -22,10 +22,10 @@ namespace OpenQA.Selenium.BiDi.Script; -internal sealed class EvaluateCommand(EvaluateCommandParameters @params) - : Command(@params, "script.evaluate"); +internal sealed class EvaluateCommand(EvaluateParameters @params) + : Command(@params, "script.evaluate"); -internal sealed record EvaluateCommandParameters(string Expression, Target Target, bool AwaitPromise, ResultOwnership? ResultOwnership, SerializationOptions? SerializationOptions, bool? UserActivation) : CommandParameters; +internal sealed record EvaluateParameters(string Expression, Target Target, bool AwaitPromise, ResultOwnership? ResultOwnership, SerializationOptions? SerializationOptions, bool? UserActivation) : Parameters; public sealed class EvaluateOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/Script/GetRealmsCommand.cs b/dotnet/src/webdriver/BiDi/Script/GetRealmsCommand.cs index cc2b8d332f64c..94f23a1063c4c 100644 --- a/dotnet/src/webdriver/BiDi/Script/GetRealmsCommand.cs +++ b/dotnet/src/webdriver/BiDi/Script/GetRealmsCommand.cs @@ -23,10 +23,10 @@ namespace OpenQA.Selenium.BiDi.Script; -internal sealed class GetRealmsCommand(GetRealmsCommandParameters @params) - : Command(@params, "script.getRealms"); +internal sealed class GetRealmsCommand(GetRealmsParameters @params) + : Command(@params, "script.getRealms"); -internal sealed record GetRealmsCommandParameters(BrowsingContext.BrowsingContext? Context, RealmType? Type) : CommandParameters; +internal sealed record GetRealmsParameters(BrowsingContext.BrowsingContext? Context, RealmType? Type) : Parameters; public sealed class GetRealmsOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/Script/RemovePreloadScriptCommand.cs b/dotnet/src/webdriver/BiDi/Script/RemovePreloadScriptCommand.cs index 6fbce4dbed82d..14858034d7735 100644 --- a/dotnet/src/webdriver/BiDi/Script/RemovePreloadScriptCommand.cs +++ b/dotnet/src/webdriver/BiDi/Script/RemovePreloadScriptCommand.cs @@ -21,9 +21,9 @@ namespace OpenQA.Selenium.BiDi.Script; -internal sealed class RemovePreloadScriptCommand(RemovePreloadScriptCommandParameters @params) - : Command(@params, "script.removePreloadScript"); +internal sealed class RemovePreloadScriptCommand(RemovePreloadScriptParameters @params) + : Command(@params, "script.removePreloadScript"); -internal sealed record RemovePreloadScriptCommandParameters(PreloadScript Script) : CommandParameters; +internal sealed record RemovePreloadScriptParameters(PreloadScript Script) : Parameters; public sealed class RemovePreloadScriptOptions : CommandOptions; diff --git a/dotnet/src/webdriver/BiDi/Script/ScriptModule.cs b/dotnet/src/webdriver/BiDi/Script/ScriptModule.cs index bdf489f0d614e..c8c1590a2021b 100644 --- a/dotnet/src/webdriver/BiDi/Script/ScriptModule.cs +++ b/dotnet/src/webdriver/BiDi/Script/ScriptModule.cs @@ -27,7 +27,7 @@ public sealed class ScriptModule(Broker broker) : Module(broker) { public async Task EvaluateAsync(string expression, bool awaitPromise, Target target, EvaluateOptions? options = null) { - var @params = new EvaluateCommandParameters(expression, target, awaitPromise, options?.ResultOwnership, options?.SerializationOptions, options?.UserActivation); + var @params = new EvaluateParameters(expression, target, awaitPromise, options?.ResultOwnership, options?.SerializationOptions, options?.UserActivation); return await Broker.ExecuteCommandAsync(new EvaluateCommand(@params), options).ConfigureAwait(false); } @@ -41,7 +41,7 @@ public async Task EvaluateAsync(string expression, bool awaitPro public async Task CallFunctionAsync(string functionDeclaration, bool awaitPromise, Target target, CallFunctionOptions? options = null) { - var @params = new CallFunctionCommandParameters(functionDeclaration, awaitPromise, target, options?.Arguments, options?.ResultOwnership, options?.SerializationOptions, options?.This, options?.UserActivation); + var @params = new CallFunctionParameters(functionDeclaration, awaitPromise, target, options?.Arguments, options?.ResultOwnership, options?.SerializationOptions, options?.This, options?.UserActivation); return await Broker.ExecuteCommandAsync(new CallFunctionCommand(@params), options).ConfigureAwait(false); } @@ -55,14 +55,14 @@ public async Task CallFunctionAsync(string functionDeclaration, public async Task GetRealmsAsync(GetRealmsOptions? options = null) { - var @params = new GetRealmsCommandParameters(options?.Context, options?.Type); + var @params = new GetRealmsParameters(options?.Context, options?.Type); return await Broker.ExecuteCommandAsync(new GetRealmsCommand(@params), options).ConfigureAwait(false); } public async Task AddPreloadScriptAsync(string functionDeclaration, AddPreloadScriptOptions? options = null) { - var @params = new AddPreloadScriptCommandParameters(functionDeclaration, options?.Arguments, options?.Contexts, options?.Sandbox); + var @params = new AddPreloadScriptParameters(functionDeclaration, options?.Arguments, options?.Contexts, options?.Sandbox); var result = await Broker.ExecuteCommandAsync(new AddPreloadScriptCommand(@params), options).ConfigureAwait(false); @@ -71,7 +71,7 @@ public async Task AddPreloadScriptAsync(string functionDeclaratio public async Task RemovePreloadScriptAsync(PreloadScript script, RemovePreloadScriptOptions? options = null) { - var @params = new RemovePreloadScriptCommandParameters(script); + var @params = new RemovePreloadScriptParameters(script); return await Broker.ExecuteCommandAsync(new RemovePreloadScriptCommand(@params), options).ConfigureAwait(false); } diff --git a/dotnet/src/webdriver/BiDi/Session/EndCommand.cs b/dotnet/src/webdriver/BiDi/Session/EndCommand.cs index a75f5f29c088e..44a481355f143 100644 --- a/dotnet/src/webdriver/BiDi/Session/EndCommand.cs +++ b/dotnet/src/webdriver/BiDi/Session/EndCommand.cs @@ -22,6 +22,6 @@ namespace OpenQA.Selenium.BiDi.Session; internal sealed class EndCommand() - : Command(CommandParameters.Empty, "session.end"); + : Command(Parameters.Empty, "session.end"); public sealed class EndOptions : CommandOptions; diff --git a/dotnet/src/webdriver/BiDi/Session/NewCommand.cs b/dotnet/src/webdriver/BiDi/Session/NewCommand.cs index 23c4a2f402ad4..06d509539a04b 100644 --- a/dotnet/src/webdriver/BiDi/Session/NewCommand.cs +++ b/dotnet/src/webdriver/BiDi/Session/NewCommand.cs @@ -21,10 +21,10 @@ namespace OpenQA.Selenium.BiDi.Session; -internal sealed class NewCommand(NewCommandParameters @params) - : Command(@params, "session.new"); +internal sealed class NewCommand(NewParameters @params) + : Command(@params, "session.new"); -internal sealed record NewCommandParameters(CapabilitiesRequest Capabilities) : CommandParameters; +internal sealed record NewParameters(CapabilitiesRequest Capabilities) : Parameters; public sealed class NewOptions : CommandOptions; diff --git a/dotnet/src/webdriver/BiDi/Session/SessionModule.cs b/dotnet/src/webdriver/BiDi/Session/SessionModule.cs index 32f97a9730820..0d07dd8cc84ad 100644 --- a/dotnet/src/webdriver/BiDi/Session/SessionModule.cs +++ b/dotnet/src/webdriver/BiDi/Session/SessionModule.cs @@ -32,28 +32,28 @@ public async Task StatusAsync(StatusOptions? options = null) public async Task SubscribeAsync(IEnumerable events, SubscribeOptions? options = null) { - var @params = new SubscribeCommandParameters(events, options?.Contexts); + var @params = new SubscribeParameters(events, options?.Contexts); return await Broker.ExecuteCommandAsync(new(@params), options).ConfigureAwait(false); } public async Task UnsubscribeAsync(IEnumerable subscriptions, UnsubscribeByIdOptions? options = null) { - var @params = new UnsubscribeByIdCommandParameters(subscriptions); + var @params = new UnsubscribeByIdParameters(subscriptions); return await Broker.ExecuteCommandAsync(new UnsubscribeByIdCommand(@params), options).ConfigureAwait(false); } public async Task UnsubscribeAsync(IEnumerable eventNames, UnsubscribeByAttributesOptions? options = null) { - var @params = new UnsubscribeByAttributesCommandParameters(eventNames, options?.Contexts); + var @params = new UnsubscribeByAttributesParameters(eventNames, options?.Contexts); return await Broker.ExecuteCommandAsync(new UnsubscribeByAttributesCommand(@params), options).ConfigureAwait(false); } public async Task NewAsync(CapabilitiesRequest capabilitiesRequest, NewOptions? options = null) { - var @params = new NewCommandParameters(capabilitiesRequest); + var @params = new NewParameters(capabilitiesRequest); return await Broker.ExecuteCommandAsync(new NewCommand(@params), options).ConfigureAwait(false); } diff --git a/dotnet/src/webdriver/BiDi/Session/StatusCommand.cs b/dotnet/src/webdriver/BiDi/Session/StatusCommand.cs index f8bd3fbefbe61..54f1865554007 100644 --- a/dotnet/src/webdriver/BiDi/Session/StatusCommand.cs +++ b/dotnet/src/webdriver/BiDi/Session/StatusCommand.cs @@ -22,7 +22,7 @@ namespace OpenQA.Selenium.BiDi.Session; internal sealed class StatusCommand() - : Command(CommandParameters.Empty, "session.status"); + : Command(Parameters.Empty, "session.status"); public sealed record StatusResult(bool Ready, string Message) : EmptyResult; diff --git a/dotnet/src/webdriver/BiDi/Session/SubscribeCommand.cs b/dotnet/src/webdriver/BiDi/Session/SubscribeCommand.cs index ba63121fefd85..a4982b7427306 100644 --- a/dotnet/src/webdriver/BiDi/Session/SubscribeCommand.cs +++ b/dotnet/src/webdriver/BiDi/Session/SubscribeCommand.cs @@ -22,10 +22,10 @@ namespace OpenQA.Selenium.BiDi.Session; -internal sealed class SubscribeCommand(SubscribeCommandParameters @params) - : Command(@params, "session.subscribe"); +internal sealed class SubscribeCommand(SubscribeParameters @params) + : Command(@params, "session.subscribe"); -internal sealed record SubscribeCommandParameters(IEnumerable Events, IEnumerable? Contexts) : CommandParameters; +internal sealed record SubscribeParameters(IEnumerable Events, IEnumerable? Contexts) : Parameters; public sealed class SubscribeOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/Session/UnsubscribeCommand.cs b/dotnet/src/webdriver/BiDi/Session/UnsubscribeCommand.cs index 4540126b32e5f..7ab9e722b797b 100644 --- a/dotnet/src/webdriver/BiDi/Session/UnsubscribeCommand.cs +++ b/dotnet/src/webdriver/BiDi/Session/UnsubscribeCommand.cs @@ -23,21 +23,21 @@ namespace OpenQA.Selenium.BiDi.Session; -internal sealed class UnsubscribeByIdCommand(UnsubscribeByIdCommandParameters @params) - : Command(@params, "session.unsubscribe"); +internal sealed class UnsubscribeByIdCommand(UnsubscribeByIdParameters @params) + : Command(@params, "session.unsubscribe"); -internal sealed class UnsubscribeByAttributesCommand(UnsubscribeByAttributesCommandParameters @params) - : Command(@params, "session.unsubscribe"); +internal sealed class UnsubscribeByAttributesCommand(UnsubscribeByAttributesParameters @params) + : Command(@params, "session.unsubscribe"); -internal sealed record UnsubscribeByIdCommandParameters(IEnumerable Subscriptions) : CommandParameters; +internal sealed record UnsubscribeByIdParameters(IEnumerable Subscriptions) : Parameters; public sealed class UnsubscribeByIdOptions : CommandOptions; -internal sealed record UnsubscribeByAttributesCommandParameters( +internal sealed record UnsubscribeByAttributesParameters( IEnumerable Events, [property: Obsolete("Contexts param is deprecated and will be removed in the future versions")] // https://w3c.github.io/webdriver-bidi/#type-session-UnsubscribeByAttributesRequest - IEnumerable? Contexts) : CommandParameters; + IEnumerable? Contexts) : Parameters; public sealed class UnsubscribeByAttributesOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/Storage/DeleteCookiesCommand.cs b/dotnet/src/webdriver/BiDi/Storage/DeleteCookiesCommand.cs index cb3d061fb4b88..31adb809f6e72 100644 --- a/dotnet/src/webdriver/BiDi/Storage/DeleteCookiesCommand.cs +++ b/dotnet/src/webdriver/BiDi/Storage/DeleteCookiesCommand.cs @@ -21,10 +21,10 @@ namespace OpenQA.Selenium.BiDi.Storage; -internal sealed class DeleteCookiesCommand(DeleteCookiesCommandParameters @params) - : Command(@params, "storage.deleteCookies"); +internal sealed class DeleteCookiesCommand(DeleteCookiesParameters @params) + : Command(@params, "storage.deleteCookies"); -internal sealed record DeleteCookiesCommandParameters(CookieFilter? Filter, PartitionDescriptor? Partition) : CommandParameters; +internal sealed record DeleteCookiesParameters(CookieFilter? Filter, PartitionDescriptor? Partition) : Parameters; public sealed class DeleteCookiesOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/Storage/GetCookiesCommand.cs b/dotnet/src/webdriver/BiDi/Storage/GetCookiesCommand.cs index 9e097dacf3e14..781de8e09a4f9 100644 --- a/dotnet/src/webdriver/BiDi/Storage/GetCookiesCommand.cs +++ b/dotnet/src/webdriver/BiDi/Storage/GetCookiesCommand.cs @@ -25,10 +25,10 @@ namespace OpenQA.Selenium.BiDi.Storage; -internal sealed class GetCookiesCommand(GetCookiesCommandParameters @params) - : Command(@params, "storage.getCookies"); +internal sealed class GetCookiesCommand(GetCookiesParameters @params) + : Command(@params, "storage.getCookies"); -internal sealed record GetCookiesCommandParameters(CookieFilter? Filter, PartitionDescriptor? Partition) : CommandParameters; +internal sealed record GetCookiesParameters(CookieFilter? Filter, PartitionDescriptor? Partition) : Parameters; public sealed class GetCookiesOptions : CommandOptions { diff --git a/dotnet/src/webdriver/BiDi/Storage/SetCookieCommand.cs b/dotnet/src/webdriver/BiDi/Storage/SetCookieCommand.cs index e92f99bfb2057..d8f22a6905e3a 100644 --- a/dotnet/src/webdriver/BiDi/Storage/SetCookieCommand.cs +++ b/dotnet/src/webdriver/BiDi/Storage/SetCookieCommand.cs @@ -22,10 +22,10 @@ namespace OpenQA.Selenium.BiDi.Storage; -internal sealed class SetCookieCommand(SetCookieCommandParameters @params) - : Command(@params, "storage.setCookie"); +internal sealed class SetCookieCommand(SetCookieParameters @params) + : Command(@params, "storage.setCookie"); -internal sealed record SetCookieCommandParameters(PartialCookie Cookie, PartitionDescriptor? Partition) : CommandParameters; +internal sealed record SetCookieParameters(PartialCookie Cookie, PartitionDescriptor? Partition) : Parameters; public sealed record PartialCookie(string Name, Network.BytesValue Value, string Domain) { diff --git a/dotnet/src/webdriver/BiDi/Storage/StorageModule.cs b/dotnet/src/webdriver/BiDi/Storage/StorageModule.cs index 0fdd70288a141..7b51658794519 100644 --- a/dotnet/src/webdriver/BiDi/Storage/StorageModule.cs +++ b/dotnet/src/webdriver/BiDi/Storage/StorageModule.cs @@ -26,21 +26,21 @@ public sealed class StorageModule(Broker broker) : Module(broker) { public async Task GetCookiesAsync(GetCookiesOptions? options = null) { - var @params = new GetCookiesCommandParameters(options?.Filter, options?.Partition); + var @params = new GetCookiesParameters(options?.Filter, options?.Partition); return await Broker.ExecuteCommandAsync(new GetCookiesCommand(@params), options).ConfigureAwait(false); } public async Task DeleteCookiesAsync(DeleteCookiesOptions? options = null) { - var @params = new DeleteCookiesCommandParameters(options?.Filter, options?.Partition); + var @params = new DeleteCookiesParameters(options?.Filter, options?.Partition); return await Broker.ExecuteCommandAsync(new DeleteCookiesCommand(@params), options).ConfigureAwait(false); } public async Task SetCookieAsync(PartialCookie cookie, SetCookieOptions? options = null) { - var @params = new SetCookieCommandParameters(cookie, options?.Partition); + var @params = new SetCookieParameters(cookie, options?.Partition); return await Broker.ExecuteCommandAsync(new SetCookieCommand(@params), options).ConfigureAwait(false); } From ae953fcb5d0b07db760342ca4e854428e423dd27 Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Fri, 15 Aug 2025 16:13:13 -0400 Subject: [PATCH 019/118] [py] Fix formatting (#16189) --- py/selenium/webdriver/common/keys.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/py/selenium/webdriver/common/keys.py b/py/selenium/webdriver/common/keys.py index d07cdc3159c81..317ffe60a9557 100644 --- a/py/selenium/webdriver/common/keys.py +++ b/py/selenium/webdriver/common/keys.py @@ -64,7 +64,7 @@ class Keys: EQUALS = "\ue019" # Keys representing number pad digits - NUMPAD0 = "\ue01a" + NUMPAD0 = "\ue01a" NUMPAD1 = "\ue01b" NUMPAD2 = "\ue01c" NUMPAD3 = "\ue01d" @@ -74,7 +74,7 @@ class Keys: NUMPAD7 = "\ue021" NUMPAD8 = "\ue022" NUMPAD9 = "\ue023" - + MULTIPLY = "\ue024" ADD = "\ue025" SEPARATOR = "\ue026" From e2bffeb7311bc3000e72f6e7c548fdb18dd26bf9 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Fri, 15 Aug 2025 23:55:39 +0300 Subject: [PATCH 020/118] [dotnet] [bidi] Support WebExtension module (#15850) --- common/extensions/BUILD.bazel | 1 + dotnet/src/webdriver/BiDi/BiDi.cs | 14 +++ .../webdriver/BiDi/Communication/Broker.cs | 1 + .../Json/BiDiJsonSerializerContext.cs | 4 + .../Json/Converters/WebExtensionConverter.cs | 47 +++++++++ .../webdriver/BiDi/WebExtension/Extension.cs | 40 ++++++++ .../BiDi/WebExtension/InstallCommand.cs | 44 +++++++++ .../BiDi/WebExtension/UninstallCommand.cs | 29 ++++++ .../BiDi/WebExtension/WebExtensionModule.cs | 40 ++++++++ dotnet/test/common/BUILD.bazel | 1 + .../BiDi/WebExtension/WebExtensionTest.cs | 96 +++++++++++++++++++ .../Selenium.WebDriver.Common.Tests.csproj | 4 + 12 files changed, 321 insertions(+) create mode 100644 dotnet/src/webdriver/BiDi/Communication/Json/Converters/WebExtensionConverter.cs create mode 100644 dotnet/src/webdriver/BiDi/WebExtension/Extension.cs create mode 100644 dotnet/src/webdriver/BiDi/WebExtension/InstallCommand.cs create mode 100644 dotnet/src/webdriver/BiDi/WebExtension/UninstallCommand.cs create mode 100644 dotnet/src/webdriver/BiDi/WebExtension/WebExtensionModule.cs create mode 100644 dotnet/test/common/BiDi/WebExtension/WebExtensionTest.cs diff --git a/common/extensions/BUILD.bazel b/common/extensions/BUILD.bazel index 9095b311e4fb3..71b72cbbdf491 100644 --- a/common/extensions/BUILD.bazel +++ b/common/extensions/BUILD.bazel @@ -7,6 +7,7 @@ filegroup( "**/*", ]), visibility = [ + "//dotnet/test/common:__pkg__", "//java/test/org/openqa/selenium/chrome:__pkg__", "//java/test/org/openqa/selenium/edge:__pkg__", "//java/test/org/openqa/selenium/environment:__pkg__", diff --git a/dotnet/src/webdriver/BiDi/BiDi.cs b/dotnet/src/webdriver/BiDi/BiDi.cs index 08c2822697dfb..a3b8e898a0861 100644 --- a/dotnet/src/webdriver/BiDi/BiDi.cs +++ b/dotnet/src/webdriver/BiDi/BiDi.cs @@ -36,6 +36,7 @@ public sealed class BiDi : IAsyncDisposable private Script.ScriptModule? _scriptModule; private Log.LogModule? _logModule; private Storage.StorageModule? _storageModule; + private WebExtension.WebExtensionModule? _webExtensionModule; private readonly object _moduleLock = new(); @@ -150,6 +151,19 @@ public Storage.StorageModule Storage } } + public WebExtension.WebExtensionModule WebExtension + { + get + { + if (_webExtensionModule is not null) return _webExtensionModule; + lock (_moduleLock) + { + _webExtensionModule ??= new WebExtension.WebExtensionModule(_broker); + } + return _webExtensionModule; + } + } + public Task StatusAsync() { return SessionModule.StatusAsync(); diff --git a/dotnet/src/webdriver/BiDi/Communication/Broker.cs b/dotnet/src/webdriver/BiDi/Communication/Broker.cs index 92595f4500def..db2058224749b 100644 --- a/dotnet/src/webdriver/BiDi/Communication/Broker.cs +++ b/dotnet/src/webdriver/BiDi/Communication/Broker.cs @@ -86,6 +86,7 @@ internal Broker(BiDi bidi, Uri url) new DateTimeOffsetConverter(), new PrintPageRangeConverter(), new InputOriginConverter(), + new WebExtensionConverter(_bidi), new SubscriptionConverter(), new JsonStringEnumConverter(JsonNamingPolicy.CamelCase), diff --git a/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs b/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs index 5b2a0b803ff7a..e467b53c4922e 100644 --- a/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs +++ b/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs @@ -165,4 +165,8 @@ namespace OpenQA.Selenium.BiDi.Communication.Json; [JsonSerializable(typeof(IEnumerable))] [JsonSerializable(typeof(IEnumerable))] +[JsonSerializable(typeof(WebExtension.InstallCommand))] +[JsonSerializable(typeof(WebExtension.InstallResult))] +[JsonSerializable(typeof(WebExtension.UninstallCommand))] + internal partial class BiDiJsonSerializerContext : JsonSerializerContext; diff --git a/dotnet/src/webdriver/BiDi/Communication/Json/Converters/WebExtensionConverter.cs b/dotnet/src/webdriver/BiDi/Communication/Json/Converters/WebExtensionConverter.cs new file mode 100644 index 0000000000000..f29dc90567fad --- /dev/null +++ b/dotnet/src/webdriver/BiDi/Communication/Json/Converters/WebExtensionConverter.cs @@ -0,0 +1,47 @@ +// +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// + +using OpenQA.Selenium.BiDi.WebExtension; +using System; +using System.Text.Json; +using System.Text.Json.Serialization; + +namespace OpenQA.Selenium.BiDi.Communication.Json.Converters; + +internal class WebExtensionConverter : JsonConverter +{ + private readonly BiDi _bidi; + + public WebExtensionConverter(BiDi bidi) + { + _bidi = bidi; + } + + public override Extension? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + var id = reader.GetString(); + + return new Extension(_bidi, id!); + } + + public override void Write(Utf8JsonWriter writer, Extension value, JsonSerializerOptions options) + { + writer.WriteStringValue(value.Id); + } +} diff --git a/dotnet/src/webdriver/BiDi/WebExtension/Extension.cs b/dotnet/src/webdriver/BiDi/WebExtension/Extension.cs new file mode 100644 index 0000000000000..c19beb1579e70 --- /dev/null +++ b/dotnet/src/webdriver/BiDi/WebExtension/Extension.cs @@ -0,0 +1,40 @@ +// +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// + +using System.Threading.Tasks; + +namespace OpenQA.Selenium.BiDi.WebExtension; + +public sealed class Extension +{ + private readonly BiDi _bidi; + + public Extension(BiDi bidi, string id) + { + _bidi = bidi; + Id = id; + } + + internal string Id { get; } + + public Task UninstallAsync(UninstallOptions? options = null) + { + return _bidi.WebExtension.UninstallAsync(this, options); + } +} diff --git a/dotnet/src/webdriver/BiDi/WebExtension/InstallCommand.cs b/dotnet/src/webdriver/BiDi/WebExtension/InstallCommand.cs new file mode 100644 index 0000000000000..4092203c47bac --- /dev/null +++ b/dotnet/src/webdriver/BiDi/WebExtension/InstallCommand.cs @@ -0,0 +1,44 @@ +// +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// + +using OpenQA.Selenium.BiDi.Communication; +using System.Text.Json.Serialization; + +namespace OpenQA.Selenium.BiDi.WebExtension; + +internal sealed class InstallCommand(InstallParameters @params) + : Command(@params, "webExtension.install"); + +internal sealed record InstallParameters(ExtensionData ExtensionData) : Parameters; + +[JsonPolymorphic(TypeDiscriminatorPropertyName = "type")] +[JsonDerivedType(typeof(ExtensionArchivePath), "archivePath")] +[JsonDerivedType(typeof(ExtensionBase64Encoded), "base64")] +[JsonDerivedType(typeof(ExtensionPath), "path")] +public abstract record ExtensionData; + +public sealed record ExtensionArchivePath(string Path) : ExtensionData; + +public sealed record ExtensionBase64Encoded(string Value) : ExtensionData; + +public sealed record ExtensionPath(string Path) : ExtensionData; + +public sealed class InstallOptions : CommandOptions; + +public sealed record InstallResult(Extension Extension) : EmptyResult; diff --git a/dotnet/src/webdriver/BiDi/WebExtension/UninstallCommand.cs b/dotnet/src/webdriver/BiDi/WebExtension/UninstallCommand.cs new file mode 100644 index 0000000000000..4d2635293e75c --- /dev/null +++ b/dotnet/src/webdriver/BiDi/WebExtension/UninstallCommand.cs @@ -0,0 +1,29 @@ +// +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// + +using OpenQA.Selenium.BiDi.Communication; + +namespace OpenQA.Selenium.BiDi.WebExtension; + +internal sealed class UninstallCommand(UninstallParameters @params) + : Command(@params, "webExtension.uninstall"); + +internal sealed record UninstallParameters(Extension Extension) : Parameters; + +public sealed class UninstallOptions : CommandOptions; diff --git a/dotnet/src/webdriver/BiDi/WebExtension/WebExtensionModule.cs b/dotnet/src/webdriver/BiDi/WebExtension/WebExtensionModule.cs new file mode 100644 index 0000000000000..009e01f1e7012 --- /dev/null +++ b/dotnet/src/webdriver/BiDi/WebExtension/WebExtensionModule.cs @@ -0,0 +1,40 @@ +// +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// + +using OpenQA.Selenium.BiDi.Communication; +using System.Threading.Tasks; + +namespace OpenQA.Selenium.BiDi.WebExtension; + +public sealed class WebExtensionModule(Broker broker) : Module(broker) +{ + public async Task InstallAsync(ExtensionData extensionData, InstallOptions? options = null) + { + var @params = new InstallParameters(extensionData); + + return await Broker.ExecuteCommandAsync(new InstallCommand(@params), options).ConfigureAwait(false); + } + + public async Task UninstallAsync(Extension extension, UninstallOptions? options = null) + { + var @params = new UninstallParameters(extension); + + return await Broker.ExecuteCommandAsync(new UninstallCommand(@params), options).ConfigureAwait(false); + } +} diff --git a/dotnet/test/common/BUILD.bazel b/dotnet/test/common/BUILD.bazel index 23212fd57def4..7c210e2b8ea6c 100644 --- a/dotnet/test/common/BUILD.bazel +++ b/dotnet/test/common/BUILD.bazel @@ -17,6 +17,7 @@ filegroup( srcs = [], data = [ "appconfig.json", + "//common/extensions", "//common/src/web", "//dotnet/src/webdriver:manager-linux", "//dotnet/src/webdriver:manager-macos", diff --git a/dotnet/test/common/BiDi/WebExtension/WebExtensionTest.cs b/dotnet/test/common/BiDi/WebExtension/WebExtensionTest.cs new file mode 100644 index 0000000000000..4be01281dc79c --- /dev/null +++ b/dotnet/test/common/BiDi/WebExtension/WebExtensionTest.cs @@ -0,0 +1,96 @@ +// +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// + +using NUnit.Framework; +using System; +using System.IO; +using System.Threading.Tasks; + +namespace OpenQA.Selenium.BiDi.WebExtension; + +[Ignore(""" + The following test suite wants to set driver arguments via Options, but it breaks CDP/DevTools tests. + The desired arguments (for Chromium only?): + --enable-unsafe-extension-debugging + --remote-debugging-pipe + Ignoring these tests for now. Hopefully https://github.com/SeleniumHQ/selenium/issues/15536 will be resolved soon. + """)] +class WebExtensionTest : BiDiTestFixture +{ + [Test] + public async Task CanInstallPathWebExtension() + { + string path = Path.GetFullPath("common/extensions/webextensions-selenium-example"); + + var result = await bidi.WebExtension.InstallAsync(new ExtensionPath(path)); + + Assert.That(result, Is.Not.Null); + Assert.That(result.Extension, Is.Not.Null); + } + + [Test] + [IgnoreBrowser(Selenium.Browser.Chrome, "Archived and Base64 extensions are not supported?")] + [IgnoreBrowser(Selenium.Browser.Edge, "Archived and Base64 extensions are not supported?")] + public async Task CanInstallArchiveWebExtension() + { + string path = LocateRelativePath("common/extensions/webextensions-selenium-example.zip"); + + var result = await bidi.WebExtension.InstallAsync(new ExtensionArchivePath(path)); + + Assert.That(result, Is.Not.Null); + Assert.That(result.Extension, Is.Not.Null); + } + + [Test] + [IgnoreBrowser(Selenium.Browser.Chrome, "Archived and Base64 extensions are not supported?")] + [IgnoreBrowser(Selenium.Browser.Edge, "Archived and Base64 extensions are not supported?")] + public async Task CanInstallBase64WebExtension() + { + var path = LocateRelativePath("common/extensions/webextensions-selenium-example.zip"); + + string base64 = Convert.ToBase64String(File.ReadAllBytes(path)); + + var result = await bidi.WebExtension.InstallAsync(new ExtensionBase64Encoded(base64)); + + Assert.That(result, Is.Not.Null); + Assert.That(result.Extension, Is.Not.Null); + } + + [Test] + public async Task CanUninstallExtension() + { + string path = LocateRelativePath("common/extensions/webextensions-selenium-example"); + + var result = await bidi.WebExtension.InstallAsync(new ExtensionPath(path)); + + await result.Extension.UninstallAsync(); + } + + private static string LocateRelativePath(string path) + { + try + { + return Bazel.Runfiles.Create().Rlocation($"_main/{path}"); + } + catch (FileNotFoundException) + { + return Path.GetFullPath(path); + } + } +} diff --git a/dotnet/test/common/Selenium.WebDriver.Common.Tests.csproj b/dotnet/test/common/Selenium.WebDriver.Common.Tests.csproj index 65a28950931e9..042384fd1fba0 100644 --- a/dotnet/test/common/Selenium.WebDriver.Common.Tests.csproj +++ b/dotnet/test/common/Selenium.WebDriver.Common.Tests.csproj @@ -27,6 +27,10 @@ Always + + common\extensions\%(RecursiveDir)%(Filename)%(Extension) + PreserveNewest + From 14ce3ac531e9df43114a314338a49fdffff77531 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Sat, 16 Aug 2025 00:41:50 +0300 Subject: [PATCH 021/118] [dotnet] [bidi] Propagate BiDiOptions in Connect method --- dotnet/src/webdriver/BiDi/BiDi.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotnet/src/webdriver/BiDi/BiDi.cs b/dotnet/src/webdriver/BiDi/BiDi.cs index a3b8e898a0861..0ffc7b8fdeaf2 100644 --- a/dotnet/src/webdriver/BiDi/BiDi.cs +++ b/dotnet/src/webdriver/BiDi/BiDi.cs @@ -169,7 +169,7 @@ public WebExtension.WebExtensionModule WebExtension return SessionModule.StatusAsync(); } - public static async Task ConnectAsync(string url) + public static async Task ConnectAsync(string url, BiDiOptions? options = null) { var bidi = new BiDi(url); From 304466ebd22c937b04069f66a08c094dfc057ffa Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Sat, 16 Aug 2025 00:47:04 +0300 Subject: [PATCH 022/118] [dotnet] [bidi] Pass the bidi options from main entry point --- dotnet/src/webdriver/BiDi/WebDriver.Extensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotnet/src/webdriver/BiDi/WebDriver.Extensions.cs b/dotnet/src/webdriver/BiDi/WebDriver.Extensions.cs index 2ba4f65fc1a20..2aedc80a2c092 100644 --- a/dotnet/src/webdriver/BiDi/WebDriver.Extensions.cs +++ b/dotnet/src/webdriver/BiDi/WebDriver.Extensions.cs @@ -37,7 +37,7 @@ public static async Task AsBiDiAsync(this IWebDriver webDriver, BiDiOption if (webSocketUrl is null) throw new BiDiException("The driver is not compatible with bidirectional protocol or \"webSocketUrl\" not enabled in driver options."); - var bidi = await BiDi.ConnectAsync(webSocketUrl).ConfigureAwait(false); + var bidi = await BiDi.ConnectAsync(webSocketUrl, options).ConfigureAwait(false); return bidi; } From 5f276f0001fcf322610b03ff2117eaaff661018a Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Sat, 16 Aug 2025 07:50:34 +0200 Subject: [PATCH 023/118] [dotnet][rb][java][js][py] Automated Browser Version Update (#16190) Co-authored-by: Selenium CI Bot --- common/repositories.bzl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/common/repositories.bzl b/common/repositories.bzl index 18cd0ae3ff93f..0c647a621fea0 100644 --- a/common/repositories.bzl +++ b/common/repositories.bzl @@ -123,10 +123,10 @@ js_library( pkg_archive( name = "mac_edge", - url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/2c91478b-aace-43d7-8329-0bc57341712f/MicrosoftEdge-139.0.3405.86.pkg", - sha256 = "07051b3d4c97eeeff72c0858ae9510a249d9b1193a9c0174bef4a9697dbd395d", + url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/4d599f34-3ef7-4f04-bd4b-6f35be25008c/MicrosoftEdge-139.0.3405.102.pkg", + sha256 = "c5edb687ac110cabedf989706a6e9fade4f30375ef194f155fade830fc8837be", move = { - "MicrosoftEdge-139.0.3405.86.pkg/Payload/Microsoft Edge.app": "Edge.app", + "MicrosoftEdge-139.0.3405.102.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_139.0.3405.86-1_amd64.deb", - sha256 = "4b5fd1512c1142c0509e8fc8df5c63c35086b34b49a65e4745ab5ab7ec0eaa61", + url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_139.0.3405.102-1_amd64.deb", + sha256 = "ad8e90dec3080065ff64a395bf04a5e9cc6adb8481d4f8829fb6f5a4c5cc7a9b", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) From 359c3092652ec014ac275aff857fcc4695e5bd46 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Sun, 17 Aug 2025 10:29:59 +0200 Subject: [PATCH 024/118] [dotnet][rb][java][js][py] Automated Browser Version Update (#16195) Update pinned browser versions Co-authored-by: Selenium CI Bot --- common/repositories.bzl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/common/repositories.bzl b/common/repositories.bzl index 0c647a621fea0..0c3f9d9001abc 100644 --- a/common/repositories.bzl +++ b/common/repositories.bzl @@ -165,8 +165,8 @@ js_library( http_archive( name = "linux_edgedriver", - url = "https://msedgedriver.microsoft.com/139.0.3405.86/edgedriver_linux64.zip", - sha256 = "49ce29de50f9ac418a3a2416708a5563215b8412b27d3e505f3c859fc6ffba12", + url = "https://msedgedriver.microsoft.com/139.0.3405.102/edgedriver_linux64.zip", + sha256 = "e092178901c011ccfddc0556193742a01f206d71b5bb1a12cc1ba7a243262fc2", 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.microsoft.com/139.0.3405.86/edgedriver_mac64.zip", - sha256 = "b6c8244dfb7b8a223d3ac8fd569533f0a307eadaca2b8cbc884ce7f69294682e", + url = "https://msedgedriver.microsoft.com/139.0.3405.102/edgedriver_mac64.zip", + sha256 = "98aa637081061ea610c1f70be09fdea6b5f5b3a46c94a87ca291e2285bad1328", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) From 148487db4ad4c3199cc31fe691bd59967022ce2b Mon Sep 17 00:00:00 2001 From: Augustin Gottlieb <33221555+aguspe@users.noreply.github.com> Date: Sun, 17 Aug 2025 13:12:40 +0200 Subject: [PATCH 025/118] [rb][BiDi] Create browser module, added user context related methods (#15371) * Create browser module, added user context related methods * Fix formatting issues * Fix delete cookie test * Fix tests for firefox browser contexts --- rb/lib/selenium/webdriver/bidi.rb | 1 + rb/lib/selenium/webdriver/bidi/browser.rb | 42 ++++++++++ rb/lib/selenium/webdriver/common/manager.rb | 2 + .../lib/selenium/webdriver/bidi/browser.rbs | 17 ++++ .../selenium/webdriver/bidi/browser_spec.rb | 77 +++++++++++++++++++ 5 files changed, 139 insertions(+) create mode 100644 rb/lib/selenium/webdriver/bidi/browser.rb create mode 100644 rb/sig/lib/selenium/webdriver/bidi/browser.rbs create mode 100644 rb/spec/integration/selenium/webdriver/bidi/browser_spec.rb diff --git a/rb/lib/selenium/webdriver/bidi.rb b/rb/lib/selenium/webdriver/bidi.rb index 4c8ca37b4f8d2..25c7393a88f2f 100644 --- a/rb/lib/selenium/webdriver/bidi.rb +++ b/rb/lib/selenium/webdriver/bidi.rb @@ -23,6 +23,7 @@ class BiDi autoload :Session, 'selenium/webdriver/bidi/session' autoload :LogInspector, 'selenium/webdriver/bidi/log_inspector' autoload :LogHandler, 'selenium/webdriver/bidi/log_handler' + autoload :Browser, 'selenium/webdriver/bidi/browser' autoload :BrowsingContext, 'selenium/webdriver/bidi/browsing_context' autoload :Struct, 'selenium/webdriver/bidi/struct' autoload :Network, 'selenium/webdriver/bidi/network' diff --git a/rb/lib/selenium/webdriver/bidi/browser.rb b/rb/lib/selenium/webdriver/bidi/browser.rb new file mode 100644 index 0000000000000..e5d64e1fdbd9f --- /dev/null +++ b/rb/lib/selenium/webdriver/bidi/browser.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +# 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 +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +module Selenium + module WebDriver + class BiDi + class Browser + def initialize(bidi) + @bidi = bidi + end + + def create_user_context + @bidi.send_cmd('browser.createUserContext') + end + + def user_contexts + @bidi.send_cmd('browser.getUserContexts') + end + + def remove_user_context(user_context) + @bidi.send_cmd('browser.removeUserContext', userContext: user_context) + end + end + end # BiDi + end # WebDriver +end # Selenium diff --git a/rb/lib/selenium/webdriver/common/manager.rb b/rb/lib/selenium/webdriver/common/manager.rb index 99181d7700f67..2f4fdeb90c5ed 100644 --- a/rb/lib/selenium/webdriver/common/manager.rb +++ b/rb/lib/selenium/webdriver/common/manager.rb @@ -79,6 +79,8 @@ def cookie_named(name) # def delete_cookie(name) + raise ArgumentError, 'Cookie name cannot be null or empty' if name.nil? || name.to_s.strip.empty? + @bridge.delete_cookie name end diff --git a/rb/sig/lib/selenium/webdriver/bidi/browser.rbs b/rb/sig/lib/selenium/webdriver/bidi/browser.rbs new file mode 100644 index 0000000000000..fe6f06548c9ac --- /dev/null +++ b/rb/sig/lib/selenium/webdriver/bidi/browser.rbs @@ -0,0 +1,17 @@ +module Selenium + module WebDriver + class BiDi + class Browser + @bidi: BiDi + + def initialize: (BiDi bidi) -> void + + def create_user_context: () -> Hash[String, String] + + def user_contexts: () -> Array[Hash[String, String]] + + def remove_user_context: (String user_context) -> Hash[nil, nil] + end + end + end +end diff --git a/rb/spec/integration/selenium/webdriver/bidi/browser_spec.rb b/rb/spec/integration/selenium/webdriver/bidi/browser_spec.rb new file mode 100644 index 0000000000000..079c419cab4cb --- /dev/null +++ b/rb/spec/integration/selenium/webdriver/bidi/browser_spec.rb @@ -0,0 +1,77 @@ +# frozen_string_literal: true + +# 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 +# regarding copyright ownership. The SFC licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +require_relative '../spec_helper' + +module Selenium + module WebDriver + class BiDi + describe Browser, exclusive: {bidi: true, reason: 'only executed when bidi is enabled'}, + only: {browser: %i[chrome edge firefox]} do + it 'creates an user context' do + reset_driver!(web_socket_url: true) do |driver| + browser = described_class.new(driver.bidi) + user_context = browser.create_user_context + expect(user_context).not_to be_nil + expect(user_context['userContext']).to be_a String + end + end + + it 'gets user contexts' do + reset_driver!(web_socket_url: true) do |driver| + browser = described_class.new(driver.bidi) + created_context_id = browser.create_user_context['userContext'] + all_context_ids = browser.user_contexts['userContexts'].map { |c| c['userContext'] } + + expect(all_context_ids).to include(created_context_id) + end + end + + it 'removes an user context' do + reset_driver!(web_socket_url: true) do |driver| + browser = described_class.new(driver.bidi) + context_id_to_remove = browser.create_user_context['userContext'] + browser.remove_user_context(context_id_to_remove) + all_ids_after_removal = browser.user_contexts['userContexts'].map { |c| c['userContext'] } + + expect(all_ids_after_removal).not_to include(context_id_to_remove) + end + end + + it 'throws an error when removing the default user context' do + reset_driver!(web_socket_url: true) do |driver| + browser = described_class.new(driver.bidi) + expect { + browser.remove_user_context('default') + }.to raise_error(Error::WebDriverError, /user context cannot be removed/) + end + end + + it 'throws an error when removing a non-existent user context' do + reset_driver!(web_socket_url: true) do |driver| + browser = described_class.new(driver.bidi) + expect { + browser.remove_user_context('fake_context') + }.to raise_error(Error::WebDriverError) + end + end + end + end + end +end From ffe8f02b3816a7158d13223df8137fcf3de5f8a2 Mon Sep 17 00:00:00 2001 From: Pallavi Date: Sun, 17 Aug 2025 19:13:05 +0530 Subject: [PATCH 026/118] [docs] Update bug report section in CONTRIBUTING.md (#16191) Co-authored-by: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> --- CONTRIBUTING.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b3a2943632d8e..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 From 1283dd2e9e289d4ba545195e72e0ab556f3bad75 Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Mon, 18 Aug 2025 10:05:22 +0200 Subject: [PATCH 027/118] [dotnet] Adding flag to enable SafariDriver logging. (#16196) * [dotnet] Adding flag to enable SafariDriver logging. * Update dotnet/src/webdriver/Safari/SafariDriverService.cs Co-authored-by: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> * Update dotnet/src/webdriver/Safari/SafariDriverService.cs Co-authored-by: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> --------- Co-authored-by: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> --- .../src/webdriver/Safari/SafariDriverService.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/dotnet/src/webdriver/Safari/SafariDriverService.cs b/dotnet/src/webdriver/Safari/SafariDriverService.cs index 30f53d1336be7..43f776648730e 100644 --- a/dotnet/src/webdriver/Safari/SafariDriverService.cs +++ b/dotnet/src/webdriver/Safari/SafariDriverService.cs @@ -20,10 +20,7 @@ using OpenQA.Selenium.Internal; using System; using System.IO; -using System.Net; -using System.Net.Http; using System.Text; -using System.Threading.Tasks; namespace OpenQA.Selenium.Safari; @@ -34,6 +31,13 @@ public sealed class SafariDriverService : DriverService { private const string DefaultSafariDriverServiceExecutableName = "safaridriver"; + /// + /// Enable diagnose logging. + /// When set to , the SafariDriver will be started with the --diagnose flag. + /// Logs will be written to ~/Library/Logs/com.apple.WebDriver/. + /// + public bool? Diagnose { get; set; } + /// /// Initializes a new instance of the class. /// @@ -59,6 +63,12 @@ protected override string CommandLineArguments get { StringBuilder argsBuilder = new StringBuilder(base.CommandLineArguments); + + if (this.Diagnose is true) + { + argsBuilder.Append(" --diagnose"); + } + return argsBuilder.ToString(); } } From f227da92072c7848b7126b624e3fabb6656a2875 Mon Sep 17 00:00:00 2001 From: Alex Popov Date: Mon, 18 Aug 2025 19:35:43 +0700 Subject: [PATCH 028/118] [java] extend the scope of the properties of the HttpCommandExecutor class (#16186) set protected modifier to props Co-authored-by: Diego Molina --- java/src/org/openqa/selenium/remote/HttpCommandExecutor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/src/org/openqa/selenium/remote/HttpCommandExecutor.java b/java/src/org/openqa/selenium/remote/HttpCommandExecutor.java index 1eb3283eae014..03c2e1747fec6 100644 --- a/java/src/org/openqa/selenium/remote/HttpCommandExecutor.java +++ b/java/src/org/openqa/selenium/remote/HttpCommandExecutor.java @@ -47,8 +47,8 @@ public class HttpCommandExecutor implements CommandExecutor, NeedsLocalLogs { private final URL remoteServer; public final HttpClient client; - private final HttpClient.Factory httpClientFactory; - private final Map additionalCommands; + protected final HttpClient.Factory httpClientFactory; + protected final Map additionalCommands; protected CommandCodec commandCodec; protected ResponseCodec responseCodec; From 3a34d66f270f5f12cceb336a4bfdcb16504bcb1e Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Mon, 18 Aug 2025 20:52:32 +0300 Subject: [PATCH 029/118] [dotnet] [bidi] Serialize base64 encoded string directly to bytes (#16203) --- .../BiDi/BrowsingContext/CaptureScreenshotCommand.cs | 5 +++-- .../src/webdriver/BiDi/BrowsingContext/PrintCommand.cs | 4 ++-- dotnet/src/webdriver/BiDi/Network/BytesValue.cs | 4 ++-- .../src/webdriver/BiDi/WebExtension/InstallCommand.cs | 3 ++- .../common/BiDi/BrowsingContext/BrowsingContextTest.cs | 10 +++++----- .../test/common/BiDi/WebExtension/WebExtensionTest.cs | 4 ++-- 6 files changed, 16 insertions(+), 14 deletions(-) diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/CaptureScreenshotCommand.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/CaptureScreenshotCommand.cs index 4bb970bf50ea8..8fd178f1655d5 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/CaptureScreenshotCommand.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/CaptureScreenshotCommand.cs @@ -18,6 +18,7 @@ // using OpenQA.Selenium.BiDi.Communication; +using System; using System.Text.Json.Serialization; namespace OpenQA.Selenium.BiDi.BrowsingContext; @@ -56,9 +57,9 @@ public sealed record BoxClipRectangle(double X, double Y, double Width, double H public sealed record ElementClipRectangle(Script.ISharedReference Element) : ClipRectangle; -public sealed record CaptureScreenshotResult(string Data) : EmptyResult +public sealed record CaptureScreenshotResult(ReadOnlyMemory Data) : EmptyResult { public static implicit operator byte[](CaptureScreenshotResult captureScreenshotResult) => captureScreenshotResult.ToByteArray(); - public byte[] ToByteArray() => System.Convert.FromBase64String(Data); + public byte[] ToByteArray() => Data.ToArray(); } diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/PrintCommand.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/PrintCommand.cs index d9180f9ecc59b..710069ee9e163 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/PrintCommand.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/PrintCommand.cs @@ -112,7 +112,7 @@ public static implicit operator PrintPageRange(Range range) #endif } -public sealed record PrintResult(string Data) : EmptyResult +public sealed record PrintResult(ReadOnlyMemory Data) : EmptyResult { - public byte[] ToByteArray() => Convert.FromBase64String(Data); + public byte[] ToByteArray() => Data.ToArray(); } diff --git a/dotnet/src/webdriver/BiDi/Network/BytesValue.cs b/dotnet/src/webdriver/BiDi/Network/BytesValue.cs index 9952bff13f1c2..8d57fb7b52f0f 100644 --- a/dotnet/src/webdriver/BiDi/Network/BytesValue.cs +++ b/dotnet/src/webdriver/BiDi/Network/BytesValue.cs @@ -28,9 +28,9 @@ namespace OpenQA.Selenium.BiDi.Network; public abstract record BytesValue { public static implicit operator BytesValue(string value) => new StringBytesValue(value); - public static implicit operator BytesValue(byte[] value) => new Base64BytesValue(Convert.ToBase64String(value)); + public static implicit operator BytesValue(byte[] value) => new Base64BytesValue(value); } public sealed record StringBytesValue(string Value) : BytesValue; -public sealed record Base64BytesValue(string Value) : BytesValue; +public sealed record Base64BytesValue(ReadOnlyMemory Value) : BytesValue; diff --git a/dotnet/src/webdriver/BiDi/WebExtension/InstallCommand.cs b/dotnet/src/webdriver/BiDi/WebExtension/InstallCommand.cs index 4092203c47bac..8027787d72eec 100644 --- a/dotnet/src/webdriver/BiDi/WebExtension/InstallCommand.cs +++ b/dotnet/src/webdriver/BiDi/WebExtension/InstallCommand.cs @@ -18,6 +18,7 @@ // using OpenQA.Selenium.BiDi.Communication; +using System; using System.Text.Json.Serialization; namespace OpenQA.Selenium.BiDi.WebExtension; @@ -35,7 +36,7 @@ public abstract record ExtensionData; public sealed record ExtensionArchivePath(string Path) : ExtensionData; -public sealed record ExtensionBase64Encoded(string Value) : ExtensionData; +public sealed record ExtensionBase64Encoded(ReadOnlyMemory Value) : ExtensionData; public sealed record ExtensionPath(string Path) : ExtensionData; diff --git a/dotnet/test/common/BiDi/BrowsingContext/BrowsingContextTest.cs b/dotnet/test/common/BiDi/BrowsingContext/BrowsingContextTest.cs index 1ee5cf6216c63..ed10187f7e045 100644 --- a/dotnet/test/common/BiDi/BrowsingContext/BrowsingContextTest.cs +++ b/dotnet/test/common/BiDi/BrowsingContext/BrowsingContextTest.cs @@ -250,7 +250,7 @@ public async Task CanCaptureScreenshot() var screenshot = await context.CaptureScreenshotAsync(); Assert.That(screenshot, Is.Not.Null); - Assert.That(screenshot.Data, Is.Not.Empty); + Assert.That(screenshot.Data.Length, Is.Not.Zero); } [Test] @@ -263,7 +263,7 @@ public async Task CanCaptureScreenshotWithParameters() }); Assert.That(screenshot, Is.Not.Null); - Assert.That(screenshot.Data, Is.Not.Empty); + Assert.That(screenshot.Data.Length, Is.Not.Zero); } [Test] @@ -276,7 +276,7 @@ public async Task CanCaptureScreenshotOfViewport() }); Assert.That(screenshot, Is.Not.Null); - Assert.That(screenshot.Data, Is.Not.Empty); + Assert.That(screenshot.Data.Length, Is.Not.Zero); } [Test] @@ -292,7 +292,7 @@ public async Task CanCaptureScreenshotOfElement() }); Assert.That(screenshot, Is.Not.Null); - Assert.That(screenshot.Data, Is.Not.Empty); + Assert.That(screenshot.Data.Length, Is.Not.Zero); } [Test] @@ -313,6 +313,6 @@ public async Task CanPrintPage() var pdf = await context.PrintAsync(); Assert.That(pdf, Is.Not.Null); - Assert.That(pdf.Data, Is.Not.Empty); + Assert.That(pdf.Data.Length, Is.Not.Zero); } } diff --git a/dotnet/test/common/BiDi/WebExtension/WebExtensionTest.cs b/dotnet/test/common/BiDi/WebExtension/WebExtensionTest.cs index 4be01281dc79c..327ce5d4d29f3 100644 --- a/dotnet/test/common/BiDi/WebExtension/WebExtensionTest.cs +++ b/dotnet/test/common/BiDi/WebExtension/WebExtensionTest.cs @@ -64,9 +64,9 @@ public async Task CanInstallBase64WebExtension() { var path = LocateRelativePath("common/extensions/webextensions-selenium-example.zip"); - string base64 = Convert.ToBase64String(File.ReadAllBytes(path)); + var bytes = File.ReadAllBytes(path); - var result = await bidi.WebExtension.InstallAsync(new ExtensionBase64Encoded(base64)); + var result = await bidi.WebExtension.InstallAsync(new ExtensionBase64Encoded(bytes)); Assert.That(result, Is.Not.Null); Assert.That(result.Extension, Is.Not.Null); From ab9733c5f032dbfb11382ad75feca63a61401fad Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Mon, 18 Aug 2025 23:57:22 +0300 Subject: [PATCH 030/118] [dotnet] [bidi] Make cookie expiry as TimeSpan (#16204) --- .../webdriver/BiDi/Communication/Broker.cs | 1 + .../Converters/DateTimeOffsetConverter.cs | 11 +---- .../Json/Converters/TimeSpanConverter.cs | 44 +++++++++++++++++++ dotnet/src/webdriver/BiDi/Network/Cookie.cs | 7 +-- 4 files changed, 47 insertions(+), 16 deletions(-) create mode 100644 dotnet/src/webdriver/BiDi/Communication/Json/Converters/TimeSpanConverter.cs diff --git a/dotnet/src/webdriver/BiDi/Communication/Broker.cs b/dotnet/src/webdriver/BiDi/Communication/Broker.cs index db2058224749b..f0c0f2c279f91 100644 --- a/dotnet/src/webdriver/BiDi/Communication/Broker.cs +++ b/dotnet/src/webdriver/BiDi/Communication/Broker.cs @@ -84,6 +84,7 @@ internal Broker(BiDi bidi, Uri url) new RealmConverter(_bidi), new RealmTypeConverter(), new DateTimeOffsetConverter(), + new TimeSpanConverter(), new PrintPageRangeConverter(), new InputOriginConverter(), new WebExtensionConverter(_bidi), diff --git a/dotnet/src/webdriver/BiDi/Communication/Json/Converters/DateTimeOffsetConverter.cs b/dotnet/src/webdriver/BiDi/Communication/Json/Converters/DateTimeOffsetConverter.cs index 4ffa57f627bba..e3b2b57ffe4f4 100644 --- a/dotnet/src/webdriver/BiDi/Communication/Json/Converters/DateTimeOffsetConverter.cs +++ b/dotnet/src/webdriver/BiDi/Communication/Json/Converters/DateTimeOffsetConverter.cs @@ -27,16 +27,7 @@ internal class DateTimeOffsetConverter : JsonConverter { public override DateTimeOffset Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - // Workaround: it should be Int64, chrome uses double for `expiry` like "expiry":1737379944.308351 - - if (reader.TryGetInt64(out long unixTime) is false) - { - var doubleValue = reader.GetDouble(); - - unixTime = Convert.ToInt64(doubleValue); - } - - return DateTimeOffset.FromUnixTimeMilliseconds(unixTime); + return DateTimeOffset.FromUnixTimeMilliseconds(reader.GetInt64()); } public override void Write(Utf8JsonWriter writer, DateTimeOffset value, JsonSerializerOptions options) diff --git a/dotnet/src/webdriver/BiDi/Communication/Json/Converters/TimeSpanConverter.cs b/dotnet/src/webdriver/BiDi/Communication/Json/Converters/TimeSpanConverter.cs new file mode 100644 index 0000000000000..8bb6717f2391c --- /dev/null +++ b/dotnet/src/webdriver/BiDi/Communication/Json/Converters/TimeSpanConverter.cs @@ -0,0 +1,44 @@ +// +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// + +using System; +using System.Text.Json; +using System.Text.Json.Serialization; + +namespace OpenQA.Selenium.BiDi.Communication.Json.Converters; + +internal class TimeSpanConverter : JsonConverter +{ + public override TimeSpan Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + if (reader.TryGetInt64(out long milliseconds) is false) + { + var doubleValue = reader.GetDouble(); + + milliseconds = Convert.ToInt64(doubleValue); + } + + return TimeSpan.FromMilliseconds(milliseconds); + } + + public override void Write(Utf8JsonWriter writer, TimeSpan value, JsonSerializerOptions options) + { + writer.WriteNumberValue(value.TotalMilliseconds); + } +} diff --git a/dotnet/src/webdriver/BiDi/Network/Cookie.cs b/dotnet/src/webdriver/BiDi/Network/Cookie.cs index 226f03ec36e64..972e02541f1d8 100644 --- a/dotnet/src/webdriver/BiDi/Network/Cookie.cs +++ b/dotnet/src/webdriver/BiDi/Network/Cookie.cs @@ -18,15 +18,10 @@ // using System; -using System.Text.Json.Serialization; namespace OpenQA.Selenium.BiDi.Network; -public sealed record Cookie(string Name, BytesValue Value, string Domain, string Path, long Size, bool HttpOnly, bool Secure, SameSite SameSite) -{ - [JsonInclude] - public DateTimeOffset? Expiry { get; internal set; } -} +public sealed record Cookie(string Name, BytesValue Value, string Domain, string Path, long Size, bool HttpOnly, bool Secure, SameSite SameSite, TimeSpan? Expiry); public enum SameSite { From 55f02a983fb3061ff84020ffe945ed60ee948e33 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Tue, 19 Aug 2025 09:16:02 +0700 Subject: [PATCH 031/118] [grid] Improve readTimeout in handle session between Router and Node (#16163) * [grid] Improve readTimeout in handle session between Router and Node * Fix review comment * Check null might return from Values.get() and remove catch block --------- Signed-off-by: Viet Nguyen Duc --- .../org/openqa/selenium/grid/node/Node.java | 4 +++- .../selenium/grid/router/HandleSession.java | 23 +++++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/java/src/org/openqa/selenium/grid/node/Node.java b/java/src/org/openqa/selenium/grid/node/Node.java index d2b0d5223802b..6a8627fd23ffe 100644 --- a/java/src/org/openqa/selenium/grid/node/Node.java +++ b/java/src/org/openqa/selenium/grid/node/Node.java @@ -199,7 +199,9 @@ protected Node( .to(() -> new Drain(this, json)) .with(spanDecorator("node.drain").andThen(requiresSecret)), get("/se/grid/node/status") - .to(() -> req -> new HttpResponse().setContent(asJson(getStatus()))) + .to( + () -> + req -> new HttpResponse().setContent(asJson(Map.of("value", getStatus())))) .with(spanDecorator("node.node_status")), get("/status").to(() -> new StatusHandler(this)).with(spanDecorator("node.status"))); } diff --git a/java/src/org/openqa/selenium/grid/router/HandleSession.java b/java/src/org/openqa/selenium/grid/router/HandleSession.java index 58c36ed4cc27d..d557a890f974e 100644 --- a/java/src/org/openqa/selenium/grid/router/HandleSession.java +++ b/java/src/org/openqa/selenium/grid/router/HandleSession.java @@ -21,6 +21,7 @@ import static org.openqa.selenium.remote.RemoteTags.SESSION_ID; import static org.openqa.selenium.remote.RemoteTags.SESSION_ID_EVENT; import static org.openqa.selenium.remote.http.Contents.asJson; +import static org.openqa.selenium.remote.http.HttpMethod.GET; import static org.openqa.selenium.remote.tracing.Tags.EXCEPTION; import static org.openqa.selenium.remote.tracing.Tags.HTTP_REQUEST; import static org.openqa.selenium.remote.tracing.Tags.HTTP_REQUEST_EVENT; @@ -28,6 +29,7 @@ import java.io.Closeable; import java.net.URI; +import java.time.Duration; import java.time.Instant; import java.time.temporal.ChronoUnit; import java.util.Iterator; @@ -43,8 +45,10 @@ import org.openqa.selenium.NoSuchSessionException; import org.openqa.selenium.concurrent.ExecutorServices; import org.openqa.selenium.concurrent.GuardedRunnable; +import org.openqa.selenium.grid.data.NodeStatus; import org.openqa.selenium.grid.sessionmap.SessionMap; import org.openqa.selenium.grid.web.ReverseProxyHandler; +import org.openqa.selenium.grid.web.Values; import org.openqa.selenium.internal.Require; import org.openqa.selenium.remote.ErrorCodec; import org.openqa.selenium.remote.SessionId; @@ -230,8 +234,7 @@ private Callable loadSessionId( return entry; } - ClientConfig config = - ClientConfig.defaultConfig().baseUri(sessionUri).withRetries(); + ClientConfig config = fetchNodeSessionTimeout(sessionUri).withRetries(); HttpClient httpClient = httpClientFactory.createClient(config); return new CacheEntry(httpClient, 1); @@ -247,6 +250,22 @@ private Callable loadSessionId( }); } + private ClientConfig fetchNodeSessionTimeout(URI uri) { + ClientConfig config = ClientConfig.defaultConfig().baseUri(uri); + Duration sessionTimeout = config.readTimeout(); + try (HttpClient httpClient = httpClientFactory.createClient(config)) { + HttpRequest statusRequest = new HttpRequest(GET, "/se/grid/node/status"); + HttpResponse res = httpClient.execute(statusRequest); + NodeStatus nodeStatus = Values.get(res, NodeStatus.class); + if (nodeStatus != null) { + sessionTimeout = nodeStatus.getSessionTimeout(); + } + } + LOG.fine("Set read timeout: " + sessionTimeout.toSeconds() + " seconds for " + uri); + config = config.readTimeout(sessionTimeout); + return config; + } + @Override public void close() { ExecutorServices.shutdownGracefully( From fb832b9b2c17002851348fa16778c58c2218d618 Mon Sep 17 00:00:00 2001 From: Paresh Gupta <123556346+Paresh-0007@users.noreply.github.com> Date: Wed, 20 Aug 2025 12:19:01 +0530 Subject: [PATCH 032/118] [py] Fix type annotation error and raise clearer error message (#16174) Co-authored-by: Navin Chandra --- py/selenium/webdriver/common/virtual_authenticator.py | 2 +- py/selenium/webdriver/remote/errorhandler.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/py/selenium/webdriver/common/virtual_authenticator.py b/py/selenium/webdriver/common/virtual_authenticator.py index b567a72a35b5c..f6b0f4e926ac0 100644 --- a/py/selenium/webdriver/common/virtual_authenticator.py +++ b/py/selenium/webdriver/common/virtual_authenticator.py @@ -180,7 +180,7 @@ def to_dict(self) -> dict[str, Any]: def from_dict(cls, data: dict[str, Any]) -> "Credential": _id = urlsafe_b64decode(f"{data['credentialId']}==") is_resident_credential = bool(data["isResidentCredential"]) - rp_id = data.get("rpId", None) + rp_id = data["rpId"] private_key = urlsafe_b64decode(f"{data['privateKey']}==") sign_count = int(data["signCount"]) user_handle = urlsafe_b64decode(f"{data['userHandle']}==") if data.get("userHandle", None) else None diff --git a/py/selenium/webdriver/remote/errorhandler.py b/py/selenium/webdriver/remote/errorhandler.py index 9a100e20543f5..5a2b8f038f9b7 100644 --- a/py/selenium/webdriver/remote/errorhandler.py +++ b/py/selenium/webdriver/remote/errorhandler.py @@ -173,7 +173,7 @@ def check_response(self, response: dict[str, Any]) -> None: message = value.get("value") or value.get("message") if not isinstance(message, str): value = message - message = message.get("message") + message = message.get("message") if isinstance(message, dict) else None else: message = value.get("message", None) except ValueError: From 66f738eb56237f889019611f4c4d4d05b76203f8 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Wed, 20 Aug 2025 14:02:31 +0200 Subject: [PATCH 033/118] [dotnet][rb][java][js][py] Automated Browser Version Update (#16213) Co-authored-by: Selenium CI Bot Co-authored-by: Diego Molina Co-authored-by: Navin Chandra --- .skipped-tests | 2 -- common/repositories.bzl | 32 +++++++++---------- .../bidi/storage/StorageCommandsTest.java | 2 +- .../selenium/webdriver/manager_spec.rb | 4 +-- 4 files changed, 18 insertions(+), 22 deletions(-) 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/common/repositories.bzl b/common/repositories.bzl index 0c3f9d9001abc..09b5c0f382b06 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/141.0.3/linux-x86_64/en-US/firefox-141.0.3.tar.xz", - sha256 = "e935dc3b74cf2cb1086e1e0b4a51d18e4d307e71ce6a20db64fe49d09cc78716", + url = "https://ftp.mozilla.org/pub/firefox/releases/142.0/linux-x86_64/en-US/firefox-142.0.tar.xz", + sha256 = "da8897a6a618e73878e6022a2bece76af509c304c73ae5c53dc523d35cb7bae6", 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/141.0.3/mac/en-US/Firefox%20141.0.3.dmg", - sha256 = "bb922cda690543bddaa1fbc3b3cba508c60774832643452bc266595331f42db1", + url = "https://ftp.mozilla.org/pub/firefox/releases/142.0/mac/en-US/Firefox%20142.0.dmg", + sha256 = "cc0ce6b3ec64d064c16187f92ca4a8df5a21a1d7aa2f79a9e82b44602f2b1a0f", 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/142.0b9/linux-x86_64/en-US/firefox-142.0b9.tar.xz", - sha256 = "0e230f54a1d933df55e0d730c7d774437e60b5fdcbd74401f5da69bce184c30b", + url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b1/linux-x86_64/en-US/firefox-143.0b1.tar.xz", + sha256 = "e4b8152cd175df7306e2a859e7df249b36bdf0d14bbcfaf64cb08b95919789c9", 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/142.0b9/mac/en-US/Firefox%20142.0b9.dmg", - sha256 = "529509a53278d8cbd482fa8ef95ac243b33c6cc4acc7924c15f6ce3f59c64bbf", + url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b1/mac/en-US/Firefox%20143.0b1.dmg", + sha256 = "b111b0f4fea5f35280f2aae1e3590613412b57dcb87335d17abf3be32e056675", 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/139.0.7258.68/linux64/chrome-linux64.zip", - sha256 = "57966f0d19e7c4294d89e7fa25b1a6f0801475c3d51cf708597d5af9a9e474f8", + url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.138/linux64/chrome-linux64.zip", + sha256 = "a28ed679a017b8042747d81f7855cb86cc71402b268fc843b57533e69a835a17", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) @@ -220,8 +220,8 @@ js_library( ) http_archive( name = "mac_chrome", - url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.68/mac-x64/chrome-mac-x64.zip", - sha256 = "a49442c4cc6a28faeeecde16d27b5b8a1c5306020788c81160f2a19388ecf645", + url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.138/mac-x64/chrome-mac-x64.zip", + sha256 = "e910233cc746230abb5d9c855a191fceee0729e299ac15cb562260be302fa64b", strip_prefix = "chrome-mac-x64", patch_cmds = [ "mv 'Google Chrome for Testing.app' Chrome.app", @@ -241,8 +241,8 @@ js_library( ) http_archive( name = "linux_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.68/linux64/chromedriver-linux64.zip", - sha256 = "ec29104132a6ff1ae5f2ffe7b27b7ff675a58ab9b1ef616badcbdd35577b31b3", + url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.138/linux64/chromedriver-linux64.zip", + sha256 = "b5940d93d97da3d98dba0d4f5a67246b839a8e5634d69a6d625d0ad54bed8bb2", strip_prefix = "chromedriver-linux64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") @@ -259,8 +259,8 @@ js_library( http_archive( name = "mac_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.68/mac-x64/chromedriver-mac-x64.zip", - sha256 = "2b9787f5f758c9f3e3888ac23270f8de47b168679718a4440bd1cea2b3cc57e9", + url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.138/mac-x64/chromedriver-mac-x64.zip", + sha256 = "c6e2a630d72e0017649d54f29a93caa617fac0f846c23b2bd6494d8fe92e4479", strip_prefix = "chromedriver-mac-x64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") diff --git a/java/test/org/openqa/selenium/bidi/storage/StorageCommandsTest.java b/java/test/org/openqa/selenium/bidi/storage/StorageCommandsTest.java index b1b389eabee4f..63f3349c55acb 100644 --- a/java/test/org/openqa/selenium/bidi/storage/StorageCommandsTest.java +++ b/java/test/org/openqa/selenium/bidi/storage/StorageCommandsTest.java @@ -201,7 +201,7 @@ public void canAddAndGetCookie() { BytesValue value = new BytesValue(BytesValue.Type.STRING, "cod"); String domain = appServer.getHostName(); - long expiry = Instant.now().toEpochMilli() + 3600 * 1000; + long expiry = Instant.now().getEpochSecond() + 3600; String path = "/common/animals"; diff --git a/rb/spec/integration/selenium/webdriver/manager_spec.rb b/rb/spec/integration/selenium/webdriver/manager_spec.rb index 1245c76fa20ce..059cb0dba9b0b 100644 --- a/rb/spec/integration/selenium/webdriver/manager_spec.rb +++ b/rb/spec/integration/selenium/webdriver/manager_spec.rb @@ -169,9 +169,7 @@ module WebDriver end it 'does not allow adding with value None when secure is false', - except: [{browser: :firefox, - reason: 'https://github.com/mozilla/geckodriver/issues/1842'}, - {browser: %i[safari safari_preview]}] do + except: [{browser: %i[safari safari_preview]}] do expect { driver.manage.add_cookie name: 'samesite', value: 'none-insecure', From 8a3bebc1cfb3bbe2990833b82b3b49d58fe63469 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Thu, 21 Aug 2025 07:34:17 +0200 Subject: [PATCH 034/118] [dotnet][rb][java][js][py] Automated Browser Version Update (#16222) --- common/repositories.bzl | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/common/repositories.bzl b/common/repositories.bzl index 09b5c0f382b06..a15b1967e60ab 100644 --- a/common/repositories.bzl +++ b/common/repositories.bzl @@ -50,8 +50,8 @@ js_library( http_archive( name = "linux_beta_firefox", - url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b1/linux-x86_64/en-US/firefox-143.0b1.tar.xz", - sha256 = "e4b8152cd175df7306e2a859e7df249b36bdf0d14bbcfaf64cb08b95919789c9", + url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b2/linux-x86_64/en-US/firefox-143.0b2.tar.xz", + sha256 = "70a8af598dedca123b72422811ec04e5a28060778d4a86622f4ecd400f234a78", 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/143.0b1/mac/en-US/Firefox%20143.0b1.dmg", - sha256 = "b111b0f4fea5f35280f2aae1e3590613412b57dcb87335d17abf3be32e056675", + url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b2/mac/en-US/Firefox%20143.0b2.dmg", + sha256 = "52f9a7a944f857b207bc79f66ae2d600ff8736264d708d6c0fa5138aea664f97", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) @@ -277,8 +277,8 @@ js_library( http_archive( name = "linux_beta_chrome", - url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.16/linux64/chrome-linux64.zip", - sha256 = "ced1841af7400a153e23cef3e39a7f9247034a0f1ce845b36b22904920db63e2", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.24/linux64/chrome-linux64.zip", + sha256 = "d2371e5f2ea9cf349a48103ff8c95e83f0ec6a97ff5e7dad951fb73096413d1b", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) @@ -298,8 +298,8 @@ js_library( ) http_archive( name = "mac_beta_chrome", - url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.16/mac-x64/chrome-mac-x64.zip", - sha256 = "dcc3d96ad192f15f10089b7a92fb429ba0a934f4820eecc3af44f0d961b4bcf5", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.24/mac-x64/chrome-mac-x64.zip", + sha256 = "1eeec20838e918be14b6f5d4773fa3a1afedd8e81ff20611a59e0d54c5c3fb3d", strip_prefix = "chrome-mac-x64", patch_cmds = [ "mv 'Google Chrome for Testing.app' Chrome.app", @@ -319,8 +319,8 @@ js_library( ) http_archive( name = "linux_beta_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.16/linux64/chromedriver-linux64.zip", - sha256 = "f40639ecc590adea9583a15066afd8e2e3e84173435dc4e31d9b01afcc41bd66", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.24/linux64/chromedriver-linux64.zip", + sha256 = "a908e9d9bf547c5b2d73e441d18ba16a0ee8a980c0ad8a0aaf9c3b42d03f5569", strip_prefix = "chromedriver-linux64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") @@ -337,8 +337,8 @@ js_library( http_archive( name = "mac_beta_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.16/mac-x64/chromedriver-mac-x64.zip", - sha256 = "931126b95bdaed2ae63001195c8506011d6e7d2554b61462c82e19671602978b", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.24/mac-x64/chromedriver-mac-x64.zip", + sha256 = "1b785a93d4dd848942064268428ca186a122d6a64c5aaf7fe2c6c8b1debcb34f", strip_prefix = "chromedriver-mac-x64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") From 5afb77e0df4daa35d76a7a37989be065724c4ef9 Mon Sep 17 00:00:00 2001 From: Victoria Ivanova Date: Thu, 21 Aug 2025 03:15:07 -0700 Subject: [PATCH 035/118] [java] Unifying select class (#16220) * Updated Java Language Level to the JDK_17 for IntelliJ IDEA * [java] Fix select being able to select options hidden by css rules Fixes #15265 * [java] Formatted with ./scripts/format.sh * [java] Change the JDK setting for IntelliJ back to JDK 11 --------- Co-authored-by: Diego Molina --- .idea/misc.xml | 2 +- .../openqa/selenium/support/ui/Select.java | 5 +++++ .../support/ui/SelectElementTest.java | 21 +++++++++++++++++-- 3 files changed, 25 insertions(+), 3 deletions(-) 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/java/src/org/openqa/selenium/support/ui/Select.java b/java/src/org/openqa/selenium/support/ui/Select.java index 264585e5417f6..9942b7057832e 100644 --- a/java/src/org/openqa/selenium/support/ui/Select.java +++ b/java/src/org/openqa/selenium/support/ui/Select.java @@ -123,6 +123,7 @@ public WebElement getFirstSelectedOption() { @Override public void selectByVisibleText(String text) { assertSelectIsEnabled(); + assertSelectIsVisible(); // try to find the option via XPATH ... List options = @@ -130,6 +131,8 @@ public void selectByVisibleText(String text) { By.xpath(".//option[normalize-space(.) = " + Quotes.escape(text) + "]")); for (WebElement option : options) { + if (!hasCssPropertyAndVisible(option)) + throw new NoSuchElementException("Invisible option with text: " + text); setSelected(option, true); if (!isMultiple()) { return; @@ -154,6 +157,8 @@ public void selectByVisibleText(String text) { for (WebElement option : candidates) { if (trimmed.equals(option.getText().trim())) { + if (!hasCssPropertyAndVisible(option)) + throw new NoSuchElementException("Invisible option with text: " + text); setSelected(option, true); if (!isMultiple()) { return; diff --git a/java/test/org/openqa/selenium/support/ui/SelectElementTest.java b/java/test/org/openqa/selenium/support/ui/SelectElementTest.java index 0587b630b3261..729f902b753e8 100644 --- a/java/test/org/openqa/selenium/support/ui/SelectElementTest.java +++ b/java/test/org/openqa/selenium/support/ui/SelectElementTest.java @@ -21,6 +21,8 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.openqa.selenium.testing.drivers.Browser.ALL; +import java.util.Arrays; +import java.util.List; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.openqa.selenium.By; @@ -176,8 +178,11 @@ void shouldNotAllowInvisibleOptionsToBeSelectedByContainsVisibleText() { WebElement selectElement = driver.findElement(By.id("invisible_multi_select")); Select select = new Select(selectElement); - assertThatExceptionOfType(NoSuchElementException.class) - .isThrownBy(() -> select.selectByContainsVisibleText("Apples")); + List options = Arrays.asList("Apples", "Pears", "Oranges", "Lemons"); + options.forEach( + option -> + assertThatExceptionOfType(NoSuchElementException.class) + .isThrownBy(() -> select.selectByVisibleText(option))); } @Test @@ -198,6 +203,18 @@ void shouldThrowExceptionOnSelectByVisibleTextIfOptionDisabled() { .isThrownBy(() -> select.selectByVisibleText("Disabled")); } + @Test + void shouldThrowExceptionOnSelectByVisibleTextIfOptionHidden() { + WebElement selectElement = driver.findElement(By.id("invisible_multi_select")); + Select select = new Select(selectElement); + + List options = Arrays.asList("Apples", "Pears", "Oranges", "Lemons"); + options.forEach( + option -> + assertThatExceptionOfType(NoSuchElementException.class) + .isThrownBy(() -> select.selectByVisibleText(option))); + } + @Test void shouldAllowOptionsToBeSelectedByIndex() { WebElement selectElement = driver.findElement(By.name("select_empty_multiple")); From 9e5c44eeba9e73aa76649790b8a1c36c60ac8afa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Aug 2025 13:01:58 +0200 Subject: [PATCH 036/118] [rust] Update dependency rules_cc to v0.2.0 (#16198) * [rust] Update dependency rules_cc to v0.2.0 * Repin dependencies --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Selenium CI Bot --- MODULE.bazel | 2 +- rust/Cargo.Bazel.lock | 75 +++++++++++++++++++++++++++++++++++++++---- 2 files changed, 70 insertions(+), 7 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index f73c55bc41d7b..6e0e371ab95a0 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -15,7 +15,7 @@ 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") diff --git a/rust/Cargo.Bazel.lock b/rust/Cargo.Bazel.lock index 181ca229fe0c8..780b678f88ac6 100644 --- a/rust/Cargo.Bazel.lock +++ b/rust/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "df16973281961e693e2d8c4ba5bafc9ac44614d38f46bf698b1cdb09b8d568b2", + "checksum": "8d4c080d07b9c4566370bffaad94daa18506026bfbda55910cd2ea1503540aa5", "crates": { "addr2line 0.21.0": { "name": "addr2line", @@ -2105,16 +2105,79 @@ "id": "jobserver 0.1.31", "target": "jobserver" }, - { - "id": "libc 0.2.174", - "target": "libc" - }, { "id": "shlex 1.3.0", "target": "shlex" } ], - "selects": {} + "selects": { + "aarch64-apple-darwin": [ + { + "id": "libc 0.2.174", + "target": "libc" + } + ], + "aarch64-unknown-linux-gnu": [ + { + "id": "libc 0.2.174", + "target": "libc" + } + ], + "aarch64-unknown-nixos-gnu": [ + { + "id": "libc 0.2.174", + "target": "libc" + } + ], + "arm-unknown-linux-gnueabi": [ + { + "id": "libc 0.2.174", + "target": "libc" + } + ], + "i686-unknown-linux-gnu": [ + { + "id": "libc 0.2.174", + "target": "libc" + } + ], + "powerpc-unknown-linux-gnu": [ + { + "id": "libc 0.2.174", + "target": "libc" + } + ], + "s390x-unknown-linux-gnu": [ + { + "id": "libc 0.2.174", + "target": "libc" + } + ], + "x86_64-apple-darwin": [ + { + "id": "libc 0.2.174", + "target": "libc" + } + ], + "x86_64-unknown-freebsd": [ + { + "id": "libc 0.2.174", + "target": "libc" + } + ], + "x86_64-unknown-linux-gnu": [ + { + "id": "libc 0.2.174", + "target": "libc" + } + ], + "x86_64-unknown-nixos-gnu": [ + { + "id": "libc 0.2.174", + "target": "libc" + } + ] + } }, "edition": "2018", "version": "1.1.30" From ffa8030ae421d36196ec5f03eafeb524a8c5bc3a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Aug 2025 14:22:53 +0200 Subject: [PATCH 037/118] [js] Update testing-library monorepo (#16173) * [js] Update testing-library monorepo * Repin dependencies --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Selenium CI Bot --- javascript/grid-ui/package.json | 4 +- pnpm-lock.yaml | 527 ++++++++++++++++---------------- 2 files changed, 258 insertions(+), 273 deletions(-) diff --git a/javascript/grid-ui/package.json b/javascript/grid-ui/package.json index ebbbf46830d85..50fbe244a6335 100644 --- a/javascript/grid-ui/package.json +++ b/javascript/grid-ui/package.json @@ -48,9 +48,9 @@ ] }, "devDependencies": { - "@testing-library/jest-dom": "6.6.3", + "@testing-library/jest-dom": "6.8.0", "@testing-library/react": "14.3.1", - "@testing-library/user-event": "14.5.2", + "@testing-library/user-event": "14.6.1", "esbuild": "0.24.2", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2c02be2ca5072..1fe18fd6728d5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -51,7 +51,7 @@ importers: version: 16.10.0 graphql.macro: specifier: 1.4.2 - version: 1.4.2(@babel/core@7.28.0)(graphql@16.10.0) + version: 1.4.2(@babel/core@7.28.3)(graphql@16.10.0) path-browserify: specifier: 1.0.1 version: 1.0.1 @@ -75,14 +75,14 @@ importers: version: 2.5.3 devDependencies: '@testing-library/jest-dom': - specifier: 6.6.3 - version: 6.6.3 + specifier: 6.8.0 + version: 6.8.0 '@testing-library/react': specifier: 14.3.1 version: 14.3.1(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@testing-library/user-event': - specifier: 14.5.2 - version: 14.5.2(@testing-library/dom@10.4.0) + specifier: 14.6.1 + version: 14.6.1(@testing-library/dom@10.4.1) esbuild: specifier: 0.24.2 version: 0.24.2 @@ -94,7 +94,7 @@ importers: version: 29.7.0 ts-jest: specifier: ^29.3.4 - version: 29.3.4(@babel/core@7.28.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.8.3) + version: 29.3.4(@babel/core@7.28.3)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.8.3) ts-standard: specifier: 12.0.2 version: 12.0.2(typescript@5.8.3) @@ -177,16 +177,16 @@ importers: packages: - /@adobe/css-tools@4.4.3: - resolution: {integrity: sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==} + /@adobe/css-tools@4.4.4: + resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} dev: true /@ampproject/remapping@2.3.0: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/gen-mapping': 0.3.12 - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 /@apollo/client@3.12.6(@types/react@18.3.18)(graphql@16.10.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-MOEtkojZagMKB7nxlwQ426eaBYwEs/Xfn+JeLOd81wv6j7toKo57eEGAbJdZwyXGRgtiqDkX5gx3EzE7qtarXA==} @@ -239,20 +239,20 @@ packages: resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==} engines: {node: '>=6.9.0'} - /@babel/core@7.28.0: - resolution: {integrity: sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==} + /@babel/core@7.28.3: + resolution: {integrity: sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.0 + '@babel/generator': 7.28.3 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helpers': 7.27.6 - '@babel/parser': 7.28.0 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) + '@babel/helpers': 7.28.3 + '@babel/parser': 7.28.3 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.0 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 convert-source-map: 2.0.0 debug: 4.4.1 gensync: 1.0.0-beta.2 @@ -261,14 +261,14 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.28.0: - resolution: {integrity: sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==} + /@babel/generator@7.28.3: + resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/parser': 7.28.0 - '@babel/types': 7.28.0 - '@jridgewell/gen-mapping': 0.3.12 - '@jridgewell/trace-mapping': 0.3.29 + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 jsesc: 3.1.0 /@babel/helper-compilation-targets@7.27.2: @@ -277,7 +277,7 @@ packages: dependencies: '@babel/compat-data': 7.28.0 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.25.1 + browserslist: 4.25.3 lru-cache: 5.1.1 semver: 6.3.1 @@ -289,21 +289,21 @@ packages: resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.0 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color - /@babel/helper-module-transforms@7.27.3(@babel/core@7.28.0): - resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==} + /@babel/helper-module-transforms@7.28.3(@babel/core@7.28.3): + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-module-imports': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.3 transitivePeerDependencies: - supports-color @@ -324,181 +324,181 @@ packages: resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} - /@babel/helpers@7.27.6: - resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==} + /@babel/helpers@7.28.3: + resolution: {integrity: sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.0 + '@babel/types': 7.28.2 - /@babel/parser@7.28.0: - resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==} + /@babel/parser@7.28.3: + resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.28.0 + '@babel/types': 7.28.2 - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.0): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.3): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.0): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.3): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.0): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.3): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.0): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.3): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.0): + /@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.3): resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.0): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.3): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.0): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.3): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.0): + /@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.3): resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.0): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.3): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.0): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.3): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.0): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.3): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.0): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.3): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.0): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.3): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.0): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.3): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.0): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.3): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.0): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.3): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.0): + /@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.3): resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@babel/helper-plugin-utils': 7.27.1 dev: true - /@babel/runtime@7.27.6: - resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==} + /@babel/runtime@7.28.3: + resolution: {integrity: sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==} engines: {node: '>=6.9.0'} /@babel/template@7.27.2: @@ -506,25 +506,25 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.0 - '@babel/types': 7.28.0 + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 - /@babel/traverse@7.28.0: - resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==} + /@babel/traverse@7.28.3: + resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.0 + '@babel/generator': 7.28.3 '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.0 + '@babel/parser': 7.28.3 '@babel/template': 7.27.2 - '@babel/types': 7.28.0 + '@babel/types': 7.28.2 debug: 4.4.1 transitivePeerDependencies: - supports-color - /@babel/types@7.28.0: - resolution: {integrity: sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg==} + /@babel/types@7.28.2: + resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.27.1 @@ -542,7 +542,7 @@ packages: resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} dependencies: '@babel/helper-module-imports': 7.27.1 - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 '@emotion/serialize': 1.3.3 @@ -589,7 +589,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 '@emotion/babel-plugin': 11.13.5 '@emotion/cache': 11.14.0 '@emotion/serialize': 1.3.3 @@ -627,7 +627,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 '@emotion/babel-plugin': 11.13.5 '@emotion/is-prop-valid': 1.3.1 '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) @@ -992,26 +992,26 @@ packages: levn: 0.4.1 dev: true - /@floating-ui/core@1.7.2: - resolution: {integrity: sha512-wNB5ooIKHQc+Kui96jE/n69rHFWAVoxn5CAzL1Xdd8FG03cgY3MLO+GF9U3W737fYDSgPWA6MReKhBQBop6Pcw==} + /@floating-ui/core@1.7.3: + resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} dependencies: '@floating-ui/utils': 0.2.10 dev: false - /@floating-ui/dom@1.7.2: - resolution: {integrity: sha512-7cfaOQuCS27HD7DX+6ib2OrnW+b4ZBwDNnCcT0uTyidcmyWb03FnQqJybDBoCnpdxwBSfA94UAYlRCt7mV+TbA==} + /@floating-ui/dom@1.7.4: + resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==} dependencies: - '@floating-ui/core': 1.7.2 + '@floating-ui/core': 1.7.3 '@floating-ui/utils': 0.2.10 dev: false - /@floating-ui/react-dom@2.1.4(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-JbbpPhp38UmXDDAu60RJmbeme37Jbgsm7NrHGgzYYFKmblzRUh6Pa641dII6LsjwF4XlScDrde2UAzDo/b9KPw==} + /@floating-ui/react-dom@2.1.6(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.7.2 + '@floating-ui/dom': 1.7.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false @@ -1220,7 +1220,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/trace-mapping': 0.3.30 '@types/node': 20.12.12 chalk: 4.1.2 collect-v8-coverage: 1.0.2 @@ -1231,7 +1231,7 @@ packages: istanbul-lib-instrument: 6.0.3 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 + istanbul-reports: 3.2.0 jest-message-util: 29.7.0 jest-util: 29.7.0 jest-worker: 29.7.0 @@ -1253,7 +1253,7 @@ packages: resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/trace-mapping': 0.3.30 callsites: 3.1.0 graceful-fs: 4.2.11 dev: true @@ -1282,9 +1282,9 @@ packages: resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/trace-mapping': 0.3.30 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 @@ -1312,31 +1312,31 @@ packages: '@types/yargs': 17.0.33 chalk: 4.1.2 - /@jridgewell/gen-mapping@0.3.12: - resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==} + /@jridgewell/gen-mapping@0.3.13: + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} dependencies: - '@jridgewell/sourcemap-codec': 1.5.4 - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.30 /@jridgewell/resolve-uri@3.1.2: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - /@jridgewell/source-map@0.3.10: - resolution: {integrity: sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q==} + /@jridgewell/source-map@0.3.11: + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} dependencies: - '@jridgewell/gen-mapping': 0.3.12 - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 dev: true - /@jridgewell/sourcemap-codec@1.5.4: - resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==} + /@jridgewell/sourcemap-codec@1.5.5: + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - /@jridgewell/trace-mapping@0.3.29: - resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} + /@jridgewell/trace-mapping@0.3.30: + resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.4 + '@jridgewell/sourcemap-codec': 1.5.5 /@jsdoc/salty@0.2.9: resolution: {integrity: sha512-yYxMVH7Dqw6nO0d5NIV8OQWnitU8k6vXH8NtgqAfIa/IUqRMxRv/NUJJ08VEKbAakwxlgBl5PJdrU0dMPStsnw==} @@ -1357,9 +1357,9 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.27.6 - '@floating-ui/react-dom': 2.1.4(react-dom@18.3.1)(react@18.3.1) - '@mui/types': 7.4.4(@types/react@18.3.18) + '@babel/runtime': 7.28.3 + '@floating-ui/react-dom': 2.1.6(react-dom@18.3.1)(react@18.3.1) + '@mui/types': 7.4.5(@types/react@18.3.18) '@mui/utils': 5.17.1(@types/react@18.3.18)(react@18.3.1) '@popperjs/core': 2.11.8 '@types/react': 18.3.18 @@ -1369,8 +1369,8 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@mui/core-downloads-tracker@5.17.1: - resolution: {integrity: sha512-OcZj+cs6EfUD39IoPBOgN61zf1XFVY+imsGoBDwXeSq2UHJZE3N59zzBOVjclck91Ne3e9gudONOeILvHCIhUA==} + /@mui/core-downloads-tracker@5.18.0: + resolution: {integrity: sha512-jbhwoQ1AY200PSSOrNXmrFCaSDSJWP7qk6urkTmIirvRXDROkqe+QwcLlUiw/PrREwsIF/vm3/dAXvjlMHF0RA==} dev: false /@mui/icons-material@5.15.18(@mui/material@5.15.18)(@types/react@18.3.18)(react@18.3.1): @@ -1384,7 +1384,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 '@mui/material': 5.15.18(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.18 react: 18.3.1 @@ -1407,13 +1407,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) '@emotion/styled': 11.14.1(@emotion/react@11.14.0)(@types/react@18.3.18)(react@18.3.1) '@mui/base': 5.0.0-beta.40(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@mui/core-downloads-tracker': 5.17.1 - '@mui/system': 5.17.1(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react@18.3.1) - '@mui/types': 7.4.4(@types/react@18.3.18) + '@mui/core-downloads-tracker': 5.18.0 + '@mui/system': 5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react@18.3.1) + '@mui/types': 7.4.5(@types/react@18.3.18) '@mui/utils': 5.17.1(@types/react@18.3.18)(react@18.3.1) '@types/react': 18.3.18 '@types/react-transition-group': 4.4.12(@types/react@18.3.18) @@ -1436,15 +1436,15 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 '@mui/utils': 5.17.1(@types/react@18.3.18)(react@18.3.1) '@types/react': 18.3.18 prop-types: 15.8.1 react: 18.3.1 dev: false - /@mui/styled-engine@5.16.14(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(react@18.3.1): - resolution: {integrity: sha512-UAiMPZABZ7p8mUW4akDV6O7N3+4DatStpXMZwPlt+H/dA0lt67qawN021MNND+4QTpjaiMYxbhKZeQcyWCbuKw==} + /@mui/styled-engine@5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(react@18.3.1): + resolution: {integrity: sha512-BN/vKV/O6uaQh2z5rXV+MBlVrEkwoS/TK75rFQ2mjxA7+NBo8qtTAOA4UaM0XeJfn7kh2wZ+xQw2HAx0u+TiBg==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.4.1 @@ -1456,17 +1456,18 @@ packages: '@emotion/styled': optional: true dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 '@emotion/cache': 11.14.0 '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) + '@emotion/serialize': 1.3.3 '@emotion/styled': 11.14.1(@emotion/react@11.14.0)(@types/react@18.3.18)(react@18.3.1) csstype: 3.1.3 prop-types: 15.8.1 react: 18.3.1 dev: false - /@mui/system@5.17.1(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react@18.3.1): - resolution: {integrity: sha512-aJrmGfQpyF0U4D4xYwA6ueVtQcEMebET43CUmKMP7e7iFh3sMIF3sBR0l8Urb4pqx1CBjHAaWgB0ojpND4Q3Jg==} + /@mui/system@5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react@18.3.1): + resolution: {integrity: sha512-ojZGVcRWqWhu557cdO3pWHloIGJdzVtxs3rk0F9L+x55LsUjcMUVkEhiF7E4TMxZoF9MmIHGGs0ZX3FDLAf0Xw==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -1481,11 +1482,11 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) '@emotion/styled': 11.14.1(@emotion/react@11.14.0)(@types/react@18.3.18)(react@18.3.1) '@mui/private-theming': 5.17.1(@types/react@18.3.18)(react@18.3.1) - '@mui/styled-engine': 5.16.14(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(react@18.3.1) + '@mui/styled-engine': 5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(react@18.3.1) '@mui/types': 7.2.24(@types/react@18.3.18) '@mui/utils': 5.17.1(@types/react@18.3.18)(react@18.3.1) '@types/react': 18.3.18 @@ -1506,15 +1507,15 @@ packages: '@types/react': 18.3.18 dev: false - /@mui/types@7.4.4(@types/react@18.3.18): - resolution: {integrity: sha512-p63yhbX52MO/ajXC7hDHJA5yjzJekvWD3q4YDLl1rSg+OXLczMYPvTuSuviPRCgRX8+E42RXz1D/dz9SxPSlWg==} + /@mui/types@7.4.5(@types/react@18.3.18): + resolution: {integrity: sha512-ZPwlAOE3e8C0piCKbaabwrqZbW4QvWz0uapVPWya7fYj6PeDkl5sSJmomT7wjOcZGPB48G/a6Ubidqreptxz4g==} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 '@types/react': 18.3.18 dev: false @@ -1528,14 +1529,14 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 '@mui/types': 7.2.24(@types/react@18.3.18) '@types/prop-types': 15.7.15 '@types/react': 18.3.18 clsx: 2.1.1 prop-types: 15.8.1 react: 18.3.1 - react-is: 19.1.0 + react-is: 19.1.1 dev: false /@nodelib/fs.scandir@2.1.5: @@ -1609,11 +1610,10 @@ packages: '@sinonjs/commons': 3.0.1 dev: true - /@sinonjs/samsam@8.0.2: - resolution: {integrity: sha512-v46t/fwnhejRSFTGqbpn9u+LQ9xJDse10gNnPgAcxgdoCDMXj/G2asWAC/8Qs+BAZDicX+MNZouXT1A7c83kVw==} + /@sinonjs/samsam@8.0.3: + resolution: {integrity: sha512-hw6HbX+GyVZzmaYNh82Ecj1vdGZrqVIn/keDTg63IgAwiQPO+xCz99uG6Woqgb4tM0mUiFENKZ4cqd7IX94AXQ==} dependencies: '@sinonjs/commons': 3.0.1 - lodash.get: 4.4.2 type-detect: 4.1.0 dev: true @@ -1621,17 +1621,17 @@ packages: resolution: {integrity: sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==} dev: true - /@testing-library/dom@10.4.0: - resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} + /@testing-library/dom@10.4.1: + resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} engines: {node: '>=18'} dependencies: '@babel/code-frame': 7.27.1 - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 '@types/aria-query': 5.0.4 aria-query: 5.3.0 - chalk: 4.1.2 dom-accessibility-api: 0.5.16 lz-string: 1.5.0 + picocolors: 1.1.1 pretty-format: 27.5.1 dev: true @@ -1640,7 +1640,7 @@ packages: engines: {node: '>=14'} dependencies: '@babel/code-frame': 7.27.1 - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -1649,16 +1649,15 @@ packages: pretty-format: 27.5.1 dev: true - /@testing-library/jest-dom@6.6.3: - resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==} + /@testing-library/jest-dom@6.8.0: + resolution: {integrity: sha512-WgXcWzVM6idy5JaftTVC8Vs83NKRmGJz4Hqs4oyOuO2J4r/y79vvKZsb+CaGyCSEbUPI6OsewfPd0G1A0/TUZQ==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} dependencies: - '@adobe/css-tools': 4.4.3 + '@adobe/css-tools': 4.4.4 aria-query: 5.3.2 - chalk: 3.0.0 css.escape: 1.5.1 dom-accessibility-api: 0.6.3 - lodash: 4.17.21 + picocolors: 1.1.1 redent: 3.0.0 dev: true @@ -1669,7 +1668,7 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 '@testing-library/dom': 9.3.4 '@types/react-dom': 18.3.5(@types/react@18.3.18) react: 18.3.1 @@ -1678,13 +1677,13 @@ packages: - '@types/react' dev: true - /@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0): - resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} + /@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1): + resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@testing-library/dom': '>=7.21.4' dependencies: - '@testing-library/dom': 10.4.0 + '@testing-library/dom': 10.4.1 dev: true /@tootallnate/once@2.0.0: @@ -1699,30 +1698,30 @@ packages: /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.28.0 - '@babel/types': 7.28.0 + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.7 + '@types/babel__traverse': 7.28.0 dev: true /@types/babel__generator@7.27.0: resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} dependencies: - '@babel/types': 7.28.0 + '@babel/types': 7.28.2 dev: true /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.28.0 - '@babel/types': 7.28.0 + '@babel/parser': 7.28.3 + '@babel/types': 7.28.2 dev: true - /@types/babel__traverse@7.20.7: - resolution: {integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==} + /@types/babel__traverse@7.28.0: + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} dependencies: - '@babel/types': 7.28.0 + '@babel/types': 7.28.2 dev: true /@types/estree@1.0.8: @@ -2100,8 +2099,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - /ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + /ansi-regex@6.2.0: + resolution: {integrity: sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==} engines: {node: '>=12'} dev: true @@ -2278,17 +2277,17 @@ packages: possible-typed-array-names: 1.1.0 dev: true - /babel-jest@29.7.0(@babel/core@7.28.0): + /babel-jest@29.7.0(@babel/core@7.28.3): resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.28.0) + babel-preset-jest: 29.6.3(@babel/core@7.28.3) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -2296,15 +2295,15 @@ packages: - supports-color dev: true - /babel-literal-to-ast@2.1.0(@babel/core@7.28.0): + /babel-literal-to-ast@2.1.0(@babel/core@7.28.3): resolution: {integrity: sha512-CxfpQ0ysQ0bZOhlaPgcWjl79Em16Rhqc6++UAFn0A3duiXmuyhhj8yyl9PYbj0I0CyjrHovdDbp2QEKT7uIMxw==} peerDependencies: '@babel/core': ^7.1.2 dependencies: - '@babel/core': 7.28.0 - '@babel/parser': 7.28.0 - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.0 + '@babel/core': 7.28.3 + '@babel/parser': 7.28.3 + '@babel/traverse': 7.28.3 + '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color dev: false @@ -2327,15 +2326,15 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.0 + '@babel/types': 7.28.2 '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.7 + '@types/babel__traverse': 7.28.0 dev: true /babel-plugin-macros@2.8.0: resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 cosmiconfig: 6.0.0 resolve: 1.22.10 dev: false @@ -2344,43 +2343,43 @@ packages: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 cosmiconfig: 7.1.0 resolve: 1.22.10 dev: false - /babel-preset-current-node-syntax@1.1.0(@babel/core@7.28.0): - resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} + /babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.3): + resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.28.0 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.0) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.0) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.0) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.0) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.0) - dev: true - - /babel-preset-jest@29.6.3(@babel/core@7.28.0): + '@babel/core': ^7.0.0 || ^8.0.0-0 + dependencies: + '@babel/core': 7.28.3 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.3) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.3) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.3) + dev: true + + /babel-preset-jest@29.6.3(@babel/core@7.28.3): resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.28.0) + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.3) dev: true /balanced-match@1.0.2: @@ -2440,15 +2439,15 @@ packages: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} dev: true - /browserslist@4.25.1: - resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==} + /browserslist@4.25.3: + resolution: {integrity: sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001727 - electron-to-chromium: 1.5.179 + caniuse-lite: 1.0.30001736 + electron-to-chromium: 1.5.207 node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.25.1) + update-browserslist-db: 1.1.3(browserslist@4.25.3) /bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} @@ -2538,8 +2537,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001727: - resolution: {integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==} + /caniuse-lite@1.0.30001736: + resolution: {integrity: sha512-ImpN5gLEY8gWeqfLUyEF4b7mYWcYoR2Si1VhnrbM4JizRFmfGaAQ12PhNykq6nvI4XvKLrsp8Xde74D5phJOSw==} /catharsis@0.9.0: resolution: {integrity: sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==} @@ -2548,14 +2547,6 @@ packages: lodash: 4.17.21 dev: true - /chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -3037,7 +3028,7 @@ packages: /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 csstype: 3.1.3 dev: false @@ -3082,10 +3073,10 @@ packages: engines: {node: '>=0.10.0'} hasBin: true dependencies: - jake: 10.9.2 + jake: 10.9.4 - /electron-to-chromium@1.5.179: - resolution: {integrity: sha512-UWKi/EbBopgfFsc5k61wFpV7WrnnSlSzW/e2XcBmS6qKYTivZlLtoll5/rdqRTxGglGHkmkW0j0pFNJG10EUIQ==} + /electron-to-chromium@1.5.207: + resolution: {integrity: sha512-mryFrrL/GXDTmAtIVMVf+eIXM09BBPlO5IQ7lUyKmK8d+A4VpRGG+M3ofoVef6qyF8s60rJei8ymlJxjUA8Faw==} /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -3109,8 +3100,8 @@ packages: engines: {node: '>= 0.8'} dev: true - /enhanced-resolve@5.18.2: - resolution: {integrity: sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==} + /enhanced-resolve@5.18.3: + resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 @@ -3532,7 +3523,7 @@ packages: eslint: '>=8.23.0' dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.18.0) - enhanced-resolve: 5.18.2 + enhanced-resolve: 5.18.3 eslint: 9.18.0(supports-color@10.0.0) eslint-plugin-es-x: 7.8.0(eslint@9.18.0) get-tsconfig: 4.10.1 @@ -4057,8 +4048,8 @@ packages: signal-exit: 4.1.0 dev: true - /form-data@4.0.3: - resolution: {integrity: sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==} + /form-data@4.0.4: + resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 @@ -4083,7 +4074,7 @@ packages: engines: {node: '>=12'} dependencies: graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.0 universalify: 2.0.1 dev: true @@ -4275,11 +4266,11 @@ packages: tslib: 2.8.1 dev: false - /graphql.macro@1.4.2(@babel/core@7.28.0)(graphql@16.10.0): + /graphql.macro@1.4.2(@babel/core@7.28.3)(graphql@16.10.0): resolution: {integrity: sha512-vcIaStPgS65gp5i1M3DSBimNVkyus0Z7k4VObWAyZS319tKlpX/TEIJSWTgOZU5k8dn4RRzGoS/elQhX2E6yBw==} dependencies: '@babel/template': 7.27.2 - babel-literal-to-ast: 2.1.0(@babel/core@7.28.0) + babel-literal-to-ast: 2.1.0(@babel/core@7.28.3) babel-plugin-macros: 2.8.0 graphql-tag: 2.12.6(graphql@16.10.0) transitivePeerDependencies: @@ -4773,8 +4764,8 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.28.0 - '@babel/parser': 7.28.0 + '@babel/core': 7.28.3 + '@babel/parser': 7.28.3 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -4786,8 +4777,8 @@ packages: resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.28.0 - '@babel/parser': 7.28.0 + '@babel/core': 7.28.3 + '@babel/parser': 7.28.3 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.7.2 @@ -4815,8 +4806,8 @@ packages: - supports-color dev: true - /istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + /istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 @@ -4843,15 +4834,14 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: true - /jake@10.9.2: - resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} + /jake@10.9.4: + resolution: {integrity: sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==} engines: {node: '>=10'} hasBin: true dependencies: async: 3.2.6 - chalk: 4.1.2 filelist: 1.0.4 - minimatch: 3.1.2 + picocolors: 1.1.1 /jest-changed-files@29.7.0: resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} @@ -4931,11 +4921,11 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 '@types/node': 20.12.12 - babel-jest: 29.7.0(@babel/core@7.28.0) + babel-jest: 29.7.0(@babel/core@7.28.3) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -5189,15 +5179,15 @@ packages: resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.28.0 - '@babel/generator': 7.28.0 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) - '@babel/types': 7.28.0 + '@babel/core': 7.28.3 + '@babel/generator': 7.28.3 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3) + '@babel/types': 7.28.2 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.28.0) + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.3) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -5310,7 +5300,7 @@ packages: engines: {node: '>=12.0.0'} hasBin: true dependencies: - '@babel/parser': 7.28.0 + '@babel/parser': 7.28.3 '@jsdoc/salty': 0.2.9 '@types/markdown-it': 14.1.2 bluebird: 3.7.2 @@ -5345,12 +5335,12 @@ packages: decimal.js: 10.6.0 domexception: 4.0.0 escodegen: 2.1.0 - form-data: 4.0.3 + form-data: 4.0.4 html-encoding-sniffer: 3.0.0 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.20 + nwsapi: 2.2.21 parse5: 7.3.0 saxes: 6.0.0 symbol-tree: 3.2.4 @@ -5404,8 +5394,8 @@ packages: engines: {node: '>=6'} hasBin: true - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + /jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} dependencies: universalify: 2.0.1 optionalDependencies: @@ -5531,11 +5521,6 @@ packages: p-locate: 6.0.0 dev: true - /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. - dev: true - /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: true @@ -5857,8 +5842,8 @@ packages: path-key: 3.1.1 dev: true - /nwsapi@2.2.20: - resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} + /nwsapi@2.2.21: + resolution: {integrity: sha512-o6nIY3qwiSXl7/LuOU0Dmuctd34Yay0yeuZRLFmDPrrdHpXKFndPj3hM+YEPVHYC5fx2otBx4Ilc/gyYSAUaIA==} dev: true /object-assign@4.1.1: @@ -6350,8 +6335,8 @@ packages: /react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - /react-is@19.1.0: - resolution: {integrity: sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==} + /react-is@19.1.1: + resolution: {integrity: sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA==} dev: false /react-lifecycles-compat@3.0.4: @@ -6401,7 +6386,7 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' dependencies: - '@babel/runtime': 7.27.6 + '@babel/runtime': 7.28.3 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -6812,7 +6797,7 @@ packages: dependencies: '@sinonjs/commons': 3.0.1 '@sinonjs/fake-timers': 13.0.5 - '@sinonjs/samsam': 8.0.2 + '@sinonjs/samsam': 8.0.3 diff: 7.0.0 nise: 6.1.1 supports-color: 7.2.0 @@ -6840,7 +6825,7 @@ packages: gzip-size: 6.0.0 lodash: 4.17.21 open: 7.4.2 - source-map: 0.7.4 + source-map: 0.7.6 temp: 0.9.4 yargs: 16.2.0 dev: false @@ -6869,9 +6854,9 @@ packages: engines: {node: '>=0.10.0'} dev: true - /source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} + /source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} dev: false /sprintf-js@1.0.3: @@ -7015,7 +7000,7 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} dependencies: - ansi-regex: 6.1.0 + ansi-regex: 6.2.0 dev: true /strip-bom@3.0.0: @@ -7106,7 +7091,7 @@ packages: engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.10 + '@jridgewell/source-map': 0.3.11 acorn: 8.15.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -7169,7 +7154,7 @@ packages: tslib: 2.8.1 dev: false - /ts-jest@29.3.4(@babel/core@7.28.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.8.3): + /ts-jest@29.3.4(@babel/core@7.28.3)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.8.3): resolution: {integrity: sha512-Iqbrm8IXOmV+ggWHOTEbjwyCf2xZlUMv5npExksXohL+tk8va4Fjhb+X2+Rt9NBmgO7bJ8WpnMLOwih/DnMlFA==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -7193,7 +7178,7 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.28.0 + '@babel/core': 7.28.3 bs-logger: 0.2.6 ejs: 3.1.10 esbuild: 0.24.2 @@ -7397,13 +7382,13 @@ packages: engines: {node: '>= 0.8'} dev: true - /update-browserslist-db@1.1.3(browserslist@4.25.1): + /update-browserslist-db@1.1.3(browserslist@4.25.3): resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.25.1 + browserslist: 4.25.3 escalade: 3.2.0 picocolors: 1.1.1 @@ -7432,7 +7417,7 @@ packages: resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/trace-mapping': 0.3.30 '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 dev: true From 9e83c3a9d7afc01d982678d34fd9d8f7ca77c3e8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Aug 2025 14:41:27 +0200 Subject: [PATCH 038/118] [js] Update dependency tmp to ^0.2.5 (#16172) * [js] Update dependency tmp to ^0.2.5 * Repin dependencies --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Selenium CI Bot --- javascript/selenium-webdriver/package.json | 2 +- pnpm-lock.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/javascript/selenium-webdriver/package.json b/javascript/selenium-webdriver/package.json index 64f8861743eb8..d827ec2d9c2fc 100644 --- a/javascript/selenium-webdriver/package.json +++ b/javascript/selenium-webdriver/package.json @@ -25,7 +25,7 @@ "dependencies": { "@bazel/runfiles": "^6.3.1", "jszip": "^3.10.1", - "tmp": "^0.2.3", + "tmp": "^0.2.5", "ws": "^8.18.2" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1fe18fd6728d5..94f787e100da1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -111,8 +111,8 @@ importers: specifier: ^3.10.1 version: 3.10.1 tmp: - specifier: ^0.2.3 - version: 0.2.3 + specifier: ^0.2.5 + version: 0.2.5 ws: specifier: ^8.18.2 version: 8.18.2 @@ -7110,8 +7110,8 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true - /tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + /tmp@0.2.5: + resolution: {integrity: sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==} engines: {node: '>=14.14'} dev: false From 481a8489339fa3820f78a6d2e6749963cc868316 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Aug 2025 15:33:07 +0200 Subject: [PATCH 039/118] [dotnet] Update dependency System.Text.Json to 8.0.6 (#16171) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- dotnet/src/webdriver/Selenium.WebDriver.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotnet/src/webdriver/Selenium.WebDriver.csproj b/dotnet/src/webdriver/Selenium.WebDriver.csproj index 03bf75bfa34b7..3519f1d474d5a 100644 --- a/dotnet/src/webdriver/Selenium.WebDriver.csproj +++ b/dotnet/src/webdriver/Selenium.WebDriver.csproj @@ -57,7 +57,7 @@ - + From fc5d766bfda9e113a649ab4ae56556e40041e3f4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Aug 2025 17:09:50 +0200 Subject: [PATCH 040/118] [js] Update dependency react-router-dom to v6.30.1 (#16076) * [js] Update dependency react-router-dom to v6.30.1 * Repin dependencies --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Selenium CI Bot --- javascript/grid-ui/package.json | 2 +- pnpm-lock.yaml | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/javascript/grid-ui/package.json b/javascript/grid-ui/package.json index 50fbe244a6335..d8d880746d281 100644 --- a/javascript/grid-ui/package.json +++ b/javascript/grid-ui/package.json @@ -23,7 +23,7 @@ "react": "18.3.1", "react-dom": "18.3.1", "react-modal": "3.16.3", - "react-router-dom": "6.27.0", + "react-router-dom": "6.30.1", "source-map-explorer": "2.5.3" }, "scripts": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 94f787e100da1..bb93a570730bf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -68,8 +68,8 @@ importers: specifier: 3.16.3 version: 3.16.3(react-dom@18.3.1)(react@18.3.1) react-router-dom: - specifier: 6.27.0 - version: 6.27.0(react-dom@18.3.1)(react@18.3.1) + specifier: 6.30.1 + version: 6.30.1(react-dom@18.3.1)(react@18.3.1) source-map-explorer: specifier: 2.5.3 version: 2.5.3 @@ -1580,8 +1580,8 @@ packages: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} dev: false - /@remix-run/router@1.20.0: - resolution: {integrity: sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg==} + /@remix-run/router@1.23.0: + resolution: {integrity: sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==} engines: {node: '>=14.0.0'} dev: false @@ -6357,26 +6357,26 @@ packages: warning: 4.0.3 dev: false - /react-router-dom@6.27.0(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g==} + /react-router-dom@6.30.1(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-llKsgOkZdbPU1Eg3zK8lCn+sjD9wMRZZPuzmdWWX5SUs8OFkN5HnFVC0u5KMeMaC9aoancFI/KoLuKPqN+hxHw==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - '@remix-run/router': 1.20.0 + '@remix-run/router': 1.23.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-router: 6.27.0(react@18.3.1) + react-router: 6.30.1(react@18.3.1) dev: false - /react-router@6.27.0(react@18.3.1): - resolution: {integrity: sha512-YA+HGZXz4jaAkVoYBE98VQl+nVzI+cVI2Oj/06F5ZM+0u3TgedN9Y9kmMRo2mnkSK2nCpNQn0DVob4HCsY/WLw==} + /react-router@6.30.1(react@18.3.1): + resolution: {integrity: sha512-X1m21aEmxGXqENEPG3T6u0Th7g0aS4ZmoNynhbs+Cn+q+QGTLt+d5IQ2bHAXKzKcxGJjxACpVbnYQSCRcfxHlQ==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' dependencies: - '@remix-run/router': 1.20.0 + '@remix-run/router': 1.23.0 react: 18.3.1 dev: false From ca8827d54034ea6049f6589c8a0599c8eddfa1d6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Aug 2025 23:32:05 +0200 Subject: [PATCH 041/118] [js] Update material-ui monorepo to v5.18.0 (#16062) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- javascript/grid-ui/package.json | 4 +- pnpm-lock.yaml | 98 ++++++--------------------------- 2 files changed, 19 insertions(+), 83 deletions(-) diff --git a/javascript/grid-ui/package.json b/javascript/grid-ui/package.json index d8d880746d281..e19e1c0f7f7a1 100644 --- a/javascript/grid-ui/package.json +++ b/javascript/grid-ui/package.json @@ -7,8 +7,8 @@ "@apollo/client": "3.12.6", "@emotion/react": "11.14.0", "@emotion/styled": "11.14.1", - "@mui/icons-material": "5.15.18", - "@mui/material": "5.15.18", + "@mui/icons-material": "5.18.0", + "@mui/material": "5.18.0", "@novnc/novnc": "1.5.0", "@types/jest": "29.5.14", "@types/node": "20.12.12", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bb93a570730bf..59e838f982faf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,11 +20,11 @@ importers: specifier: 11.14.1 version: 11.14.1(@emotion/react@11.14.0)(@types/react@18.3.18)(react@18.3.1) '@mui/icons-material': - specifier: 5.15.18 - version: 5.15.18(@mui/material@5.15.18)(@types/react@18.3.18)(react@18.3.1) + specifier: 5.18.0 + version: 5.18.0(@mui/material@5.18.0)(@types/react@18.3.18)(react@18.3.1) '@mui/material': - specifier: 5.15.18 - version: 5.15.18(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + specifier: 5.18.0 + version: 5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@novnc/novnc': specifier: 1.5.0 version: 1.5.0 @@ -992,34 +992,6 @@ packages: levn: 0.4.1 dev: true - /@floating-ui/core@1.7.3: - resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} - dependencies: - '@floating-ui/utils': 0.2.10 - dev: false - - /@floating-ui/dom@1.7.4: - resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==} - dependencies: - '@floating-ui/core': 1.7.3 - '@floating-ui/utils': 0.2.10 - dev: false - - /@floating-ui/react-dom@2.1.6(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - dependencies: - '@floating-ui/dom': 1.7.4 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - dev: false - - /@floating-ui/utils@0.2.10: - resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} - dev: false - /@graphql-typed-document-node/core@3.2.0(graphql@16.10.0): resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} peerDependencies: @@ -1345,60 +1317,36 @@ packages: lodash: 4.17.21 dev: true - /@mui/base@5.0.0-beta.40(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==} - engines: {node: '>=12.0.0'} - deprecated: This package has been replaced by @base-ui-components/react - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.28.3 - '@floating-ui/react-dom': 2.1.6(react-dom@18.3.1)(react@18.3.1) - '@mui/types': 7.4.5(@types/react@18.3.18) - '@mui/utils': 5.17.1(@types/react@18.3.18)(react@18.3.1) - '@popperjs/core': 2.11.8 - '@types/react': 18.3.18 - clsx: 2.1.1 - prop-types: 15.8.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - dev: false - /@mui/core-downloads-tracker@5.18.0: resolution: {integrity: sha512-jbhwoQ1AY200PSSOrNXmrFCaSDSJWP7qk6urkTmIirvRXDROkqe+QwcLlUiw/PrREwsIF/vm3/dAXvjlMHF0RA==} dev: false - /@mui/icons-material@5.15.18(@mui/material@5.15.18)(@types/react@18.3.18)(react@18.3.1): - resolution: {integrity: sha512-jGhyw02TSLM0NgW+MDQRLLRUD/K4eN9rlK2pTBTL1OtzyZmQ8nB060zK1wA0b7cVrIiG+zyrRmNAvGWXwm2N9Q==} + /@mui/icons-material@5.18.0(@mui/material@5.18.0)(@types/react@18.3.18)(react@18.3.1): + resolution: {integrity: sha512-1s0vEZj5XFXDMmz3Arl/R7IncFqJ+WQ95LDp1roHWGDE2oCO3IS4/hmiOv1/8SD9r6B7tv9GLiqVZYHo+6PkTg==} engines: {node: '>=12.0.0'} peerDependencies: '@mui/material': ^5.0.0 - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true dependencies: '@babel/runtime': 7.28.3 - '@mui/material': 5.15.18(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + '@mui/material': 5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.18 react: 18.3.1 dev: false - /@mui/material@5.15.18(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-n+/dsiqux74fFfcRUJjok+ieNQ7+BEk6/OwX9cLcLvriZrZb+/7Y8+Fd2HlUUbn5N0CDurgAHm0VH1DqyJ9HAw==} + /@mui/material@5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-bbH/HaJZpFtXGvWg3TsBWG4eyt3gah3E7nCNU8GLyRjVoWcA91Vm/T+sjHfUcwgJSw9iLtucfHBoq+qW/T30aA==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 '@emotion/styled': ^11.3.0 - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@emotion/react': optional: true @@ -1410,11 +1358,11 @@ packages: '@babel/runtime': 7.28.3 '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) '@emotion/styled': 11.14.1(@emotion/react@11.14.0)(@types/react@18.3.18)(react@18.3.1) - '@mui/base': 5.0.0-beta.40(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) '@mui/core-downloads-tracker': 5.18.0 '@mui/system': 5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react@18.3.1) - '@mui/types': 7.4.5(@types/react@18.3.18) + '@mui/types': 7.2.24(@types/react@18.3.18) '@mui/utils': 5.17.1(@types/react@18.3.18)(react@18.3.1) + '@popperjs/core': 2.11.8 '@types/react': 18.3.18 '@types/react-transition-group': 4.4.12(@types/react@18.3.18) clsx: 2.1.1 @@ -1422,7 +1370,7 @@ packages: prop-types: 15.8.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-is: 18.3.1 + react-is: 19.1.1 react-transition-group: 4.4.5(react-dom@18.3.1)(react@18.3.1) dev: false @@ -1507,18 +1455,6 @@ packages: '@types/react': 18.3.18 dev: false - /@mui/types@7.4.5(@types/react@18.3.18): - resolution: {integrity: sha512-ZPwlAOE3e8C0piCKbaabwrqZbW4QvWz0uapVPWya7fYj6PeDkl5sSJmomT7wjOcZGPB48G/a6Ubidqreptxz4g==} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.28.3 - '@types/react': 18.3.18 - dev: false - /@mui/utils@5.17.1(@types/react@18.3.18)(react@18.3.1): resolution: {integrity: sha512-jEZ8FTqInt2WzxDV8bhImWBqeQRD99c/id/fq83H0ER9tFl+sfZlaAoCdznGvbSQQ9ividMxqSV2c7cC1vBcQg==} engines: {node: '>=12.0.0'} From 12bf38ffae11053d664e0517c9947e757d099ad6 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Fri, 22 Aug 2025 07:07:48 +0200 Subject: [PATCH 042/118] [dotnet][rb][java][js][py] Automated Browser Version Update (#16235) Co-authored-by: Selenium CI Bot --- common/repositories.bzl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/common/repositories.bzl b/common/repositories.bzl index a15b1967e60ab..ac3cbd3bfdb8d 100644 --- a/common/repositories.bzl +++ b/common/repositories.bzl @@ -123,10 +123,10 @@ js_library( pkg_archive( name = "mac_edge", - url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/4d599f34-3ef7-4f04-bd4b-6f35be25008c/MicrosoftEdge-139.0.3405.102.pkg", - sha256 = "c5edb687ac110cabedf989706a6e9fade4f30375ef194f155fade830fc8837be", + url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/017e25fc-2906-45b2-958c-1c71c4667dc1/MicrosoftEdge-139.0.3405.111.pkg", + sha256 = "1aa42cbaaf38b035e17d43fbbe0a293ceb286c5fd298d463b1a369ed900a03ac", move = { - "MicrosoftEdge-139.0.3405.102.pkg/Payload/Microsoft Edge.app": "Edge.app", + "MicrosoftEdge-139.0.3405.111.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_139.0.3405.102-1_amd64.deb", - sha256 = "ad8e90dec3080065ff64a395bf04a5e9cc6adb8481d4f8829fb6f5a4c5cc7a9b", + url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_139.0.3405.111-1_amd64.deb", + sha256 = "d61b2fcef695083496184a6a323b2bcfb57d45af8fb6867ffe54974a5992dc52", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) From 3c7cc67cb9dda56d59446d71cd72b13117ff91aa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Aug 2025 10:26:44 +0200 Subject: [PATCH 043/118] [js] Update dependency ws to ^8.18.3 (#16009) * [js] Update dependency ws to ^8.18.3 * Repin dependencies --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Selenium CI Bot --- javascript/selenium-webdriver/package.json | 2 +- pnpm-lock.yaml | 30 ++++++---------------- 2 files changed, 9 insertions(+), 23 deletions(-) diff --git a/javascript/selenium-webdriver/package.json b/javascript/selenium-webdriver/package.json index d827ec2d9c2fc..7119b22692fb8 100644 --- a/javascript/selenium-webdriver/package.json +++ b/javascript/selenium-webdriver/package.json @@ -26,7 +26,7 @@ "@bazel/runfiles": "^6.3.1", "jszip": "^3.10.1", "tmp": "^0.2.5", - "ws": "^8.18.2" + "ws": "^8.18.3" }, "devDependencies": { "@eslint/js": "^9.18.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 59e838f982faf..7c94a0df2ab90 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -114,8 +114,8 @@ importers: specifier: ^0.2.5 version: 0.2.5 ws: - specifier: ^8.18.2 - version: 8.18.2 + specifier: ^8.18.3 + version: 8.18.3 devDependencies: '@eslint/js': specifier: ^9.18.0 @@ -2380,8 +2380,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001736 - electron-to-chromium: 1.5.207 + caniuse-lite: 1.0.30001737 + electron-to-chromium: 1.5.208 node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.25.3) @@ -2473,8 +2473,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001736: - resolution: {integrity: sha512-ImpN5gLEY8gWeqfLUyEF4b7mYWcYoR2Si1VhnrbM4JizRFmfGaAQ12PhNykq6nvI4XvKLrsp8Xde74D5phJOSw==} + /caniuse-lite@1.0.30001737: + resolution: {integrity: sha512-BiloLiXtQNrY5UyF0+1nSJLXUENuhka2pzy2Fx5pGxqavdrxSCW4U6Pn/PoG3Efspi2frRbHpBV2XsrPE6EDlw==} /catharsis@0.9.0: resolution: {integrity: sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==} @@ -3011,8 +3011,8 @@ packages: dependencies: jake: 10.9.4 - /electron-to-chromium@1.5.207: - resolution: {integrity: sha512-mryFrrL/GXDTmAtIVMVf+eIXM09BBPlO5IQ7lUyKmK8d+A4VpRGG+M3ofoVef6qyF8s60rJei8ymlJxjUA8Faw==} + /electron-to-chromium@1.5.208: + resolution: {integrity: sha512-ozZyibehoe7tOhNaf16lKmljVf+3npZcJIEbJRVftVsmAg5TeA1mGS9dVCZzOwr2xT7xK15V0p7+GZqSPgkuPg==} /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -7505,19 +7505,6 @@ packages: signal-exit: 3.0.7 dev: true - /ws@8.18.2: - resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false - /ws@8.18.3: resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} engines: {node: '>=10.0.0'} @@ -7529,7 +7516,6 @@ packages: optional: true utf-8-validate: optional: true - dev: true /xdg-basedir@4.0.0: resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} From 28b0c481cd76ad4c139322376b64053fcd8925e2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Aug 2025 11:04:29 +0200 Subject: [PATCH 044/118] [js] Update react monorepo (#15949) * [js] Update react monorepo * Repin dependencies --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Selenium CI Bot --- javascript/grid-ui/package.json | 4 +- pnpm-lock.yaml | 118 ++++++++++++++++---------------- 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/javascript/grid-ui/package.json b/javascript/grid-ui/package.json index e19e1c0f7f7a1..ec670e889c9fa 100644 --- a/javascript/grid-ui/package.json +++ b/javascript/grid-ui/package.json @@ -12,8 +12,8 @@ "@novnc/novnc": "1.5.0", "@types/jest": "29.5.14", "@types/node": "20.12.12", - "@types/react": "18.3.18", - "@types/react-dom": "18.3.5", + "@types/react": "18.3.23", + "@types/react-dom": "18.3.7", "@types/react-modal": "3.16.3", "@types/react-router-dom": "5.3.3", "graphql": "16.10.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7c94a0df2ab90..c429633131d08 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,19 +12,19 @@ importers: dependencies: '@apollo/client': specifier: 3.12.6 - version: 3.12.6(@types/react@18.3.18)(graphql@16.10.0)(react-dom@18.3.1)(react@18.3.1) + version: 3.12.6(@types/react@18.3.23)(graphql@16.10.0)(react-dom@18.3.1)(react@18.3.1) '@emotion/react': specifier: 11.14.0 - version: 11.14.0(@types/react@18.3.18)(react@18.3.1) + version: 11.14.0(@types/react@18.3.23)(react@18.3.1) '@emotion/styled': specifier: 11.14.1 - version: 11.14.1(@emotion/react@11.14.0)(@types/react@18.3.18)(react@18.3.1) + version: 11.14.1(@emotion/react@11.14.0)(@types/react@18.3.23)(react@18.3.1) '@mui/icons-material': specifier: 5.18.0 - version: 5.18.0(@mui/material@5.18.0)(@types/react@18.3.18)(react@18.3.1) + version: 5.18.0(@mui/material@5.18.0)(@types/react@18.3.23)(react@18.3.1) '@mui/material': specifier: 5.18.0 - version: 5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + version: 5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.23)(react-dom@18.3.1)(react@18.3.1) '@novnc/novnc': specifier: 1.5.0 version: 1.5.0 @@ -35,11 +35,11 @@ importers: specifier: 20.12.12 version: 20.12.12 '@types/react': - specifier: 18.3.18 - version: 18.3.18 + specifier: 18.3.23 + version: 18.3.23 '@types/react-dom': - specifier: 18.3.5 - version: 18.3.5(@types/react@18.3.18) + specifier: 18.3.7 + version: 18.3.7(@types/react@18.3.23) '@types/react-modal': specifier: 3.16.3 version: 3.16.3 @@ -79,7 +79,7 @@ importers: version: 6.8.0 '@testing-library/react': specifier: 14.3.1 - version: 14.3.1(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) + version: 14.3.1(@types/react@18.3.23)(react-dom@18.3.1)(react@18.3.1) '@testing-library/user-event': specifier: 14.6.1 version: 14.6.1(@testing-library/dom@10.4.1) @@ -188,7 +188,7 @@ packages: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.30 - /@apollo/client@3.12.6(@types/react@18.3.18)(graphql@16.10.0)(react-dom@18.3.1)(react@18.3.1): + /@apollo/client@3.12.6(@types/react@18.3.23)(graphql@16.10.0)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-MOEtkojZagMKB7nxlwQ426eaBYwEs/Xfn+JeLOd81wv6j7toKo57eEGAbJdZwyXGRgtiqDkX5gx3EzE7qtarXA==} peerDependencies: graphql: ^15.0.0 || ^16.0.0 @@ -217,7 +217,7 @@ packages: prop-types: 15.8.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - rehackt: 0.1.0(@types/react@18.3.18)(react@18.3.1) + rehackt: 0.1.0(@types/react@18.3.23)(react@18.3.1) response-iterator: 0.2.25 symbol-observable: 4.0.0 ts-invariant: 0.10.3 @@ -580,7 +580,7 @@ packages: resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} dev: false - /@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1): + /@emotion/react@11.14.0(@types/react@18.3.23)(react@18.3.1): resolution: {integrity: sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==} peerDependencies: '@types/react': '*' @@ -596,7 +596,7 @@ packages: '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1) '@emotion/utils': 1.4.2 '@emotion/weak-memoize': 0.4.0 - '@types/react': 18.3.18 + '@types/react': 18.3.23 hoist-non-react-statics: 3.3.2 react: 18.3.1 transitivePeerDependencies: @@ -617,7 +617,7 @@ packages: resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} dev: false - /@emotion/styled@11.14.1(@emotion/react@11.14.0)(@types/react@18.3.18)(react@18.3.1): + /@emotion/styled@11.14.1(@emotion/react@11.14.0)(@types/react@18.3.23)(react@18.3.1): resolution: {integrity: sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==} peerDependencies: '@emotion/react': ^11.0.0-rc.0 @@ -630,11 +630,11 @@ packages: '@babel/runtime': 7.28.3 '@emotion/babel-plugin': 11.13.5 '@emotion/is-prop-valid': 1.3.1 - '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) + '@emotion/react': 11.14.0(@types/react@18.3.23)(react@18.3.1) '@emotion/serialize': 1.3.3 '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1) '@emotion/utils': 1.4.2 - '@types/react': 18.3.18 + '@types/react': 18.3.23 react: 18.3.1 transitivePeerDependencies: - supports-color @@ -1321,7 +1321,7 @@ packages: resolution: {integrity: sha512-jbhwoQ1AY200PSSOrNXmrFCaSDSJWP7qk6urkTmIirvRXDROkqe+QwcLlUiw/PrREwsIF/vm3/dAXvjlMHF0RA==} dev: false - /@mui/icons-material@5.18.0(@mui/material@5.18.0)(@types/react@18.3.18)(react@18.3.1): + /@mui/icons-material@5.18.0(@mui/material@5.18.0)(@types/react@18.3.23)(react@18.3.1): resolution: {integrity: sha512-1s0vEZj5XFXDMmz3Arl/R7IncFqJ+WQ95LDp1roHWGDE2oCO3IS4/hmiOv1/8SD9r6B7tv9GLiqVZYHo+6PkTg==} engines: {node: '>=12.0.0'} peerDependencies: @@ -1333,12 +1333,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.28.3 - '@mui/material': 5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1) - '@types/react': 18.3.18 + '@mui/material': 5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.23)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.3.23 react: 18.3.1 dev: false - /@mui/material@5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): + /@mui/material@5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.23)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-bbH/HaJZpFtXGvWg3TsBWG4eyt3gah3E7nCNU8GLyRjVoWcA91Vm/T+sjHfUcwgJSw9iLtucfHBoq+qW/T30aA==} engines: {node: '>=12.0.0'} peerDependencies: @@ -1356,15 +1356,15 @@ packages: optional: true dependencies: '@babel/runtime': 7.28.3 - '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0)(@types/react@18.3.18)(react@18.3.1) + '@emotion/react': 11.14.0(@types/react@18.3.23)(react@18.3.1) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0)(@types/react@18.3.23)(react@18.3.1) '@mui/core-downloads-tracker': 5.18.0 - '@mui/system': 5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react@18.3.1) - '@mui/types': 7.2.24(@types/react@18.3.18) - '@mui/utils': 5.17.1(@types/react@18.3.18)(react@18.3.1) + '@mui/system': 5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.23)(react@18.3.1) + '@mui/types': 7.2.24(@types/react@18.3.23) + '@mui/utils': 5.17.1(@types/react@18.3.23)(react@18.3.1) '@popperjs/core': 2.11.8 - '@types/react': 18.3.18 - '@types/react-transition-group': 4.4.12(@types/react@18.3.18) + '@types/react': 18.3.23 + '@types/react-transition-group': 4.4.12(@types/react@18.3.23) clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 @@ -1374,7 +1374,7 @@ packages: react-transition-group: 4.4.5(react-dom@18.3.1)(react@18.3.1) dev: false - /@mui/private-theming@5.17.1(@types/react@18.3.18)(react@18.3.1): + /@mui/private-theming@5.17.1(@types/react@18.3.23)(react@18.3.1): resolution: {integrity: sha512-XMxU0NTYcKqdsG8LRmSoxERPXwMbp16sIXPcLVgLGII/bVNagX0xaheWAwFv8+zDK7tI3ajllkuD3GZZE++ICQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -1385,8 +1385,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.28.3 - '@mui/utils': 5.17.1(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 + '@mui/utils': 5.17.1(@types/react@18.3.23)(react@18.3.1) + '@types/react': 18.3.23 prop-types: 15.8.1 react: 18.3.1 dev: false @@ -1406,15 +1406,15 @@ packages: dependencies: '@babel/runtime': 7.28.3 '@emotion/cache': 11.14.0 - '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) + '@emotion/react': 11.14.0(@types/react@18.3.23)(react@18.3.1) '@emotion/serialize': 1.3.3 - '@emotion/styled': 11.14.1(@emotion/react@11.14.0)(@types/react@18.3.18)(react@18.3.1) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0)(@types/react@18.3.23)(react@18.3.1) csstype: 3.1.3 prop-types: 15.8.1 react: 18.3.1 dev: false - /@mui/system@5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.18)(react@18.3.1): + /@mui/system@5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(@types/react@18.3.23)(react@18.3.1): resolution: {integrity: sha512-ojZGVcRWqWhu557cdO3pWHloIGJdzVtxs3rk0F9L+x55LsUjcMUVkEhiF7E4TMxZoF9MmIHGGs0ZX3FDLAf0Xw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -1431,20 +1431,20 @@ packages: optional: true dependencies: '@babel/runtime': 7.28.3 - '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0)(@types/react@18.3.18)(react@18.3.1) - '@mui/private-theming': 5.17.1(@types/react@18.3.18)(react@18.3.1) + '@emotion/react': 11.14.0(@types/react@18.3.23)(react@18.3.1) + '@emotion/styled': 11.14.1(@emotion/react@11.14.0)(@types/react@18.3.23)(react@18.3.1) + '@mui/private-theming': 5.17.1(@types/react@18.3.23)(react@18.3.1) '@mui/styled-engine': 5.18.0(@emotion/react@11.14.0)(@emotion/styled@11.14.1)(react@18.3.1) - '@mui/types': 7.2.24(@types/react@18.3.18) - '@mui/utils': 5.17.1(@types/react@18.3.18)(react@18.3.1) - '@types/react': 18.3.18 + '@mui/types': 7.2.24(@types/react@18.3.23) + '@mui/utils': 5.17.1(@types/react@18.3.23)(react@18.3.1) + '@types/react': 18.3.23 clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 react: 18.3.1 dev: false - /@mui/types@7.2.24(@types/react@18.3.18): + /@mui/types@7.2.24(@types/react@18.3.23): resolution: {integrity: sha512-3c8tRt/CbWZ+pEg7QpSwbdxOk36EfmhbKf6AGZsD1EcLDLTSZoxxJ86FVtcjxvjuhdyBiWKSTGZFaXCnidO2kw==} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1452,10 +1452,10 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.3.18 + '@types/react': 18.3.23 dev: false - /@mui/utils@5.17.1(@types/react@18.3.18)(react@18.3.1): + /@mui/utils@5.17.1(@types/react@18.3.23)(react@18.3.1): resolution: {integrity: sha512-jEZ8FTqInt2WzxDV8bhImWBqeQRD99c/id/fq83H0ER9tFl+sfZlaAoCdznGvbSQQ9ividMxqSV2c7cC1vBcQg==} engines: {node: '>=12.0.0'} peerDependencies: @@ -1466,9 +1466,9 @@ packages: optional: true dependencies: '@babel/runtime': 7.28.3 - '@mui/types': 7.2.24(@types/react@18.3.18) + '@mui/types': 7.2.24(@types/react@18.3.23) '@types/prop-types': 15.7.15 - '@types/react': 18.3.18 + '@types/react': 18.3.23 clsx: 2.1.1 prop-types: 15.8.1 react: 18.3.1 @@ -1597,7 +1597,7 @@ packages: redent: 3.0.0 dev: true - /@testing-library/react@14.3.1(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1): + /@testing-library/react@14.3.1(@types/react@18.3.23)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==} engines: {node: '>=14'} peerDependencies: @@ -1606,7 +1606,7 @@ packages: dependencies: '@babel/runtime': 7.28.3 '@testing-library/dom': 9.3.4 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@types/react-dom': 18.3.7(@types/react@18.3.23) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: @@ -1737,24 +1737,24 @@ packages: /@types/prop-types@15.7.15: resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} - /@types/react-dom@18.3.5(@types/react@18.3.18): - resolution: {integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==} + /@types/react-dom@18.3.7(@types/react@18.3.23): + resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==} peerDependencies: '@types/react': ^18.0.0 dependencies: - '@types/react': 18.3.18 + '@types/react': 18.3.23 /@types/react-modal@3.16.3: resolution: {integrity: sha512-xXuGavyEGaFQDgBv4UVm8/ZsG+qxeQ7f77yNrW3n+1J6XAstUy5rYHeIHPh1KzsGc6IkCIdu6lQ2xWzu1jBTLg==} dependencies: - '@types/react': 18.3.18 + '@types/react': 18.3.23 dev: false /@types/react-router-dom@5.3.3: resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.3.18 + '@types/react': 18.3.23 '@types/react-router': 5.1.20 dev: false @@ -1762,19 +1762,19 @@ packages: resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.3.18 + '@types/react': 18.3.23 dev: false - /@types/react-transition-group@4.4.12(@types/react@18.3.18): + /@types/react-transition-group@4.4.12(@types/react@18.3.23): resolution: {integrity: sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==} peerDependencies: '@types/react': '*' dependencies: - '@types/react': 18.3.18 + '@types/react': 18.3.23 dev: false - /@types/react@18.3.18: - resolution: {integrity: sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==} + /@types/react@18.3.23: + resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==} dependencies: '@types/prop-types': 15.7.15 csstype: 3.1.3 @@ -6393,7 +6393,7 @@ packages: engines: {node: '>=8'} dev: true - /rehackt@0.1.0(@types/react@18.3.18)(react@18.3.1): + /rehackt@0.1.0(@types/react@18.3.23)(react@18.3.1): resolution: {integrity: sha512-7kRDOuLHB87D/JESKxQoRwv4DzbIdwkAGQ7p6QKGdVlY1IZheUnVhlk/4UZlNUVxdAXpyxikE3URsG067ybVzw==} peerDependencies: '@types/react': '*' @@ -6404,7 +6404,7 @@ packages: react: optional: true dependencies: - '@types/react': 18.3.18 + '@types/react': 18.3.23 react: 18.3.1 dev: false From dbfa4f31fee01d7eb2849562b8181a559fb6be07 Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Fri, 22 Aug 2025 10:41:25 +0200 Subject: [PATCH 045/118] Not closing PR before reviewing it. --- .github/label-commenter-config.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 From e09a60296379125c94e931661bc4f037fe980ade Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Fri, 22 Aug 2025 11:15:53 +0200 Subject: [PATCH 046/118] Ignoring docker image updates. --- .github/renovate.json | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) 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 + } + ] } From dc787f4ffc57e631776171c7bb123f8b840eb286 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Aug 2025 13:52:26 +0200 Subject: [PATCH 047/118] [java] Update dependency net.bytebuddy:byte-buddy to v1.17.7 (#16237) * [java] Update dependency net.bytebuddy:byte-buddy to v1.17.7 * Repin dependencies --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Selenium CI Bot Co-authored-by: Diego Molina --- MODULE.bazel | 2 +- java/maven_install.json | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 6e0e371ab95a0..87a5a38cf54bf 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -207,7 +207,7 @@ 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", + "net.bytebuddy:byte-buddy:1.17.7", "org.htmlunit:htmlunit-core-js:4.14.0", "org.apache.commons:commons-exec:1.5.0", "org.apache.logging.log4j:log4j-core:2.25.1", diff --git a/java/maven_install.json b/java/maven_install.json index 5a2d8bb924d5b..f6c5331da6926 100644 --- a/java/maven_install.json +++ b/java/maven_install.json @@ -1,7 +1,7 @@ { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": 773120019, - "__RESOLVED_ARTIFACTS_HASH": -748858848, + "__INPUT_ARTIFACTS_HASH": 558417936, + "__RESOLVED_ARTIFACTS_HASH": -92778682, "artifacts": { "com.beust:jcommander": { "shasums": { @@ -452,10 +452,10 @@ }, "net.bytebuddy:byte-buddy": { "shasums": { - "jar": "d26382a839cb26d5c62a0b0f04715bcef55a531f96ac6ce40de452a1c0539e70", - "sources": "bed458b6ee0df083eb4e1bd2dd171f7d8abe30993b510a9a241ba7bff3653e27" + "jar": "3575dcb8a98faf943d3c1595c47a16047c4fce8a83ebbb26262f1a2f67546357", + "sources": "8b4139f2607584938370ed3d2adfc404e893c39db253afae53222aa920c58182" }, - "version": "1.17.6" + "version": "1.17.7" }, "net.bytebuddy:byte-buddy-agent": { "shasums": { From e3213792674e52c9b4f89c97c131b21df0399784 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Aug 2025 08:02:37 -0400 Subject: [PATCH 048/118] [py] Update dependency charset-normalizer to v3.4.3 (#16239) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Selenium CI Bot Co-authored-by: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> --- py/requirements.txt | 2 +- py/requirements_lock.txt | 178 ++++++++++++++++++--------------------- 2 files changed, 85 insertions(+), 95 deletions(-) diff --git a/py/requirements.txt b/py/requirements.txt index 02d1f1f906c16..f3623e8b216a7 100644 --- a/py/requirements.txt +++ b/py/requirements.txt @@ -3,7 +3,7 @@ cachetools==6.1.0 certifi==2025.6.15 cffi==1.17.1 chardet==5.2.0 -charset-normalizer==3.4.2 +charset-normalizer==3.4.3 colorama==0.4.6 cryptography==45.0.5 debugpy==1.8.14 diff --git a/py/requirements_lock.txt b/py/requirements_lock.txt index c9398b21213d9..0899af229ea22 100644 --- a/py/requirements_lock.txt +++ b/py/requirements_lock.txt @@ -104,99 +104,86 @@ chardet==5.2.0 \ # via # -r py/requirements.txt # tox -charset-normalizer==3.4.2 \ - --hash=sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4 \ - --hash=sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45 \ - --hash=sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7 \ - --hash=sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0 \ - --hash=sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7 \ - --hash=sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d \ - --hash=sha256:1b1bde144d98e446b056ef98e59c256e9294f6b74d7af6846bf5ffdafd687a7d \ - --hash=sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0 \ - --hash=sha256:1cad5f45b3146325bb38d6855642f6fd609c3f7cad4dbaf75549bf3b904d3184 \ - --hash=sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db \ - --hash=sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b \ - --hash=sha256:25a23ea5c7edc53e0f29bae2c44fcb5a1aa10591aae107f2a2b2583a9c5cbc64 \ - --hash=sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b \ - --hash=sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8 \ - --hash=sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff \ - --hash=sha256:36b31da18b8890a76ec181c3cf44326bf2c48e36d393ca1b72b3f484113ea344 \ - --hash=sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58 \ - --hash=sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e \ - --hash=sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471 \ - --hash=sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148 \ - --hash=sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a \ - --hash=sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836 \ - --hash=sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e \ - --hash=sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63 \ - --hash=sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c \ - --hash=sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1 \ - --hash=sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01 \ - --hash=sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366 \ - --hash=sha256:6a0289e4589e8bdfef02a80478f1dfcb14f0ab696b5a00e1f4b8a14a307a3c58 \ - --hash=sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5 \ - --hash=sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c \ - --hash=sha256:6fc1f5b51fa4cecaa18f2bd7a003f3dd039dd615cd69a2afd6d3b19aed6775f2 \ - --hash=sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a \ - --hash=sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597 \ - --hash=sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b \ - --hash=sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5 \ - --hash=sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb \ - --hash=sha256:770cab594ecf99ae64c236bc9ee3439c3f46be49796e265ce0cc8bc17b10294f \ - --hash=sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0 \ - --hash=sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941 \ - --hash=sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0 \ - --hash=sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86 \ - --hash=sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7 \ - --hash=sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7 \ - --hash=sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455 \ - --hash=sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6 \ - --hash=sha256:915f3849a011c1f593ab99092f3cecfcb4d65d8feb4a64cf1bf2d22074dc0ec4 \ - --hash=sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0 \ - --hash=sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3 \ - --hash=sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1 \ - --hash=sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6 \ - --hash=sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981 \ - --hash=sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c \ - --hash=sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980 \ - --hash=sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645 \ - --hash=sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7 \ - --hash=sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12 \ - --hash=sha256:b2680962a4848b3c4f155dc2ee64505a9c57186d0d56b43123b17ca3de18f0fa \ - --hash=sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd \ - --hash=sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef \ - --hash=sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f \ - --hash=sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2 \ - --hash=sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d \ - --hash=sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5 \ - --hash=sha256:c9e36a97bee9b86ef9a1cf7bb96747eb7a15c2f22bdb5b516434b00f2a599f02 \ - --hash=sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3 \ - --hash=sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd \ - --hash=sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e \ - --hash=sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214 \ - --hash=sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd \ - --hash=sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a \ - --hash=sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c \ - --hash=sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681 \ - --hash=sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba \ - --hash=sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f \ - --hash=sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a \ - --hash=sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28 \ - --hash=sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691 \ - --hash=sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82 \ - --hash=sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a \ - --hash=sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027 \ - --hash=sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7 \ - --hash=sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518 \ - --hash=sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf \ - --hash=sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b \ - --hash=sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9 \ - --hash=sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544 \ - --hash=sha256:f4074c5a429281bf056ddd4c5d3b740ebca4d43ffffe2ef4bf4d2d05114299da \ - --hash=sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509 \ - --hash=sha256:fb707f3e15060adf5b7ada797624a6c6e0138e2a26baa089df64c68ee98e040f \ - --hash=sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a \ - --hash=sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f +charset-normalizer==3.4.3 \ + --hash=sha256:00237675befef519d9af72169d8604a067d92755e84fe76492fef5441db05b91 \ + --hash=sha256:02425242e96bcf29a49711b0ca9f37e451da7c70562bc10e8ed992a5a7a25cc0 \ + --hash=sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154 \ + --hash=sha256:07a0eae9e2787b586e129fdcbe1af6997f8d0e5abaa0bc98c0e20e124d67e601 \ + --hash=sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884 \ + --hash=sha256:0e78314bdc32fa80696f72fa16dc61168fda4d6a0c014e0380f9d02f0e5d8a07 \ + --hash=sha256:0f2be7e0cf7754b9a30eb01f4295cc3d4358a479843b31f328afd210e2c7598c \ + --hash=sha256:13faeacfe61784e2559e690fc53fa4c5ae97c6fcedb8eb6fb8d0a15b475d2c64 \ + --hash=sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe \ + --hash=sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f \ + --hash=sha256:16a8770207946ac75703458e2c743631c79c59c5890c80011d536248f8eaa432 \ + --hash=sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc \ + --hash=sha256:18b97b8404387b96cdbd30ad660f6407799126d26a39ca65729162fd810a99aa \ + --hash=sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9 \ + --hash=sha256:1e8ac75d72fa3775e0b7cb7e4629cec13b7514d928d15ef8ea06bca03ef01cae \ + --hash=sha256:1ef99f0456d3d46a50945c98de1774da86f8e992ab5c77865ea8b8195341fc19 \ + --hash=sha256:2001a39612b241dae17b4687898843f254f8748b796a2e16f1051a17078d991d \ + --hash=sha256:23b6b24d74478dc833444cbd927c338349d6ae852ba53a0d02a2de1fce45b96e \ + --hash=sha256:252098c8c7a873e17dd696ed98bbe91dbacd571da4b87df3736768efa7a792e4 \ + --hash=sha256:257f26fed7d7ff59921b78244f3cd93ed2af1800ff048c33f624c87475819dd7 \ + --hash=sha256:2c322db9c8c89009a990ef07c3bcc9f011a3269bc06782f916cd3d9eed7c9312 \ + --hash=sha256:30a96e1e1f865f78b030d65241c1ee850cdf422d869e9028e2fc1d5e4db73b92 \ + --hash=sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31 \ + --hash=sha256:31a9a6f775f9bcd865d88ee350f0ffb0e25936a7f930ca98995c05abf1faf21c \ + --hash=sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f \ + --hash=sha256:34a7f768e3f985abdb42841e20e17b330ad3aaf4bb7e7aeeb73db2e70f077b99 \ + --hash=sha256:3653fad4fe3ed447a596ae8638b437f827234f01a8cd801842e43f3d0a6b281b \ + --hash=sha256:3cd35b7e8aedeb9e34c41385fda4f73ba609e561faedfae0a9e75e44ac558a15 \ + --hash=sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392 \ + --hash=sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f \ + --hash=sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8 \ + --hash=sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491 \ + --hash=sha256:4ca4c094de7771a98d7fbd67d9e5dbf1eb73efa4f744a730437d8a3a5cf994f0 \ + --hash=sha256:511729f456829ef86ac41ca78c63a5cb55240ed23b4b737faca0eb1abb1c41bc \ + --hash=sha256:53cd68b185d98dde4ad8990e56a58dea83a4162161b1ea9272e5c9182ce415e0 \ + --hash=sha256:585f3b2a80fbd26b048a0be90c5aae8f06605d3c92615911c3a2b03a8a3b796f \ + --hash=sha256:5b413b0b1bfd94dbf4023ad6945889f374cd24e3f62de58d6bb102c4d9ae534a \ + --hash=sha256:5d8d01eac18c423815ed4f4a2ec3b439d654e55ee4ad610e153cf02faf67ea40 \ + --hash=sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927 \ + --hash=sha256:6cf8fd4c04756b6b60146d98cd8a77d0cdae0e1ca20329da2ac85eed779b6849 \ + --hash=sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce \ + --hash=sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14 \ + --hash=sha256:70bfc5f2c318afece2f5838ea5e4c3febada0be750fcf4775641052bbba14d05 \ + --hash=sha256:73dc19b562516fc9bcf6e5d6e596df0b4eb98d87e4f79f3ae71840e6ed21361c \ + --hash=sha256:74d77e25adda8581ffc1c720f1c81ca082921329452eba58b16233ab1842141c \ + --hash=sha256:78deba4d8f9590fe4dae384aeff04082510a709957e968753ff3c48399f6f92a \ + --hash=sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc \ + --hash=sha256:88ab34806dea0671532d3f82d82b85e8fc23d7b2dd12fa837978dad9bb392a34 \ + --hash=sha256:8999f965f922ae054125286faf9f11bc6932184b93011d138925a1773830bbe9 \ + --hash=sha256:8dcfc373f888e4fb39a7bc57e93e3b845e7f462dacc008d9749568b1c4ece096 \ + --hash=sha256:939578d9d8fd4299220161fdd76e86c6a251987476f5243e8864a7844476ba14 \ + --hash=sha256:96b2b3d1a83ad55310de8c7b4a2d04d9277d5591f40761274856635acc5fcb30 \ + --hash=sha256:a2d08ac246bb48479170408d6c19f6385fa743e7157d716e144cad849b2dd94b \ + --hash=sha256:b256ee2e749283ef3ddcff51a675ff43798d92d746d1a6e4631bf8c707d22d0b \ + --hash=sha256:b5e3b2d152e74e100a9e9573837aba24aab611d39428ded46f4e4022ea7d1942 \ + --hash=sha256:b89bc04de1d83006373429975f8ef9e7932534b8cc9ca582e4db7d20d91816db \ + --hash=sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5 \ + --hash=sha256:c60e092517a73c632ec38e290eba714e9627abe9d301c8c8a12ec32c314a2a4b \ + --hash=sha256:c6dbd0ccdda3a2ba7c2ecd9d77b37f3b5831687d8dc1b6ca5f56a4880cc7b7ce \ + --hash=sha256:c6e490913a46fa054e03699c70019ab869e990270597018cef1d8562132c2669 \ + --hash=sha256:c6f162aabe9a91a309510d74eeb6507fab5fff92337a15acbe77753d88d9dcf0 \ + --hash=sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018 \ + --hash=sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93 \ + --hash=sha256:cc9370a2da1ac13f0153780040f465839e6cccb4a1e44810124b4e22483c93fe \ + --hash=sha256:ccf600859c183d70eb47e05a44cd80a4ce77394d1ac0f79dbd2dd90a69a3a049 \ + --hash=sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a \ + --hash=sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef \ + --hash=sha256:d0e909868420b7049dafd3a31d45125b31143eec59235311fc4c57ea26a4acd2 \ + --hash=sha256:d22dbedd33326a4a5190dd4fe9e9e693ef12160c77382d9e87919bce54f3d4ca \ + --hash=sha256:d716a916938e03231e86e43782ca7878fb602a125a91e7acb8b5112e2e96ac16 \ + --hash=sha256:d79c198e27580c8e958906f803e63cddb77653731be08851c7df0b1a14a8fc0f \ + --hash=sha256:d95bfb53c211b57198bb91c46dd5a2d8018b3af446583aab40074bf7988401cb \ + --hash=sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1 \ + --hash=sha256:ec557499516fc90fd374bf2e32349a2887a876fbf162c160e3c01b6849eaf557 \ + --hash=sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37 \ + --hash=sha256:fb731e5deb0c7ef82d698b0f4c5bb724633ee2a489401594c5c88b02e6cb15f7 \ + --hash=sha256:fb7f67a1bfa6e40b438170ebdc8158b78dc465a5a67b6dde178a46987b244a72 \ + --hash=sha256:fd10de089bcdcd1be95a2f73dbe6254798ec1bda9f450d5828c96f93e2536b9c \ + --hash=sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9 # via # -r py/requirements.txt # requests @@ -364,6 +351,7 @@ jeepney==0.9.0 \ --hash=sha256:cf0e9e845622b81e4a28df94c40345400256ec608d0e55bb8a3feaa9163f5732 # via # -r py/requirements.txt + # keyring # secretstorage keyring==25.6.0 \ --hash=sha256:0b39998aa941431eb3d9b0d4b2460bc773b9df6fed7621c2dfb291a7e0187a66 \ @@ -651,7 +639,9 @@ rich==14.0.0 \ secretstorage==3.3.3 \ --hash=sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77 \ --hash=sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99 - # via -r py/requirements.txt + # via + # -r py/requirements.txt + # keyring sniffio==1.3.1 \ --hash=sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2 \ --hash=sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc From c7e891d91ca0a00dc0458ee1f2517b2593c9e5b9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Aug 2025 08:03:29 -0400 Subject: [PATCH 049/118] [py] Update dependency cryptography to v45.0.6 (#16240) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Selenium CI Bot Co-authored-by: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> --- py/requirements.txt | 2 +- py/requirements_lock.txt | 76 ++++++++++++++++++++-------------------- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/py/requirements.txt b/py/requirements.txt index f3623e8b216a7..bcf60eda4a0c9 100644 --- a/py/requirements.txt +++ b/py/requirements.txt @@ -5,7 +5,7 @@ cffi==1.17.1 chardet==5.2.0 charset-normalizer==3.4.3 colorama==0.4.6 -cryptography==45.0.5 +cryptography==45.0.6 debugpy==1.8.14 distlib==0.3.9 docutils==0.21.2 diff --git a/py/requirements_lock.txt b/py/requirements_lock.txt index 0899af229ea22..f1ffe0ad517b9 100644 --- a/py/requirements_lock.txt +++ b/py/requirements_lock.txt @@ -193,44 +193,44 @@ colorama==0.4.6 \ # via # -r py/requirements.txt # tox -cryptography==45.0.5 \ - --hash=sha256:0027d566d65a38497bc37e0dd7c2f8ceda73597d2ac9ba93810204f56f52ebc7 \ - --hash=sha256:101ee65078f6dd3e5a028d4f19c07ffa4dd22cce6a20eaa160f8b5219911e7d8 \ - --hash=sha256:12e55281d993a793b0e883066f590c1ae1e802e3acb67f8b442e721e475e6463 \ - --hash=sha256:14d96584701a887763384f3c47f0ca7c1cce322aa1c31172680eb596b890ec30 \ - --hash=sha256:1e1da5accc0c750056c556a93c3e9cb828970206c68867712ca5805e46dc806f \ - --hash=sha256:206210d03c1193f4e1ff681d22885181d47efa1ab3018766a7b32a7b3d6e6afd \ - --hash=sha256:2089cc8f70a6e454601525e5bf2779e665d7865af002a5dec8d14e561002e135 \ - --hash=sha256:3a264aae5f7fbb089dbc01e0242d3b67dffe3e6292e1f5182122bdf58e65215d \ - --hash=sha256:3af26738f2db354aafe492fb3869e955b12b2ef2e16908c8b9cb928128d42c57 \ - --hash=sha256:3fcfbefc4a7f332dece7272a88e410f611e79458fab97b5efe14e54fe476f4fd \ - --hash=sha256:460f8c39ba66af7db0545a8c6f2eabcbc5a5528fc1cf6c3fa9a1e44cec33385e \ - --hash=sha256:57c816dfbd1659a367831baca4b775b2a5b43c003daf52e9d57e1d30bc2e1b0e \ - --hash=sha256:5aa1e32983d4443e310f726ee4b071ab7569f58eedfdd65e9675484a4eb67bd1 \ - --hash=sha256:6ff8728d8d890b3dda5765276d1bc6fb099252915a2cd3aff960c4c195745dd0 \ - --hash=sha256:7259038202a47fdecee7e62e0fd0b0738b6daa335354396c6ddebdbe1206af2a \ - --hash=sha256:72e76caa004ab63accdf26023fccd1d087f6d90ec6048ff33ad0445abf7f605a \ - --hash=sha256:7760c1c2e1a7084153a0f68fab76e754083b126a47d0117c9ed15e69e2103492 \ - --hash=sha256:8c4a6ff8a30e9e3d38ac0539e9a9e02540ab3f827a3394f8852432f6b0ea152e \ - --hash=sha256:9024beb59aca9d31d36fcdc1604dd9bbeed0a55bface9f1908df19178e2f116e \ - --hash=sha256:90cb0a7bb35959f37e23303b7eed0a32280510030daba3f7fdfbb65defde6a97 \ - --hash=sha256:91098f02ca81579c85f66df8a588c78f331ca19089763d733e34ad359f474174 \ - --hash=sha256:926c3ea71a6043921050eaa639137e13dbe7b4ab25800932a8498364fc1abec9 \ - --hash=sha256:982518cd64c54fcada9d7e5cf28eabd3ee76bd03ab18e08a48cad7e8b6f31b18 \ - --hash=sha256:9b4cf6318915dccfe218e69bbec417fdd7c7185aa7aab139a2c0beb7468c89f0 \ - --hash=sha256:ad0caded895a00261a5b4aa9af828baede54638754b51955a0ac75576b831b27 \ - --hash=sha256:b85980d1e345fe769cfc57c57db2b59cff5464ee0c045d52c0df087e926fbe63 \ - --hash=sha256:b8fa8b0a35a9982a3c60ec79905ba5bb090fc0b9addcfd3dc2dd04267e45f25e \ - --hash=sha256:b9e38e0a83cd51e07f5a48ff9691cae95a79bea28fe4ded168a8e5c6c77e819d \ - --hash=sha256:bd4c45986472694e5121084c6ebbd112aa919a25e783b87eb95953c9573906d6 \ - --hash=sha256:be97d3a19c16a9be00edf79dca949c8fa7eff621763666a145f9f9535a5d7f42 \ - --hash=sha256:c648025b6840fe62e57107e0a25f604db740e728bd67da4f6f060f03017d5097 \ - --hash=sha256:d05a38884db2ba215218745f0781775806bde4f32e07b135348355fe8e4991d9 \ - --hash=sha256:dd420e577921c8c2d31289536c386aaa30140b473835e97f83bc71ea9d2baf2d \ - --hash=sha256:e357286c1b76403dd384d938f93c46b2b058ed4dfcdce64a770f0537ed3feb6f \ - --hash=sha256:e6c00130ed423201c5bc5544c23359141660b07999ad82e34e7bb8f882bb78e0 \ - --hash=sha256:e74d30ec9c7cb2f404af331d5b4099a9b322a8a6b25c4632755c8757345baac5 \ - --hash=sha256:f3562c2f23c612f2e4a6964a61d942f891d29ee320edb62ff48ffb99f3de9ae8 +cryptography==45.0.6 \ + --hash=sha256:00e8724bdad672d75e6f069b27970883179bd472cd24a63f6e620ca7e41cc0c5 \ + --hash=sha256:048e7ad9e08cf4c0ab07ff7f36cc3115924e22e2266e034450a890d9e312dd74 \ + --hash=sha256:0d9ef57b6768d9fa58e92f4947cea96ade1233c0e236db22ba44748ffedca394 \ + --hash=sha256:18f878a34b90d688982e43f4b700408b478102dd58b3e39de21b5ebf6509c301 \ + --hash=sha256:1b7fa6a1c1188c7ee32e47590d16a5a0646270921f8020efc9a511648e1b2e08 \ + --hash=sha256:20ae4906a13716139d6d762ceb3e0e7e110f7955f3bc3876e3a07f5daadec5f3 \ + --hash=sha256:20d15aed3ee522faac1a39fbfdfee25d17b1284bafd808e1640a74846d7c4d1b \ + --hash=sha256:2384f2ab18d9be88a6e4f8972923405e2dbb8d3e16c6b43f15ca491d7831bd18 \ + --hash=sha256:275ba5cc0d9e320cd70f8e7b96d9e59903c815ca579ab96c1e37278d231fc402 \ + --hash=sha256:2dac5ec199038b8e131365e2324c03d20e97fe214af051d20c49db129844e8b3 \ + --hash=sha256:31a2b9a10530a1cb04ffd6aa1cd4d3be9ed49f7d77a4dafe198f3b382f41545c \ + --hash=sha256:3436128a60a5e5490603ab2adbabc8763613f638513ffa7d311c900a8349a2a0 \ + --hash=sha256:3b5bf5267e98661b9b888a9250d05b063220dfa917a8203744454573c7eb79db \ + --hash=sha256:3de77e4df42ac8d4e4d6cdb342d989803ad37707cf8f3fbf7b088c9cbdd46427 \ + --hash=sha256:44647c5d796f5fc042bbc6d61307d04bf29bccb74d188f18051b635f20a9c75f \ + --hash=sha256:550ae02148206beb722cfe4ef0933f9352bab26b087af00e48fdfb9ade35c5b3 \ + --hash=sha256:599c8d7df950aa68baa7e98f7b73f4f414c9f02d0e8104a30c0182a07732638b \ + --hash=sha256:5b64e668fc3528e77efa51ca70fadcd6610e8ab231e3e06ae2bab3b31c2b8ed9 \ + --hash=sha256:5bd6020c80c5b2b2242d6c48487d7b85700f5e0038e67b29d706f98440d66eb5 \ + --hash=sha256:5c966c732cf6e4a276ce83b6e4c729edda2df6929083a952cc7da973c539c719 \ + --hash=sha256:629127cfdcdc6806dfe234734d7cb8ac54edaf572148274fa377a7d3405b0043 \ + --hash=sha256:705bb7c7ecc3d79a50f236adda12ca331c8e7ecfbea51edd931ce5a7a7c4f012 \ + --hash=sha256:780c40fb751c7d2b0c6786ceee6b6f871e86e8718a8ff4bc35073ac353c7cd02 \ + --hash=sha256:7a3085d1b319d35296176af31c90338eeb2ddac8104661df79f80e1d9787b8b2 \ + --hash=sha256:826b46dae41a1155a0c0e66fafba43d0ede1dc16570b95e40c4d83bfcf0a451d \ + --hash=sha256:833dc32dfc1e39b7376a87b9a6a4288a10aae234631268486558920029b086ec \ + --hash=sha256:cc4d66f5dc4dc37b89cfef1bd5044387f7a1f6f0abb490815628501909332d5d \ + --hash=sha256:d063341378d7ee9c91f9d23b431a3502fc8bfacd54ef0a27baa72a0843b29159 \ + --hash=sha256:e2a21a8eda2d86bb604934b6b37691585bd095c1f788530c1fcefc53a82b3453 \ + --hash=sha256:e40b80ecf35ec265c452eea0ba94c9587ca763e739b8e559c128d23bff7ebbbf \ + --hash=sha256:e5b3dda1b00fb41da3af4c5ef3f922a200e33ee5ba0f0bc9ecf0b0c173958385 \ + --hash=sha256:ea3c42f2016a5bbf71825537c2ad753f2870191134933196bee408aac397b3d9 \ + --hash=sha256:eccddbd986e43014263eda489abbddfbc287af5cddfd690477993dbb31e31016 \ + --hash=sha256:ee411a1b977f40bd075392c80c10b58025ee5c6b47a822a33c1198598a7a5f05 \ + --hash=sha256:f4028f29a9f38a2025abedb2e409973709c660d44319c61762202206ed577c42 \ + --hash=sha256:f68f833a9d445cc49f01097d95c83a850795921b3f7cc6488731e69bde3288da \ + --hash=sha256:fc022c1fa5acff6def2fc6d7819bbbd31ccddfe67d075331a65d9cfb28a20983 # via # -r py/requirements.txt # secretstorage From d471694d465d97a982ac6c35e596ad09ba5065f6 Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Fri, 22 Aug 2025 08:21:25 -0400 Subject: [PATCH 050/118] Revert "[py] Update dependency charset-normalizer to v3.4.3" (#16242) Revert "[py] Update dependency charset-normalizer to v3.4.3 (#16239)" This reverts commit e3213792674e52c9b4f89c97c131b21df0399784. --- py/requirements.txt | 2 +- py/requirements_lock.txt | 178 +++++++++++++++++++++------------------ 2 files changed, 95 insertions(+), 85 deletions(-) diff --git a/py/requirements.txt b/py/requirements.txt index bcf60eda4a0c9..e25620df96128 100644 --- a/py/requirements.txt +++ b/py/requirements.txt @@ -3,7 +3,7 @@ cachetools==6.1.0 certifi==2025.6.15 cffi==1.17.1 chardet==5.2.0 -charset-normalizer==3.4.3 +charset-normalizer==3.4.2 colorama==0.4.6 cryptography==45.0.6 debugpy==1.8.14 diff --git a/py/requirements_lock.txt b/py/requirements_lock.txt index f1ffe0ad517b9..dd52c26168aac 100644 --- a/py/requirements_lock.txt +++ b/py/requirements_lock.txt @@ -104,86 +104,99 @@ chardet==5.2.0 \ # via # -r py/requirements.txt # tox -charset-normalizer==3.4.3 \ - --hash=sha256:00237675befef519d9af72169d8604a067d92755e84fe76492fef5441db05b91 \ - --hash=sha256:02425242e96bcf29a49711b0ca9f37e451da7c70562bc10e8ed992a5a7a25cc0 \ - --hash=sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154 \ - --hash=sha256:07a0eae9e2787b586e129fdcbe1af6997f8d0e5abaa0bc98c0e20e124d67e601 \ - --hash=sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884 \ - --hash=sha256:0e78314bdc32fa80696f72fa16dc61168fda4d6a0c014e0380f9d02f0e5d8a07 \ - --hash=sha256:0f2be7e0cf7754b9a30eb01f4295cc3d4358a479843b31f328afd210e2c7598c \ - --hash=sha256:13faeacfe61784e2559e690fc53fa4c5ae97c6fcedb8eb6fb8d0a15b475d2c64 \ - --hash=sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe \ - --hash=sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f \ - --hash=sha256:16a8770207946ac75703458e2c743631c79c59c5890c80011d536248f8eaa432 \ - --hash=sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc \ - --hash=sha256:18b97b8404387b96cdbd30ad660f6407799126d26a39ca65729162fd810a99aa \ - --hash=sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9 \ - --hash=sha256:1e8ac75d72fa3775e0b7cb7e4629cec13b7514d928d15ef8ea06bca03ef01cae \ - --hash=sha256:1ef99f0456d3d46a50945c98de1774da86f8e992ab5c77865ea8b8195341fc19 \ - --hash=sha256:2001a39612b241dae17b4687898843f254f8748b796a2e16f1051a17078d991d \ - --hash=sha256:23b6b24d74478dc833444cbd927c338349d6ae852ba53a0d02a2de1fce45b96e \ - --hash=sha256:252098c8c7a873e17dd696ed98bbe91dbacd571da4b87df3736768efa7a792e4 \ - --hash=sha256:257f26fed7d7ff59921b78244f3cd93ed2af1800ff048c33f624c87475819dd7 \ - --hash=sha256:2c322db9c8c89009a990ef07c3bcc9f011a3269bc06782f916cd3d9eed7c9312 \ - --hash=sha256:30a96e1e1f865f78b030d65241c1ee850cdf422d869e9028e2fc1d5e4db73b92 \ - --hash=sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31 \ - --hash=sha256:31a9a6f775f9bcd865d88ee350f0ffb0e25936a7f930ca98995c05abf1faf21c \ - --hash=sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f \ - --hash=sha256:34a7f768e3f985abdb42841e20e17b330ad3aaf4bb7e7aeeb73db2e70f077b99 \ - --hash=sha256:3653fad4fe3ed447a596ae8638b437f827234f01a8cd801842e43f3d0a6b281b \ - --hash=sha256:3cd35b7e8aedeb9e34c41385fda4f73ba609e561faedfae0a9e75e44ac558a15 \ - --hash=sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392 \ - --hash=sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f \ - --hash=sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8 \ - --hash=sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491 \ - --hash=sha256:4ca4c094de7771a98d7fbd67d9e5dbf1eb73efa4f744a730437d8a3a5cf994f0 \ - --hash=sha256:511729f456829ef86ac41ca78c63a5cb55240ed23b4b737faca0eb1abb1c41bc \ - --hash=sha256:53cd68b185d98dde4ad8990e56a58dea83a4162161b1ea9272e5c9182ce415e0 \ - --hash=sha256:585f3b2a80fbd26b048a0be90c5aae8f06605d3c92615911c3a2b03a8a3b796f \ - --hash=sha256:5b413b0b1bfd94dbf4023ad6945889f374cd24e3f62de58d6bb102c4d9ae534a \ - --hash=sha256:5d8d01eac18c423815ed4f4a2ec3b439d654e55ee4ad610e153cf02faf67ea40 \ - --hash=sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927 \ - --hash=sha256:6cf8fd4c04756b6b60146d98cd8a77d0cdae0e1ca20329da2ac85eed779b6849 \ - --hash=sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce \ - --hash=sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14 \ - --hash=sha256:70bfc5f2c318afece2f5838ea5e4c3febada0be750fcf4775641052bbba14d05 \ - --hash=sha256:73dc19b562516fc9bcf6e5d6e596df0b4eb98d87e4f79f3ae71840e6ed21361c \ - --hash=sha256:74d77e25adda8581ffc1c720f1c81ca082921329452eba58b16233ab1842141c \ - --hash=sha256:78deba4d8f9590fe4dae384aeff04082510a709957e968753ff3c48399f6f92a \ - --hash=sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc \ - --hash=sha256:88ab34806dea0671532d3f82d82b85e8fc23d7b2dd12fa837978dad9bb392a34 \ - --hash=sha256:8999f965f922ae054125286faf9f11bc6932184b93011d138925a1773830bbe9 \ - --hash=sha256:8dcfc373f888e4fb39a7bc57e93e3b845e7f462dacc008d9749568b1c4ece096 \ - --hash=sha256:939578d9d8fd4299220161fdd76e86c6a251987476f5243e8864a7844476ba14 \ - --hash=sha256:96b2b3d1a83ad55310de8c7b4a2d04d9277d5591f40761274856635acc5fcb30 \ - --hash=sha256:a2d08ac246bb48479170408d6c19f6385fa743e7157d716e144cad849b2dd94b \ - --hash=sha256:b256ee2e749283ef3ddcff51a675ff43798d92d746d1a6e4631bf8c707d22d0b \ - --hash=sha256:b5e3b2d152e74e100a9e9573837aba24aab611d39428ded46f4e4022ea7d1942 \ - --hash=sha256:b89bc04de1d83006373429975f8ef9e7932534b8cc9ca582e4db7d20d91816db \ - --hash=sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5 \ - --hash=sha256:c60e092517a73c632ec38e290eba714e9627abe9d301c8c8a12ec32c314a2a4b \ - --hash=sha256:c6dbd0ccdda3a2ba7c2ecd9d77b37f3b5831687d8dc1b6ca5f56a4880cc7b7ce \ - --hash=sha256:c6e490913a46fa054e03699c70019ab869e990270597018cef1d8562132c2669 \ - --hash=sha256:c6f162aabe9a91a309510d74eeb6507fab5fff92337a15acbe77753d88d9dcf0 \ - --hash=sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018 \ - --hash=sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93 \ - --hash=sha256:cc9370a2da1ac13f0153780040f465839e6cccb4a1e44810124b4e22483c93fe \ - --hash=sha256:ccf600859c183d70eb47e05a44cd80a4ce77394d1ac0f79dbd2dd90a69a3a049 \ - --hash=sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a \ - --hash=sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef \ - --hash=sha256:d0e909868420b7049dafd3a31d45125b31143eec59235311fc4c57ea26a4acd2 \ - --hash=sha256:d22dbedd33326a4a5190dd4fe9e9e693ef12160c77382d9e87919bce54f3d4ca \ - --hash=sha256:d716a916938e03231e86e43782ca7878fb602a125a91e7acb8b5112e2e96ac16 \ - --hash=sha256:d79c198e27580c8e958906f803e63cddb77653731be08851c7df0b1a14a8fc0f \ - --hash=sha256:d95bfb53c211b57198bb91c46dd5a2d8018b3af446583aab40074bf7988401cb \ - --hash=sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1 \ - --hash=sha256:ec557499516fc90fd374bf2e32349a2887a876fbf162c160e3c01b6849eaf557 \ - --hash=sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37 \ - --hash=sha256:fb731e5deb0c7ef82d698b0f4c5bb724633ee2a489401594c5c88b02e6cb15f7 \ - --hash=sha256:fb7f67a1bfa6e40b438170ebdc8158b78dc465a5a67b6dde178a46987b244a72 \ - --hash=sha256:fd10de089bcdcd1be95a2f73dbe6254798ec1bda9f450d5828c96f93e2536b9c \ - --hash=sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9 +charset-normalizer==3.4.2 \ + --hash=sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4 \ + --hash=sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45 \ + --hash=sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7 \ + --hash=sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0 \ + --hash=sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7 \ + --hash=sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d \ + --hash=sha256:1b1bde144d98e446b056ef98e59c256e9294f6b74d7af6846bf5ffdafd687a7d \ + --hash=sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0 \ + --hash=sha256:1cad5f45b3146325bb38d6855642f6fd609c3f7cad4dbaf75549bf3b904d3184 \ + --hash=sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db \ + --hash=sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b \ + --hash=sha256:25a23ea5c7edc53e0f29bae2c44fcb5a1aa10591aae107f2a2b2583a9c5cbc64 \ + --hash=sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b \ + --hash=sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8 \ + --hash=sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff \ + --hash=sha256:36b31da18b8890a76ec181c3cf44326bf2c48e36d393ca1b72b3f484113ea344 \ + --hash=sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58 \ + --hash=sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e \ + --hash=sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471 \ + --hash=sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148 \ + --hash=sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a \ + --hash=sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836 \ + --hash=sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e \ + --hash=sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63 \ + --hash=sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c \ + --hash=sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1 \ + --hash=sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01 \ + --hash=sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366 \ + --hash=sha256:6a0289e4589e8bdfef02a80478f1dfcb14f0ab696b5a00e1f4b8a14a307a3c58 \ + --hash=sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5 \ + --hash=sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c \ + --hash=sha256:6fc1f5b51fa4cecaa18f2bd7a003f3dd039dd615cd69a2afd6d3b19aed6775f2 \ + --hash=sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a \ + --hash=sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597 \ + --hash=sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b \ + --hash=sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5 \ + --hash=sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb \ + --hash=sha256:770cab594ecf99ae64c236bc9ee3439c3f46be49796e265ce0cc8bc17b10294f \ + --hash=sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0 \ + --hash=sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941 \ + --hash=sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0 \ + --hash=sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86 \ + --hash=sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7 \ + --hash=sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7 \ + --hash=sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455 \ + --hash=sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6 \ + --hash=sha256:915f3849a011c1f593ab99092f3cecfcb4d65d8feb4a64cf1bf2d22074dc0ec4 \ + --hash=sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0 \ + --hash=sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3 \ + --hash=sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1 \ + --hash=sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6 \ + --hash=sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981 \ + --hash=sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c \ + --hash=sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980 \ + --hash=sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645 \ + --hash=sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7 \ + --hash=sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12 \ + --hash=sha256:b2680962a4848b3c4f155dc2ee64505a9c57186d0d56b43123b17ca3de18f0fa \ + --hash=sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd \ + --hash=sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef \ + --hash=sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f \ + --hash=sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2 \ + --hash=sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d \ + --hash=sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5 \ + --hash=sha256:c9e36a97bee9b86ef9a1cf7bb96747eb7a15c2f22bdb5b516434b00f2a599f02 \ + --hash=sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3 \ + --hash=sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd \ + --hash=sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e \ + --hash=sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214 \ + --hash=sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd \ + --hash=sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a \ + --hash=sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c \ + --hash=sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681 \ + --hash=sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba \ + --hash=sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f \ + --hash=sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a \ + --hash=sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28 \ + --hash=sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691 \ + --hash=sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82 \ + --hash=sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a \ + --hash=sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027 \ + --hash=sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7 \ + --hash=sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518 \ + --hash=sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf \ + --hash=sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b \ + --hash=sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9 \ + --hash=sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544 \ + --hash=sha256:f4074c5a429281bf056ddd4c5d3b740ebca4d43ffffe2ef4bf4d2d05114299da \ + --hash=sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509 \ + --hash=sha256:fb707f3e15060adf5b7ada797624a6c6e0138e2a26baa089df64c68ee98e040f \ + --hash=sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a \ + --hash=sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f # via # -r py/requirements.txt # requests @@ -351,7 +364,6 @@ jeepney==0.9.0 \ --hash=sha256:cf0e9e845622b81e4a28df94c40345400256ec608d0e55bb8a3feaa9163f5732 # via # -r py/requirements.txt - # keyring # secretstorage keyring==25.6.0 \ --hash=sha256:0b39998aa941431eb3d9b0d4b2460bc773b9df6fed7621c2dfb291a7e0187a66 \ @@ -639,9 +651,7 @@ rich==14.0.0 \ secretstorage==3.3.3 \ --hash=sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77 \ --hash=sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99 - # via - # -r py/requirements.txt - # keyring + # via -r py/requirements.txt sniffio==1.3.1 \ --hash=sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2 \ --hash=sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc From a246462fd46ee8fff156f160025edc4e9437b8cc Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Fri, 22 Aug 2025 08:22:11 -0400 Subject: [PATCH 051/118] Revert "[py] Update dependency cryptography to v45.0.6" (#16243) Revert "[py] Update dependency cryptography to v45.0.6 (#16240)" This reverts commit c7e891d91ca0a00dc0458ee1f2517b2593c9e5b9. --- py/requirements.txt | 2 +- py/requirements_lock.txt | 76 ++++++++++++++++++++-------------------- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/py/requirements.txt b/py/requirements.txt index e25620df96128..02d1f1f906c16 100644 --- a/py/requirements.txt +++ b/py/requirements.txt @@ -5,7 +5,7 @@ cffi==1.17.1 chardet==5.2.0 charset-normalizer==3.4.2 colorama==0.4.6 -cryptography==45.0.6 +cryptography==45.0.5 debugpy==1.8.14 distlib==0.3.9 docutils==0.21.2 diff --git a/py/requirements_lock.txt b/py/requirements_lock.txt index dd52c26168aac..c9398b21213d9 100644 --- a/py/requirements_lock.txt +++ b/py/requirements_lock.txt @@ -206,44 +206,44 @@ colorama==0.4.6 \ # via # -r py/requirements.txt # tox -cryptography==45.0.6 \ - --hash=sha256:00e8724bdad672d75e6f069b27970883179bd472cd24a63f6e620ca7e41cc0c5 \ - --hash=sha256:048e7ad9e08cf4c0ab07ff7f36cc3115924e22e2266e034450a890d9e312dd74 \ - --hash=sha256:0d9ef57b6768d9fa58e92f4947cea96ade1233c0e236db22ba44748ffedca394 \ - --hash=sha256:18f878a34b90d688982e43f4b700408b478102dd58b3e39de21b5ebf6509c301 \ - --hash=sha256:1b7fa6a1c1188c7ee32e47590d16a5a0646270921f8020efc9a511648e1b2e08 \ - --hash=sha256:20ae4906a13716139d6d762ceb3e0e7e110f7955f3bc3876e3a07f5daadec5f3 \ - --hash=sha256:20d15aed3ee522faac1a39fbfdfee25d17b1284bafd808e1640a74846d7c4d1b \ - --hash=sha256:2384f2ab18d9be88a6e4f8972923405e2dbb8d3e16c6b43f15ca491d7831bd18 \ - --hash=sha256:275ba5cc0d9e320cd70f8e7b96d9e59903c815ca579ab96c1e37278d231fc402 \ - --hash=sha256:2dac5ec199038b8e131365e2324c03d20e97fe214af051d20c49db129844e8b3 \ - --hash=sha256:31a2b9a10530a1cb04ffd6aa1cd4d3be9ed49f7d77a4dafe198f3b382f41545c \ - --hash=sha256:3436128a60a5e5490603ab2adbabc8763613f638513ffa7d311c900a8349a2a0 \ - --hash=sha256:3b5bf5267e98661b9b888a9250d05b063220dfa917a8203744454573c7eb79db \ - --hash=sha256:3de77e4df42ac8d4e4d6cdb342d989803ad37707cf8f3fbf7b088c9cbdd46427 \ - --hash=sha256:44647c5d796f5fc042bbc6d61307d04bf29bccb74d188f18051b635f20a9c75f \ - --hash=sha256:550ae02148206beb722cfe4ef0933f9352bab26b087af00e48fdfb9ade35c5b3 \ - --hash=sha256:599c8d7df950aa68baa7e98f7b73f4f414c9f02d0e8104a30c0182a07732638b \ - --hash=sha256:5b64e668fc3528e77efa51ca70fadcd6610e8ab231e3e06ae2bab3b31c2b8ed9 \ - --hash=sha256:5bd6020c80c5b2b2242d6c48487d7b85700f5e0038e67b29d706f98440d66eb5 \ - --hash=sha256:5c966c732cf6e4a276ce83b6e4c729edda2df6929083a952cc7da973c539c719 \ - --hash=sha256:629127cfdcdc6806dfe234734d7cb8ac54edaf572148274fa377a7d3405b0043 \ - --hash=sha256:705bb7c7ecc3d79a50f236adda12ca331c8e7ecfbea51edd931ce5a7a7c4f012 \ - --hash=sha256:780c40fb751c7d2b0c6786ceee6b6f871e86e8718a8ff4bc35073ac353c7cd02 \ - --hash=sha256:7a3085d1b319d35296176af31c90338eeb2ddac8104661df79f80e1d9787b8b2 \ - --hash=sha256:826b46dae41a1155a0c0e66fafba43d0ede1dc16570b95e40c4d83bfcf0a451d \ - --hash=sha256:833dc32dfc1e39b7376a87b9a6a4288a10aae234631268486558920029b086ec \ - --hash=sha256:cc4d66f5dc4dc37b89cfef1bd5044387f7a1f6f0abb490815628501909332d5d \ - --hash=sha256:d063341378d7ee9c91f9d23b431a3502fc8bfacd54ef0a27baa72a0843b29159 \ - --hash=sha256:e2a21a8eda2d86bb604934b6b37691585bd095c1f788530c1fcefc53a82b3453 \ - --hash=sha256:e40b80ecf35ec265c452eea0ba94c9587ca763e739b8e559c128d23bff7ebbbf \ - --hash=sha256:e5b3dda1b00fb41da3af4c5ef3f922a200e33ee5ba0f0bc9ecf0b0c173958385 \ - --hash=sha256:ea3c42f2016a5bbf71825537c2ad753f2870191134933196bee408aac397b3d9 \ - --hash=sha256:eccddbd986e43014263eda489abbddfbc287af5cddfd690477993dbb31e31016 \ - --hash=sha256:ee411a1b977f40bd075392c80c10b58025ee5c6b47a822a33c1198598a7a5f05 \ - --hash=sha256:f4028f29a9f38a2025abedb2e409973709c660d44319c61762202206ed577c42 \ - --hash=sha256:f68f833a9d445cc49f01097d95c83a850795921b3f7cc6488731e69bde3288da \ - --hash=sha256:fc022c1fa5acff6def2fc6d7819bbbd31ccddfe67d075331a65d9cfb28a20983 +cryptography==45.0.5 \ + --hash=sha256:0027d566d65a38497bc37e0dd7c2f8ceda73597d2ac9ba93810204f56f52ebc7 \ + --hash=sha256:101ee65078f6dd3e5a028d4f19c07ffa4dd22cce6a20eaa160f8b5219911e7d8 \ + --hash=sha256:12e55281d993a793b0e883066f590c1ae1e802e3acb67f8b442e721e475e6463 \ + --hash=sha256:14d96584701a887763384f3c47f0ca7c1cce322aa1c31172680eb596b890ec30 \ + --hash=sha256:1e1da5accc0c750056c556a93c3e9cb828970206c68867712ca5805e46dc806f \ + --hash=sha256:206210d03c1193f4e1ff681d22885181d47efa1ab3018766a7b32a7b3d6e6afd \ + --hash=sha256:2089cc8f70a6e454601525e5bf2779e665d7865af002a5dec8d14e561002e135 \ + --hash=sha256:3a264aae5f7fbb089dbc01e0242d3b67dffe3e6292e1f5182122bdf58e65215d \ + --hash=sha256:3af26738f2db354aafe492fb3869e955b12b2ef2e16908c8b9cb928128d42c57 \ + --hash=sha256:3fcfbefc4a7f332dece7272a88e410f611e79458fab97b5efe14e54fe476f4fd \ + --hash=sha256:460f8c39ba66af7db0545a8c6f2eabcbc5a5528fc1cf6c3fa9a1e44cec33385e \ + --hash=sha256:57c816dfbd1659a367831baca4b775b2a5b43c003daf52e9d57e1d30bc2e1b0e \ + --hash=sha256:5aa1e32983d4443e310f726ee4b071ab7569f58eedfdd65e9675484a4eb67bd1 \ + --hash=sha256:6ff8728d8d890b3dda5765276d1bc6fb099252915a2cd3aff960c4c195745dd0 \ + --hash=sha256:7259038202a47fdecee7e62e0fd0b0738b6daa335354396c6ddebdbe1206af2a \ + --hash=sha256:72e76caa004ab63accdf26023fccd1d087f6d90ec6048ff33ad0445abf7f605a \ + --hash=sha256:7760c1c2e1a7084153a0f68fab76e754083b126a47d0117c9ed15e69e2103492 \ + --hash=sha256:8c4a6ff8a30e9e3d38ac0539e9a9e02540ab3f827a3394f8852432f6b0ea152e \ + --hash=sha256:9024beb59aca9d31d36fcdc1604dd9bbeed0a55bface9f1908df19178e2f116e \ + --hash=sha256:90cb0a7bb35959f37e23303b7eed0a32280510030daba3f7fdfbb65defde6a97 \ + --hash=sha256:91098f02ca81579c85f66df8a588c78f331ca19089763d733e34ad359f474174 \ + --hash=sha256:926c3ea71a6043921050eaa639137e13dbe7b4ab25800932a8498364fc1abec9 \ + --hash=sha256:982518cd64c54fcada9d7e5cf28eabd3ee76bd03ab18e08a48cad7e8b6f31b18 \ + --hash=sha256:9b4cf6318915dccfe218e69bbec417fdd7c7185aa7aab139a2c0beb7468c89f0 \ + --hash=sha256:ad0caded895a00261a5b4aa9af828baede54638754b51955a0ac75576b831b27 \ + --hash=sha256:b85980d1e345fe769cfc57c57db2b59cff5464ee0c045d52c0df087e926fbe63 \ + --hash=sha256:b8fa8b0a35a9982a3c60ec79905ba5bb090fc0b9addcfd3dc2dd04267e45f25e \ + --hash=sha256:b9e38e0a83cd51e07f5a48ff9691cae95a79bea28fe4ded168a8e5c6c77e819d \ + --hash=sha256:bd4c45986472694e5121084c6ebbd112aa919a25e783b87eb95953c9573906d6 \ + --hash=sha256:be97d3a19c16a9be00edf79dca949c8fa7eff621763666a145f9f9535a5d7f42 \ + --hash=sha256:c648025b6840fe62e57107e0a25f604db740e728bd67da4f6f060f03017d5097 \ + --hash=sha256:d05a38884db2ba215218745f0781775806bde4f32e07b135348355fe8e4991d9 \ + --hash=sha256:dd420e577921c8c2d31289536c386aaa30140b473835e97f83bc71ea9d2baf2d \ + --hash=sha256:e357286c1b76403dd384d938f93c46b2b058ed4dfcdce64a770f0537ed3feb6f \ + --hash=sha256:e6c00130ed423201c5bc5544c23359141660b07999ad82e34e7bb8f882bb78e0 \ + --hash=sha256:e74d30ec9c7cb2f404af331d5b4099a9b322a8a6b25c4632755c8757345baac5 \ + --hash=sha256:f3562c2f23c612f2e4a6964a61d942f891d29ee320edb62ff48ffb99f3de9ae8 # via # -r py/requirements.txt # secretstorage From fb3ba7e4f00b8f8ec1ab95df67b9262ae73b0307 Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Fri, 22 Aug 2025 09:16:18 -0400 Subject: [PATCH 052/118] [py] Bump dependencies for dev and fix script (#16244) --- py/requirements.txt | 26 +- py/requirements_lock.txt | 632 +++++++++++++++--------------- scripts/update_py_dependencies.sh | 2 +- 3 files changed, 326 insertions(+), 334 deletions(-) diff --git a/py/requirements.txt b/py/requirements.txt index 02d1f1f906c16..42ea31559adb1 100644 --- a/py/requirements.txt +++ b/py/requirements.txt @@ -1,15 +1,15 @@ attrs==25.3.0 cachetools==6.1.0 -certifi==2025.6.15 +certifi==2025.8.3 cffi==1.17.1 chardet==5.2.0 -charset-normalizer==3.4.2 +charset-normalizer==3.4.3 colorama==0.4.6 -cryptography==45.0.5 -debugpy==1.8.14 -distlib==0.3.9 +cryptography==45.0.6 +debugpy==1.8.16 +distlib==0.4.0 docutils==0.21.2 -filelock==3.18.0 +filelock==3.19.1 filetype==1.2.0 h11==0.16.0 id==1.5.0 @@ -19,14 +19,14 @@ inflection==0.5.1 iniconfig==2.1.0 jaraco.classes==3.4.0 jaraco.context==6.0.1 -jaraco.functools==4.2.1 +jaraco.functools==4.3.0 jeepney==0.9.0 keyring==25.6.0 markdown-it-py==3.0.0 mdurl==0.1.2 more-itertools==10.7.0 -multidict==6.6.3 -nh3==0.2.21 +multidict==6.6.4 +nh3==0.3.0 outcome==1.3.0.post0 packaging==25.0 platformdirs==4.3.8 @@ -42,20 +42,20 @@ pytest-mock==3.14.1 pytest-trio==0.8.0 pywin32-ctypes==0.2.3 readme_renderer==44.0 -requests==2.32.4 +requests==2.32.5 requests-toolbelt==1.0.0 rfc3986==2.0.0 -rich==14.0.0 +rich==14.1.0 SecretStorage==3.3.3 sniffio==1.3.1 sortedcontainers==2.4.0 -tox==4.27.0 +tox==4.28.4 trio==0.30.0 trio-websocket==0.12.2 twine==6.1.0 typing_extensions==4.14.1 urllib3[socks]==2.5.0 -virtualenv==20.31.2 +virtualenv==20.34.0 websocket-client==1.8.0 wsproto==1.2.0 zipp==3.23.0 diff --git a/py/requirements_lock.txt b/py/requirements_lock.txt index c9398b21213d9..e4ecf95e5b260 100644 --- a/py/requirements_lock.txt +++ b/py/requirements_lock.txt @@ -21,9 +21,9 @@ cachetools==6.1.0 \ # via # -r py/requirements.txt # tox -certifi==2025.6.15 \ - --hash=sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057 \ - --hash=sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b +certifi==2025.8.3 \ + --hash=sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407 \ + --hash=sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5 # via # -r py/requirements.txt # requests @@ -104,99 +104,86 @@ chardet==5.2.0 \ # via # -r py/requirements.txt # tox -charset-normalizer==3.4.2 \ - --hash=sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4 \ - --hash=sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45 \ - --hash=sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7 \ - --hash=sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0 \ - --hash=sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7 \ - --hash=sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d \ - --hash=sha256:1b1bde144d98e446b056ef98e59c256e9294f6b74d7af6846bf5ffdafd687a7d \ - --hash=sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0 \ - --hash=sha256:1cad5f45b3146325bb38d6855642f6fd609c3f7cad4dbaf75549bf3b904d3184 \ - --hash=sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db \ - --hash=sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b \ - --hash=sha256:25a23ea5c7edc53e0f29bae2c44fcb5a1aa10591aae107f2a2b2583a9c5cbc64 \ - --hash=sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b \ - --hash=sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8 \ - --hash=sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff \ - --hash=sha256:36b31da18b8890a76ec181c3cf44326bf2c48e36d393ca1b72b3f484113ea344 \ - --hash=sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58 \ - --hash=sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e \ - --hash=sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471 \ - --hash=sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148 \ - --hash=sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a \ - --hash=sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836 \ - --hash=sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e \ - --hash=sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63 \ - --hash=sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c \ - --hash=sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1 \ - --hash=sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01 \ - --hash=sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366 \ - --hash=sha256:6a0289e4589e8bdfef02a80478f1dfcb14f0ab696b5a00e1f4b8a14a307a3c58 \ - --hash=sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5 \ - --hash=sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c \ - --hash=sha256:6fc1f5b51fa4cecaa18f2bd7a003f3dd039dd615cd69a2afd6d3b19aed6775f2 \ - --hash=sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a \ - --hash=sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597 \ - --hash=sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b \ - --hash=sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5 \ - --hash=sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb \ - --hash=sha256:770cab594ecf99ae64c236bc9ee3439c3f46be49796e265ce0cc8bc17b10294f \ - --hash=sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0 \ - --hash=sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941 \ - --hash=sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0 \ - --hash=sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86 \ - --hash=sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7 \ - --hash=sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7 \ - --hash=sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455 \ - --hash=sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6 \ - --hash=sha256:915f3849a011c1f593ab99092f3cecfcb4d65d8feb4a64cf1bf2d22074dc0ec4 \ - --hash=sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0 \ - --hash=sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3 \ - --hash=sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1 \ - --hash=sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6 \ - --hash=sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981 \ - --hash=sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c \ - --hash=sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980 \ - --hash=sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645 \ - --hash=sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7 \ - --hash=sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12 \ - --hash=sha256:b2680962a4848b3c4f155dc2ee64505a9c57186d0d56b43123b17ca3de18f0fa \ - --hash=sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd \ - --hash=sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef \ - --hash=sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f \ - --hash=sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2 \ - --hash=sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d \ - --hash=sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5 \ - --hash=sha256:c9e36a97bee9b86ef9a1cf7bb96747eb7a15c2f22bdb5b516434b00f2a599f02 \ - --hash=sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3 \ - --hash=sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd \ - --hash=sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e \ - --hash=sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214 \ - --hash=sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd \ - --hash=sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a \ - --hash=sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c \ - --hash=sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681 \ - --hash=sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba \ - --hash=sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f \ - --hash=sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a \ - --hash=sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28 \ - --hash=sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691 \ - --hash=sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82 \ - --hash=sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a \ - --hash=sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027 \ - --hash=sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7 \ - --hash=sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518 \ - --hash=sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf \ - --hash=sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b \ - --hash=sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9 \ - --hash=sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544 \ - --hash=sha256:f4074c5a429281bf056ddd4c5d3b740ebca4d43ffffe2ef4bf4d2d05114299da \ - --hash=sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509 \ - --hash=sha256:fb707f3e15060adf5b7ada797624a6c6e0138e2a26baa089df64c68ee98e040f \ - --hash=sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a \ - --hash=sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f +charset-normalizer==3.4.3 \ + --hash=sha256:00237675befef519d9af72169d8604a067d92755e84fe76492fef5441db05b91 \ + --hash=sha256:02425242e96bcf29a49711b0ca9f37e451da7c70562bc10e8ed992a5a7a25cc0 \ + --hash=sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154 \ + --hash=sha256:07a0eae9e2787b586e129fdcbe1af6997f8d0e5abaa0bc98c0e20e124d67e601 \ + --hash=sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884 \ + --hash=sha256:0e78314bdc32fa80696f72fa16dc61168fda4d6a0c014e0380f9d02f0e5d8a07 \ + --hash=sha256:0f2be7e0cf7754b9a30eb01f4295cc3d4358a479843b31f328afd210e2c7598c \ + --hash=sha256:13faeacfe61784e2559e690fc53fa4c5ae97c6fcedb8eb6fb8d0a15b475d2c64 \ + --hash=sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe \ + --hash=sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f \ + --hash=sha256:16a8770207946ac75703458e2c743631c79c59c5890c80011d536248f8eaa432 \ + --hash=sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc \ + --hash=sha256:18b97b8404387b96cdbd30ad660f6407799126d26a39ca65729162fd810a99aa \ + --hash=sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9 \ + --hash=sha256:1e8ac75d72fa3775e0b7cb7e4629cec13b7514d928d15ef8ea06bca03ef01cae \ + --hash=sha256:1ef99f0456d3d46a50945c98de1774da86f8e992ab5c77865ea8b8195341fc19 \ + --hash=sha256:2001a39612b241dae17b4687898843f254f8748b796a2e16f1051a17078d991d \ + --hash=sha256:23b6b24d74478dc833444cbd927c338349d6ae852ba53a0d02a2de1fce45b96e \ + --hash=sha256:252098c8c7a873e17dd696ed98bbe91dbacd571da4b87df3736768efa7a792e4 \ + --hash=sha256:257f26fed7d7ff59921b78244f3cd93ed2af1800ff048c33f624c87475819dd7 \ + --hash=sha256:2c322db9c8c89009a990ef07c3bcc9f011a3269bc06782f916cd3d9eed7c9312 \ + --hash=sha256:30a96e1e1f865f78b030d65241c1ee850cdf422d869e9028e2fc1d5e4db73b92 \ + --hash=sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31 \ + --hash=sha256:31a9a6f775f9bcd865d88ee350f0ffb0e25936a7f930ca98995c05abf1faf21c \ + --hash=sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f \ + --hash=sha256:34a7f768e3f985abdb42841e20e17b330ad3aaf4bb7e7aeeb73db2e70f077b99 \ + --hash=sha256:3653fad4fe3ed447a596ae8638b437f827234f01a8cd801842e43f3d0a6b281b \ + --hash=sha256:3cd35b7e8aedeb9e34c41385fda4f73ba609e561faedfae0a9e75e44ac558a15 \ + --hash=sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392 \ + --hash=sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f \ + --hash=sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8 \ + --hash=sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491 \ + --hash=sha256:4ca4c094de7771a98d7fbd67d9e5dbf1eb73efa4f744a730437d8a3a5cf994f0 \ + --hash=sha256:511729f456829ef86ac41ca78c63a5cb55240ed23b4b737faca0eb1abb1c41bc \ + --hash=sha256:53cd68b185d98dde4ad8990e56a58dea83a4162161b1ea9272e5c9182ce415e0 \ + --hash=sha256:585f3b2a80fbd26b048a0be90c5aae8f06605d3c92615911c3a2b03a8a3b796f \ + --hash=sha256:5b413b0b1bfd94dbf4023ad6945889f374cd24e3f62de58d6bb102c4d9ae534a \ + --hash=sha256:5d8d01eac18c423815ed4f4a2ec3b439d654e55ee4ad610e153cf02faf67ea40 \ + --hash=sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927 \ + --hash=sha256:6cf8fd4c04756b6b60146d98cd8a77d0cdae0e1ca20329da2ac85eed779b6849 \ + --hash=sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce \ + --hash=sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14 \ + --hash=sha256:70bfc5f2c318afece2f5838ea5e4c3febada0be750fcf4775641052bbba14d05 \ + --hash=sha256:73dc19b562516fc9bcf6e5d6e596df0b4eb98d87e4f79f3ae71840e6ed21361c \ + --hash=sha256:74d77e25adda8581ffc1c720f1c81ca082921329452eba58b16233ab1842141c \ + --hash=sha256:78deba4d8f9590fe4dae384aeff04082510a709957e968753ff3c48399f6f92a \ + --hash=sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc \ + --hash=sha256:88ab34806dea0671532d3f82d82b85e8fc23d7b2dd12fa837978dad9bb392a34 \ + --hash=sha256:8999f965f922ae054125286faf9f11bc6932184b93011d138925a1773830bbe9 \ + --hash=sha256:8dcfc373f888e4fb39a7bc57e93e3b845e7f462dacc008d9749568b1c4ece096 \ + --hash=sha256:939578d9d8fd4299220161fdd76e86c6a251987476f5243e8864a7844476ba14 \ + --hash=sha256:96b2b3d1a83ad55310de8c7b4a2d04d9277d5591f40761274856635acc5fcb30 \ + --hash=sha256:a2d08ac246bb48479170408d6c19f6385fa743e7157d716e144cad849b2dd94b \ + --hash=sha256:b256ee2e749283ef3ddcff51a675ff43798d92d746d1a6e4631bf8c707d22d0b \ + --hash=sha256:b5e3b2d152e74e100a9e9573837aba24aab611d39428ded46f4e4022ea7d1942 \ + --hash=sha256:b89bc04de1d83006373429975f8ef9e7932534b8cc9ca582e4db7d20d91816db \ + --hash=sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5 \ + --hash=sha256:c60e092517a73c632ec38e290eba714e9627abe9d301c8c8a12ec32c314a2a4b \ + --hash=sha256:c6dbd0ccdda3a2ba7c2ecd9d77b37f3b5831687d8dc1b6ca5f56a4880cc7b7ce \ + --hash=sha256:c6e490913a46fa054e03699c70019ab869e990270597018cef1d8562132c2669 \ + --hash=sha256:c6f162aabe9a91a309510d74eeb6507fab5fff92337a15acbe77753d88d9dcf0 \ + --hash=sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018 \ + --hash=sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93 \ + --hash=sha256:cc9370a2da1ac13f0153780040f465839e6cccb4a1e44810124b4e22483c93fe \ + --hash=sha256:ccf600859c183d70eb47e05a44cd80a4ce77394d1ac0f79dbd2dd90a69a3a049 \ + --hash=sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a \ + --hash=sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef \ + --hash=sha256:d0e909868420b7049dafd3a31d45125b31143eec59235311fc4c57ea26a4acd2 \ + --hash=sha256:d22dbedd33326a4a5190dd4fe9e9e693ef12160c77382d9e87919bce54f3d4ca \ + --hash=sha256:d716a916938e03231e86e43782ca7878fb602a125a91e7acb8b5112e2e96ac16 \ + --hash=sha256:d79c198e27580c8e958906f803e63cddb77653731be08851c7df0b1a14a8fc0f \ + --hash=sha256:d95bfb53c211b57198bb91c46dd5a2d8018b3af446583aab40074bf7988401cb \ + --hash=sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1 \ + --hash=sha256:ec557499516fc90fd374bf2e32349a2887a876fbf162c160e3c01b6849eaf557 \ + --hash=sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37 \ + --hash=sha256:fb731e5deb0c7ef82d698b0f4c5bb724633ee2a489401594c5c88b02e6cb15f7 \ + --hash=sha256:fb7f67a1bfa6e40b438170ebdc8158b78dc465a5a67b6dde178a46987b244a72 \ + --hash=sha256:fd10de089bcdcd1be95a2f73dbe6254798ec1bda9f450d5828c96f93e2536b9c \ + --hash=sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9 # via # -r py/requirements.txt # requests @@ -206,78 +193,78 @@ colorama==0.4.6 \ # via # -r py/requirements.txt # tox -cryptography==45.0.5 \ - --hash=sha256:0027d566d65a38497bc37e0dd7c2f8ceda73597d2ac9ba93810204f56f52ebc7 \ - --hash=sha256:101ee65078f6dd3e5a028d4f19c07ffa4dd22cce6a20eaa160f8b5219911e7d8 \ - --hash=sha256:12e55281d993a793b0e883066f590c1ae1e802e3acb67f8b442e721e475e6463 \ - --hash=sha256:14d96584701a887763384f3c47f0ca7c1cce322aa1c31172680eb596b890ec30 \ - --hash=sha256:1e1da5accc0c750056c556a93c3e9cb828970206c68867712ca5805e46dc806f \ - --hash=sha256:206210d03c1193f4e1ff681d22885181d47efa1ab3018766a7b32a7b3d6e6afd \ - --hash=sha256:2089cc8f70a6e454601525e5bf2779e665d7865af002a5dec8d14e561002e135 \ - --hash=sha256:3a264aae5f7fbb089dbc01e0242d3b67dffe3e6292e1f5182122bdf58e65215d \ - --hash=sha256:3af26738f2db354aafe492fb3869e955b12b2ef2e16908c8b9cb928128d42c57 \ - --hash=sha256:3fcfbefc4a7f332dece7272a88e410f611e79458fab97b5efe14e54fe476f4fd \ - --hash=sha256:460f8c39ba66af7db0545a8c6f2eabcbc5a5528fc1cf6c3fa9a1e44cec33385e \ - --hash=sha256:57c816dfbd1659a367831baca4b775b2a5b43c003daf52e9d57e1d30bc2e1b0e \ - --hash=sha256:5aa1e32983d4443e310f726ee4b071ab7569f58eedfdd65e9675484a4eb67bd1 \ - --hash=sha256:6ff8728d8d890b3dda5765276d1bc6fb099252915a2cd3aff960c4c195745dd0 \ - --hash=sha256:7259038202a47fdecee7e62e0fd0b0738b6daa335354396c6ddebdbe1206af2a \ - --hash=sha256:72e76caa004ab63accdf26023fccd1d087f6d90ec6048ff33ad0445abf7f605a \ - --hash=sha256:7760c1c2e1a7084153a0f68fab76e754083b126a47d0117c9ed15e69e2103492 \ - --hash=sha256:8c4a6ff8a30e9e3d38ac0539e9a9e02540ab3f827a3394f8852432f6b0ea152e \ - --hash=sha256:9024beb59aca9d31d36fcdc1604dd9bbeed0a55bface9f1908df19178e2f116e \ - --hash=sha256:90cb0a7bb35959f37e23303b7eed0a32280510030daba3f7fdfbb65defde6a97 \ - --hash=sha256:91098f02ca81579c85f66df8a588c78f331ca19089763d733e34ad359f474174 \ - --hash=sha256:926c3ea71a6043921050eaa639137e13dbe7b4ab25800932a8498364fc1abec9 \ - --hash=sha256:982518cd64c54fcada9d7e5cf28eabd3ee76bd03ab18e08a48cad7e8b6f31b18 \ - --hash=sha256:9b4cf6318915dccfe218e69bbec417fdd7c7185aa7aab139a2c0beb7468c89f0 \ - --hash=sha256:ad0caded895a00261a5b4aa9af828baede54638754b51955a0ac75576b831b27 \ - --hash=sha256:b85980d1e345fe769cfc57c57db2b59cff5464ee0c045d52c0df087e926fbe63 \ - --hash=sha256:b8fa8b0a35a9982a3c60ec79905ba5bb090fc0b9addcfd3dc2dd04267e45f25e \ - --hash=sha256:b9e38e0a83cd51e07f5a48ff9691cae95a79bea28fe4ded168a8e5c6c77e819d \ - --hash=sha256:bd4c45986472694e5121084c6ebbd112aa919a25e783b87eb95953c9573906d6 \ - --hash=sha256:be97d3a19c16a9be00edf79dca949c8fa7eff621763666a145f9f9535a5d7f42 \ - --hash=sha256:c648025b6840fe62e57107e0a25f604db740e728bd67da4f6f060f03017d5097 \ - --hash=sha256:d05a38884db2ba215218745f0781775806bde4f32e07b135348355fe8e4991d9 \ - --hash=sha256:dd420e577921c8c2d31289536c386aaa30140b473835e97f83bc71ea9d2baf2d \ - --hash=sha256:e357286c1b76403dd384d938f93c46b2b058ed4dfcdce64a770f0537ed3feb6f \ - --hash=sha256:e6c00130ed423201c5bc5544c23359141660b07999ad82e34e7bb8f882bb78e0 \ - --hash=sha256:e74d30ec9c7cb2f404af331d5b4099a9b322a8a6b25c4632755c8757345baac5 \ - --hash=sha256:f3562c2f23c612f2e4a6964a61d942f891d29ee320edb62ff48ffb99f3de9ae8 +cryptography==45.0.6 \ + --hash=sha256:00e8724bdad672d75e6f069b27970883179bd472cd24a63f6e620ca7e41cc0c5 \ + --hash=sha256:048e7ad9e08cf4c0ab07ff7f36cc3115924e22e2266e034450a890d9e312dd74 \ + --hash=sha256:0d9ef57b6768d9fa58e92f4947cea96ade1233c0e236db22ba44748ffedca394 \ + --hash=sha256:18f878a34b90d688982e43f4b700408b478102dd58b3e39de21b5ebf6509c301 \ + --hash=sha256:1b7fa6a1c1188c7ee32e47590d16a5a0646270921f8020efc9a511648e1b2e08 \ + --hash=sha256:20ae4906a13716139d6d762ceb3e0e7e110f7955f3bc3876e3a07f5daadec5f3 \ + --hash=sha256:20d15aed3ee522faac1a39fbfdfee25d17b1284bafd808e1640a74846d7c4d1b \ + --hash=sha256:2384f2ab18d9be88a6e4f8972923405e2dbb8d3e16c6b43f15ca491d7831bd18 \ + --hash=sha256:275ba5cc0d9e320cd70f8e7b96d9e59903c815ca579ab96c1e37278d231fc402 \ + --hash=sha256:2dac5ec199038b8e131365e2324c03d20e97fe214af051d20c49db129844e8b3 \ + --hash=sha256:31a2b9a10530a1cb04ffd6aa1cd4d3be9ed49f7d77a4dafe198f3b382f41545c \ + --hash=sha256:3436128a60a5e5490603ab2adbabc8763613f638513ffa7d311c900a8349a2a0 \ + --hash=sha256:3b5bf5267e98661b9b888a9250d05b063220dfa917a8203744454573c7eb79db \ + --hash=sha256:3de77e4df42ac8d4e4d6cdb342d989803ad37707cf8f3fbf7b088c9cbdd46427 \ + --hash=sha256:44647c5d796f5fc042bbc6d61307d04bf29bccb74d188f18051b635f20a9c75f \ + --hash=sha256:550ae02148206beb722cfe4ef0933f9352bab26b087af00e48fdfb9ade35c5b3 \ + --hash=sha256:599c8d7df950aa68baa7e98f7b73f4f414c9f02d0e8104a30c0182a07732638b \ + --hash=sha256:5b64e668fc3528e77efa51ca70fadcd6610e8ab231e3e06ae2bab3b31c2b8ed9 \ + --hash=sha256:5bd6020c80c5b2b2242d6c48487d7b85700f5e0038e67b29d706f98440d66eb5 \ + --hash=sha256:5c966c732cf6e4a276ce83b6e4c729edda2df6929083a952cc7da973c539c719 \ + --hash=sha256:629127cfdcdc6806dfe234734d7cb8ac54edaf572148274fa377a7d3405b0043 \ + --hash=sha256:705bb7c7ecc3d79a50f236adda12ca331c8e7ecfbea51edd931ce5a7a7c4f012 \ + --hash=sha256:780c40fb751c7d2b0c6786ceee6b6f871e86e8718a8ff4bc35073ac353c7cd02 \ + --hash=sha256:7a3085d1b319d35296176af31c90338eeb2ddac8104661df79f80e1d9787b8b2 \ + --hash=sha256:826b46dae41a1155a0c0e66fafba43d0ede1dc16570b95e40c4d83bfcf0a451d \ + --hash=sha256:833dc32dfc1e39b7376a87b9a6a4288a10aae234631268486558920029b086ec \ + --hash=sha256:cc4d66f5dc4dc37b89cfef1bd5044387f7a1f6f0abb490815628501909332d5d \ + --hash=sha256:d063341378d7ee9c91f9d23b431a3502fc8bfacd54ef0a27baa72a0843b29159 \ + --hash=sha256:e2a21a8eda2d86bb604934b6b37691585bd095c1f788530c1fcefc53a82b3453 \ + --hash=sha256:e40b80ecf35ec265c452eea0ba94c9587ca763e739b8e559c128d23bff7ebbbf \ + --hash=sha256:e5b3dda1b00fb41da3af4c5ef3f922a200e33ee5ba0f0bc9ecf0b0c173958385 \ + --hash=sha256:ea3c42f2016a5bbf71825537c2ad753f2870191134933196bee408aac397b3d9 \ + --hash=sha256:eccddbd986e43014263eda489abbddfbc287af5cddfd690477993dbb31e31016 \ + --hash=sha256:ee411a1b977f40bd075392c80c10b58025ee5c6b47a822a33c1198598a7a5f05 \ + --hash=sha256:f4028f29a9f38a2025abedb2e409973709c660d44319c61762202206ed577c42 \ + --hash=sha256:f68f833a9d445cc49f01097d95c83a850795921b3f7cc6488731e69bde3288da \ + --hash=sha256:fc022c1fa5acff6def2fc6d7819bbbd31ccddfe67d075331a65d9cfb28a20983 # via # -r py/requirements.txt # secretstorage -debugpy==1.8.14 \ - --hash=sha256:0f920c7f9af409d90f5fd26e313e119d908b0dd2952c2393cd3247a462331f15 \ - --hash=sha256:1b2ac8c13b2645e0b1eaf30e816404990fbdb168e193322be8f545e8c01644a9 \ - --hash=sha256:281d44d248a0e1791ad0eafdbbd2912ff0de9eec48022a5bfbc332957487ed3f \ - --hash=sha256:329a15d0660ee09fec6786acdb6e0443d595f64f5d096fc3e3ccf09a4259033f \ - --hash=sha256:3784ec6e8600c66cbdd4ca2726c72d8ca781e94bce2f396cc606d458146f8f4e \ - --hash=sha256:3d937d93ae4fa51cdc94d3e865f535f185d5f9748efb41d0d49e33bf3365bd79 \ - --hash=sha256:413512d35ff52c2fb0fd2d65e69f373ffd24f0ecb1fac514c04a668599c5ce7f \ - --hash=sha256:4c9156f7524a0d70b7a7e22b2e311d8ba76a15496fb00730e46dcdeedb9e1eea \ - --hash=sha256:5349b7c3735b766a281873fbe32ca9cca343d4cc11ba4a743f84cb854339ff35 \ - --hash=sha256:5aa56ef8538893e4502a7d79047fe39b1dae08d9ae257074c6464a7b290b806f \ - --hash=sha256:5cd9a579d553b6cb9759a7908a41988ee6280b961f24f63336835d9418216a20 \ - --hash=sha256:684eaf43c95a3ec39a96f1f5195a7ff3d4144e4a18d69bb66beeb1a6de605d6e \ - --hash=sha256:7118d462fe9724c887d355eef395fae68bc764fd862cdca94e70dcb9ade8a23d \ - --hash=sha256:7816acea4a46d7e4e50ad8d09d963a680ecc814ae31cdef3622eb05ccacf7b01 \ - --hash=sha256:7cd287184318416850aa8b60ac90105837bb1e59531898c07569d197d2ed5322 \ - --hash=sha256:8899c17920d089cfa23e6005ad9f22582fd86f144b23acb9feeda59e84405b84 \ - --hash=sha256:93fee753097e85623cab1c0e6a68c76308cd9f13ffdf44127e6fab4fbf024339 \ - --hash=sha256:b1528cfee6c1b1c698eb10b6b096c598738a8238822d218173d21c3086de8123 \ - --hash=sha256:b44985f97cc3dd9d52c42eb59ee9d7ee0c4e7ecd62bca704891f997de4cef23d \ - --hash=sha256:c442f20577b38cc7a9aafecffe1094f78f07fb8423c3dddb384e6b8f49fd2987 \ - --hash=sha256:c99295c76161ad8d507b413cd33422d7c542889fbb73035889420ac1fad354f2 \ - --hash=sha256:cf431c343a99384ac7eab2f763980724834f933a271e90496944195318c619e2 \ - --hash=sha256:d235e4fa78af2de4e5609073972700523e372cf5601742449970110d565ca28c \ - --hash=sha256:d5582bcbe42917bc6bbe5c12db1bffdf21f6bfc28d4554b738bf08d50dc0c8c3 \ - --hash=sha256:f117dedda6d969c5c9483e23f573b38f4e39412845c7bc487b6f2648df30fe84 \ - --hash=sha256:f6bb5c0dcf80ad5dbc7b7d6eac484e2af34bdacdf81df09b6a3e62792b722826 +debugpy==1.8.16 \ + --hash=sha256:135ccd2b1161bade72a7a099c9208811c137a150839e970aeaf121c2467debe8 \ + --hash=sha256:19c9521962475b87da6f673514f7fd610328757ec993bf7ec0d8c96f9a325f9e \ + --hash=sha256:211238306331a9089e253fd997213bc4a4c65f949271057d6695953254095376 \ + --hash=sha256:2801329c38f77c47976d341d18040a9ac09d0c71bf2c8b484ad27c74f83dc36f \ + --hash=sha256:2a3958fb9c2f40ed8ea48a0d34895b461de57a1f9862e7478716c35d76f56c65 \ + --hash=sha256:31e69a1feb1cf6b51efbed3f6c9b0ef03bc46ff050679c4be7ea6d2e23540870 \ + --hash=sha256:64473c4a306ba11a99fe0bb14622ba4fbd943eb004847d9b69b107bde45aa9ea \ + --hash=sha256:67371b28b79a6a12bcc027d94a06158f2fde223e35b5c4e0783b6f9d3b39274a \ + --hash=sha256:687c7ab47948697c03b8f81424aa6dc3f923e6ebab1294732df1ca9773cc67bc \ + --hash=sha256:70f5fcd6d4d0c150a878d2aa37391c52de788c3dc680b97bdb5e529cb80df87a \ + --hash=sha256:75f204684581e9ef3dc2f67687c3c8c183fde2d6675ab131d94084baf8084121 \ + --hash=sha256:833a61ed446426e38b0dd8be3e9d45ae285d424f5bf6cd5b2b559c8f12305508 \ + --hash=sha256:85df3adb1de5258dca910ae0bb185e48c98801ec15018a263a92bb06be1c8787 \ + --hash=sha256:8624a6111dc312ed8c363347a0b59c5acc6210d897e41a7c069de3c53235c9a6 \ + --hash=sha256:88eb9ffdfb59bf63835d146c183d6dba1f722b3ae2a5f4b9fc03e925b3358922 \ + --hash=sha256:a2ba6fc5d7c4bc84bcae6c5f8edf5988146e55ae654b1bb36fecee9e5e77e9e2 \ + --hash=sha256:b202e2843e32e80b3b584bcebfe0e65e0392920dc70df11b2bfe1afcb7a085e4 \ + --hash=sha256:b2abae6dd02523bec2dee16bd6b0781cccb53fd4995e5c71cc659b5f45581898 \ + --hash=sha256:b5aea1083f6f50023e8509399d7dc6535a351cc9f2e8827d1e093175e4d9fa4c \ + --hash=sha256:bee89e948bc236a5c43c4214ac62d28b29388453f5fd328d739035e205365f0b \ + --hash=sha256:c2c47c2e52b40449552843b913786499efcc3dbc21d6c49287d939cd0dbc49fd \ + --hash=sha256:cf358066650439847ec5ff3dae1da98b5461ea5da0173d93d5e10f477c94609a \ + --hash=sha256:d58c48d8dbbbf48a3a3a638714a2d16de537b0dace1e3432b8e92c57d43707f8 \ + --hash=sha256:e5ca7314042e8a614cc2574cd71f6ccd7e13a9708ce3c6d8436959eae56f2378 \ + --hash=sha256:f8340a3ac2ed4f5da59e064aa92e39edd52729a88fbde7bbaa54e08249a04493 \ + --hash=sha256:fee6db83ea5c978baf042440cfe29695e1a5d48a30147abf4c3be87513609817 # via -r py/requirements.txt -distlib==0.3.9 \ - --hash=sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87 \ - --hash=sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403 +distlib==0.4.0 \ + --hash=sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16 \ + --hash=sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d # via # -r py/requirements.txt # virtualenv @@ -294,9 +281,9 @@ exceptiongroup==1.3.0 \ # pytest # trio # trio-websocket -filelock==3.18.0 \ - --hash=sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2 \ - --hash=sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de +filelock==3.19.1 \ + --hash=sha256:66eda1888b0171c998b35be2bcc0f6d75c388a7ce20c3f3f37aa8e96c2dddf58 \ + --hash=sha256:d38e30481def20772f5baf097c122c3babc4fcdb7e14e57049eb9d88c6dc017d # via # -r py/requirements.txt # tox @@ -353,9 +340,9 @@ jaraco-context==6.0.1 \ # via # -r py/requirements.txt # keyring -jaraco-functools==4.2.1 \ - --hash=sha256:590486285803805f4b1f99c60ca9e94ed348d4added84b74c7a12885561e524e \ - --hash=sha256:be634abfccabce56fa3053f8c7ebe37b682683a4ee7793670ced17bab0087353 +jaraco-functools==4.3.0 \ + --hash=sha256:227ff8ed6f7b8f62c56deff101545fa7543cf2c8e7b82a7c2116e672f29c26e8 \ + --hash=sha256:cfd13ad0dd2c47a3600b439ef72d8615d482cedcff1632930d6f28924d92f294 # via # -r py/requirements.txt # keyring @@ -364,6 +351,7 @@ jeepney==0.9.0 \ --hash=sha256:cf0e9e845622b81e4a28df94c40345400256ec608d0e55bb8a3feaa9163f5732 # via # -r py/requirements.txt + # keyring # secretstorage keyring==25.6.0 \ --hash=sha256:0b39998aa941431eb3d9b0d4b2460bc773b9df6fed7621c2dfb291a7e0187a66 \ @@ -390,143 +378,145 @@ more-itertools==10.7.0 \ # -r py/requirements.txt # jaraco-classes # jaraco-functools -multidict==6.6.3 \ - --hash=sha256:02fd8f32d403a6ff13864b0851f1f523d4c988051eea0471d4f1fd8010f11134 \ - --hash=sha256:04cbcce84f63b9af41bad04a54d4cc4e60e90c35b9e6ccb130be2d75b71f8c17 \ - --hash=sha256:056bebbeda16b2e38642d75e9e5310c484b7c24e3841dc0fb943206a72ec89d6 \ - --hash=sha256:05db2f66c9addb10cfa226e1acb363450fab2ff8a6df73c622fefe2f5af6d4e7 \ - --hash=sha256:0b9e59946b49dafaf990fd9c17ceafa62976e8471a14952163d10a7a630413a9 \ - --hash=sha256:0db58da8eafb514db832a1b44f8fa7906fdd102f7d982025f816a93ba45e3dcb \ - --hash=sha256:0f1130b896ecb52d2a1e615260f3ea2af55fa7dc3d7c3003ba0c3121a759b18b \ - --hash=sha256:10bea2ee839a759ee368b5a6e47787f399b41e70cf0c20d90dfaf4158dfb4e55 \ - --hash=sha256:12f4581d2930840295c461764b9a65732ec01250b46c6b2c510d7ee68872b140 \ - --hash=sha256:1328201ee930f069961ae707d59c6627ac92e351ed5b92397cf534d1336ce557 \ - --hash=sha256:135631cb6c58eac37d7ac0df380294fecdc026b28837fa07c02e459c7fb9c54e \ - --hash=sha256:14117a41c8fdb3ee19c743b1c027da0736fdb79584d61a766da53d399b71176c \ - --hash=sha256:15332783596f227db50fb261c2c251a58ac3873c457f3a550a95d5c0aa3c770d \ - --hash=sha256:159ca68bfd284a8860f8d8112cf0521113bffd9c17568579e4d13d1f1dc76b65 \ - --hash=sha256:18f4eba0cbac3546b8ae31e0bbc55b02c801ae3cbaf80c247fcdd89b456ff58c \ - --hash=sha256:1bf99b4daf908c73856bd87ee0a2499c3c9a3d19bb04b9c6025e66af3fd07462 \ - --hash=sha256:1c8082e5814b662de8589d6a06c17e77940d5539080cbab9fe6794b5241b76d9 \ - --hash=sha256:208b9b9757060b9faa6f11ab4bc52846e4f3c2fb8b14d5680c8aac80af3dc751 \ - --hash=sha256:20c5a0c3c13a15fd5ea86c42311859f970070e4e24de5a550e99d7c271d76318 \ - --hash=sha256:2334cfb0fa9549d6ce2c21af2bfbcd3ac4ec3646b1b1581c88e3e2b1779ec92b \ - --hash=sha256:233ad16999afc2bbd3e534ad8dbe685ef8ee49a37dbc2cdc9514e57b6d589ced \ - --hash=sha256:274d416b0df887aef98f19f21578653982cfb8a05b4e187d4a17103322eeaf8f \ - --hash=sha256:295adc9c0551e5d5214b45cf29ca23dbc28c2d197a9c30d51aed9e037cb7c578 \ - --hash=sha256:2e4cc8d848cd4fe1cdee28c13ea79ab0ed37fc2e89dd77bac86a2e7959a8c3bc \ - --hash=sha256:346055630a2df2115cd23ae271910b4cae40f4e336773550dca4889b12916e75 \ - --hash=sha256:35712f1748d409e0707b165bf49f9f17f9e28ae85470c41615778f8d4f7d9609 \ - --hash=sha256:3713303e4a6663c6d01d648a68f2848701001f3390a030edaaf3fc949c90bf7c \ - --hash=sha256:37b09ca60998e87734699e88c2363abfd457ed18cfbf88e4009a4e83788e63ed \ - --hash=sha256:3893a0d7d28a7fe6ca7a1f760593bc13038d1d35daf52199d431b61d2660602b \ - --hash=sha256:41bb9d1d4c303886e2d85bade86e59885112a7f4277af5ad47ab919a2251f306 \ - --hash=sha256:42ca5aa9329a63be8dc49040f63817d1ac980e02eeddba763a9ae5b4027b9c9c \ - --hash=sha256:43571f785b86afd02b3855c5ac8e86ec921b760298d6f82ff2a61daf5a35330b \ - --hash=sha256:448e4a9afccbf297577f2eaa586f07067441e7b63c8362a3540ba5a38dc0f14a \ - --hash=sha256:4ef421045f13879e21c994b36e728d8e7d126c91a64b9185810ab51d474f27e7 \ - --hash=sha256:500b84f51654fdc3944e936f2922114349bf8fdcac77c3092b03449f0e5bc2b3 \ - --hash=sha256:531e331a2ee53543ab32b16334e2deb26f4e6b9b28e41f8e0c87e99a6c8e2d69 \ - --hash=sha256:53becb01dd8ebd19d1724bebe369cfa87e4e7f29abbbe5c14c98ce4c383e16cd \ - --hash=sha256:540d3c06d48507357a7d57721e5094b4f7093399a0106c211f33540fdc374d55 \ - --hash=sha256:555ff55a359302b79de97e0468e9ee80637b0de1fce77721639f7cd9440b3a10 \ - --hash=sha256:5633a82fba8e841bc5c5c06b16e21529573cd654f67fd833650a215520a6210e \ - --hash=sha256:5bd8d6f793a787153956cd35e24f60485bf0651c238e207b9a54f7458b16d539 \ - --hash=sha256:61af8a4b771f1d4d000b3168c12c3120ccf7284502a94aa58c68a81f5afac090 \ - --hash=sha256:639ecc9fe7cd73f2495f62c213e964843826f44505a3e5d82805aa85cac6f89e \ - --hash=sha256:67c92ed673049dec52d7ed39f8cf9ebbadf5032c774058b4406d18c8f8fe7063 \ - --hash=sha256:68e9e12ed00e2089725669bdc88602b0b6f8d23c0c95e52b95f0bc69f7fe9b55 \ - --hash=sha256:6c1e61bb4f80895c081790b6b09fa49e13566df8fbff817da3f85b3a8192e36b \ - --hash=sha256:70b72e749a4f6e7ed8fb334fa8d8496384840319512746a5f42fa0aec79f4d61 \ - --hash=sha256:70d974eaaa37211390cd02ef93b7e938de564bbffa866f0b08d07e5e65da783d \ - --hash=sha256:712b348f7f449948e0a6c4564a21c7db965af900973a67db432d724619b3c680 \ - --hash=sha256:72d8815f2cd3cf3df0f83cac3f3ef801d908b2d90409ae28102e0553af85545a \ - --hash=sha256:7394888236621f61dcdd25189b2768ae5cc280f041029a5bcf1122ac63df79f9 \ - --hash=sha256:73ab034fb8d58ff85c2bcbadc470efc3fafeea8affcf8722855fb94557f14cc5 \ - --hash=sha256:766a4a5996f54361d8d5a9050140aa5362fe48ce51c755a50c0bc3706460c430 \ - --hash=sha256:769841d70ca8bdd140a715746199fc6473414bd02efd678d75681d2d6a8986c5 \ - --hash=sha256:775b464d31dac90f23192af9c291dc9f423101857e33e9ebf0020a10bfcf4144 \ - --hash=sha256:798a9eb12dab0a6c2e29c1de6f3468af5cb2da6053a20dfa3344907eed0937cc \ - --hash=sha256:7af039820cfd00effec86bda5d8debef711a3e86a1d3772e85bea0f243a4bd65 \ - --hash=sha256:7c6df517cf177da5d47ab15407143a89cd1a23f8b335f3a28d57e8b0a3dbb884 \ - --hash=sha256:81ef2f64593aba09c5212a3d0f8c906a0d38d710a011f2f42759704d4557d3f2 \ - --hash=sha256:877443eaaabcd0b74ff32ebeed6f6176c71850feb7d6a1d2db65945256ea535c \ - --hash=sha256:8db10f29c7541fc5da4defd8cd697e1ca429db743fa716325f236079b96f775a \ - --hash=sha256:8df25594989aebff8a130f7899fa03cbfcc5d2b5f4a461cf2518236fe6f15961 \ - --hash=sha256:900eb9f9da25ada070f8ee4a23f884e0ee66fe4e1a38c3af644256a508ad81ca \ - --hash=sha256:934796c81ea996e61914ba58064920d6cad5d99140ac3167901eb932150e2e56 \ - --hash=sha256:94c47ea3ade005b5976789baaed66d4de4480d0a0bf31cef6edaa41c1e7b56a6 \ - --hash=sha256:9c19cea2a690f04247d43f366d03e4eb110a0dc4cd1bbeee4d445435428ed35b \ - --hash=sha256:9e236a7094b9c4c1b7585f6b9cca34b9d833cf079f7e4c49e6a4a6ec9bfdc68f \ - --hash=sha256:9e864486ef4ab07db5e9cb997bad2b681514158d6954dd1958dfb163b83d53e6 \ - --hash=sha256:9ed948328aec2072bc00f05d961ceadfd3e9bfc2966c1319aeaf7b7c21219183 \ - --hash=sha256:9f5b28c074c76afc3e4c610c488e3493976fe0e596dd3db6c8ddfbb0134dcac5 \ - --hash=sha256:9f97e181f344a0ef3881b573d31de8542cc0dbc559ec68c8f8b5ce2c2e91646d \ - --hash=sha256:a2be5b7b35271f7fff1397204ba6708365e3d773579fe2a30625e16c4b4ce817 \ - --hash=sha256:ab0a34a007704c625e25a9116c6770b4d3617a071c8a7c30cd338dfbadfe6485 \ - --hash=sha256:acf6b97bd0884891af6a8b43d0f586ab2fcf8e717cbd47ab4bdddc09e20652d8 \ - --hash=sha256:b1db4d2093d6b235de76932febf9d50766cf49a5692277b2c28a501c9637f616 \ - --hash=sha256:b24576f208793ebae00280c59927c3b7c2a3b1655e443a25f753c4611bc1c373 \ - --hash=sha256:b8fee016722550a2276ca2cb5bb624480e0ed2bd49125b2b73b7010b9090e888 \ - --hash=sha256:b9cbc60010de3562545fa198bfc6d3825df430ea96d2cc509c39bd71e2e7d648 \ - --hash=sha256:b9fe5a0e57c6dbd0e2ce81ca66272282c32cd11d31658ee9553849d91289e1c1 \ - --hash=sha256:bb933c891cd4da6bdcc9733d048e994e22e1883287ff7540c2a0f3b117605092 \ - --hash=sha256:bc7f6fbc61b1c16050a389c630da0b32fc6d4a3d191394ab78972bf5edc568c2 \ - --hash=sha256:bd0578596e3a835ef451784053cfd327d607fc39ea1a14812139339a18a0dbc3 \ - --hash=sha256:bf9bd1fd5eec01494e0f2e8e446a74a85d5e49afb63d75a9934e4a5423dba21d \ - --hash=sha256:c60b401f192e79caec61f166da9c924e9f8bc65548d4246842df91651e83d600 \ - --hash=sha256:c8161b5a7778d3137ea2ee7ae8a08cce0010de3b00ac671c5ebddeaa17cefd22 \ - --hash=sha256:cdf22e4db76d323bcdc733514bf732e9fb349707c98d341d40ebcc6e9318ef3d \ - --hash=sha256:ce8b7693da41a3c4fde5871c738a81490cea5496c671d74374c8ab889e1834fb \ - --hash=sha256:d04d01f0a913202205a598246cf77826fe3baa5a63e9f6ccf1ab0601cf56eca0 \ - --hash=sha256:d25594d3b38a2e6cabfdcafef339f754ca6e81fbbdb6650ad773ea9775af35ab \ - --hash=sha256:d4e47d8faffaae822fb5cba20937c048d4f734f43572e7079298a6c39fb172cb \ - --hash=sha256:dbc7cf464cc6d67e83e136c9f55726da3a30176f020a36ead246eceed87f1cd8 \ - --hash=sha256:dd7793bab517e706c9ed9d7310b06c8672fd0aeee5781bfad612f56b8e0f7d14 \ - --hash=sha256:e098c17856a8c9ade81b4810888c5ad1914099657226283cab3062c0540b0643 \ - --hash=sha256:e0cb0ab69915c55627c933f0b555a943d98ba71b4d1c57bc0d0a66e2567c7471 \ - --hash=sha256:e252017a817fad7ce05cafbe5711ed40faeb580e63b16755a3a24e66fa1d87c0 \ - --hash=sha256:e2db616467070d0533832d204c54eea6836a5e628f2cb1e6dfd8cd6ba7277cb7 \ - --hash=sha256:e4e15d2138ee2694e038e33b7c3da70e6b0ad8868b9f8094a72e1414aeda9c1a \ - --hash=sha256:e5511cb35f5c50a2db21047c875eb42f308c5583edf96bd8ebf7d770a9d68f6d \ - --hash=sha256:e5e8523bb12d7623cd8300dbd91b9e439a46a028cd078ca695eb66ba31adee3c \ - --hash=sha256:e5f481cccb3c5c5e5de5d00b5141dc589c1047e60d07e85bbd7dea3d4580d63f \ - --hash=sha256:e924fb978615a5e33ff644cc42e6aa241effcf4f3322c09d4f8cebde95aff5f8 \ - --hash=sha256:e93089c1570a4ad54c3714a12c2cef549dc9d58e97bcded193d928649cab78e9 \ - --hash=sha256:e995a34c3d44ab511bfc11aa26869b9d66c2d8c799fa0e74b28a473a692532d6 \ - --hash=sha256:ef43b5dd842382329e4797c46f10748d8c2b6e0614f46b4afe4aee9ac33159df \ - --hash=sha256:ef58340cc896219e4e653dade08fea5c55c6df41bcc68122e3be3e9d873d9a7b \ - --hash=sha256:f114d8478733ca7388e7c7e0ab34b72547476b97009d643644ac33d4d3fe1821 \ - --hash=sha256:f3aa090106b1543f3f87b2041eef3c156c8da2aed90c63a2fbed62d875c49c37 \ - --hash=sha256:f3fc723ab8a5c5ed6c50418e9bfcd8e6dceba6c271cee6728a10a4ed8561520c \ - --hash=sha256:f54cb79d26d0cd420637d184af38f0668558f3c4bbe22ab7ad830e67249f2e0b \ - --hash=sha256:fc9dc435ec8699e7b602b94fe0cd4703e69273a01cbc34409af29e7820f777f1 +multidict==6.6.4 \ + --hash=sha256:01368e3c94032ba6ca0b78e7ccb099643466cf24f8dc8eefcfdc0571d56e58f9 \ + --hash=sha256:01d0959807a451fe9fdd4da3e139cb5b77f7328baf2140feeaf233e1d777b729 \ + --hash=sha256:024ce601f92d780ca1617ad4be5ac15b501cc2414970ffa2bb2bbc2bd5a68fa5 \ + --hash=sha256:047d9425860a8c9544fed1b9584f0c8bcd31bcde9568b047c5e567a1025ecd6e \ + --hash=sha256:0a2088c126b6f72db6c9212ad827d0ba088c01d951cee25e758c450da732c138 \ + --hash=sha256:0af5f9dee472371e36d6ae38bde009bd8ce65ac7335f55dcc240379d7bed1495 \ + --hash=sha256:0b2e886624be5773e69cf32bcb8534aecdeb38943520b240fed3d5596a430f2f \ + --hash=sha256:0c5cbac6b55ad69cb6aa17ee9343dfbba903118fd530348c330211dc7aa756d1 \ + --hash=sha256:0e0558693063c75f3d952abf645c78f3c5dfdd825a41d8c4d8156fc0b0da6e7e \ + --hash=sha256:0f37bed7319b848097085d7d48116f545985db988e2256b2e6f00563a3416ee6 \ + --hash=sha256:0ffb87be160942d56d7b87b0fdf098e81ed565add09eaa1294268c7f3caac4c8 \ + --hash=sha256:105245cc6b76f51e408451a844a54e6823bbd5a490ebfe5bdfc79798511ceded \ + --hash=sha256:10a68a9191f284fe9d501fef4efe93226e74df92ce7a24e301371293bd4918ae \ + --hash=sha256:14616a30fe6d0a48d0a48d1a633ab3b8bec4cf293aac65f32ed116f620adfd69 \ + --hash=sha256:14754eb72feaa1e8ae528468f24250dd997b8e2188c3d2f593f9eba259e4b364 \ + --hash=sha256:163c7ea522ea9365a8a57832dea7618e6cbdc3cd75f8c627663587459a4e328f \ + --hash=sha256:17d2cbbfa6ff20821396b25890f155f40c986f9cfbce5667759696d83504954f \ + --hash=sha256:190766dac95aab54cae5b152a56520fd99298f32a1266d66d27fdd1b5ac00f4e \ + --hash=sha256:1a0ccbfe93ca114c5d65a2471d52d8829e56d467c97b0e341cf5ee45410033b3 \ + --hash=sha256:21f216669109e02ef3e2415ede07f4f8987f00de8cdfa0cc0b3440d42534f9f0 \ + --hash=sha256:22e38b2bc176c5eb9c0a0e379f9d188ae4cd8b28c0f53b52bce7ab0a9e534657 \ + --hash=sha256:27d8f8e125c07cb954e54d75d04905a9bba8a439c1d84aca94949d4d03d8601c \ + --hash=sha256:2a4c6875c37aae9794308ec43e3530e4aa0d36579ce38d89979bbf89582002bb \ + --hash=sha256:34d8f2a5ffdceab9dcd97c7a016deb2308531d5f0fced2bb0c9e1df45b3363d7 \ + --hash=sha256:350f6b0fe1ced61e778037fdc7613f4051c8baf64b1ee19371b42a3acdb016a0 \ + --hash=sha256:37b7187197da6af3ee0b044dbc9625afd0c885f2800815b228a0e70f9a7f473d \ + --hash=sha256:38a0956dd92d918ad5feff3db8fcb4a5eb7dba114da917e1a88475619781b57b \ + --hash=sha256:3ba5aaf600edaf2a868a391779f7a85d93bed147854925f34edd24cc70a3e141 \ + --hash=sha256:3bb0eae408fa1996d87247ca0d6a57b7fc1dcf83e8a5c47ab82c558c250d4adf \ + --hash=sha256:3f8e2384cb83ebd23fd07e9eada8ba64afc4c759cd94817433ab8c81ee4b403f \ + --hash=sha256:40cd05eaeb39e2bc8939451f033e57feaa2ac99e07dbca8afe2be450a4a3b6cf \ + --hash=sha256:43868297a5759a845fa3a483fb4392973a95fb1de891605a3728130c52b8f40f \ + --hash=sha256:452ff5da78d4720d7516a3a2abd804957532dd69296cb77319c193e3ffb87e24 \ + --hash=sha256:467fe64138cfac771f0e949b938c2e1ada2b5af22f39692aa9258715e9ea613a \ + --hash=sha256:49517449b58d043023720aa58e62b2f74ce9b28f740a0b5d33971149553d72aa \ + --hash=sha256:497a2954adc25c08daff36f795077f63ad33e13f19bfff7736e72c785391534f \ + --hash=sha256:4a1fb393a2c9d202cb766c76208bd7945bc194eba8ac920ce98c6e458f0b524b \ + --hash=sha256:4bb7627fd7a968f41905a4d6343b0d63244a0623f006e9ed989fa2b78f4438a0 \ + --hash=sha256:4d09384e75788861e046330308e7af54dd306aaf20eb760eb1d0de26b2bea2cb \ + --hash=sha256:4fefd4a815e362d4f011919d97d7b4a1e566f1dde83dc4ad8cfb5b41de1df68d \ + --hash=sha256:52e3c8d43cdfff587ceedce9deb25e6ae77daba560b626e97a56ddcad3756879 \ + --hash=sha256:55624b3f321d84c403cb7d8e6e982f41ae233d85f85db54ba6286f7295dc8a9c \ + --hash=sha256:56c6b3652f945c9bc3ac6c8178cd93132b8d82dd581fcbc3a00676c51302bc1a \ + --hash=sha256:580b643b7fd2c295d83cad90d78419081f53fd532d1f1eb67ceb7060f61cff0d \ + --hash=sha256:59e8d40ab1f5a8597abcef00d04845155a5693b5da00d2c93dbe88f2050f2812 \ + --hash=sha256:5df8afd26f162da59e218ac0eefaa01b01b2e6cd606cffa46608f699539246da \ + --hash=sha256:630f70c32b8066ddfd920350bc236225814ad94dfa493fe1910ee17fe4365cbb \ + --hash=sha256:66247d72ed62d5dd29752ffc1d3b88f135c6a8de8b5f63b7c14e973ef5bda19e \ + --hash=sha256:6865f6d3b7900ae020b495d599fcf3765653bc927951c1abb959017f81ae8287 \ + --hash=sha256:6bf2f10f70acc7a2446965ffbc726e5fc0b272c97a90b485857e5c70022213eb \ + --hash=sha256:6c84378acd4f37d1b507dfa0d459b449e2321b3ba5f2338f9b085cf7a7ba95eb \ + --hash=sha256:6d46a180acdf6e87cc41dc15d8f5c2986e1e8739dc25dbb7dac826731ef381a4 \ + --hash=sha256:756989334015e3335d087a27331659820d53ba432befdef6a718398b0a8493ad \ + --hash=sha256:75aa52fba2d96bf972e85451b99d8e19cc37ce26fd016f6d4aa60da9ab2b005f \ + --hash=sha256:7dd57515bebffd8ebd714d101d4c434063322e4fe24042e90ced41f18b6d3395 \ + --hash=sha256:7f683a551e92bdb7fac545b9c6f9fa2aebdeefa61d607510b3533286fcab67f5 \ + --hash=sha256:87a32d20759dc52a9e850fe1061b6e41ab28e2998d44168a8a341b99ded1dba0 \ + --hash=sha256:8c2fcb12136530ed19572bbba61b407f655e3953ba669b96a35036a11a485793 \ + --hash=sha256:8c91cdb30809a96d9ecf442ec9bc45e8cfaa0f7f8bdf534e082c2443a196727e \ + --hash=sha256:8c9854df0eaa610a23494c32a6f44a3a550fb398b6b51a56e8c6b9b3689578db \ + --hash=sha256:8e42332cf8276bb7645d310cdecca93a16920256a5b01bebf747365f86a1675b \ + --hash=sha256:8fe323540c255db0bffee79ad7f048c909f2ab0edb87a597e1c17da6a54e493c \ + --hash=sha256:967af5f238ebc2eb1da4e77af5492219fbd9b4b812347da39a7b5f5c72c0fa45 \ + --hash=sha256:9a950b7cf54099c1209f455ac5970b1ea81410f2af60ed9eb3c3f14f0bfcf987 \ + --hash=sha256:a1b20a9d56b2d81e2ff52ecc0670d583eaabaa55f402e8d16dd062373dbbe796 \ + --hash=sha256:a506a77ddee1efcca81ecbeae27ade3e09cdf21a8ae854d766c2bb4f14053f92 \ + --hash=sha256:a59c63061f1a07b861c004e53869eb1211ffd1a4acbca330e3322efa6dd02978 \ + --hash=sha256:a650629970fa21ac1fb06ba25dabfc5b8a2054fcbf6ae97c758aa956b8dba802 \ + --hash=sha256:a693fc5ed9bdd1c9e898013e0da4dcc640de7963a371c0bd458e50e046bf6438 \ + --hash=sha256:aaea28ba20a9026dfa77f4b80369e51cb767c61e33a2d4043399c67bd95fb7c6 \ + --hash=sha256:ad8850921d3a8d8ff6fbef790e773cecfc260bbfa0566998980d3fa8f520bc4a \ + --hash=sha256:ad887a8250eb47d3ab083d2f98db7f48098d13d42eb7a3b67d8a5c795f224ace \ + --hash=sha256:ae9408439537c5afdca05edd128a63f56a62680f4b3c234301055d7a2000220f \ + --hash=sha256:af7618b591bae552b40dbb6f93f5518328a949dac626ee75927bba1ecdeea9f4 \ + --hash=sha256:b6819f83aef06f560cb15482d619d0e623ce9bf155115150a85ab11b8342a665 \ + --hash=sha256:b8aa6f0bd8125ddd04a6593437bad6a7e70f300ff4180a531654aa2ab3f6d58f \ + --hash=sha256:b8eb3025f17b0a4c3cd08cda49acf312a19ad6e8a4edd9dbd591e6506d999402 \ + --hash=sha256:b95494daf857602eccf4c18ca33337dd2be705bccdb6dddbfc9d513e6addb9d9 \ + --hash=sha256:b9e5853bbd7264baca42ffc53391b490d65fe62849bf2c690fa3f6273dbcd0cb \ + --hash=sha256:bbc14f0365534d35a06970d6a83478b249752e922d662dc24d489af1aa0d1be7 \ + --hash=sha256:be5bf4b3224948032a845d12ab0f69f208293742df96dc14c4ff9b09e508fc17 \ + --hash=sha256:c5c97aa666cf70e667dfa5af945424ba1329af5dd988a437efeb3a09430389fb \ + --hash=sha256:c7a0e9b561e6460484318a7612e725df1145d46b0ef57c6b9866441bf6e27e0c \ + --hash=sha256:caebafea30ed049c57c673d0b36238b1748683be2593965614d7b0e99125c877 \ + --hash=sha256:cbbc54e58b34c3bae389ef00046be0961f30fef7cb0dd9c7756aee376a4f7683 \ + --hash=sha256:cc356250cffd6e78416cf5b40dc6a74f1edf3be8e834cf8862d9ed5265cf9b0e \ + --hash=sha256:ce9a40fbe52e57e7edf20113a4eaddfacac0561a0879734e636aa6d4bb5e3fb0 \ + --hash=sha256:d191de6cbab2aff5de6c5723101705fd044b3e4c7cfd587a1929b5028b9714b3 \ + --hash=sha256:d24f351e4d759f5054b641c81e8291e5d122af0fca5c72454ff77f7cbe492de8 \ + --hash=sha256:d2d4e4787672911b48350df02ed3fa3fffdc2f2e8ca06dd6afdf34189b76a9dd \ + --hash=sha256:d8c112f7a90d8ca5d20213aa41eac690bb50a76da153e3afb3886418e61cb22e \ + --hash=sha256:d9890d68c45d1aeac5178ded1d1cccf3bc8d7accf1f976f79bf63099fb16e4bd \ + --hash=sha256:dadf95aa862714ea468a49ad1e09fe00fcc9ec67d122f6596a8d40caf6cec7d0 \ + --hash=sha256:db6a3810eec08280a172a6cd541ff4a5f6a97b161d93ec94e6c4018917deb6b7 \ + --hash=sha256:db9801fe021f59a5b375ab778973127ca0ac52429a26e2fd86aa9508f4d26eb7 \ + --hash=sha256:e167bf899c3d724f9662ef00b4f7fef87a19c22b2fead198a6f68b263618df52 \ + --hash=sha256:e1b93790ed0bc26feb72e2f08299691ceb6da5e9e14a0d13cc74f1869af327a0 \ + --hash=sha256:e5b1413361cef15340ab9dc61523e653d25723e82d488ef7d60a12878227ed50 \ + --hash=sha256:ecab51ad2462197a4c000b6d5701fc8585b80eecb90583635d7e327b7b6923eb \ + --hash=sha256:ed3b94c5e362a8a84d69642dbeac615452e8af9b8eb825b7bc9f31a53a1051e2 \ + --hash=sha256:ed8358ae7d94ffb7c397cecb62cbac9578a83ecefc1eba27b9090ee910e2efb6 \ + --hash=sha256:edfdcae97cdc5d1a89477c436b61f472c4d40971774ac4729c613b4b133163cb \ + --hash=sha256:ee25f82f53262f9ac93bd7e58e47ea1bdcc3393cef815847e397cba17e284210 \ + --hash=sha256:f3be27440f7644ab9a13a6fc86f09cdd90b347c3c5e30c6d6d860de822d7cb53 \ + --hash=sha256:f46a6e8597f9bd71b31cc708195d42b634c8527fecbcf93febf1052cacc1f16e \ + --hash=sha256:f6eb37d511bfae9e13e82cb4d1af36b91150466f24d9b2b8a9785816deb16605 \ + --hash=sha256:f8d4916a81697faec6cb724a273bd5457e4c6c43d82b29f9dc02c5542fd21fc9 \ + --hash=sha256:f93b2b2279883d1d0a9e1bd01f312d6fc315c5e4c1f09e112e4736e2f650bc4e \ + --hash=sha256:f9867e55590e0855bcec60d4f9a092b69476db64573c9fe17e92b0c50614c16a \ + --hash=sha256:f996b87b420995a9174b2a7c1a8daf7db4750be6848b03eb5e639674f7963773 # via -r py/requirements.txt -nh3==0.2.21 \ - --hash=sha256:087ffadfdcd497658c3adc797258ce0f06be8a537786a7217649fc1c0c60c293 \ - --hash=sha256:20979783526641c81d2f5bfa6ca5ccca3d1e4472474b162c6256745fbfe31cd1 \ - --hash=sha256:2a5174551f95f2836f2ad6a8074560f261cf9740a48437d6151fd2d4d7d617ab \ - --hash=sha256:31eedcd7d08b0eae28ba47f43fd33a653b4cdb271d64f1aeda47001618348fde \ - --hash=sha256:4990e7ee6a55490dbf00d61a6f476c9a3258e31e711e13713b2ea7d6616f670e \ - --hash=sha256:55823c5ea1f6b267a4fad5de39bc0524d49a47783e1fe094bcf9c537a37df251 \ - --hash=sha256:6141caabe00bbddc869665b35fc56a478eb774a8c1dfd6fba9fe1dfdf29e6efa \ - --hash=sha256:637d4a10c834e1b7d9548592c7aad760611415fcd5bd346f77fd8a064309ae6d \ - --hash=sha256:63ca02ac6f27fc80f9894409eb61de2cb20ef0a23740c7e29f9ec827139fa578 \ - --hash=sha256:6ae319f17cd8960d0612f0f0ddff5a90700fa71926ca800e9028e7851ce44a6f \ - --hash=sha256:6c9c30b8b0d291a7c5ab0967ab200598ba33208f754f2f4920e9343bdd88f79a \ - --hash=sha256:713d16686596e556b65e7f8c58328c2df63f1a7abe1277d87625dcbbc012ef82 \ - --hash=sha256:818f2b6df3763e058efa9e69677b5a92f9bc0acff3295af5ed013da544250d5b \ - --hash=sha256:9d67709bc0d7d1f5797b21db26e7a8b3d15d21c9c5f58ccfe48b5328483b685b \ - --hash=sha256:a5f77e62aed5c4acad635239ac1290404c7e940c81abe561fd2af011ff59f585 \ - --hash=sha256:a772dec5b7b7325780922dd904709f0f5f3a79fbf756de5291c01370f6df0967 \ - --hash=sha256:a7ea28cd49293749d67e4fcf326c554c83ec912cd09cd94aa7ec3ab1921c8283 \ - --hash=sha256:ac7006c3abd097790e611fe4646ecb19a8d7f2184b882f6093293b8d9b887431 \ - --hash=sha256:b3b5c58161e08549904ac4abd450dacd94ff648916f7c376ae4b2c0652b98ff9 \ - --hash=sha256:b8d55ea1fc7ae3633d758a92aafa3505cd3cc5a6e40470c9164d54dff6f96d42 \ - --hash=sha256:bb0014948f04d7976aabae43fcd4cb7f551f9f8ce785a4c9ef66e6c2590f8629 \ - --hash=sha256:d002b648592bf3033adfd875a48f09b8ecc000abd7f6a8769ed86b6ccc70c759 \ - --hash=sha256:d426d7be1a2f3d896950fe263332ed1662f6c78525b4520c8e9861f8d7f0d243 \ - --hash=sha256:fcff321bd60c6c5c9cb4ddf2554e22772bb41ebd93ad88171bbbb6f271255286 +nh3==0.3.0 \ + --hash=sha256:0649464ac8eee018644aacbc103874ccbfac80e3035643c3acaab4287e36e7f5 \ + --hash=sha256:16f8670201f7e8e0e05ed1a590eb84bfa51b01a69dd5caf1d3ea57733de6a52f \ + --hash=sha256:1adeb1062a1c2974bc75b8d1ecb014c5fd4daf2df646bbe2831f7c23659793f9 \ + --hash=sha256:37d3003d98dedca6cd762bf88f2e70b67f05100f6b949ffe540e189cc06887f9 \ + --hash=sha256:389d93d59b8214d51c400fb5b07866c2a4f79e4e14b071ad66c92184fec3a392 \ + --hash=sha256:3f1b4f8a264a0c86ea01da0d0c390fe295ea0bcacc52c2103aca286f6884f518 \ + --hash=sha256:423201bbdf3164a9e09aa01e540adbb94c9962cc177d5b1cbb385f5e1e79216e \ + --hash=sha256:634e34e6162e0408e14fb61d5e69dbaea32f59e847cfcfa41b66100a6b796f62 \ + --hash=sha256:6d68fa277b4a3cf04e5c4b84dd0c6149ff7d56c12b3e3fab304c525b850f613d \ + --hash=sha256:7275fdffaab10cc5801bf026e3c089d8de40a997afc9e41b981f7ac48c5aa7d5 \ + --hash=sha256:7852f038a054e0096dac12b8141191e02e93e0b4608c4b993ec7d4ffafea4e49 \ + --hash=sha256:7c915060a2c8131bef6a29f78debc29ba40859b6dbe2362ef9e5fd44f11487c2 \ + --hash=sha256:80fe20171c6da69c7978ecba33b638e951b85fb92059259edd285ff108b82a6d \ + --hash=sha256:a537ece1bf513e5a88d8cff8a872e12fe8d0f42ef71dd15a5e7520fecd191bbb \ + --hash=sha256:af5aa8127f62bbf03d68f67a956627b1bd0469703a35b3dad28d0c1195e6c7fb \ + --hash=sha256:b0612ccf5de8a480cf08f047b08f9d3fecc12e63d2ee91769cb19d7290614c23 \ + --hash=sha256:ba0caa8aa184196daa6e574d997a33867d6d10234018012d35f86d46024a2a95 \ + --hash=sha256:bae63772408fd63ad836ec569a7c8f444dd32863d0c67f6e0b25ebbd606afa95 \ + --hash=sha256:c7a32a7f0d89f7d30cb8f4a84bdbd56d1eb88b78a2434534f62c71dac538c450 \ + --hash=sha256:ce5e7185599f89b0e391e2f29cc12dc2e206167380cea49b33beda4891be2fe1 \ + --hash=sha256:d8ba24cb31525492ea71b6aac11a4adac91d828aadeff7c4586541bf5dc34d2f \ + --hash=sha256:d97d3efd61404af7e5721a0e74d81cdbfc6e5f97e11e731bb6d090e30a7b62b2 \ + --hash=sha256:e90883f9f85288f423c77b3f5a6f4486375636f25f793165112679a7b6363b35 \ + --hash=sha256:e9e6a7e4d38f7e8dda9edd1433af5170c597336c1a74b4693c5cb75ab2b30f2a \ + --hash=sha256:ec6cfdd2e0399cb79ba4dcffb2332b94d9696c52272ff9d48a630c5dca5e325a \ + --hash=sha256:f416c35efee3e6a6c9ab7716d9e57aa0a49981be915963a82697952cba1353e1 # via # -r py/requirements.txt # readme-renderer @@ -622,9 +612,9 @@ readme-renderer==44.0 \ # via # -r py/requirements.txt # twine -requests==2.32.4 \ - --hash=sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c \ - --hash=sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422 +requests==2.32.5 \ + --hash=sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6 \ + --hash=sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf # via # -r py/requirements.txt # id @@ -642,16 +632,18 @@ rfc3986==2.0.0 \ # via # -r py/requirements.txt # twine -rich==14.0.0 \ - --hash=sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0 \ - --hash=sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725 +rich==14.1.0 \ + --hash=sha256:536f5f1785986d6dbdea3c75205c473f970777b4a0d6c6dd1b696aa05a3fa04f \ + --hash=sha256:e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8 # via # -r py/requirements.txt # twine secretstorage==3.3.3 \ --hash=sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77 \ --hash=sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99 - # via -r py/requirements.txt + # via + # -r py/requirements.txt + # keyring sniffio==1.3.1 \ --hash=sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2 \ --hash=sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc @@ -701,9 +693,9 @@ tomli==2.2.1 \ # pyproject-api # pytest # tox -tox==4.27.0 \ - --hash=sha256:2b8a7fb986b82aa2c830c0615082a490d134e0626dbc9189986da46a313c4f20 \ - --hash=sha256:b97d5ecc0c0d5755bcc5348387fef793e1bfa68eb33746412f4c60881d7f5f57 +tox==4.28.4 \ + --hash=sha256:8d4ad9ee916ebbb59272bb045e154a10fa12e3bbdcf94cc5185cbdaf9b241f99 \ + --hash=sha256:b5b14c6307bd8994ff1eba5074275826620325ee1a4f61316959d562bfd70b9d # via -r py/requirements.txt trio==0.30.0 \ --hash=sha256:0781c857c0c81f8f51e0089929a26b5bb63d57f927728a5586f7e36171f064df \ @@ -727,8 +719,8 @@ typing-extensions==4.14.1 \ # -r py/requirements.txt # exceptiongroup # multidict - # rich # tox + # virtualenv urllib3[socks]==2.5.0 \ --hash=sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760 \ --hash=sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc @@ -736,9 +728,9 @@ urllib3[socks]==2.5.0 \ # -r py/requirements.txt # requests # twine -virtualenv==20.31.2 \ - --hash=sha256:36efd0d9650ee985f0cad72065001e66d49a6f24eb44d98980f630686243cf11 \ - --hash=sha256:e10c0a9d02835e592521be48b332b6caee6887f332c111aa79a09b9e79efc2af +virtualenv==20.34.0 \ + --hash=sha256:341f5afa7eee943e4984a9207c025feedd768baff6753cd660c857ceb3e36026 \ + --hash=sha256:44815b2c9dee7ed86e387b842a84f20b93f7f417f95886ca1996a72a4138eb1a # via # -r py/requirements.txt # tox diff --git a/scripts/update_py_dependencies.sh b/scripts/update_py_dependencies.sh index 4e3de673b38f0..159424cd2cc27 100755 --- a/scripts/update_py_dependencies.sh +++ b/scripts/update_py_dependencies.sh @@ -47,7 +47,7 @@ pip install -r "${REQUIREMENTS_FILE}" > /dev/null echo "upgrading outdated dependencies ..." echo pip list --outdated | while read -r line; do - if [[ ! "${line}" =~ "Version Latest" && ! "${line}" =~ "----" ]]; then + if [[ ! "${line}" =~ "Version" && ! "${line}" =~ "----" ]]; then read -ra fields <<< "${line}" package="${fields[0]}" echo "upgrading ${package} from ${fields[1]} to ${fields[2]}" From 6a8f6c6426a7403652020f8462beaae41713fb24 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Fri, 22 Aug 2025 16:32:53 +0300 Subject: [PATCH 053/118] [dotnet] Help .NET Framework copy selenium manager to output (#16228) --- dotnet/src/webdriver/BUILD.bazel | 16 ++++++++-------- .../Selenium.WebDriver.StrongNamed.nuspec | 4 ++-- dotnet/src/webdriver/Selenium.WebDriver.csproj | 4 ++-- dotnet/src/webdriver/Selenium.WebDriver.nuspec | 4 ++-- dotnet/src/webdriver/assets/BUILD.bazel | 4 ++-- .../Selenium.WebDriver.targets | 11 ++++++----- .../Selenium.WebDriver.targets | 2 +- 7 files changed, 23 insertions(+), 22 deletions(-) rename dotnet/src/webdriver/assets/nuget/build/{netstandard2.0 => }/Selenium.WebDriver.targets (55%) rename dotnet/src/webdriver/assets/nuget/buildTransitive/{netstandard2.0 => }/Selenium.WebDriver.targets (54%) diff --git a/dotnet/src/webdriver/BUILD.bazel b/dotnet/src/webdriver/BUILD.bazel index 10f0e3a38569f..7eb83adc81ec4 100644 --- a/dotnet/src/webdriver/BUILD.bazel +++ b/dotnet/src/webdriver/BUILD.bazel @@ -168,14 +168,14 @@ copy_file( ) copy_file( - name = "assets-nuget-build-netstandard20-targets", - src = "//dotnet/src/webdriver/assets:nuget/build/netstandard2.0/Selenium.WebDriver.targets", + name = "assets-nuget-build-targets", + src = "//dotnet/src/webdriver/assets:nuget/build/Selenium.WebDriver.targets", out = "Selenium.WebDriver.targets", ) copy_file( - name = "assets-nuget-buildtransitive-netstandard20-targets", - src = "//dotnet/src/webdriver/assets:nuget/buildTransitive/netstandard2.0/Selenium.WebDriver.targets", + name = "assets-nuget-buildtransitive-targets", + src = "//dotnet/src/webdriver/assets:nuget/buildTransitive/Selenium.WebDriver.targets", out = "transitiveSelenium.WebDriver.targets", ) @@ -208,8 +208,8 @@ nuget_pack( "//common/manager:selenium-manager-macos": "manager/macos/selenium-manager", "//common/manager:selenium-manager-windows": "manager/windows/selenium-manager.exe", ":assets-nuget-readme": "README.md", - ":assets-nuget-build-netstandard20-targets": "build/netstandard2.0/Selenium.WebDriver.targets", - ":assets-nuget-buildtransitive-netstandard20-targets": "buildTransitive/netstandard2.0/Selenium.WebDriver.targets", + ":assets-nuget-build-targets": "build/Selenium.WebDriver.targets", + ":assets-nuget-buildtransitive-targets": "buildTransitive/Selenium.WebDriver.targets", }, id = "Selenium.WebDriver", libs = { @@ -234,8 +234,8 @@ nuget_pack( "//common/manager:selenium-manager-macos": "manager/macos/selenium-manager", "//common/manager:selenium-manager-windows": "manager/windows/selenium-manager.exe", ":assets-nuget-readme": "README.md", - ":assets-nuget-build-netstandard20-targets": "build/netstandard2.0/Selenium.WebDriver.StrongNamed.targets", - ":assets-nuget-buildtransitive-netstandard20-targets": "buildTransitive/netstandard2.0/Selenium.WebDriver.StrongNamed.targets", + ":assets-nuget-build-targets": "build/Selenium.WebDriver.StrongNamed.targets", + ":assets-nuget-buildtransitive-targets": "buildTransitive/Selenium.WebDriver.StrongNamed.targets", }, id = "Selenium.WebDriver.StrongNamed", libs = { diff --git a/dotnet/src/webdriver/Selenium.WebDriver.StrongNamed.nuspec b/dotnet/src/webdriver/Selenium.WebDriver.StrongNamed.nuspec index 4e47a5f564c16..da214b86c7ac5 100644 --- a/dotnet/src/webdriver/Selenium.WebDriver.StrongNamed.nuspec +++ b/dotnet/src/webdriver/Selenium.WebDriver.StrongNamed.nuspec @@ -43,8 +43,8 @@ - - + + diff --git a/dotnet/src/webdriver/Selenium.WebDriver.csproj b/dotnet/src/webdriver/Selenium.WebDriver.csproj index 3519f1d474d5a..b7d00c29e5ceb 100644 --- a/dotnet/src/webdriver/Selenium.WebDriver.csproj +++ b/dotnet/src/webdriver/Selenium.WebDriver.csproj @@ -61,8 +61,8 @@ - - + + diff --git a/dotnet/src/webdriver/Selenium.WebDriver.nuspec b/dotnet/src/webdriver/Selenium.WebDriver.nuspec index 0371c66fca21f..c65490c944cef 100644 --- a/dotnet/src/webdriver/Selenium.WebDriver.nuspec +++ b/dotnet/src/webdriver/Selenium.WebDriver.nuspec @@ -43,8 +43,8 @@ - - + + diff --git a/dotnet/src/webdriver/assets/BUILD.bazel b/dotnet/src/webdriver/assets/BUILD.bazel index 1ff6eb45ae72b..a72d6f97da643 100644 --- a/dotnet/src/webdriver/assets/BUILD.bazel +++ b/dotnet/src/webdriver/assets/BUILD.bazel @@ -1,5 +1,5 @@ exports_files([ "nuget/README.md", - "nuget/build/netstandard2.0/Selenium.WebDriver.targets", - "nuget/buildTransitive/netstandard2.0/Selenium.WebDriver.targets", + "nuget/build/Selenium.WebDriver.targets", + "nuget/buildTransitive/Selenium.WebDriver.targets", ]) diff --git a/dotnet/src/webdriver/assets/nuget/build/netstandard2.0/Selenium.WebDriver.targets b/dotnet/src/webdriver/assets/nuget/build/Selenium.WebDriver.targets similarity index 55% rename from dotnet/src/webdriver/assets/nuget/build/netstandard2.0/Selenium.WebDriver.targets rename to dotnet/src/webdriver/assets/nuget/build/Selenium.WebDriver.targets index 7849cc953d08b..2686604da1ef2 100644 --- a/dotnet/src/webdriver/assets/nuget/build/netstandard2.0/Selenium.WebDriver.targets +++ b/dotnet/src/webdriver/assets/nuget/build/Selenium.WebDriver.targets @@ -1,23 +1,24 @@ - - - + + + runtimes\win\native\%(Filename)%(Extension) PreserveNewest False false - + runtimes\linux\native\%(Filename)%(Extension) PreserveNewest False false - + runtimes\osx\native\%(Filename)%(Extension) PreserveNewest False diff --git a/dotnet/src/webdriver/assets/nuget/buildTransitive/netstandard2.0/Selenium.WebDriver.targets b/dotnet/src/webdriver/assets/nuget/buildTransitive/Selenium.WebDriver.targets similarity index 54% rename from dotnet/src/webdriver/assets/nuget/buildTransitive/netstandard2.0/Selenium.WebDriver.targets rename to dotnet/src/webdriver/assets/nuget/buildTransitive/Selenium.WebDriver.targets index d9c6483161ca3..877a684d233d1 100644 --- a/dotnet/src/webdriver/assets/nuget/buildTransitive/netstandard2.0/Selenium.WebDriver.targets +++ b/dotnet/src/webdriver/assets/nuget/buildTransitive/Selenium.WebDriver.targets @@ -1,4 +1,4 @@ - + From 15f69041f193316ce6015144b215ca3b7ff94206 Mon Sep 17 00:00:00 2001 From: Giulio Longfils Date: Fri, 22 Aug 2025 19:58:15 +0200 Subject: [PATCH 054/118] [java] Add hooks around getScreenshotAs in WebDriverListener #16232 (#16233) * [java] Add hooks around getScreenshotAs in WebDriverListener #16232 WebDriverListener has now default methods for both WebDriver and WebElement for clients to be notified before and after a screenshot is being taken. Fixes #16232 * fixup! [java] Add hooks around getScreenshotAs in WebDriverListener #16232 * fixup! [java] Add hooks around getScreenshotAs in WebDriverListener #16232 * fixup! [java] Add hooks around getScreenshotAs in WebDriverListener #16232 --- .../support/events/WebDriverListener.java | 42 +++++++++++++ .../events/EventFiringDecoratorTest.java | 63 ++++++++++++++++++- 2 files changed, 104 insertions(+), 1 deletion(-) diff --git a/java/src/org/openqa/selenium/support/events/WebDriverListener.java b/java/src/org/openqa/selenium/support/events/WebDriverListener.java index ea54f18a39d7b..3179b2a876b19 100644 --- a/java/src/org/openqa/selenium/support/events/WebDriverListener.java +++ b/java/src/org/openqa/selenium/support/events/WebDriverListener.java @@ -30,8 +30,10 @@ import org.openqa.selenium.Cookie; import org.openqa.selenium.Dimension; import org.openqa.selenium.JavascriptExecutor; +import org.openqa.selenium.OutputType; import org.openqa.selenium.Point; import org.openqa.selenium.ScriptKey; +import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.WindowType; @@ -330,6 +332,26 @@ default void beforeResetInputState(WebDriver driver) {} */ default void afterResetInputState(WebDriver driver) {} + /** + * This method will be called before {@link TakesScreenshot#getScreenshotAs(OutputType)} is + * called. + * + * @param driver decorated WebDriver instance + * @param target target type, see {@link OutputType} + * @param return type for getScreenshotAs + */ + default void beforeGetScreenshotAs(WebDriver driver, OutputType target) {} + + /** + * This method will be called after {@link TakesScreenshot#getScreenshotAs(OutputType)} is called. + * + * @param driver decorated WebDriver instance + * @param target target type, see {@link OutputType} + * @param result object that stores the screenshot information + * @param return type for getScreenshotAs + */ + default void afterGetScreenshotAs(WebDriver driver, OutputType target, X result) {} + // WebElement /** @@ -581,6 +603,26 @@ default void beforeGetCssValue(WebElement element, String propertyName) {} */ default void afterGetCssValue(WebElement element, String propertyName, String result) {} + /** + * This method will be called before {@link TakesScreenshot#getScreenshotAs(OutputType)} is + * called. + * + * @param element decorated WebElement instance + * @param target target type, see {@link OutputType} + * @param return type for getScreenshotAs + */ + default void beforeGetScreenshotAs(WebElement element, OutputType target) {} + + /** + * This method will be called after {@link TakesScreenshot#getScreenshotAs(OutputType)} is called. + * + * @param element decorated WebElement instance + * @param target target type, see {@link OutputType} + * @param result result object that stores the screenshot information + * @param return type for getScreenshotAs + */ + default void afterGetScreenshotAs(WebElement element, OutputType target, X result) {} + // Navigation (WebDriver.Navigation) /** diff --git a/java/test/org/openqa/selenium/support/events/EventFiringDecoratorTest.java b/java/test/org/openqa/selenium/support/events/EventFiringDecoratorTest.java index a3651247d6c27..86c9e05b34662 100644 --- a/java/test/org/openqa/selenium/support/events/EventFiringDecoratorTest.java +++ b/java/test/org/openqa/selenium/support/events/EventFiringDecoratorTest.java @@ -44,7 +44,9 @@ import org.openqa.selenium.Dimension; import org.openqa.selenium.ImmutableCapabilities; import org.openqa.selenium.JavascriptExecutor; +import org.openqa.selenium.OutputType; import org.openqa.selenium.Point; +import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebDriverException; import org.openqa.selenium.WebElement; @@ -285,9 +287,11 @@ public void afterPerform(WebDriver driver, Collection actions) { @Test void shouldFireWebElementEvents() { + String result = "result"; WebDriver driver = mock(WebDriver.class); WebElement element = mock(WebElement.class); when(driver.findElement(any())).thenReturn(element); + when(element.getScreenshotAs(OutputType.BASE64)).thenReturn(result); CollectorListener listener = new CollectorListener() { @@ -467,6 +471,20 @@ public void beforeGetCssValue(WebElement element, String propertyName) { public void afterGetCssValue(WebElement element, String propertyName, String result) { acc.append("afterGetCssValue").append("\n"); } + + @Override + public void beforeGetScreenshotAs(WebElement element, OutputType target) { + acc.append("beforeGetScreenshotAs ").append(target).append("\n"); + } + + @Override + public void afterGetScreenshotAs(WebElement element, OutputType target, X result) { + acc.append("afterGetScreenshotAs ") + .append(target) + .append(" ") + .append(result) + .append("\n"); + } }; WebDriver decorated = new EventFiringDecorator<>(listener).decorate(driver); @@ -485,6 +503,7 @@ public void afterGetCssValue(WebElement element, String propertyName, String res element1.getSize(); element1.getCssValue("test"); element1.clear(); + element1.getScreenshotAs(OutputType.BASE64); assertThat(listener.acc.toString().trim()) .isEqualTo( @@ -545,7 +564,11 @@ public void afterGetCssValue(WebElement element, String propertyName, String res "beforeAnyWebElementCall clear", "beforeClear", "afterClear", - "afterAnyWebElementCall clear")); + "afterAnyWebElementCall clear", + "beforeAnyWebElementCall getScreenshotAs", + "beforeGetScreenshotAs OutputType.BASE64", + "afterGetScreenshotAs OutputType.BASE64 " + result, + "afterAnyWebElementCall getScreenshotAs")); } @Test @@ -973,6 +996,44 @@ public void afterAlert(WebDriver.TargetLocator targetLocator, Alert alert) { "afterAnyCall alert")); } + @Test + void shouldFireWebDriverTakesScreenshotEvents() { + String result = "result"; + WebDriver driver = mock(WebDriver.class, withSettings().extraInterfaces(TakesScreenshot.class)); + when(((TakesScreenshot) driver).getScreenshotAs(OutputType.BASE64)).thenReturn(result); + + CollectorListener listener = + new CollectorListener() { + @Override + public void beforeGetScreenshotAs(WebDriver driver, OutputType target) { + acc.append("beforeGetScreenshotAs ").append(target).append("\n"); + } + + @Override + public void afterGetScreenshotAs(WebDriver driver, OutputType target, X result) { + acc.append("afterGetScreenshotAs ") + .append(target) + .append(" ") + .append(result) + .append("\n"); + } + }; + WebDriver decorated = new EventFiringDecorator<>(listener).decorate(driver); + + ((TakesScreenshot) decorated).getScreenshotAs(OutputType.BASE64); + + assertThat(listener.acc.toString().trim()) + .isEqualTo( + String.join( + "\n", + "beforeAnyCall getScreenshotAs", + "beforeAnyWebDriverCall getScreenshotAs", + "beforeGetScreenshotAs OutputType.BASE64", + "afterGetScreenshotAs OutputType.BASE64 " + result, + "afterAnyWebDriverCall getScreenshotAs", + "afterAnyCall getScreenshotAs")); + } + @Test void shouldSuppressExceptionInBeforeAnyCall() { WebDriver driver = mock(WebDriver.class); From 138ba078df8ac8c849c968a33d880a5781c22ab6 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Fri, 22 Aug 2025 22:44:29 +0300 Subject: [PATCH 055/118] [dotnet] Clean docs for OnDriverProcessDataReceived handler --- dotnet/src/webdriver/DriverService.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/dotnet/src/webdriver/DriverService.cs b/dotnet/src/webdriver/DriverService.cs index 0ed9a16b5dd66..930cd7948b705 100644 --- a/dotnet/src/webdriver/DriverService.cs +++ b/dotnet/src/webdriver/DriverService.cs @@ -333,7 +333,6 @@ protected virtual void OnDriverProcessStarted(DriverProcessStartedEventArgs even /// /// The sender of the event. /// The data received event arguments. - /// A value indicating whether the data received is from the error stream. protected virtual void OnDriverProcessDataReceived(object sender, DataReceivedEventArgs args) { if (string.IsNullOrEmpty(args.Data)) From c921ffe744c48d536db93271be3705076c2d19d8 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Sat, 23 Aug 2025 00:20:13 +0300 Subject: [PATCH 056/118] Revert "[dotnet] Update dependency System.Text.Json to 8.0.6 (#16171)" Please never upgrade dependencies, never. Selenium is not an application, it is library. Upgrading dependencies, even minor version, forces all users to upgrade. we cannot allow ourselves to take liberties just to upgrade :( --- dotnet/src/webdriver/Selenium.WebDriver.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotnet/src/webdriver/Selenium.WebDriver.csproj b/dotnet/src/webdriver/Selenium.WebDriver.csproj index b7d00c29e5ceb..69b2b398e3532 100644 --- a/dotnet/src/webdriver/Selenium.WebDriver.csproj +++ b/dotnet/src/webdriver/Selenium.WebDriver.csproj @@ -57,7 +57,7 @@ - + From f8c356fe59459ab611071acae4bee438822ae987 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Sat, 23 Aug 2025 04:39:36 +0200 Subject: [PATCH 057/118] [dotnet][rb][java][js][py] Automated Browser Version Update (#16247) Co-authored-by: Selenium CI Bot --- common/repositories.bzl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/common/repositories.bzl b/common/repositories.bzl index ac3cbd3bfdb8d..574e10bdee11d 100644 --- a/common/repositories.bzl +++ b/common/repositories.bzl @@ -50,8 +50,8 @@ js_library( http_archive( name = "linux_beta_firefox", - url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b2/linux-x86_64/en-US/firefox-143.0b2.tar.xz", - sha256 = "70a8af598dedca123b72422811ec04e5a28060778d4a86622f4ecd400f234a78", + url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b3/linux-x86_64/en-US/firefox-143.0b3.tar.xz", + sha256 = "ea43085f0a47d14a8c088175b489c8af149f59703aec20e6dd2bbf01e36d36fc", 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/143.0b2/mac/en-US/Firefox%20143.0b2.dmg", - sha256 = "52f9a7a944f857b207bc79f66ae2d600ff8736264d708d6c0fa5138aea664f97", + url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b3/mac/en-US/Firefox%20143.0b3.dmg", + sha256 = "0e392fc487de20c31c4fe66e25473f91ce001dd6e56528409720f7b9934f34e0", 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.microsoft.com/139.0.3405.102/edgedriver_linux64.zip", - sha256 = "e092178901c011ccfddc0556193742a01f206d71b5bb1a12cc1ba7a243262fc2", + url = "https://msedgedriver.microsoft.com/139.0.3405.111/edgedriver_linux64.zip", + sha256 = "76f1c0e35120e37848c174eee1368150b7c2461b8e4907c80bcfc2e61b93c471", 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.microsoft.com/139.0.3405.102/edgedriver_mac64.zip", - sha256 = "98aa637081061ea610c1f70be09fdea6b5f5b3a46c94a87ca291e2285bad1328", + url = "https://msedgedriver.microsoft.com/139.0.3405.111/edgedriver_mac64.zip", + sha256 = "c97588078c6f661dd6c66b858f5e21dc9cbcee40420a2b2e839a05803e0e468f", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) From 51db4f25010a44687ee2f740875a4a0c05b528f1 Mon Sep 17 00:00:00 2001 From: Simon Mavi Stewart Date: Sun, 24 Aug 2025 16:37:49 +0100 Subject: [PATCH 058/118] [bazel] Bump `rules_jvm_external` to 6.8 --- MODULE.bazel | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 87a5a38cf54bf..0080fc4a90b22 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -19,7 +19,7 @@ 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") From ca3b7cf7b26fcc1a7ed69c2a9460add951922196 Mon Sep 17 00:00:00 2001 From: Navin Chandra Date: Mon, 25 Aug 2025 12:02:11 +0530 Subject: [PATCH 059/118] [py][bidi]: enable `history_updated` event test (#16236) --- .../webdriver/common/bidi_browsing_context_tests.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py b/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py index 768640d7f71a8..254d2aace3c08 100644 --- a/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py +++ b/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py @@ -756,9 +756,6 @@ def on_user_prompt_closed(info): driver.browsing_context.remove_event_handler("user_prompt_closed", callback_id) -@pytest.mark.xfail_chrome -@pytest.mark.xfail_firefox -@pytest.mark.xfail_edge def test_add_event_handler_history_updated(driver, pages): """Test adding event handler for history_updated event.""" events_received = [] @@ -769,16 +766,17 @@ def on_history_updated(info): callback_id = driver.browsing_context.add_event_handler("history_updated", on_history_updated) assert callback_id is not None - # Navigate to a page and use history API to trigger the event context_id = driver.current_window_handle url = pages.url("simpleTest.html") driver.browsing_context.navigate(context=context_id, url=url, wait=ReadinessState.COMPLETE) # Use history.pushState to trigger history updated event - driver.execute_script("history.pushState({}, '', '/new-path');") + driver.script.execute("() => { history.pushState({}, '', '/new-path'); }") + WebDriverWait(driver, 5).until(lambda d: len(events_received) > 0) - assert len(events_received) == 1 - assert any("/new-path" in event.url for event in events_received) + assert len(events_received) >= 1 + assert "/new-path" in events_received[0].url + assert events_received[0].context == context_id driver.browsing_context.remove_event_handler("history_updated", callback_id) From 58f2268a996f6bfd4f9916e4338fa8085db68cc5 Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Mon, 25 Aug 2025 11:13:46 -0400 Subject: [PATCH 060/118] [py] Bump ruff version for linting/formatting (#16254) --- multitool.lock.json | 20 ++++++++++---------- py/tox.ini | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/multitool.lock.json b/multitool.lock.json index 1c51f6ba88b80..fcb1199ee8fe8 100644 --- a/multitool.lock.json +++ b/multitool.lock.json @@ -4,41 +4,41 @@ "binaries": [ { "kind": "archive", - "url": "https://github.com/astral-sh/ruff/releases/download/0.12.3/ruff-aarch64-unknown-linux-musl.tar.gz", + "url": "https://github.com/astral-sh/ruff/releases/download/0.12.10/ruff-aarch64-unknown-linux-musl.tar.gz", "file": "ruff-aarch64-unknown-linux-musl/ruff", - "sha256": "7890e49b12c1321688540324a7788457a22711657301598402cba1a9e9be6607", + "sha256": "10b43a88fb948aaae538ec9f35e93b4433f144d0379fb3a67d88282595b969f7", "os": "linux", "cpu": "arm64" }, { "kind": "archive", - "url": "https://github.com/astral-sh/ruff/releases/download/0.12.3/ruff-x86_64-unknown-linux-musl.tar.gz", + "url": "https://github.com/astral-sh/ruff/releases/download/0.12.10/ruff-x86_64-unknown-linux-musl.tar.gz", "file": "ruff-x86_64-unknown-linux-musl/ruff", - "sha256": "6ee9216ba4f7fd761e68bd5c23958e662c67fcff8f49e511660d557431b4bd7c", + "sha256": "dd4e5b8f81547a48975489913a80e0dce6be7f1c455912fe3a5bd5a1f5f1a35d", "os": "linux", "cpu": "x86_64" }, { "kind": "archive", - "url": "https://github.com/astral-sh/ruff/releases/download/0.12.3/ruff-aarch64-apple-darwin.tar.gz", + "url": "https://github.com/astral-sh/ruff/releases/download/0.12.10/ruff-aarch64-apple-darwin.tar.gz", "file": "ruff-aarch64-apple-darwin/ruff", - "sha256": "5769e4841870d1f7c17f12a7d1437222e8035eded52f93c54c035c770dbffebb", + "sha256": "72c6abf39f5e87c57faa2d191baf2582e437ff72cdc0f52b7c7e50f26d41b807", "os": "macos", "cpu": "arm64" }, { "kind": "archive", - "url": "https://github.com/astral-sh/ruff/releases/download/0.12.3/ruff-x86_64-apple-darwin.tar.gz", + "url": "https://github.com/astral-sh/ruff/releases/download/0.12.10/ruff-x86_64-apple-darwin.tar.gz", "file": "ruff-x86_64-apple-darwin/ruff", - "sha256": "472a4790db11a8bcd79cf7b731fb1c036c376f9cc4e6532099f8f39a6f86b9bb", + "sha256": "8619f277921b3e2e56d850c3e203fd4ef10b457bc50f93ab6fe85743eb324de6", "os": "macos", "cpu": "x86_64" }, { "kind": "archive", - "url": "https://github.com/astral-sh/ruff/releases/download/0.12.3/ruff-x86_64-pc-windows-msvc.zip", + "url": "https://github.com/astral-sh/ruff/releases/download/0.12.10/ruff-x86_64-pc-windows-msvc.zip", "file": "ruff-x86_64-pc-windows-msvc/ruff.exe", - "sha256": "37dc6f2f5756421fc59fe5f841ecaa92beee38a39751dfe5a42bdc13992da3d5", + "sha256": "a639e4dee10cb2900bffa7165457766671c59c744ce6b61cc658c35ab33a91fd", "os": "windows", "cpu": "x86_64" } diff --git a/py/tox.ini b/py/tox.ini index 36a90466bb3e1..086df0a2f56a5 100644 --- a/py/tox.ini +++ b/py/tox.ini @@ -43,7 +43,7 @@ commands = [testenv:linting] skip_install = true deps = - ruff==0.12.3 + ruff==0.12.10 commands = ruff check --fix --show-fixes --exit-non-zero-on-fix . ruff format --exit-non-zero-on-format . From 5d281ef05306e449774fca55a91dfffe95219075 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Tue, 26 Aug 2025 06:53:13 +0700 Subject: [PATCH 061/118] [grid] Simplify node status response handling in Router Fix an error is seen in docker-selenium after #16163 Signed-off-by: Viet Nguyen Duc --- java/src/org/openqa/selenium/grid/node/Node.java | 4 +--- .../org/openqa/selenium/grid/router/HandleSession.java | 8 ++++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/java/src/org/openqa/selenium/grid/node/Node.java b/java/src/org/openqa/selenium/grid/node/Node.java index 6a8627fd23ffe..d2b0d5223802b 100644 --- a/java/src/org/openqa/selenium/grid/node/Node.java +++ b/java/src/org/openqa/selenium/grid/node/Node.java @@ -199,9 +199,7 @@ protected Node( .to(() -> new Drain(this, json)) .with(spanDecorator("node.drain").andThen(requiresSecret)), get("/se/grid/node/status") - .to( - () -> - req -> new HttpResponse().setContent(asJson(Map.of("value", getStatus())))) + .to(() -> req -> new HttpResponse().setContent(asJson(getStatus()))) .with(spanDecorator("node.node_status")), get("/status").to(() -> new StatusHandler(this)).with(spanDecorator("node.status"))); } diff --git a/java/src/org/openqa/selenium/grid/router/HandleSession.java b/java/src/org/openqa/selenium/grid/router/HandleSession.java index d557a890f974e..059de58970488 100644 --- a/java/src/org/openqa/selenium/grid/router/HandleSession.java +++ b/java/src/org/openqa/selenium/grid/router/HandleSession.java @@ -21,6 +21,7 @@ import static org.openqa.selenium.remote.RemoteTags.SESSION_ID; import static org.openqa.selenium.remote.RemoteTags.SESSION_ID_EVENT; import static org.openqa.selenium.remote.http.Contents.asJson; +import static org.openqa.selenium.remote.http.Contents.string; import static org.openqa.selenium.remote.http.HttpMethod.GET; import static org.openqa.selenium.remote.tracing.Tags.EXCEPTION; import static org.openqa.selenium.remote.tracing.Tags.HTTP_REQUEST; @@ -48,8 +49,8 @@ import org.openqa.selenium.grid.data.NodeStatus; import org.openqa.selenium.grid.sessionmap.SessionMap; import org.openqa.selenium.grid.web.ReverseProxyHandler; -import org.openqa.selenium.grid.web.Values; import org.openqa.selenium.internal.Require; +import org.openqa.selenium.json.Json; import org.openqa.selenium.remote.ErrorCodec; import org.openqa.selenium.remote.SessionId; import org.openqa.selenium.remote.http.ClientConfig; @@ -256,10 +257,13 @@ private ClientConfig fetchNodeSessionTimeout(URI uri) { try (HttpClient httpClient = httpClientFactory.createClient(config)) { HttpRequest statusRequest = new HttpRequest(GET, "/se/grid/node/status"); HttpResponse res = httpClient.execute(statusRequest); - NodeStatus nodeStatus = Values.get(res, NodeStatus.class); + Json json = new Json(); + NodeStatus nodeStatus = json.toType(string(res), NodeStatus.class); if (nodeStatus != null) { sessionTimeout = nodeStatus.getSessionTimeout(); } + } catch (Exception e) { + LOG.fine("Unable to fetch status for " + uri); } LOG.fine("Set read timeout: " + sessionTimeout.toSeconds() + " seconds for " + uri); config = config.readTimeout(sessionTimeout); From 0754c5a6fbc4d74b68523c405d36eafd434cbe68 Mon Sep 17 00:00:00 2001 From: Navin Chandra Date: Tue, 26 Aug 2025 09:24:19 +0530 Subject: [PATCH 062/118] [py][bidi]: use bidi `navigate` command in network tests (#16251) --- .../webdriver/common/bidi_network_tests.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/py/test/selenium/webdriver/common/bidi_network_tests.py b/py/test/selenium/webdriver/common/bidi_network_tests.py index 5fc168a36503a..d1a58c507e340 100644 --- a/py/test/selenium/webdriver/common/bidi_network_tests.py +++ b/py/test/selenium/webdriver/common/bidi_network_tests.py @@ -15,8 +15,8 @@ # specific language governing permissions and limitations # under the License. -import pytest +from selenium.webdriver.common.bidi.browsing_context import ReadinessState from selenium.webdriver.common.bidi.network import Request from selenium.webdriver.common.by import By @@ -68,29 +68,26 @@ def callback(request: Request): assert driver.find_element(By.NAME, "login").is_displayed(), "Request not continued" -@pytest.mark.xfail_chrome -@pytest.mark.xfail_edge def test_continue_request(driver, pages): def callback(request: Request): request.continue_request() callback_id = driver.network.add_request_handler("before_request", callback) assert callback_id is not None, "Request handler not added" - pages.load("formPage.html") + url = pages.url("formPage.html") + driver.browsing_context.navigate(context=driver.current_window_handle, url=url, wait=ReadinessState.COMPLETE) assert driver.find_element(By.NAME, "login").is_displayed(), "Request not continued" -@pytest.mark.xfail_chrome -@pytest.mark.xfail_edge def test_continue_with_auth(driver): - callback_id = driver.network.add_auth_handler("user", "passwd") + callback_id = driver.network.add_auth_handler("postman", "password") assert callback_id is not None, "Request handler not added" - driver.get("https://httpbin.org/basic-auth/user/passwd") + driver.browsing_context.navigate( + context=driver.current_window_handle, url="https://postman-echo.com/basic-auth", wait=ReadinessState.COMPLETE + ) assert "authenticated" in driver.page_source, "Authorization failed" -@pytest.mark.xfail_chrome -@pytest.mark.xfail_edge def test_remove_auth_handler(driver): callback_id = driver.network.add_auth_handler("user", "passwd") assert callback_id is not None, "Request handler not added" From d8084651eb081495c997f7b47fccd2e75054d86c Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Tue, 26 Aug 2025 06:35:00 +0200 Subject: [PATCH 063/118] [dotnet][rb][java][js][py] Automated Browser Version Update (#16258) Co-authored-by: Selenium CI Bot Co-authored-by: Navin Chandra --- common/repositories.bzl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/common/repositories.bzl b/common/repositories.bzl index 574e10bdee11d..bce3061d37cc1 100644 --- a/common/repositories.bzl +++ b/common/repositories.bzl @@ -123,10 +123,10 @@ js_library( pkg_archive( name = "mac_edge", - url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/017e25fc-2906-45b2-958c-1c71c4667dc1/MicrosoftEdge-139.0.3405.111.pkg", - sha256 = "1aa42cbaaf38b035e17d43fbbe0a293ceb286c5fd298d463b1a369ed900a03ac", + url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/95344cbf-d116-4494-8485-b96014e98901/MicrosoftEdge-139.0.3405.119.pkg", + sha256 = "31b3ddce353180a706179d64086ed01b53cfd20a7daea45597a7e9e405fc553f", move = { - "MicrosoftEdge-139.0.3405.111.pkg/Payload/Microsoft Edge.app": "Edge.app", + "MicrosoftEdge-139.0.3405.119.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_139.0.3405.111-1_amd64.deb", - sha256 = "d61b2fcef695083496184a6a323b2bcfb57d45af8fb6867ffe54974a5992dc52", + url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_139.0.3405.119-1_amd64.deb", + sha256 = "e51e4e36cde5e7be2031fd9145ac9bf26444f734a88ff43858e05c7782e60c7b", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) From 934d13adeb145ebe97c99c309b2e084d671b7c9b Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Tue, 26 Aug 2025 23:43:31 +0300 Subject: [PATCH 064/118] [dotnet] Fix find port for IPv4 only environments (#16216) --- .../src/webdriver/Internal/PortUtilities.cs | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/dotnet/src/webdriver/Internal/PortUtilities.cs b/dotnet/src/webdriver/Internal/PortUtilities.cs index a739e5ccd32f6..6f67d5abbd4b6 100644 --- a/dotnet/src/webdriver/Internal/PortUtilities.cs +++ b/dotnet/src/webdriver/Internal/PortUtilities.cs @@ -30,13 +30,23 @@ public static class PortUtilities /// /// Finds a random, free port to be listened on. /// + /// + /// Prefers IPv4, but falls back to IPv6 if necessary. + /// /// A random, free port to be listened on. public static int FindFreePort() { - using var socket = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp); - socket.DualMode = true; - socket.Bind(new IPEndPoint(IPAddress.IPv6Loopback, 0)); - return (socket.LocalEndPoint as IPEndPoint)!.Port; - + try + { + using var ipV4socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + ipV4socket.Bind(new IPEndPoint(IPAddress.Loopback, 0)); + return ((IPEndPoint)ipV4socket.LocalEndPoint!).Port; + } + catch (SocketException) + { + using var ipV6socket = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp); + ipV6socket.Bind(new IPEndPoint(IPAddress.IPv6Loopback, 0)); + return ((IPEndPoint)ipV6socket.LocalEndPoint!).Port; + } } } From 6421ded7e64ad670fdb312e10aa1318a242d217b Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Tue, 26 Aug 2025 23:47:41 +0300 Subject: [PATCH 065/118] [dotnet] [bidi] Adjust cookie expiry type according spec (unix seconds) (#16218) --- .../webdriver/BiDi/Communication/Broker.cs | 1 - .../Converters/DateTimeOffsetConverter.cs | 15 ++++++- .../Json/Converters/TimeSpanConverter.cs | 44 ------------------- dotnet/src/webdriver/BiDi/Network/Cookie.cs | 4 +- .../BiDi/Storage/SetCookieCommand.cs | 3 ++ .../test/common/BiDi/Storage/StorageTest.cs | 4 +- 6 files changed, 22 insertions(+), 49 deletions(-) delete mode 100644 dotnet/src/webdriver/BiDi/Communication/Json/Converters/TimeSpanConverter.cs diff --git a/dotnet/src/webdriver/BiDi/Communication/Broker.cs b/dotnet/src/webdriver/BiDi/Communication/Broker.cs index f0c0f2c279f91..db2058224749b 100644 --- a/dotnet/src/webdriver/BiDi/Communication/Broker.cs +++ b/dotnet/src/webdriver/BiDi/Communication/Broker.cs @@ -84,7 +84,6 @@ internal Broker(BiDi bidi, Uri url) new RealmConverter(_bidi), new RealmTypeConverter(), new DateTimeOffsetConverter(), - new TimeSpanConverter(), new PrintPageRangeConverter(), new InputOriginConverter(), new WebExtensionConverter(_bidi), diff --git a/dotnet/src/webdriver/BiDi/Communication/Json/Converters/DateTimeOffsetConverter.cs b/dotnet/src/webdriver/BiDi/Communication/Json/Converters/DateTimeOffsetConverter.cs index e3b2b57ffe4f4..6d51f829dc7ad 100644 --- a/dotnet/src/webdriver/BiDi/Communication/Json/Converters/DateTimeOffsetConverter.cs +++ b/dotnet/src/webdriver/BiDi/Communication/Json/Converters/DateTimeOffsetConverter.cs @@ -27,7 +27,7 @@ internal class DateTimeOffsetConverter : JsonConverter { public override DateTimeOffset Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - return DateTimeOffset.FromUnixTimeMilliseconds(reader.GetInt64()); + return DateTimeOffset.FromUnixTimeMilliseconds((long)reader.GetDouble()); // still might get a double } public override void Write(Utf8JsonWriter writer, DateTimeOffset value, JsonSerializerOptions options) @@ -35,3 +35,16 @@ public override void Write(Utf8JsonWriter writer, DateTimeOffset value, JsonSeri writer.WriteNumberValue(value.ToUnixTimeMilliseconds()); } } + +internal class DateTimeOffsetSecondsConverter : JsonConverter +{ + public override DateTimeOffset Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + return DateTimeOffset.FromUnixTimeSeconds((long)reader.GetDouble()); // still might get a double + } + + public override void Write(Utf8JsonWriter writer, DateTimeOffset value, JsonSerializerOptions options) + { + writer.WriteNumberValue(value.ToUnixTimeSeconds()); + } +} diff --git a/dotnet/src/webdriver/BiDi/Communication/Json/Converters/TimeSpanConverter.cs b/dotnet/src/webdriver/BiDi/Communication/Json/Converters/TimeSpanConverter.cs deleted file mode 100644 index 8bb6717f2391c..0000000000000 --- a/dotnet/src/webdriver/BiDi/Communication/Json/Converters/TimeSpanConverter.cs +++ /dev/null @@ -1,44 +0,0 @@ -// -// 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 -// regarding copyright ownership. The SFC licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. -// - -using System; -using System.Text.Json; -using System.Text.Json.Serialization; - -namespace OpenQA.Selenium.BiDi.Communication.Json.Converters; - -internal class TimeSpanConverter : JsonConverter -{ - public override TimeSpan Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) - { - if (reader.TryGetInt64(out long milliseconds) is false) - { - var doubleValue = reader.GetDouble(); - - milliseconds = Convert.ToInt64(doubleValue); - } - - return TimeSpan.FromMilliseconds(milliseconds); - } - - public override void Write(Utf8JsonWriter writer, TimeSpan value, JsonSerializerOptions options) - { - writer.WriteNumberValue(value.TotalMilliseconds); - } -} diff --git a/dotnet/src/webdriver/BiDi/Network/Cookie.cs b/dotnet/src/webdriver/BiDi/Network/Cookie.cs index 972e02541f1d8..73671bd808fb6 100644 --- a/dotnet/src/webdriver/BiDi/Network/Cookie.cs +++ b/dotnet/src/webdriver/BiDi/Network/Cookie.cs @@ -17,11 +17,13 @@ // under the License. // +using OpenQA.Selenium.BiDi.Communication.Json.Converters; using System; +using System.Text.Json.Serialization; namespace OpenQA.Selenium.BiDi.Network; -public sealed record Cookie(string Name, BytesValue Value, string Domain, string Path, long Size, bool HttpOnly, bool Secure, SameSite SameSite, TimeSpan? Expiry); +public sealed record Cookie(string Name, BytesValue Value, string Domain, string Path, long Size, bool HttpOnly, bool Secure, SameSite SameSite, [property: JsonConverter(typeof(DateTimeOffsetSecondsConverter))] DateTimeOffset? Expiry); public enum SameSite { diff --git a/dotnet/src/webdriver/BiDi/Storage/SetCookieCommand.cs b/dotnet/src/webdriver/BiDi/Storage/SetCookieCommand.cs index d8f22a6905e3a..635faa93e381a 100644 --- a/dotnet/src/webdriver/BiDi/Storage/SetCookieCommand.cs +++ b/dotnet/src/webdriver/BiDi/Storage/SetCookieCommand.cs @@ -18,7 +18,9 @@ // using OpenQA.Selenium.BiDi.Communication; +using OpenQA.Selenium.BiDi.Communication.Json.Converters; using System; +using System.Text.Json.Serialization; namespace OpenQA.Selenium.BiDi.Storage; @@ -37,6 +39,7 @@ public sealed record PartialCookie(string Name, Network.BytesValue Value, string public Network.SameSite? SameSite { get; set; } + [JsonConverter(typeof(DateTimeOffsetSecondsConverter))] public DateTimeOffset? Expiry { get; set; } } diff --git a/dotnet/test/common/BiDi/Storage/StorageTest.cs b/dotnet/test/common/BiDi/Storage/StorageTest.cs index 5857d599af513..7d956e5d6424a 100644 --- a/dotnet/test/common/BiDi/Storage/StorageTest.cs +++ b/dotnet/test/common/BiDi/Storage/StorageTest.cs @@ -81,7 +81,7 @@ public async Task CanAddAndGetCookie() { driver.Url = UrlBuilder.WhereIs("animals"); - var expiry = DateTime.Now.AddDays(1); + var expiry = DateTimeOffset.Now.AddDays(1); await context.Storage.SetCookieAsync(new("fish", "cod", UrlBuilder.HostName) { @@ -106,7 +106,7 @@ await context.Storage.SetCookieAsync(new("fish", "cod", UrlBuilder.HostName) Assert.That(cookie.Secure, Is.False); Assert.That(cookie.SameSite, Is.EqualTo(SameSite.Lax)); Assert.That(cookie.Size, Is.EqualTo(7)); - // Assert.That(cookie.Expiry, Is.EqualTo(expiry)); // chrome issue + Assert.That(cookie.Expiry, Is.EqualTo(expiry).Within(1).Seconds); } [Test] From 83cb4d6b90cc337d3f9b7bd780e4fac1737b8833 Mon Sep 17 00:00:00 2001 From: NoStory-py Date: Wed, 27 Aug 2025 10:33:34 +0530 Subject: [PATCH 066/118] [py] Fix type annotation errors in service.py (#16250) Co-authored-by: Navin Chandra --- py/selenium/webdriver/common/service.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/py/selenium/webdriver/common/service.py b/py/selenium/webdriver/common/service.py index 7dbaaacbf2861..7b3bdf81c403a 100644 --- a/py/selenium/webdriver/common/service.py +++ b/py/selenium/webdriver/common/service.py @@ -57,14 +57,15 @@ def __init__( driver_path_env_key: Optional[str] = None, **kwargs, ) -> None: + self.log_output: Optional[Union[int, IOBase]] if isinstance(log_output, str): self.log_output = cast(IOBase, open(log_output, "a+", encoding="utf-8")) elif log_output == subprocess.STDOUT: - self.log_output = cast(Optional[Union[int, IOBase]], None) + self.log_output = None elif log_output is None or log_output == subprocess.DEVNULL: - self.log_output = cast(Optional[Union[int, IOBase]], subprocess.DEVNULL) + self.log_output = subprocess.DEVNULL else: - self.log_output = log_output + self.log_output = cast(Union[int, IOBase], log_output) self.port = port or utils.free_port() # Default value for every python subprocess: subprocess.Popen(..., creationflags=0) From d3cef1abcf7652787655aae92f97b1f9ef6fc70e Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Thu, 28 Aug 2025 15:01:42 -0400 Subject: [PATCH 067/118] [py] Loosen dependency specifiers in package config (#16262) --- py/BUILD.bazel | 8 ++++---- py/pyproject.toml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/py/BUILD.bazel b/py/BUILD.bazel index db1c47031c156..d4af61f0e0259 100644 --- a/py/BUILD.bazel +++ b/py/BUILD.bazel @@ -328,11 +328,11 @@ py_wheel( python_tag = "py3", requires = [ "urllib3[socks]>=2.5.0,<3.0", - "trio~=0.30.0", - "trio-websocket~=0.12.2", + "trio>=0.30.0,<1.0", + "trio-websocket>=0.12.2,<1.0", "certifi>=2025.6.15", - "typing_extensions~=4.14.0", - "websocket-client~=1.8.0", + "typing_extensions>=4.14.0,<5.0", + "websocket-client>=1.8.0,<2.0", ], strip_path_prefixes = [ "py/", diff --git a/py/pyproject.toml b/py/pyproject.toml index 5b2b0ad0d4d98..f33c879a04024 100644 --- a/py/pyproject.toml +++ b/py/pyproject.toml @@ -27,11 +27,11 @@ classifiers = [ ] dependencies = [ "urllib3[socks]>=2.5.0,<3.0", - "trio~=0.30.0", - "trio-websocket~=0.12.2", + "trio>=0.30.0,<1.0", + "trio-websocket>=0.12.2,<1.0", "certifi>=2025.6.15", - "typing_extensions~=4.14.0", - "websocket-client~=1.8.0", + "typing_extensions>=4.14.0,<5.0", + "websocket-client>=1.8.0,<2.0", ] [project.urls] From c585e6a6e97801c0f16c6c84e2295c794b7f1e5f Mon Sep 17 00:00:00 2001 From: Navin Chandra Date: Fri, 29 Aug 2025 12:56:33 +0530 Subject: [PATCH 068/118] [py]: replace `platform.system()` with `sys.platform` (#16259) Co-authored-by: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> --- py/conftest.py | 13 ++++++++++--- py/selenium/webdriver/common/service.py | 12 ++++++------ py/selenium/webdriver/firefox/firefox_binary.py | 4 ++-- py/selenium/webdriver/remote/remote_connection.py | 4 ++-- .../webdriver/firefox/firefox_sizing_tests.py | 4 ++-- .../webdriver/chrome/chrome_options_tests.py | 4 ++-- 6 files changed, 24 insertions(+), 17 deletions(-) diff --git a/py/conftest.py b/py/conftest.py index c790b27a489c0..37f76fb1731b4 100644 --- a/py/conftest.py +++ b/py/conftest.py @@ -16,7 +16,7 @@ # under the License. import os -import platform +import sys from dataclasses import dataclass from pathlib import Path @@ -182,7 +182,14 @@ def driver_class(self, cls_name): @property def exe_platform(self): - return platform.system() + if sys.platform == "win32": + return "Windows" + elif sys.platform == "darwin": + return "Darwin" + elif sys.platform == "linux": + return "Linux" + else: + return sys.platform.title() @property def browser_path(self): @@ -397,7 +404,7 @@ def server(request): ) remote_env = os.environ.copy() - if platform.system() == "Linux": + if sys.platform == "linux": # There are issues with window size/position when running Firefox # under Wayland, so we use XWayland instead. remote_env["MOZ_ENABLE_WAYLAND"] = "0" diff --git a/py/selenium/webdriver/common/service.py b/py/selenium/webdriver/common/service.py index 7b3bdf81c403a..d8e7ac018df87 100644 --- a/py/selenium/webdriver/common/service.py +++ b/py/selenium/webdriver/common/service.py @@ -19,10 +19,10 @@ import logging import os import subprocess +import sys from abc import ABC, abstractmethod from collections.abc import Mapping from io import IOBase -from platform import system from subprocess import PIPE from time import sleep from typing import IO, Any, Optional, Union, cast @@ -205,13 +205,13 @@ def _start_process(self, path: str) -> None: """ cmd = [path] cmd.extend(self.command_line_args()) - close_file_descriptors = self.popen_kw.pop("close_fds", system() != "Windows") + close_file_descriptors = self.popen_kw.pop("close_fds", sys.platform != "win32") try: start_info = None - if system() == "Windows": - start_info = subprocess.STARTUPINFO() # type: ignore[attr-defined] - start_info.dwFlags = subprocess.CREATE_NEW_CONSOLE | subprocess.STARTF_USESHOWWINDOW # type: ignore[attr-defined] - start_info.wShowWindow = subprocess.SW_HIDE # type: ignore[attr-defined] + if sys.platform == "win32": + start_info = subprocess.STARTUPINFO() + start_info.dwFlags = subprocess.CREATE_NEW_CONSOLE | subprocess.STARTF_USESHOWWINDOW + start_info.wShowWindow = subprocess.SW_HIDE self.process = subprocess.Popen( cmd, diff --git a/py/selenium/webdriver/firefox/firefox_binary.py b/py/selenium/webdriver/firefox/firefox_binary.py index 6490c1f9db621..0932fa11e4176 100644 --- a/py/selenium/webdriver/firefox/firefox_binary.py +++ b/py/selenium/webdriver/firefox/firefox_binary.py @@ -17,8 +17,8 @@ import os +import sys import time -from platform import system from subprocess import DEVNULL, STDOUT, Popen from typing_extensions import deprecated @@ -45,7 +45,7 @@ def __init__(self, firefox_path=None, log_file=None): # a while the pipe would fill up and Firefox would freeze. self._log_file = log_file or DEVNULL self.command_line = None - self.platform = system().lower() + self.platform = sys.platform if not self._start_cmd: self._start_cmd = self._get_firefox_start_cmd() if not self._start_cmd.strip(): diff --git a/py/selenium/webdriver/remote/remote_connection.py b/py/selenium/webdriver/remote/remote_connection.py index 031481c68432b..2b496e42c7cb3 100644 --- a/py/selenium/webdriver/remote/remote_connection.py +++ b/py/selenium/webdriver/remote/remote_connection.py @@ -16,8 +16,8 @@ # under the License. import logging -import platform import string +import sys import warnings from base64 import b64encode from typing import Optional @@ -156,7 +156,7 @@ class RemoteConnection: _ca_certs = os.getenv("REQUESTS_CA_BUNDLE") if "REQUESTS_CA_BUNDLE" in os.environ else certifi.where() _client_config: Optional[ClientConfig] = None - system = platform.system().lower() + system = sys.platform if system == "darwin": system = "mac" diff --git a/py/test/selenium/webdriver/firefox/firefox_sizing_tests.py b/py/test/selenium/webdriver/firefox/firefox_sizing_tests.py index ce157bd7edfb2..eade45f0b01f4 100644 --- a/py/test/selenium/webdriver/firefox/firefox_sizing_tests.py +++ b/py/test/selenium/webdriver/firefox/firefox_sizing_tests.py @@ -16,7 +16,7 @@ # under the License. import os -import platform +import sys from unittest.mock import patch import pytest @@ -25,7 +25,7 @@ def is_running_wayland(): - return platform.system() == "Linux" and os.getenv("WAYLAND_DISPLAY") + return sys.platform == "linux" and os.getenv("WAYLAND_DISPLAY") @pytest.mark.skipif(not is_running_wayland(), reason="This test only runs on Linux under Wayland") diff --git a/py/test/unit/selenium/webdriver/chrome/chrome_options_tests.py b/py/test/unit/selenium/webdriver/chrome/chrome_options_tests.py index 107a31ea49c39..2102f5127e1d9 100644 --- a/py/test/unit/selenium/webdriver/chrome/chrome_options_tests.py +++ b/py/test/unit/selenium/webdriver/chrome/chrome_options_tests.py @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -import platform +import sys from os import path import pytest @@ -91,7 +91,7 @@ def test_add_encoded_extension(options): def test_get_extensions_from_extension_files(options, mocker): - null = "NUL" if platform.system().lower() == "windows" else "/dev/null" + null = "NUL" if sys.platform == "win32" else "/dev/null" mocker.patch("selenium.webdriver.chromium.options.open").return_value = open(null) mocker.patch("base64.b64encode").return_value = b"foo" options._extension_files = ["foo"] From ed794f76c0aebcd7f5970c120340777263b7959e Mon Sep 17 00:00:00 2001 From: Pallavi Date: Fri, 29 Aug 2025 18:41:59 +0530 Subject: [PATCH 069/118] [py] Fix mypy type annotation issues in action_builder (#16207) Co-authored-by: Navin Chandra Co-authored-by: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> --- .../webdriver/common/actions/action_builder.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/py/selenium/webdriver/common/actions/action_builder.py b/py/selenium/webdriver/common/actions/action_builder.py index 211217edd7140..48859832de0e7 100644 --- a/py/selenium/webdriver/common/actions/action_builder.py +++ b/py/selenium/webdriver/common/actions/action_builder.py @@ -15,7 +15,8 @@ # specific language governing permissions and limitations # under the License. -from typing import Optional, Union + +from typing import Any, Optional, Union from selenium.webdriver.remote.command import Command @@ -40,7 +41,7 @@ def __init__( mouse = mouse or PointerInput(interaction.POINTER_MOUSE, "mouse") keyboard = keyboard or KeyInput(interaction.KEY) wheel = wheel or WheelInput(interaction.WHEEL) - self.devices = [mouse, keyboard, wheel] + self.devices: list[Union[PointerInput, KeyInput, WheelInput]] = [mouse, keyboard, wheel] self._key_action = KeyActions(keyboard) self._pointer_action = PointerActions(mouse, duration=duration) self._wheel_action = WheelActions(wheel) @@ -62,11 +63,11 @@ def get_device_with(self, name: str) -> Optional[Union["WheelInput", "PointerInp @property def pointer_inputs(self) -> list[PointerInput]: - return [device for device in self.devices if device.type == interaction.POINTER] + return [device for device in self.devices if isinstance(device, PointerInput)] @property def key_inputs(self) -> list[KeyInput]: - return [device for device in self.devices if device.type == interaction.KEY] + return [device for device in self.devices if isinstance(device, KeyInput)] @property def key_action(self) -> KeyActions: @@ -159,7 +160,7 @@ def perform(self) -> None: >>> el = driver.find_element(id: "some_id") >>> action_builder.click(el).pause(keyboard).pause(keyboard).pause(keyboard).send_keys("keys").perform() """ - enc = {"actions": []} + enc: dict[str, list[Any]] = {"actions": []} for device in self.devices: encoded = device.encode() if encoded["actions"]: From b59cfe04d39f7b6a81483345f64620311405c1bc Mon Sep 17 00:00:00 2001 From: Victoria Ivanova Date: Mon, 1 Sep 2025 00:45:15 -0700 Subject: [PATCH 070/118] [java] Refactored selectByContainsVisibleText and selectByVisibleText methods to remove code duplication (#16257) Co-authored-by: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Co-authored-by: Diego Molina --- .../openqa/selenium/support/ui/Select.java | 165 ++++++++---------- 1 file changed, 69 insertions(+), 96 deletions(-) diff --git a/java/src/org/openqa/selenium/support/ui/Select.java b/java/src/org/openqa/selenium/support/ui/Select.java index 9942b7057832e..23c3bc8a72654 100644 --- a/java/src/org/openqa/selenium/support/ui/Select.java +++ b/java/src/org/openqa/selenium/support/ui/Select.java @@ -122,55 +122,7 @@ public WebElement getFirstSelectedOption() { */ @Override public void selectByVisibleText(String text) { - assertSelectIsEnabled(); - assertSelectIsVisible(); - - // try to find the option via XPATH ... - List options = - element.findElements( - By.xpath(".//option[normalize-space(.) = " + Quotes.escape(text) + "]")); - - for (WebElement option : options) { - if (!hasCssPropertyAndVisible(option)) - throw new NoSuchElementException("Invisible option with text: " + text); - setSelected(option, true); - if (!isMultiple()) { - return; - } - } - - boolean matched = !options.isEmpty(); - if (!matched && text.contains(" ")) { - String subStringWithoutSpace = getLongestSubstringWithoutSpace(text); - List candidates; - if ("".equals(subStringWithoutSpace)) { - // hmm, text is either empty or contains only spaces - get all options ... - candidates = element.findElements(By.tagName("option")); - } else { - // get candidates via XPATH ... - candidates = - element.findElements( - By.xpath(".//option[contains(., " + Quotes.escape(subStringWithoutSpace) + ")]")); - } - - String trimmed = text.trim(); - - for (WebElement option : candidates) { - if (trimmed.equals(option.getText().trim())) { - if (!hasCssPropertyAndVisible(option)) - throw new NoSuchElementException("Invisible option with text: " + text); - setSelected(option, true); - if (!isMultiple()) { - return; - } - matched = true; - } - } - } - - if (!matched) { - throw new NoSuchElementException("Cannot locate option with text: " + text); - } + selectByVisibleText(text, false); } /** @@ -193,53 +145,7 @@ public void selectByVisibleText(String text) { */ @Override public void selectByContainsVisibleText(String text) { - assertSelectIsEnabled(); - assertSelectIsVisible(); - - // try to find the option via XPATH ... - List options = - element.findElements( - By.xpath(".//option[normalize-space(.) = " + Quotes.escape(text) + "]")); - - for (WebElement option : options) { - if (!hasCssPropertyAndVisible(option)) - throw new NoSuchElementException("Invisible option with text: " + text); - setSelected(option, true); - if (!isMultiple()) { - return; - } - } - - boolean matched = !options.isEmpty(); - if (!matched) { - String searchText = text.contains(" ") ? getLongestSubstringWithoutSpace(text) : text; - - List candidates; - if (searchText.isEmpty()) { - candidates = element.findElements(By.tagName("option")); - } else { - candidates = - element.findElements( - By.xpath(".//option[contains(., " + Quotes.escape(searchText) + ")]")); - } - - String trimmed = text.trim(); - for (WebElement option : candidates) { - if (option.getText().contains(trimmed)) { - if (!hasCssPropertyAndVisible(option)) - throw new NoSuchElementException("Invisible option with text: " + text); - setSelected(option, true); - if (!isMultiple()) { - return; - } - matched = true; - } - } - } - - if (!matched) { - throw new NoSuchElementException("Cannot locate option with text: " + text); - } + selectByVisibleText(text, true); } private String getLongestSubstringWithoutSpace(String s) { @@ -425,6 +331,73 @@ private void setSelected(WebElement option, boolean select) { } } + /** + * @param text The visible text to match against. It can be a partial match of the option if + * isPartialMatch = true + * @param isPartialMatch If true a partial match on the Options list will be performed, otherwise + * exact match + * @throws NoSuchElementException If no matching option elements are found or matching options are + * hidden + */ + private void selectByVisibleText(String text, boolean isPartialMatch) { + assertSelectIsEnabled(); + assertSelectIsVisible(); + + // try to find the option via XPATH ... + List options = + element.findElements( + By.xpath(".//option[normalize-space(.) = " + Quotes.escape(text) + "]")); + + for (WebElement option : options) { + if (!hasCssPropertyAndVisible(option)) + throw new NoSuchElementException("Invisible option with text: " + text); + + setSelected(option, true); + + if (!isMultiple()) { + return; + } + } + + boolean matched = !options.isEmpty(); + if (!matched) { + String searchText = text.contains(" ") ? getLongestSubstringWithoutSpace(text) : text; + + List candidates; + if (searchText.isEmpty()) { + candidates = element.findElements(By.tagName("option")); + } else { + candidates = + element.findElements( + By.xpath(".//option[contains(., " + Quotes.escape(searchText) + ")]")); + } + + String trimmed = text.trim(); + for (WebElement option : candidates) { + boolean isMatchedOptionFound = + isPartialMatch + ? option.getText().contains(trimmed) + : option.getText().trim().equals(trimmed); + + if (isMatchedOptionFound) { + if (!hasCssPropertyAndVisible(option)) + throw new NoSuchElementException("Invisible option with text: " + text); + + setSelected(option, true); + + if (!isMultiple()) { + return; + } + matched = true; + } + } + } + + if (!matched) { + throw new NoSuchElementException("Cannot locate option with text: " + text); + } + } + private void assertOptionIsEnabled(WebElement option, boolean select) { if (select && !option.isEnabled()) { throw new UnsupportedOperationException("You may not select a disabled option"); From f8396b93a5223240080058b93a29c76c6e24ae4c Mon Sep 17 00:00:00 2001 From: Navin Chandra Date: Mon, 1 Sep 2025 20:30:19 +0530 Subject: [PATCH 071/118] [py][bidi]: add `downloadEnd` event for browsing context (#16209) --- .../webdriver/common/bidi/browsing_context.py | 130 ++++++++++++++---- 1 file changed, 101 insertions(+), 29 deletions(-) diff --git a/py/selenium/webdriver/common/bidi/browsing_context.py b/py/selenium/webdriver/common/bidi/browsing_context.py index 9cd2913d80dc3..aa432fc356751 100644 --- a/py/selenium/webdriver/common/bidi/browsing_context.py +++ b/py/selenium/webdriver/common/bidi/browsing_context.py @@ -183,41 +183,17 @@ def __init__( @classmethod def from_json(cls, json: dict) -> "DownloadWillBeginParams": - """Creates a DownloadWillBeginParams instance from a dictionary. - - Parameters: - ----------- - json: A dictionary containing the download parameters. - - Returns: - ------- - DownloadWillBeginParams: A new instance of DownloadWillBeginParams. - """ - context = json.get("context") - if context is None or not isinstance(context, str): - raise ValueError("context is required and must be a string") - - navigation = json.get("navigation") - if navigation is not None and not isinstance(navigation, str): - raise ValueError("navigation must be a string") - - timestamp = json.get("timestamp") - if timestamp is None or not isinstance(timestamp, int) or timestamp < 0: - raise ValueError("timestamp is required and must be a non-negative integer") - - url = json.get("url") - if url is None or not isinstance(url, str): - raise ValueError("url is required and must be a string") + nav_info = NavigationInfo.from_json(json) suggested_filename = json.get("suggestedFilename") if suggested_filename is None or not isinstance(suggested_filename, str): raise ValueError("suggestedFilename is required and must be a string") return cls( - context=context, - navigation=navigation, - timestamp=timestamp, - url=url, + context=nav_info.context, + navigation=nav_info.navigation, + timestamp=nav_info.timestamp, + url=nav_info.url, suggested_filename=suggested_filename, ) @@ -375,6 +351,91 @@ def from_json(cls, json: dict) -> "HistoryUpdatedParams": ) +class DownloadCanceledParams(NavigationInfo): + def __init__( + self, + context: str, + navigation: Optional[str], + timestamp: int, + url: str, + status: str = "canceled", + ): + super().__init__(context, navigation, timestamp, url) + self.status = status + + @classmethod + def from_json(cls, json: dict) -> "DownloadCanceledParams": + nav_info = NavigationInfo.from_json(json) + + status = json.get("status") + if status is None or status != "canceled": + raise ValueError("status is required and must be 'canceled'") + + return cls( + context=nav_info.context, + navigation=nav_info.navigation, + timestamp=nav_info.timestamp, + url=nav_info.url, + status=status, + ) + + +class DownloadCompleteParams(NavigationInfo): + def __init__( + self, + context: str, + navigation: Optional[str], + timestamp: int, + url: str, + status: str = "complete", + filepath: Optional[str] = None, + ): + super().__init__(context, navigation, timestamp, url) + self.status = status + self.filepath = filepath + + @classmethod + def from_json(cls, json: dict) -> "DownloadCompleteParams": + nav_info = NavigationInfo.from_json(json) + + status = json.get("status") + if status is None or status != "complete": + raise ValueError("status is required and must be 'complete'") + + filepath = json.get("filepath") + if filepath is not None and not isinstance(filepath, str): + raise ValueError("filepath must be a string if provided") + + return cls( + context=nav_info.context, + navigation=nav_info.navigation, + timestamp=nav_info.timestamp, + url=nav_info.url, + status=status, + filepath=filepath, + ) + + +class DownloadEndParams: + """Parameters for the downloadEnd event.""" + + def __init__( + self, + download_params: Union[DownloadCanceledParams, DownloadCompleteParams], + ): + self.download_params = download_params + + @classmethod + def from_json(cls, json: dict) -> "DownloadEndParams": + status = json.get("status") + if status == "canceled": + return cls(DownloadCanceledParams.from_json(json)) + elif status == "complete": + return cls(DownloadCompleteParams.from_json(json)) + else: + raise ValueError("status must be either 'canceled' or 'complete'") + + class ContextCreated: """Event class for browsingContext.contextCreated event.""" @@ -523,6 +584,16 @@ def from_json(cls, json: dict): return HistoryUpdatedParams.from_json(json) +class DownloadEnd: + """Event class for browsingContext.downloadEnd event.""" + + event_class = "browsingContext.downloadEnd" + + @classmethod + def from_json(cls, json: dict): + return DownloadEndParams.from_json(json) + + @dataclass class EventConfig: event_key: str @@ -638,6 +709,7 @@ class BrowsingContext: "context_created": EventConfig("context_created", "browsingContext.contextCreated", ContextCreated), "context_destroyed": EventConfig("context_destroyed", "browsingContext.contextDestroyed", ContextDestroyed), "dom_content_loaded": EventConfig("dom_content_loaded", "browsingContext.domContentLoaded", DomContentLoaded), + "download_end": EventConfig("download_end", "browsingContext.downloadEnd", DownloadEnd), "download_will_begin": EventConfig( "download_will_begin", "browsingContext.downloadWillBegin", DownloadWillBegin ), From 775cfb33b193eb8832cd5488f298006f45254685 Mon Sep 17 00:00:00 2001 From: Victoria Ivanova Date: Tue, 2 Sep 2025 00:14:34 -0700 Subject: [PATCH 072/118] [js] [atoms] Fixed text transformation issue with text-transform: capitalize (#16275) Co-authored-by: Diego Molina --- javascript/atoms/dom.js | 11 +++++++++-- javascript/atoms/test/text_test.html | 14 ++++++++++++-- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/javascript/atoms/dom.js b/javascript/atoms/dom.js index d9eef5fb7b500..87a0fd559c5f8 100644 --- a/javascript/atoms/dom.js +++ b/javascript/atoms/dom.js @@ -1173,11 +1173,18 @@ bot.dom.appendVisibleTextLinesFromTextNode_ = function (textNode, lines, } if (textTransform == 'capitalize') { - // the unicode regex ending with /gu does not work in IE - var re = goog.userAgent.IE ? /(^|\s|\b)(\S)/g : /(^|\s|\b)(\S)/gu; + // 1) don't treat '_' as a separator (protects snake_case) + var re = /(^|[^'_0-9A-Za-z\u00C0-\u02AF\u1E00-\u1EFF\u24B6-\u24E9\u0300-\u036F\u1AB0-\u1AFF\u1DC0-\u1DFF])([A-Za-z\u00C0-\u02AF\u1E00-\u1EFF\u24B6-\u24E9])/g; text = text.replace(re, function () { return arguments[1] + arguments[2].toUpperCase(); }); + + // 2) capitalize after opening "_" or "*" + // Preceded by start or a non-word (so it won't fire for snake_case) + re = /(^|[^'_0-9A-Za-z\u00C0-\u02AF\u1E00-\u1EFF\u24B6-\u24E9])([_*])([A-Za-z\u00C0-\u02AF\u1E00-\u1EFF\u24D0-\u24E9])/g; + text = text.replace(re, function () { + return arguments[1] + arguments[2] + arguments[3].toUpperCase(); + }); } else if (textTransform == 'uppercase') { text = text.toUpperCase(); } else if (textTransform == 'lowercase') { diff --git a/javascript/atoms/test/text_test.html b/javascript/atoms/test/text_test.html index 5620902711039..5dc1a12c25de2 100644 --- a/javascript/atoms/test/text_test.html +++ b/javascript/atoms/test/text_test.html @@ -235,13 +235,13 @@ function testShouldRetainTheFormattingOfTextWithinAPreElement() { var text = getVisibleTextByElementId("preformatted"); - assertEquals(" This section has a preformatted\n text block \n split in four lines\n ", text); + assertEquals(" This section has a preformatted\n text block\n split in four lines\n ", text); } function testShouldRetainTheFormattingOfTextWithinAPreElementThatIsWithinARegularBlock() { var text = getVisibleTextByElementId("div-with-pre"); - assertEquals("before pre\n This section has a preformatted\n text block \n split in four lines\n \nafter pre", text); + assertEquals("before pre\n This section has a preformatted\n text block\n split in four lines\n \nafter pre", text); } function testGetVisibleTextShouldHandleCssContentReplacement() { @@ -264,6 +264,11 @@ text = getVisibleTextByElementId("uppercased"); assertEquals("HELLO, WORLD! BLA-BLA-BLA", text); + text = getVisibleTextByElementId("capitalized_accented_character"); + assertEquals("Fecha De Expiración", text); + text = getVisibleTextByElementId("capitalized_enye"); + assertEquals("Mañana", text); + text = getVisibleTextByElementId("capitalized-1"); assertEquals("Äåìî", text); text = getVisibleTextByElementId("capitalized-2"); @@ -423,6 +428,11 @@ hello, world! bla-bla-BLA
+ +
äåìî
Manipulowanie przepływem
From 58ed77791bf12591f77f27bfc6d76e2c1f4d45ff Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Wed, 3 Sep 2025 00:29:41 -0400 Subject: [PATCH 073/118] [py] Add test for Data URL in BiDi Network request handler (#16281) --- common/src/web/data_url.html | 10 +++++++ .../webdriver/common/bidi_network_tests.py | 28 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 common/src/web/data_url.html diff --git a/common/src/web/data_url.html b/common/src/web/data_url.html new file mode 100644 index 0000000000000..8ec284fee8080 --- /dev/null +++ b/common/src/web/data_url.html @@ -0,0 +1,10 @@ + + + + + Page containing an image encoded as a Data URL + + +star + + diff --git a/py/test/selenium/webdriver/common/bidi_network_tests.py b/py/test/selenium/webdriver/common/bidi_network_tests.py index d1a58c507e340..b493260d2d532 100644 --- a/py/test/selenium/webdriver/common/bidi_network_tests.py +++ b/py/test/selenium/webdriver/common/bidi_network_tests.py @@ -15,7 +15,11 @@ # specific language governing permissions and limitations # under the License. +import time +import pytest + +from selenium.common.exceptions import WebDriverException from selenium.webdriver.common.bidi.browsing_context import ReadinessState from selenium.webdriver.common.bidi.network import Request from selenium.webdriver.common.by import By @@ -93,3 +97,27 @@ def test_remove_auth_handler(driver): assert callback_id is not None, "Request handler not added" driver.network.remove_auth_handler(callback_id) assert driver.network.intercepts == [], "Intercept not removed" + + +@pytest.mark.xfail_chrome(reason="Data URLs in Network requests are not implemented in Chrome yet") +@pytest.mark.xfail_edge(reason="Data URLs in Network requests are not implemented in Edge yet") +@pytest.mark.xfail_firefox(reason="Data URLs in Network requests are not implemented in Firefox yet") +def test_handler_with_data_url_request(driver, pages): + data_requests = [] + exceptions = [] + + def callback(request: Request): + if request.url.startswith("data:"): + data_requests.append(request) + try: + request.continue_request() + except WebDriverException as e: + exceptions.append(e) + + driver.network.add_request_handler("before_request", callback) + url = pages.url("data_url.html") + driver.browsing_context.navigate(context=driver.current_window_handle, url=url, wait=ReadinessState.COMPLETE) + time.sleep(1) # give callback time to complete + assert driver.find_element(By.ID, "data-url-image").is_displayed() + assert len(data_requests) > 0, "BiDi event not captured" + assert len(exceptions) == 0, "Exception raised when continuing request in callback" From 1bad7afc8b3ae235c8a89ef97f1240f8b8c4a419 Mon Sep 17 00:00:00 2001 From: mtrea <32470080+mtrea@users.noreply.github.com> Date: Tue, 2 Sep 2025 21:38:55 -0700 Subject: [PATCH 074/118] [py] Specify the full path for fedcm import in webdriver.py (#16286) Co-authored-by: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> --- py/selenium/webdriver/remote/webdriver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/py/selenium/webdriver/remote/webdriver.py b/py/selenium/webdriver/remote/webdriver.py index fa6db4ba1c1e9..c92cbacab815a 100644 --- a/py/selenium/webdriver/remote/webdriver.py +++ b/py/selenium/webdriver/remote/webdriver.py @@ -49,6 +49,7 @@ from selenium.webdriver.common.bidi.storage import Storage from selenium.webdriver.common.bidi.webextension import WebExtension from selenium.webdriver.common.by import By +from selenium.webdriver.common.fedcm.dialog import Dialog from selenium.webdriver.common.options import ArgOptions, BaseOptions from selenium.webdriver.common.print_page_options import PrintOptions from selenium.webdriver.common.timeouts import Timeouts @@ -59,7 +60,6 @@ ) from selenium.webdriver.support.relative_locator import RelativeBy -from ..common.fedcm.dialog import Dialog from .bidi_connection import BidiConnection from .client_config import ClientConfig from .command import Command From da48c33999aaf6bb23553e7542b57f72f5e61d88 Mon Sep 17 00:00:00 2001 From: Navin Chandra Date: Thu, 4 Sep 2025 21:48:57 +0530 Subject: [PATCH 075/118] [java][bidi]: add `DownloadInfo` class and test for `onDownloadWillBegin` (#16267) --- .../bidi/browsingcontext/DownloadInfo.java | 80 +++++++++++++++++++ .../bidi/browsingcontext/NavigationInfo.java | 2 +- .../bidi/module/BrowsingContextInspector.java | 21 ++++- .../BrowsingContextInspectorTest.java | 23 ++++++ 4 files changed, 123 insertions(+), 3 deletions(-) create mode 100644 java/src/org/openqa/selenium/bidi/browsingcontext/DownloadInfo.java diff --git a/java/src/org/openqa/selenium/bidi/browsingcontext/DownloadInfo.java b/java/src/org/openqa/selenium/bidi/browsingcontext/DownloadInfo.java new file mode 100644 index 0000000000000..b5c6425026548 --- /dev/null +++ b/java/src/org/openqa/selenium/bidi/browsingcontext/DownloadInfo.java @@ -0,0 +1,80 @@ +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.openqa.selenium.bidi.browsingcontext; + +import org.openqa.selenium.json.JsonInput; + +public class DownloadInfo extends NavigationInfo { + + private final String suggestedFilename; + + private DownloadInfo( + String browsingContextId, + String navigationId, + long timestamp, + String url, + String suggestedFilename) { + super(browsingContextId, navigationId, timestamp, url); + this.suggestedFilename = suggestedFilename; + } + + public static DownloadInfo fromJson(JsonInput input) { + String browsingContextId = null; + String navigationId = null; + long timestamp = 0; + String url = null; + String suggestedFilename = null; + + input.beginObject(); + while (input.hasNext()) { + switch (input.nextName()) { + case "context": + browsingContextId = input.read(String.class); + break; + + case "navigation": + navigationId = input.read(String.class); + break; + + case "timestamp": + timestamp = input.read(Long.class); + break; + + case "url": + url = input.read(String.class); + break; + + case "suggestedFilename": + suggestedFilename = input.read(String.class); + break; + + default: + input.skipValue(); + break; + } + } + + input.endObject(); + + return new DownloadInfo(browsingContextId, navigationId, timestamp, url, suggestedFilename); + } + + public String getSuggestedFilename() { + return suggestedFilename; + } +} diff --git a/java/src/org/openqa/selenium/bidi/browsingcontext/NavigationInfo.java b/java/src/org/openqa/selenium/bidi/browsingcontext/NavigationInfo.java index 73f24c56229bc..76ec8bb99aa79 100644 --- a/java/src/org/openqa/selenium/bidi/browsingcontext/NavigationInfo.java +++ b/java/src/org/openqa/selenium/bidi/browsingcontext/NavigationInfo.java @@ -33,7 +33,7 @@ public class NavigationInfo { private final String url; - private NavigationInfo( + protected NavigationInfo( String browsingContextId, String navigationId, long timestamp, String url) { this.browsingContextId = browsingContextId; this.navigationId = navigationId; diff --git a/java/src/org/openqa/selenium/bidi/module/BrowsingContextInspector.java b/java/src/org/openqa/selenium/bidi/module/BrowsingContextInspector.java index 4b08dc9c11906..4b7637e2af22f 100644 --- a/java/src/org/openqa/selenium/bidi/module/BrowsingContextInspector.java +++ b/java/src/org/openqa/selenium/bidi/module/BrowsingContextInspector.java @@ -29,6 +29,7 @@ import org.openqa.selenium.bidi.Event; import org.openqa.selenium.bidi.HasBiDi; import org.openqa.selenium.bidi.browsingcontext.BrowsingContextInfo; +import org.openqa.selenium.bidi.browsingcontext.DownloadInfo; import org.openqa.selenium.bidi.browsingcontext.HistoryUpdated; import org.openqa.selenium.bidi.browsingcontext.NavigationInfo; import org.openqa.selenium.bidi.browsingcontext.UserPromptClosed; @@ -61,6 +62,14 @@ public class BrowsingContextInspector implements AutoCloseable { } }; + private final Function, DownloadInfo> downloadWillBeginMapper = + params -> { + try (StringReader reader = new StringReader(JSON.toJson(params)); + JsonInput input = JSON.newInput(reader)) { + return input.read(DownloadInfo.class); + } + }; + private final Event browsingContextCreated = new Event<>("browsingContext.contextCreated", browsingContextInfoMapper); @@ -79,6 +88,9 @@ public class BrowsingContextInspector implements AutoCloseable { private final Set> navigationEventSet = new HashSet<>(); + private final Event downloadWillBeginEvent = + new Event<>("browsingContext.downloadWillBegin", downloadWillBeginMapper); + private final Event userPromptOpened = new Event<>( "browsingContext.userPromptOpened", @@ -151,8 +163,12 @@ public void onBrowsingContextLoaded(Consumer consumer) { addNavigationEventListener("browsingContext.load", consumer); } - public void onDownloadWillBegin(Consumer consumer) { - addNavigationEventListener("browsingContext.downloadWillBegin", consumer); + public void onDownloadWillBegin(Consumer consumer) { + if (browsingContextIds.isEmpty()) { + this.bidi.addListener(downloadWillBeginEvent, consumer); + } else { + this.bidi.addListener(browsingContextIds, downloadWillBeginEvent, consumer); + } } public void onNavigationAborted(Consumer consumer) { @@ -210,6 +226,7 @@ public void close() { this.bidi.clearListener(userPromptOpened); this.bidi.clearListener(userPromptClosed); this.bidi.clearListener(historyUpdated); + this.bidi.clearListener(downloadWillBeginEvent); navigationEventSet.forEach(this.bidi::clearListener); } diff --git a/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest.java b/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest.java index b9b98905cc6f8..f869cf78961df 100644 --- a/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest.java +++ b/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest.java @@ -31,6 +31,7 @@ import org.openqa.selenium.bidi.module.BrowsingContextInspector; import org.openqa.selenium.testing.JupiterTestBase; import org.openqa.selenium.testing.NeedsFreshDriver; +import org.openqa.selenium.testing.NotYetImplemented; class BrowsingContextInspectorTest extends JupiterTestBase { @@ -231,4 +232,26 @@ void canListenToNavigationCommittedEvent() assertThat(navigationInfo.getUrl()).contains("/bidi/logEntryAdded.html"); } } + + @Test + @NeedsFreshDriver + @NotYetImplemented(FIREFOX) + void canListenToDownloadWillBeginEvent() + throws ExecutionException, InterruptedException, TimeoutException { + try (BrowsingContextInspector inspector = new BrowsingContextInspector(driver)) { + CompletableFuture future = new CompletableFuture<>(); + + inspector.onDownloadWillBegin(future::complete); + + BrowsingContext context = new BrowsingContext(driver, driver.getWindowHandle()); + context.navigate(appServer.whereIs("/downloads/download.html"), ReadinessState.COMPLETE); + + driver.findElement(By.id("file-1")).click(); + + DownloadInfo downloadInfo = future.get(5, TimeUnit.SECONDS); + assertThat(downloadInfo.getBrowsingContextId()).isEqualTo(context.getId()); + assertThat(downloadInfo.getUrl()).contains("/downloads/file_1.txt"); + assertThat(downloadInfo.getSuggestedFilename()).isEqualTo("file_1.txt"); + } + } } From a603bed8e83abece66d7071dffc4d6db6cf16d14 Mon Sep 17 00:00:00 2001 From: Navin Chandra Date: Thu, 4 Sep 2025 22:35:59 +0530 Subject: [PATCH 076/118] [java][bidi]: add test for `onNavigationFailed` (#16241) --- .../BrowsingContextInspectorTest.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest.java b/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest.java index f869cf78961df..93ddcfcb83d10 100644 --- a/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest.java +++ b/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest.java @@ -254,4 +254,29 @@ void canListenToDownloadWillBeginEvent() assertThat(downloadInfo.getSuggestedFilename()).isEqualTo("file_1.txt"); } } + + @Test + @NeedsFreshDriver + @NotYetImplemented(FIREFOX) + void canListenToNavigationFailedEvent() + throws ExecutionException, InterruptedException, TimeoutException { + try (BrowsingContextInspector inspector = new BrowsingContextInspector(driver)) { + CompletableFuture future = new CompletableFuture<>(); + + inspector.onNavigationFailed(future::complete); + + BrowsingContext context = new BrowsingContext(driver, driver.getWindowHandle()); + try { + context.navigate( + "http://invalid-domain-that-does-not-exist.test/", ReadinessState.COMPLETE); + } catch (Exception e) { + // Expect an exception due to navigation failure + } + + NavigationInfo navigationInfo = future.get(5, TimeUnit.SECONDS); + assertThat(navigationInfo.getBrowsingContextId()).isEqualTo(context.getId()); + assertThat(navigationInfo.getUrl()) + .isEqualTo("http://invalid-domain-that-does-not-exist.test/"); + } + } } From 01548e0a94254a8bd63a10dc7aa8dbf100f90869 Mon Sep 17 00:00:00 2001 From: Lauro Moura Date: Thu, 4 Sep 2025 20:17:26 -0300 Subject: [PATCH 077/118] [py] Remove redundant driver_instance from conftest.py (#16271) --- py/conftest.py | 52 +++++++++++++++++++++++++------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/py/conftest.py b/py/conftest.py index 37f76fb1731b4..aeff257648150 100644 --- a/py/conftest.py +++ b/py/conftest.py @@ -23,6 +23,7 @@ import pytest from selenium import webdriver +from selenium.common.exceptions import WebDriverException from selenium.webdriver.remote.server import Server from test.selenium.webdriver.common.network import get_lan_ip from test.selenium.webdriver.common.webserver import SimpleWebServer @@ -101,7 +102,6 @@ def pytest_generate_tests(metafunc): metafunc.parametrize("driver", metafunc.config.option.drivers, indirect=True) -driver_instance = None selenium_driver = None @@ -276,7 +276,8 @@ def service(self): @property def driver(self): - self._driver = self._initialize_driver() + if self._driver is None: + self._driver = self._initialize_driver() return self._driver @property @@ -297,21 +298,15 @@ def _initialize_driver(self): kwargs["service"] = self.service return getattr(webdriver, self.driver_class)(**kwargs) - @property def stop_driver(self): - def fin(): - global driver_instance - if self._driver is not None: - self._driver.quit() - self._driver = None - driver_instance = None - - return fin + driver_to_stop = self._driver + self._driver = None + if driver_to_stop is not None: + driver_to_stop.quit() @pytest.fixture(scope="function") def driver(request): - global driver_instance global selenium_driver driver_class = getattr(request, "param", "Chrome").lower() @@ -345,38 +340,43 @@ def driver(request): request.addfinalizer(selenium_driver.stop_driver) - if driver_instance is None: - driver_instance = selenium_driver.driver - - yield driver_instance # Close the browser after BiDi tests. Those make event subscriptions # and doesn't seems to be stable enough, causing the flakiness of the # subsequent tests. # Remove this when BiDi implementation and API is stable. - if selenium_driver.bidi: + if selenium_driver is not None and selenium_driver.bidi: request.addfinalizer(selenium_driver.stop_driver) + yield selenium_driver.driver + if request.node.get_closest_marker("no_driver_after_test"): - driver_instance = None + if selenium_driver is not None: + try: + selenium_driver.stop_driver() + except WebDriverException: + pass + except Exception: + raise + selenium_driver = None @pytest.fixture(scope="session", autouse=True) def stop_driver(request): def fin(): - global driver_instance - if driver_instance is not None: - driver_instance.quit() - driver_instance = None + global selenium_driver + if selenium_driver is not None: + selenium_driver.stop_driver() + selenium_driver = None request.addfinalizer(fin) def pytest_exception_interact(node, call, report): if report.failed: - global driver_instance - if driver_instance is not None: - driver_instance.quit() - driver_instance = None + global selenium_driver + if selenium_driver is not None: + selenium_driver.stop_driver() + selenium_driver = None @pytest.fixture From 3491e415d10ec3eca1e72cc53f0efc6088926fe5 Mon Sep 17 00:00:00 2001 From: joerg1985 <16140691+joerg1985@users.noreply.github.com> Date: Fri, 5 Sep 2025 14:50:58 +0200 Subject: [PATCH 078/118] [grid] update to netty 4.2.4 (#16194) --- MODULE.bazel | 5 +- java/maven_install.json | 223 +++++++++++++----- .../selenium/netty/server/NettyServer.java | 7 +- .../src/org/openqa/selenium/redis/BUILD.bazel | 3 + 4 files changed, 178 insertions(+), 60 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 0080fc4a90b22..9fa05793a9b8d 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -184,6 +184,8 @@ maven.install( "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:3.25.5", + "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", @@ -213,6 +215,7 @@ maven.install( "org.bouncycastle:bcpkix-jdk18on:1.81", "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", @@ -232,7 +235,7 @@ maven.install( ], boms = [ "io.opentelemetry:opentelemetry-bom:1.53.0", - "io.netty:netty-bom:4.1.121.Final", + "io.netty:netty-bom:4.2.4.Final", "org.junit:junit-bom:5.13.4", ], excluded_artifacts = [ diff --git a/java/maven_install.json b/java/maven_install.json index f6c5331da6926..61028ec6e91b8 100644 --- a/java/maven_install.json +++ b/java/maven_install.json @@ -1,7 +1,7 @@ { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": 558417936, - "__RESOLVED_ARTIFACTS_HASH": -92778682, + "__INPUT_ARTIFACTS_HASH": -1992217936, + "__RESOLVED_ARTIFACTS_HASH": 670135305, "artifacts": { "com.beust:jcommander": { "shasums": { @@ -177,6 +177,20 @@ }, "version": "3.0.0" }, + "com.google.protobuf.nano:protobuf-javanano": { + "shasums": { + "jar": "519d4a8330e8bd6a62aa0081c3d8b7f10e5a7fc62d06307644fdc6ae5b11bdf4", + "sources": "9d209a47b1b811328d52fe76a4d584c4443cd2001396026640a6867282d4662c" + }, + "version": "3.1.0" + }, + "com.google.protobuf:protobuf-java": { + "shasums": { + "jar": "8540247fad9e06baefa8fb45eb313802d019f485f14300e0f9d6b556ed88e753", + "sources": "d686e802329e42954e72e9b3b148b67eeb4f6f3ed327abc4508b79fda4937c3b" + }, + "version": "3.25.5" + }, "com.graphql-java:graphql-java": { "shasums": { "jar": "a9a9ffbbb20493b7b2ee4e07879d530096ce1b5c5cfc697bd28b9ee50daf0b1b", @@ -242,94 +256,122 @@ }, "io.netty:netty-buffer": { "shasums": { - "jar": "7d6ce32479f6f1326637ba118061bad31c3f7279f5fc2887aae8cba2526dcbff", - "sources": "bf48a9e792d3e8a885ecd6047b456b4fb5c468da00a6a537582522a6df30ceba" + "jar": "9e0dd42f1eabc58433962efa329acd372df305c30a6a58cd17feb1cd32f9e289", + "sources": "46ccc0b286ac575b42ebfc6ccc58c02888996cfb090049484a78bd96375b0ea5" }, - "version": "4.1.121.Final" + "version": "4.2.4.Final" }, "io.netty:netty-codec": { "shasums": { - "jar": "140f3a8d784aefd81700383471bd9220feb3438e5b1f441b6f80548529d9d516", - "sources": "f17c838addf2b7da6e826eb92c6fdb1a4024efeb5ab19e59701329cc9d63933f" + "jar": "86da6271c6d2ef06cf5e42a03bbc67a5f074f9778464f512f1c84c33fbfc89a9", + "sources": "56f1adb200d60a4ee01785f00e271c37766d1c955536f54fa08ea475424d948e" }, - "version": "4.1.121.Final" + "version": "4.2.4.Final" + }, + "io.netty:netty-codec-base": { + "shasums": { + "jar": "0af2c137a8a3b264baf15887470d856a89bf712025a08652c3038bfffbfe6634", + "sources": "01a4cfd4793e50153cc4826458120590f6f7321d72b6fe2231eb894140e2422d" + }, + "version": "4.2.4.Final" + }, + "io.netty:netty-codec-compression": { + "shasums": { + "jar": "63971c806632b08389c6d0b3c9d853dfef047618cd4cf555f23a992e155ce09c", + "sources": "adba308c520c2b7c76b84d551add8b606355ac051ba4f2c631b2c5f07d917100" + }, + "version": "4.2.4.Final" }, "io.netty:netty-codec-dns": { "shasums": { - "jar": "1652e3aa9508f5bfcb400ce72d6f7b824b68bc2a15e347285f9a88b008eef821", - "sources": "e703097aaca60b51a44f1084a171f9f10a62dfb7dd831bf94d759f36c347adb4" + "jar": "d5af43be74356efe87520478e6ab55132c9c023e96c99e1a438f3e5860cd5c9e", + "sources": "0ac96df3a2d79b619e862e26525491b9364c201bbce9d82a82da1569fd63d69f" }, - "version": "4.1.121.Final" + "version": "4.2.4.Final" }, "io.netty:netty-codec-http": { "shasums": { - "jar": "5dab40173bdf9219a7d9f3ae94acb0659d5c0e20ff6d5ffbd7b39a1268c31c1a", - "sources": "ea12082b94cb758297fcc8e2a1f77aa06a0c6fefd7fa7e9c1ecefebbb7c1ef02" + "jar": "bde689ddf294f70f105d0955cfc6d784d1e5ee4ea7730a733b1fc4728456d950", + "sources": "bbba2b1424ab83003c0252bd3433d514d93a709390873e140f0fdb41f9cf1bda" }, - "version": "4.1.121.Final" + "version": "4.2.4.Final" }, "io.netty:netty-codec-http2": { "shasums": { - "jar": "7513c0d74ae4c70b86b18fc7f25a2f97ae57b1cbdb38c5f6d547ea14d5ddecc7", - "sources": "4efd24503ee3741a860c3d81b63fb04852477c18bbef4896293ac2389888fc0f" + "jar": "89dc4fedb5c466d7ccdcc1193e4bb247a69b09042e7e4df994f3c4350d3102ee", + "sources": "05db5f67340ece2fe86cffba2bd6555e212acc5e0572853b83dd95bff69587f8" + }, + "version": "4.2.4.Final" + }, + "io.netty:netty-codec-marshalling": { + "shasums": { + "jar": "2a3a8b1e631284fd2b538c11c9bd346c93ff16dc1c70bbab558dc8f24f1a4044", + "sources": "ee6fec7b009c0fccdeacc33febe45973e9ccfa1ec342369c2f01bbfcb994ec5c" }, - "version": "4.1.121.Final" + "version": "4.2.4.Final" + }, + "io.netty:netty-codec-protobuf": { + "shasums": { + "jar": "2318f521017dee8e0e4e50fd8d5e8a1b1d4762dcb69ea9aa52a7b79ff8c760bf", + "sources": "61b817cbbf3dca1287fcc8b7525521561fefcdc94fa407f46b4ed4efcb9f9e98" + }, + "version": "4.2.4.Final" }, "io.netty:netty-codec-socks": { "shasums": { - "jar": "14ba49e5c4f56c62b1bd017f6b987df360a41093bbe9df340fc2e35b1c284b56", - "sources": "7af26df3ccc18832690f6baca36fa0224042c1b9c14068038c2912150b45ce22" + "jar": "d878e818f39b0d40bbfa942c7aaecea8cd62f14d3474e7b1e69a86dbea9d13cd", + "sources": "1c2ff437576f46a6d6f14c2f066518994be2bcd8fe3295828cf06c4467f1eb0e" }, - "version": "4.1.121.Final" + "version": "4.2.4.Final" }, "io.netty:netty-common": { "shasums": { - "jar": "58ddcad98fa2dbe69c9080e53e56e65cd50f61a3e45106b423cbad06b572a689", - "sources": "b4e2d483da54fa6030d451c15c7035f8a38abde1e6c630692abfc799e601b317" + "jar": "dd57448463662154c32e0cfa099960a16eda5f0896050e44195b0fc29863837f", + "sources": "179d3073b473a446089083e5455904719f4ee145921c69023a883498b9d010bd" }, - "version": "4.1.121.Final" + "version": "4.2.4.Final" }, "io.netty:netty-handler": { "shasums": { - "jar": "ddf550c1f3dfc4fcf2cbfca483474ac68941df2cce4cc3e5bddcbb15065c5169", - "sources": "6ff5fb4f804ede12ebcf318ce458a3f71c9b3ee51023a3caa66711b9d7c40394" + "jar": "5280b7ec84d494051ba99639c86793b04d924ea7ebdadac1528e66f4fe8392c8", + "sources": "7ba3d1009cbf9aab7af8d773c1805d14d19b70cabebcae204aad2e44126813b3" }, - "version": "4.1.121.Final" + "version": "4.2.4.Final" }, "io.netty:netty-handler-proxy": { "shasums": { - "jar": "2eb22bd8f0952ebd28503e01960c6ef96270dd3a7f0fa57b72ad0287ebdc238a", - "sources": "0f56bdb43afabaf19968e57bcadd67f8f3be84e2d86bbd8cda14387c2bea1b2f" + "jar": "14643a410912aae6314df96f80528ce4f89dfda1d2c7538bb3ee3f88de55a24f", + "sources": "f5531ddfaddfa86271e938565a5508dd493e00bede7da1ab38c748d030a0aa30" }, - "version": "4.1.121.Final" + "version": "4.2.4.Final" }, "io.netty:netty-resolver": { "shasums": { - "jar": "50ce227a5eb56e0b2e6b6c4e619de42350cbb9dff0728b906e3be8ad89158e87", - "sources": "e783e2ff5161de56d16250e848d350f9d866a93ef41947864bef1dff2b21bcc7" + "jar": "152b6531c0f9092b6a5c40c9ab709cfac275e433b4c080501740790d39863a0c", + "sources": "b9bda1f6739d96e856cfde6725824d9ac185c586d713dcf0fbf0c78e1fbce6cb" }, - "version": "4.1.121.Final" + "version": "4.2.4.Final" }, "io.netty:netty-resolver-dns": { "shasums": { - "jar": "25a09642d926a9f8d552e2667765b9a847bfcf266b897717c409884e174dffd3", - "sources": "2072364b19db8804200ef3b8c6300a31f8becdcef85b12ed2b26ee8f84519646" + "jar": "234325c9efa5f2583fc291d47d12168222abf9cadae7b54a560583ac3db08be1", + "sources": "12b16163864ae8f55cac110a48faf94bdb81fa9a0cc6df26752815651e828a47" }, - "version": "4.1.121.Final" + "version": "4.2.4.Final" }, "io.netty:netty-transport": { "shasums": { - "jar": "2dcc65e700858d3b080efb5a8af85a2de93d80b4616161fe031913fd840236ef", - "sources": "f469be248924c6752962ea437881f4c7ff59ca120b7c1c1fc4b54f8356fb84f1" + "jar": "c7873858bcf25d59211f99d3dd35a52d644efc5116cd0a00cd4402b3d23c6372", + "sources": "01ccb80cb2c357aa6ee707074a7a1b75658cfe4fb5a6836587e3e1b6a1b3099d" }, - "version": "4.1.121.Final" + "version": "4.2.4.Final" }, "io.netty:netty-transport-native-unix-common": { "shasums": { - "jar": "d8c368a320f5478e5745eee3525aca011219d61b848bc1c11e047ed18104bdea", - "sources": "baad6b89d0dd1a9cb7f646966c9d69cdb448ab7ed656fd3533a9969615080600" + "jar": "d2e4f5a147af8546f5250f1fa7d1bc08b0f28e15f0f3195c7f24ebb1862a43c1", + "sources": "fb93ce5111649f8c9fded892448bb20f977f841fc10c52ad70a2fa1b09586f2e" }, - "version": "4.1.121.Final" + "version": "4.2.4.Final" }, "io.opentelemetry:opentelemetry-api": { "shasums": { @@ -590,6 +632,13 @@ }, "version": "4.14.0" }, + "org.jboss.marshalling:jboss-marshalling": { + "shasums": { + "jar": "e30c2f61f0812ca54e3a42dfe074aeef0b2613ddae2503cc9e258eafef61229b", + "sources": "843b70039ef83e65d181304af69bf07ea4a8248ab7a80c0ae228ebe4bd9cf93e" + }, + "version": "2.2.3.Final" + }, "org.jodd:jodd-util": { "shasums": { "jar": "e5c676715897124101f74900dd1f98ebbcad9da3ab2dffbac6e7712612094427", @@ -902,39 +951,67 @@ ], "io.netty:netty-codec": [ "io.netty:netty-buffer", + "io.netty:netty-codec-base", + "io.netty:netty-codec-compression", + "io.netty:netty-codec-marshalling", + "io.netty:netty-codec-protobuf", + "io.netty:netty-common", + "io.netty:netty-transport" + ], + "io.netty:netty-codec-base": [ + "io.netty:netty-buffer", + "io.netty:netty-common", + "io.netty:netty-transport" + ], + "io.netty:netty-codec-compression": [ + "io.netty:netty-buffer", + "io.netty:netty-codec-base", "io.netty:netty-common", "io.netty:netty-transport" ], "io.netty:netty-codec-dns": [ "io.netty:netty-buffer", - "io.netty:netty-codec", + "io.netty:netty-codec-base", "io.netty:netty-common", "io.netty:netty-transport" ], "io.netty:netty-codec-http": [ "io.netty:netty-buffer", - "io.netty:netty-codec", + "io.netty:netty-codec-base", + "io.netty:netty-codec-compression", "io.netty:netty-common", "io.netty:netty-handler", "io.netty:netty-transport" ], "io.netty:netty-codec-http2": [ "io.netty:netty-buffer", - "io.netty:netty-codec", + "io.netty:netty-codec-base", "io.netty:netty-codec-http", "io.netty:netty-common", "io.netty:netty-handler", "io.netty:netty-transport" ], + "io.netty:netty-codec-marshalling": [ + "io.netty:netty-buffer", + "io.netty:netty-codec-base", + "io.netty:netty-common", + "io.netty:netty-transport" + ], + "io.netty:netty-codec-protobuf": [ + "io.netty:netty-buffer", + "io.netty:netty-codec-base", + "io.netty:netty-common", + "io.netty:netty-transport" + ], "io.netty:netty-codec-socks": [ "io.netty:netty-buffer", - "io.netty:netty-codec", + "io.netty:netty-codec-base", "io.netty:netty-common", "io.netty:netty-transport" ], "io.netty:netty-handler": [ "io.netty:netty-buffer", - "io.netty:netty-codec", + "io.netty:netty-codec-base", "io.netty:netty-common", "io.netty:netty-resolver", "io.netty:netty-transport", @@ -942,10 +1019,11 @@ ], "io.netty:netty-handler-proxy": [ "io.netty:netty-buffer", - "io.netty:netty-codec", + "io.netty:netty-codec-base", "io.netty:netty-codec-http", "io.netty:netty-codec-socks", "io.netty:netty-common", + "io.netty:netty-handler", "io.netty:netty-transport" ], "io.netty:netty-resolver": [ @@ -953,7 +1031,7 @@ ], "io.netty:netty-resolver-dns": [ "io.netty:netty-buffer", - "io.netty:netty-codec", + "io.netty:netty-codec-base", "io.netty:netty-codec-dns", "io.netty:netty-common", "io.netty:netty-handler", @@ -1392,6 +1470,13 @@ "com.google.j2objc:j2objc-annotations": [ "com.google.j2objc.annotations" ], + "com.google.protobuf.nano:protobuf-javanano": [ + "com.google.protobuf.nano" + ], + "com.google.protobuf:protobuf-java": [ + "com.google.protobuf", + "com.google.protobuf.compiler" + ], "com.graphql-java:graphql-java": [ "graphql", "graphql.agent.result", @@ -1567,19 +1652,19 @@ ], "io.netty:netty-buffer": [ "io.netty.buffer", - "io.netty.buffer.search" + "io.netty.buffer.search", + "io.netty.buffer.svm" ], - "io.netty:netty-codec": [ + "io.netty:netty-codec-base": [ "io.netty.handler.codec", "io.netty.handler.codec.base64", "io.netty.handler.codec.bytes", - "io.netty.handler.codec.compression", "io.netty.handler.codec.json", - "io.netty.handler.codec.marshalling", - "io.netty.handler.codec.protobuf", "io.netty.handler.codec.serialization", - "io.netty.handler.codec.string", - "io.netty.handler.codec.xml" + "io.netty.handler.codec.string" + ], + "io.netty:netty-codec-compression": [ + "io.netty.handler.codec.compression" ], "io.netty:netty-codec-dns": [ "io.netty.handler.codec.dns" @@ -1598,6 +1683,12 @@ "io.netty:netty-codec-http2": [ "io.netty.handler.codec.http2" ], + "io.netty:netty-codec-marshalling": [ + "io.netty.handler.codec.marshalling" + ], + "io.netty:netty-codec-protobuf": [ + "io.netty.handler.codec.protobuf" + ], "io.netty:netty-codec-socks": [ "io.netty.handler.codec.socks", "io.netty.handler.codec.socksx", @@ -1627,7 +1718,6 @@ "io.netty.handler.logging", "io.netty.handler.pcap", "io.netty.handler.ssl", - "io.netty.handler.ssl.ocsp", "io.netty.handler.ssl.util", "io.netty.handler.stream", "io.netty.handler.timeout", @@ -2501,6 +2591,13 @@ "org.htmlunit.corejs.javascript.v8dtoa", "org.htmlunit.corejs.javascript.xml" ], + "org.jboss.marshalling:jboss-marshalling": [ + "org.jboss.marshalling", + "org.jboss.marshalling._private", + "org.jboss.marshalling.cloner", + "org.jboss.marshalling.reflect", + "org.jboss.marshalling.util" + ], "org.jodd:jodd-util": [ "jodd", "jodd.bean", @@ -2929,6 +3026,10 @@ "com.google.guava:listenablefuture", "com.google.j2objc:j2objc-annotations", "com.google.j2objc:j2objc-annotations:jar:sources", + "com.google.protobuf.nano:protobuf-javanano", + "com.google.protobuf.nano:protobuf-javanano:jar:sources", + "com.google.protobuf:protobuf-java", + "com.google.protobuf:protobuf-java:jar:sources", "com.graphql-java:graphql-java", "com.graphql-java:graphql-java:jar:sources", "com.graphql-java:java-dataloader", @@ -2950,12 +3051,20 @@ "io.netty:netty-buffer", "io.netty:netty-buffer:jar:sources", "io.netty:netty-codec", + "io.netty:netty-codec-base", + "io.netty:netty-codec-base:jar:sources", + "io.netty:netty-codec-compression", + "io.netty:netty-codec-compression:jar:sources", "io.netty:netty-codec-dns", "io.netty:netty-codec-dns:jar:sources", "io.netty:netty-codec-http", "io.netty:netty-codec-http2", "io.netty:netty-codec-http2:jar:sources", "io.netty:netty-codec-http:jar:sources", + "io.netty:netty-codec-marshalling", + "io.netty:netty-codec-marshalling:jar:sources", + "io.netty:netty-codec-protobuf", + "io.netty:netty-codec-protobuf:jar:sources", "io.netty:netty-codec-socks", "io.netty:netty-codec-socks:jar:sources", "io.netty:netty-codec:jar:sources", @@ -3047,6 +3156,8 @@ "org.hsqldb:hsqldb:jar:sources", "org.htmlunit:htmlunit-core-js", "org.htmlunit:htmlunit-core-js:jar:sources", + "org.jboss.marshalling:jboss-marshalling", + "org.jboss.marshalling:jboss-marshalling:jar:sources", "org.jodd:jodd-util", "org.jodd:jodd-util:jar:sources", "org.jspecify:jspecify", diff --git a/java/src/org/openqa/selenium/netty/server/NettyServer.java b/java/src/org/openqa/selenium/netty/server/NettyServer.java index c6b284bcbc62f..65d3e18e9afe4 100644 --- a/java/src/org/openqa/selenium/netty/server/NettyServer.java +++ b/java/src/org/openqa/selenium/netty/server/NettyServer.java @@ -20,7 +20,8 @@ import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.Channel; import io.netty.channel.EventLoopGroup; -import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.MultiThreadIoEventLoopGroup; +import io.netty.channel.nio.NioIoHandler; import io.netty.channel.socket.nio.NioServerSocketChannel; import io.netty.handler.logging.LogLevel; import io.netty.handler.logging.LoggingHandler; @@ -99,8 +100,8 @@ public NettyServer( this.handler = handler.with(new ErrorFilter().andThen(new AddWebDriverSpecHeaders())); - bossGroup = new NioEventLoopGroup(1); - workerGroup = new NioEventLoopGroup(); + bossGroup = new MultiThreadIoEventLoopGroup(1, NioIoHandler.newFactory()); + workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); port = options.getPort(); host = options.getHostname().orElse("0.0.0.0"); diff --git a/java/src/org/openqa/selenium/redis/BUILD.bazel b/java/src/org/openqa/selenium/redis/BUILD.bazel index 70179776e930b..52f992fc030d5 100644 --- a/java/src/org/openqa/selenium/redis/BUILD.bazel +++ b/java/src/org/openqa/selenium/redis/BUILD.bazel @@ -10,7 +10,10 @@ java_library( ], deps = [ "//java/src/org/openqa/selenium/grid/data", + artifact("com.google.protobuf:protobuf-java"), + artifact("com.google.protobuf.nano:protobuf-javanano"), artifact("io.lettuce:lettuce-core"), + artifact("org.jboss.marshalling:jboss-marshalling"), artifact("org.redisson:redisson"), ], ) From 334b760bd996aec39778032281809a72c8e37577 Mon Sep 17 00:00:00 2001 From: Pallavi Date: Sat, 6 Sep 2025 17:53:29 +0530 Subject: [PATCH 079/118] [py] Fix mypy errors (#16283) --- .../webdriver/common/actions/interaction.py | 6 ++++-- .../webdriver/common/actions/key_actions.py | 17 +++-------------- .../webdriver/common/actions/wheel_actions.py | 4 ++-- 3 files changed, 9 insertions(+), 18 deletions(-) diff --git a/py/selenium/webdriver/common/actions/interaction.py b/py/selenium/webdriver/common/actions/interaction.py index 6225efcf143e7..413ee773f741c 100644 --- a/py/selenium/webdriver/common/actions/interaction.py +++ b/py/selenium/webdriver/common/actions/interaction.py @@ -16,11 +16,13 @@ # under the License. from typing import Union +from .input_device import InputDevice + KEY = "key" POINTER = "pointer" NONE = "none" WHEEL = "wheel" -SOURCE_TYPES = {KEY, POINTER, NONE} +SOURCE_TYPES = {KEY, POINTER, WHEEL, NONE} POINTER_MOUSE = "mouse" POINTER_TOUCH = "touch" @@ -32,7 +34,7 @@ class Interaction: PAUSE = "pause" - def __init__(self, source: str) -> None: + def __init__(self, source: InputDevice) -> None: self.source = source diff --git a/py/selenium/webdriver/common/actions/key_actions.py b/py/selenium/webdriver/common/actions/key_actions.py index b5052fe5b188e..bc23244478902 100644 --- a/py/selenium/webdriver/common/actions/key_actions.py +++ b/py/selenium/webdriver/common/actions/key_actions.py @@ -18,7 +18,7 @@ from __future__ import annotations from ..utils import keys_to_typing -from .interaction import KEY, POINTER, WHEEL, Interaction +from .interaction import KEY, Interaction from .key_input import KeyInput from .pointer_input import PointerInput from .wheel_input import WheelInput @@ -29,18 +29,7 @@ def __init__(self, source: KeyInput | PointerInput | WheelInput | None = None) - if source is None: source = KeyInput(KEY) self.input_source = source - - # Determine the correct source type string based on the input object - if isinstance(source, KeyInput): - source_type = KEY - elif isinstance(source, PointerInput): - source_type = POINTER - elif isinstance(source, WheelInput): - source_type = WHEEL - else: - source_type = KEY - - super().__init__(source_type) + super().__init__(source) def key_down(self, letter: str) -> KeyActions: return self._key_action("create_key_down", letter) @@ -60,6 +49,6 @@ def send_keys(self, text: str | list) -> KeyActions: return self def _key_action(self, action: str, letter) -> KeyActions: - meth = getattr(self.input_source, action) + meth = getattr(self.source, action) meth(letter) return self diff --git a/py/selenium/webdriver/common/actions/wheel_actions.py b/py/selenium/webdriver/common/actions/wheel_actions.py index f258f293a6d76..16da6bc56b527 100644 --- a/py/selenium/webdriver/common/actions/wheel_actions.py +++ b/py/selenium/webdriver/common/actions/wheel_actions.py @@ -17,14 +17,14 @@ from typing import Optional -from .interaction import Interaction +from .interaction import WHEEL, Interaction from .wheel_input import WheelInput class WheelActions(Interaction): def __init__(self, source: Optional[WheelInput] = None): if source is None: - source = WheelInput("wheel") + source = WheelInput(WHEEL) super().__init__(source) def pause(self, duration: float = 0): From caca4ff72984c4f286240f7286d1bfc023379c88 Mon Sep 17 00:00:00 2001 From: Vaibhav Gupta Date: Mon, 8 Sep 2025 06:11:45 +0530 Subject: [PATCH 080/118] [py] Update DesiredCapabilities example to use modern Options API (#16295) Co-authored-by: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> --- .../webdriver/common/desired_capabilities.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/py/selenium/webdriver/common/desired_capabilities.py b/py/selenium/webdriver/common/desired_capabilities.py index 89d7168436315..8fb995b5047d8 100644 --- a/py/selenium/webdriver/common/desired_capabilities.py +++ b/py/selenium/webdriver/common/desired_capabilities.py @@ -26,19 +26,17 @@ class DesiredCapabilities: Usage Example:: from selenium import webdriver + from selenium.webdriver.firefox.options import Options selenium_grid_url = "http://198.0.0.1:4444/wd/hub" - # Create a desired capabilities object as a starting point. - capabilities = DesiredCapabilities.FIREFOX.copy() - capabilities["platform"] = "WINDOWS" - capabilities["version"] = "10" + # Create a new Options object for the desired browser. + options = Options() + options.set_capability("platformName", "windows") + options.browser_version = "142" - # Instantiate an instance of Remote WebDriver with the desired capabilities. - driver = webdriver.Remote(desired_capabilities=capabilities, command_executor=selenium_grid_url) - - Note: Always use '.copy()' on the DesiredCapabilities object to avoid the side - effects of altering the Global class instance. + # Instantiate an instance of Remote WebDriver with the new options. + driver = webdriver.Remote(command_executor=selenium_grid_url, options=options) """ FIREFOX = { From d6b9bc4ff2e21f7fb104a0fff04cd4e9e5a0b2bb Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Mon, 8 Sep 2025 08:52:12 -0400 Subject: [PATCH 081/118] [build] Bump setup-python version in workflows (#16301) --- .github/workflows/ci-python.yml | 8 ++++---- .github/workflows/update-documentation.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) 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/update-documentation.yml b/.github/workflows/update-documentation.yml index 5297f41ebfc0f..d9d1ff83f197f 100644 --- a/.github/workflows/update-documentation.yml +++ b/.github/workflows/update-documentation.yml @@ -68,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 From b562a93362259df54cae85367e10ee95e3f02631 Mon Sep 17 00:00:00 2001 From: Augustin Gottlieb <33221555+aguspe@users.noreply.github.com> Date: Mon, 8 Sep 2025 20:55:48 +0200 Subject: [PATCH 082/118] [rb] BiDi get client windows (#16211) --- rb/lib/selenium/webdriver/bidi/browser.rb | 24 ++++++- .../webdriver/bidi/browsing_context.rb | 2 +- .../lib/selenium/webdriver/bidi/browser.rbs | 2 + .../selenium/webdriver/action_builder_spec.rb | 13 ++-- .../selenium/webdriver/bidi/browser_spec.rb | 64 ++++++++++--------- .../selenium/webdriver/window_spec.rb | 2 +- 6 files changed, 67 insertions(+), 40 deletions(-) diff --git a/rb/lib/selenium/webdriver/bidi/browser.rb b/rb/lib/selenium/webdriver/bidi/browser.rb index e5d64e1fdbd9f..f6d9e9202fb5c 100644 --- a/rb/lib/selenium/webdriver/bidi/browser.rb +++ b/rb/lib/selenium/webdriver/bidi/browser.rb @@ -21,6 +21,11 @@ module Selenium module WebDriver class BiDi class Browser + Window = Struct.new(:handle, :active, :height, :width, :x, :y, :state) do + def active? + active + end + end def initialize(bidi) @bidi = bidi end @@ -36,7 +41,24 @@ def user_contexts def remove_user_context(user_context) @bidi.send_cmd('browser.removeUserContext', userContext: user_context) end - end + + def windows + response = @bidi.send_cmd('browser.getClientWindows') + + response['clientWindows'].map do |win_data| + attributes = { + handle: win_data['clientWindow'], + active: win_data['active'], + height: win_data['height'], + width: win_data['width'], + x: win_data['x'], + y: win_data['y'], + state: win_data['state'] + } + Window.new(**attributes) + end + end + end # Browser end # BiDi end # WebDriver end # Selenium diff --git a/rb/lib/selenium/webdriver/bidi/browsing_context.rb b/rb/lib/selenium/webdriver/bidi/browsing_context.rb index ed59d23b381e8..32816740ffe0f 100644 --- a/rb/lib/selenium/webdriver/bidi/browsing_context.rb +++ b/rb/lib/selenium/webdriver/bidi/browsing_context.rb @@ -109,7 +109,7 @@ def activate(context_id: nil) context_id ||= @bridge.window_handle @bidi.send_cmd('browsingContext.activate', context: context_id) end - end + end # BrowsingContext end # BiDi end # WebDriver end # Selenium diff --git a/rb/sig/lib/selenium/webdriver/bidi/browser.rbs b/rb/sig/lib/selenium/webdriver/bidi/browser.rbs index fe6f06548c9ac..a2e51e3d21004 100644 --- a/rb/sig/lib/selenium/webdriver/bidi/browser.rbs +++ b/rb/sig/lib/selenium/webdriver/bidi/browser.rbs @@ -2,6 +2,8 @@ module Selenium module WebDriver class BiDi class Browser + Window: Selenium::WebDriver::BiDi::Browser::Window + @bidi: BiDi def initialize: (BiDi bidi) -> void diff --git a/rb/spec/integration/selenium/webdriver/action_builder_spec.rb b/rb/spec/integration/selenium/webdriver/action_builder_spec.rb index 99ce2fa689e9e..fa2ae81236a5f 100644 --- a/rb/spec/integration/selenium/webdriver/action_builder_spec.rb +++ b/rb/spec/integration/selenium/webdriver/action_builder_spec.rb @@ -38,10 +38,11 @@ module WebDriver expect(driver.find_element(id: 'result').text.strip).to be_empty end - it 'sends keys to element' do + it 'sends keys to element', only: {browser: %i[chrome edge firefox]} do driver.navigate.to url_for('formPage.html') input = driver.find_element(css: '#working') + driver.execute_script('arguments[0].scrollIntoView({block: "center", inline: "nearest"});', input) driver.action.send_keys(input, 'abcd').perform wait.until { input.property(:value).length == 4 } @@ -305,9 +306,9 @@ module WebDriver end end - describe '#scroll_to', only: {browser: %i[chrome edge firefox]} do + describe '#scroll_to' do it 'scrolls to element', - except: {browser: :firefox, reason: 'incorrect MoveTargetOutOfBoundsError'} do + exclusive: {browser: %i[chrome edge], reason: 'incorrect MoveTargetOutOfBoundsError'} do driver.navigate.to url_for('scrolling_tests/frame_with_nested_scrolling_frame_out_of_view.html') iframe = driver.find_element(tag_name: 'iframe') @@ -321,7 +322,7 @@ module WebDriver describe '#scroll_by' do it 'scrolls by given amount', - exclude: {driver: :firefox, reason: 'inconsistent behavior between versions'} do + exclusive: {browser: %i[chrome edge], reason: 'inconsistent behavior between versions'} do driver.navigate.to url_for('scrolling_tests/frame_with_nested_scrolling_frame_out_of_view.html') footer = driver.find_element(tag_name: 'footer') delta_y = footer.rect.y.round @@ -335,7 +336,7 @@ module WebDriver describe '#scroll_from' do it 'scrolls from element by given amount', - except: {browser: %i[firefox safari], reason: 'incorrect MoveTargetOutOfBoundsError'} do + exclusive: {browser: %i[chrome edge], reason: 'incorrect MoveTargetOutOfBoundsError in Firefox'} do driver.navigate.to url_for('scrolling_tests/frame_with_nested_scrolling_frame_out_of_view.html') iframe = driver.find_element(tag_name: 'iframe') scroll_origin = WheelActions::ScrollOrigin.element(iframe) @@ -349,7 +350,7 @@ module WebDriver end it 'scrolls from element by given amount with offset', - except: {browser: %i[firefox safari], reason: 'incorrect MoveTargetOutOfBoundsError'} do + exclusive: {browser: %i[chrome edge], reason: 'incorrect MoveTargetOutOfBoundsError in Firefox'} do driver.navigate.to url_for('scrolling_tests/frame_with_nested_scrolling_frame_out_of_view.html') footer = driver.find_element(tag_name: 'footer') scroll_origin = WheelActions::ScrollOrigin.element(footer, 0, -50) diff --git a/rb/spec/integration/selenium/webdriver/bidi/browser_spec.rb b/rb/spec/integration/selenium/webdriver/bidi/browser_spec.rb index 079c419cab4cb..9f535cb1649a3 100644 --- a/rb/spec/integration/selenium/webdriver/bidi/browser_spec.rb +++ b/rb/spec/integration/selenium/webdriver/bidi/browser_spec.rb @@ -24,52 +24,54 @@ module WebDriver class BiDi describe Browser, exclusive: {bidi: true, reason: 'only executed when bidi is enabled'}, only: {browser: %i[chrome edge firefox]} do + after { |example| reset_driver!(example: example) } + + let(:bidi) { driver.bidi } + it 'creates an user context' do - reset_driver!(web_socket_url: true) do |driver| - browser = described_class.new(driver.bidi) - user_context = browser.create_user_context - expect(user_context).not_to be_nil - expect(user_context['userContext']).to be_a String - end + browser = described_class.new(bidi) + user_context = browser.create_user_context + expect(user_context).not_to be_nil + expect(user_context['userContext']).to be_a String end it 'gets user contexts' do - reset_driver!(web_socket_url: true) do |driver| - browser = described_class.new(driver.bidi) - created_context_id = browser.create_user_context['userContext'] - all_context_ids = browser.user_contexts['userContexts'].map { |c| c['userContext'] } + browser = described_class.new(bidi) + created_context_id = browser.create_user_context['userContext'] + all_context_ids = browser.user_contexts['userContexts'].map { |c| c['userContext'] } - expect(all_context_ids).to include(created_context_id) - end + expect(all_context_ids).to include(created_context_id) end it 'removes an user context' do - reset_driver!(web_socket_url: true) do |driver| - browser = described_class.new(driver.bidi) - context_id_to_remove = browser.create_user_context['userContext'] - browser.remove_user_context(context_id_to_remove) - all_ids_after_removal = browser.user_contexts['userContexts'].map { |c| c['userContext'] } + browser = described_class.new(bidi) + context_id_to_remove = browser.create_user_context['userContext'] + browser.remove_user_context(context_id_to_remove) + all_ids_after_removal = browser.user_contexts['userContexts'].map { |c| c['userContext'] } - expect(all_ids_after_removal).not_to include(context_id_to_remove) - end + expect(all_ids_after_removal).not_to include(context_id_to_remove) end it 'throws an error when removing the default user context' do - reset_driver!(web_socket_url: true) do |driver| - browser = described_class.new(driver.bidi) - expect { - browser.remove_user_context('default') - }.to raise_error(Error::WebDriverError, /user context cannot be removed/) - end + browser = described_class.new(bidi) + expect { + browser.remove_user_context('default') + }.to raise_error(Error::WebDriverError, /user context cannot be removed/) end it 'throws an error when removing a non-existent user context' do - reset_driver!(web_socket_url: true) do |driver| - browser = described_class.new(driver.bidi) - expect { - browser.remove_user_context('fake_context') - }.to raise_error(Error::WebDriverError) - end + browser = described_class.new(bidi) + expect { + browser.remove_user_context('fake_context') + }.to raise_error(Error::WebDriverError) + end + + it 'get windows' do + browser = described_class.new(bidi) + windows = browser.windows + active_window = windows.first + + expect(active_window).to be_a(Selenium::WebDriver::BiDi::Browser::Window) end end end diff --git a/rb/spec/integration/selenium/webdriver/window_spec.rb b/rb/spec/integration/selenium/webdriver/window_spec.rb index 8a5b588dd52ea..8f0ffb8748faa 100644 --- a/rb/spec/integration/selenium/webdriver/window_spec.rb +++ b/rb/spec/integration/selenium/webdriver/window_spec.rb @@ -102,7 +102,7 @@ module WebDriver expect(new_rect.height).to eq(target_height) end - it 'can maximize the current window' do + it 'can maximize the current window', except: {browser: :firefox, platform: :macosx} do window.size = old_size = Dimension.new(700, 700) window.maximize From 5e73df498dfcb9f800f8503f26f05c25aac6f578 Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Mon, 8 Sep 2025 22:38:48 -0400 Subject: [PATCH 083/118] [dotnet][java][rb] Fix links to exception documentation on website (#16305) --- dotnet/src/webdriver/InvalidSelectorException.cs | 2 +- dotnet/src/webdriver/NoSuchElementException.cs | 2 +- dotnet/src/webdriver/StaleElementReferenceException.cs | 2 +- java/src/org/openqa/selenium/InvalidSelectorException.java | 2 +- java/src/org/openqa/selenium/NoSuchElementException.java | 2 +- .../org/openqa/selenium/StaleElementReferenceException.java | 2 +- rb/lib/selenium/webdriver/common/error.rb | 6 +++--- rb/spec/integration/selenium/webdriver/driver_spec.rb | 4 ++-- rb/spec/integration/selenium/webdriver/element_spec.rb | 2 +- rb/spec/integration/selenium/webdriver/error_spec.rb | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/dotnet/src/webdriver/InvalidSelectorException.cs b/dotnet/src/webdriver/InvalidSelectorException.cs index fcf2753f3ab8b..84774425b02ec 100644 --- a/dotnet/src/webdriver/InvalidSelectorException.cs +++ b/dotnet/src/webdriver/InvalidSelectorException.cs @@ -30,7 +30,7 @@ public class InvalidSelectorException : WebDriverException /// /// Link to the documentation for this error /// - private static string supportUrl = baseSupportUrl + "#invalid-selector-exception"; + private static string supportUrl = baseSupportUrl + "#invalidselectorexception"; /// /// Initializes a new instance of the class. diff --git a/dotnet/src/webdriver/NoSuchElementException.cs b/dotnet/src/webdriver/NoSuchElementException.cs index b90a62e7cea53..ec7c1fd487dd3 100644 --- a/dotnet/src/webdriver/NoSuchElementException.cs +++ b/dotnet/src/webdriver/NoSuchElementException.cs @@ -31,7 +31,7 @@ public class NoSuchElementException : NotFoundException /// /// Link to the documentation for this error /// - private static string supportUrl = baseSupportUrl + "#no-such-element-exception"; + private static string supportUrl = baseSupportUrl + "#nosuchelementexception"; /// /// Initializes a new instance of the class. diff --git a/dotnet/src/webdriver/StaleElementReferenceException.cs b/dotnet/src/webdriver/StaleElementReferenceException.cs index 2cf7a4dd717a7..6cf78911fee72 100644 --- a/dotnet/src/webdriver/StaleElementReferenceException.cs +++ b/dotnet/src/webdriver/StaleElementReferenceException.cs @@ -30,7 +30,7 @@ public class StaleElementReferenceException : WebDriverException /// /// Link to the documentation for this error /// - private static string supportUrl = baseSupportUrl + "#stale-element-reference-exception"; + private static string supportUrl = baseSupportUrl + "#staleelementreferenceexception"; /// /// Initializes a new instance of the class. diff --git a/java/src/org/openqa/selenium/InvalidSelectorException.java b/java/src/org/openqa/selenium/InvalidSelectorException.java index 75ef229a502b5..fe08d8caa488e 100644 --- a/java/src/org/openqa/selenium/InvalidSelectorException.java +++ b/java/src/org/openqa/selenium/InvalidSelectorException.java @@ -27,7 +27,7 @@ */ public class InvalidSelectorException extends WebDriverException { - private static final String SUPPORT_URL = BASE_SUPPORT_URL + "#invalid-selector-exception"; + private static final String SUPPORT_URL = BASE_SUPPORT_URL + "#invalidselectorexception"; public InvalidSelectorException(String reason) { super(reason); diff --git a/java/src/org/openqa/selenium/NoSuchElementException.java b/java/src/org/openqa/selenium/NoSuchElementException.java index 0ec0c01558883..be34be0ee8015 100644 --- a/java/src/org/openqa/selenium/NoSuchElementException.java +++ b/java/src/org/openqa/selenium/NoSuchElementException.java @@ -27,7 +27,7 @@ @NullMarked public class NoSuchElementException extends NotFoundException { - private static final String SUPPORT_URL = BASE_SUPPORT_URL + "#no-such-element-exception"; + private static final String SUPPORT_URL = BASE_SUPPORT_URL + "#nosuchelementexception"; public NoSuchElementException(@Nullable String reason) { super(reason); diff --git a/java/src/org/openqa/selenium/StaleElementReferenceException.java b/java/src/org/openqa/selenium/StaleElementReferenceException.java index 547293c7cf1a4..fae3efa8c3bfa 100644 --- a/java/src/org/openqa/selenium/StaleElementReferenceException.java +++ b/java/src/org/openqa/selenium/StaleElementReferenceException.java @@ -27,7 +27,7 @@ @NullMarked public class StaleElementReferenceException extends WebDriverException { - private static final String SUPPORT_URL = BASE_SUPPORT_URL + "#stale-element-reference-exception"; + private static final String SUPPORT_URL = BASE_SUPPORT_URL + "#staleelementreferenceexception"; public StaleElementReferenceException(@Nullable String message) { super(message); diff --git a/rb/lib/selenium/webdriver/common/error.rb b/rb/lib/selenium/webdriver/common/error.rb index ed452cb7377df..91a684a51268f 100644 --- a/rb/lib/selenium/webdriver/common/error.rb +++ b/rb/lib/selenium/webdriver/common/error.rb @@ -38,9 +38,9 @@ def self.for_error(error) ERROR_URL = 'https://www.selenium.dev/documentation/webdriver/troubleshooting/errors' URLS = { - NoSuchElementError: "#{ERROR_URL}#no-such-element-exception", - StaleElementReferenceError: "#{ERROR_URL}#stale-element-reference-exception", - InvalidSelectorError: "#{ERROR_URL}#invalid-selector-exception", + NoSuchElementError: "#{ERROR_URL}#nosuchelementexception", + StaleElementReferenceError: "#{ERROR_URL}#staleelementreferenceexception", + InvalidSelectorError: "#{ERROR_URL}#invalidselectorexception", NoSuchDriverError: "#{ERROR_URL}/driver_location" }.freeze diff --git a/rb/spec/integration/selenium/webdriver/driver_spec.rb b/rb/spec/integration/selenium/webdriver/driver_spec.rb index c1071814ab168..90594ea4888b4 100644 --- a/rb/spec/integration/selenium/webdriver/driver_spec.rb +++ b/rb/spec/integration/selenium/webdriver/driver_spec.rb @@ -149,7 +149,7 @@ module WebDriver driver.navigate.to url_for('xhtmlTest.html') expect { driver.find_element(id: 'not-there') - }.to raise_error(Error::NoSuchElementError, /errors#no-such-element-exception/) + }.to raise_error(Error::NoSuchElementError, /errors#nosuchelementexception/) end it 'raises if invalid locator', @@ -157,7 +157,7 @@ module WebDriver driver.navigate.to url_for('xhtmlTest.html') expect { driver.find_element(xpath: '*?//-') - }.to raise_error(Error::InvalidSelectorError, /errors#invalid-selector-exception/) + }.to raise_error(Error::InvalidSelectorError, /errors#invalidselectorexception/) end end diff --git a/rb/spec/integration/selenium/webdriver/element_spec.rb b/rb/spec/integration/selenium/webdriver/element_spec.rb index d5985d64dcf0d..3884ca724d9d7 100644 --- a/rb/spec/integration/selenium/webdriver/element_spec.rb +++ b/rb/spec/integration/selenium/webdriver/element_spec.rb @@ -46,7 +46,7 @@ module WebDriver driver.navigate.refresh expect { button.click }.to raise_exception(Error::StaleElementReferenceError, - /errors#stale-element-reference-exception/) + /errors#staleelementreferenceexception/) reset_driver!(time: 1) if %i[safari safari_preview].include? GlobalTestEnv.browser end diff --git a/rb/spec/integration/selenium/webdriver/error_spec.rb b/rb/spec/integration/selenium/webdriver/error_spec.rb index 7a72860c0340c..9be66c1289300 100644 --- a/rb/spec/integration/selenium/webdriver/error_spec.rb +++ b/rb/spec/integration/selenium/webdriver/error_spec.rb @@ -27,7 +27,7 @@ module WebDriver expect { driver.find_element(id: 'nonexistent') - }.to raise_error(WebDriver::Error::NoSuchElementError, /#no-such-element-exception/) + }.to raise_error(WebDriver::Error::NoSuchElementError, /#nosuchelementexception/) end it 'has backtrace locations' do From 38b1dd136484b02ce59b7838e4d4c67140fdbfda Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Mon, 8 Sep 2025 22:44:23 -0400 Subject: [PATCH 084/118] [py] Add args to is_url_connectable (#16212) --- py/selenium/webdriver/common/utils.py | 35 ++++++++++++++++----------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/py/selenium/webdriver/common/utils.py b/py/selenium/webdriver/common/utils.py index 801b88ce2d027..fd5ac0b0607f2 100644 --- a/py/selenium/webdriver/common/utils.py +++ b/py/selenium/webdriver/common/utils.py @@ -14,9 +14,11 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -"""The Utils methods.""" + +"""Utility functions.""" import socket +import urllib.request from collections.abc import Iterable from typing import Optional, Union @@ -67,8 +69,8 @@ def find_connectable_ip(host: Union[str, bytes, bytearray, None], port: Optional port are considered. :Args: - - host - A hostname. - - port - Optional port number. + - host - hostname + - port - port number :Returns: A single IP address, as a string. If any IPv4 address is found, one is @@ -100,8 +102,8 @@ def join_host_port(host: str, port: int) -> str: example, _join_host_port('::1', 80) == '[::1]:80'. :Args: - - host - A hostname. - - port - An integer port. + - host - hostname or IP + - port - port number """ if ":" in host and not host.startswith("["): return f"[{host}]:{port}" @@ -112,7 +114,8 @@ def is_connectable(port: int, host: Optional[str] = "localhost") -> bool: """Tries to connect to the server at port to see if it is running. :Args: - - port - The port to connect. + - port - port number + - host - hostname or IP """ socket_ = None try: @@ -130,18 +133,22 @@ def is_connectable(port: int, host: Optional[str] = "localhost") -> bool: return result -def is_url_connectable(port: Union[int, str]) -> bool: - """Tries to connect to the HTTP server at /status path and specified port - to see if it responds successfully. +def is_url_connectable( + port: Union[int, str], + host: Optional[str] = "127.0.0.1", + scheme: Optional[str] = "http", +) -> bool: + """Sends a request to the HTTP server at the /status endpoint to see if it + responds successfully. :Args: - - port - The port to connect. + - port - port number + - host - hostname or IP + - scheme - URL scheme """ - from urllib import request as url_request - try: - res = url_request.urlopen(f"http://127.0.0.1:{port}/status") - return res.getcode() == 200 + with urllib.request.urlopen(f"{scheme}://{host}:{port}/status") as res: + return res.getcode() == 200 except Exception: return False From c4c67d856aa0e95ed871668479da48f38657df83 Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Tue, 9 Sep 2025 09:01:43 -0400 Subject: [PATCH 085/118] [dotnet] Fix link to exception documentation in test (#16310) --- dotnet/test/common/RelativeLocatorTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotnet/test/common/RelativeLocatorTest.cs b/dotnet/test/common/RelativeLocatorTest.cs index 4effd89183c4b..8ab42ad93e37c 100644 --- a/dotnet/test/common/RelativeLocatorTest.cs +++ b/dotnet/test/common/RelativeLocatorTest.cs @@ -224,7 +224,7 @@ public void NearLocatorShouldNotFindFarElements() { var rect2 = driver.FindElement(RelativeBy.WithLocator(By.Id("rect4")).Near(rect)); - }, Throws.TypeOf().With.Message.EqualTo("Unable to find element; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception")); + }, Throws.TypeOf().With.Message.EqualTo("Unable to find element; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#nosuchelementexception")); } //------------------------------------------------------------------ From f5ad7ebbe98978b997fd3697191a298d90cc837a Mon Sep 17 00:00:00 2001 From: Anthony Richardson <26676+Osseta@users.noreply.github.com> Date: Wed, 10 Sep 2025 09:24:54 +0930 Subject: [PATCH 086/118] [rb] Update `unhandled_prompt_behavior` capability to support hash syntax (#16289) --- rb/lib/selenium/webdriver/common/options.rb | 11 +++++++++- .../selenium/webdriver/chrome/options_spec.rb | 20 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/rb/lib/selenium/webdriver/common/options.rb b/rb/lib/selenium/webdriver/common/options.rb index bddb91063737b..997aced69ec5d 100644 --- a/rb/lib/selenium/webdriver/common/options.rb +++ b/rb/lib/selenium/webdriver/common/options.rb @@ -131,11 +131,20 @@ def w3c?(key) def process_w3c_options(options) w3c_options = options.select { |key, val| w3c?(key) && !val.nil? } - w3c_options[:unhandled_prompt_behavior] &&= w3c_options[:unhandled_prompt_behavior]&.to_s&.tr('_', ' ') + w3c_options[:unhandled_prompt_behavior] &&= + process_unhandled_prompt_behavior_value(w3c_options[:unhandled_prompt_behavior]) options.delete_if { |key, _val| w3c?(key) } w3c_options end + def process_unhandled_prompt_behavior_value(value) + if value.is_a?(Hash) + value.transform_values { |v| process_unhandled_prompt_behavior_value(v) } + else + value&.to_s&.tr('_', ' ') + end + end + def process_browser_options(_browser_options) nil end diff --git a/rb/spec/unit/selenium/webdriver/chrome/options_spec.rb b/rb/spec/unit/selenium/webdriver/chrome/options_spec.rb index 5061aae7cc7ec..96a739ea9611b 100644 --- a/rb/spec/unit/selenium/webdriver/chrome/options_spec.rb +++ b/rb/spec/unit/selenium/webdriver/chrome/options_spec.rb @@ -267,6 +267,26 @@ module Chrome {'args' => ["--user-data-dir=#{directory}"]}) end + it 'processes unhandled_prompt_behavior hash values' do + opts = described_class.new(unhandled_prompt_behavior: { + alert: :accept_and_notify, + confirm: 'dismiss_and_notify', + prompt: :ignore, + before_unload: 'accept', + default: :dismiss + }) + + expect(opts.as_json).to eq('browserName' => 'chrome', + 'unhandledPromptBehavior' => { + 'alert' => 'accept and notify', + 'confirm' => 'dismiss and notify', + 'prompt' => 'ignore', + 'beforeUnload' => 'accept', + 'default' => 'dismiss' + }, + 'goog:chromeOptions' => {}) + end + it 'returns a JSON hash' do allow(File).to receive(:file?).and_return(true) allow_any_instance_of(described_class) From fde053ab2b0a6370bb44891b48f294ed947ad9aa Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Wed, 10 Sep 2025 08:53:25 -0400 Subject: [PATCH 087/118] [py] Convert all relative imports to absolute imports (#16311) --- py/pyproject.toml | 2 +- py/selenium/common/__init__.py | 2 +- py/selenium/webdriver/__init__.py | 56 +++++++++---------- py/selenium/webdriver/chrome/webdriver.py | 5 +- py/selenium/webdriver/common/action_chains.py | 11 ++-- .../common/actions/action_builder.py | 15 +++-- .../webdriver/common/actions/interaction.py | 2 +- .../webdriver/common/actions/key_actions.py | 10 ++-- .../webdriver/common/actions/key_input.py | 6 +- .../common/actions/pointer_actions.py | 9 ++- .../webdriver/common/actions/pointer_input.py | 5 +- .../webdriver/common/actions/wheel_actions.py | 4 +- .../webdriver/common/actions/wheel_input.py | 5 +- .../webdriver/common/bidi/browsing_context.py | 3 +- py/selenium/webdriver/common/bidi/script.py | 5 +- py/selenium/webdriver/common/fedcm/dialog.py | 2 +- py/selenium/webdriver/edge/webdriver.py | 5 +- py/selenium/webdriver/firefox/webdriver.py | 7 +-- py/selenium/webdriver/ie/webdriver.py | 5 +- py/selenium/webdriver/remote/fedcm.py | 2 +- py/selenium/webdriver/remote/mobile.py | 2 +- .../webdriver/remote/remote_connection.py | 9 ++- py/selenium/webdriver/remote/shadowroot.py | 4 +- py/selenium/webdriver/remote/switch_to.py | 3 +- py/selenium/webdriver/remote/webdriver.py | 29 +++++----- py/selenium/webdriver/remote/webelement.py | 5 +- py/selenium/webdriver/safari/webdriver.py | 9 ++- .../support/event_firing_webdriver.py | 3 +- py/selenium/webdriver/support/events.py | 4 +- py/selenium/webdriver/support/ui.py | 4 +- py/selenium/webdriver/webkitgtk/webdriver.py | 5 +- py/selenium/webdriver/wpewebkit/webdriver.py | 5 +- 32 files changed, 112 insertions(+), 131 deletions(-) diff --git a/py/pyproject.toml b/py/pyproject.toml index f33c879a04024..896e510c82e66 100644 --- a/py/pyproject.toml +++ b/py/pyproject.toml @@ -144,7 +144,7 @@ respect-gitignore = true target-version = "py39" [tool.ruff.lint] -extend-select = ["E4", "E7", "E9", "F", "I", "E501", "RUF022"] +extend-select = ["E4", "E7", "E9", "F", "I", "E501", "RUF022", "TID252"] fixable = ["ALL"] [tool.ruff.format] diff --git a/py/selenium/common/__init__.py b/py/selenium/common/__init__.py index 88a124e31d4ef..0528b740aa9a5 100644 --- a/py/selenium/common/__init__.py +++ b/py/selenium/common/__init__.py @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -from .exceptions import ( +from selenium.common.exceptions import ( DetachedShadowRootException, ElementClickInterceptedException, ElementNotInteractableException, diff --git a/py/selenium/webdriver/__init__.py b/py/selenium/webdriver/__init__.py index 49efd310bda81..a1d43188da57d 100644 --- a/py/selenium/webdriver/__init__.py +++ b/py/selenium/webdriver/__init__.py @@ -15,34 +15,34 @@ # specific language governing permissions and limitations # under the License. -from .chrome.options import Options as ChromeOptions # noqa -from .chrome.service import Service as ChromeService # noqa -from .chrome.webdriver import WebDriver as Chrome # noqa -from .common.action_chains import ActionChains # noqa -from .common.desired_capabilities import DesiredCapabilities # noqa -from .common.keys import Keys # noqa -from .common.proxy import Proxy # noqa -from .edge.options import Options as EdgeOptions # noqa -from .edge.service import Service as EdgeService # noqa -from .edge.webdriver import WebDriver as ChromiumEdge # noqa -from .edge.webdriver import WebDriver as Edge # noqa -from .firefox.firefox_profile import FirefoxProfile # noqa -from .firefox.options import Options as FirefoxOptions # noqa -from .firefox.service import Service as FirefoxService # noqa -from .firefox.webdriver import WebDriver as Firefox # noqa -from .ie.options import Options as IeOptions # noqa -from .ie.service import Service as IeService # noqa -from .ie.webdriver import WebDriver as Ie # noqa -from .remote.webdriver import WebDriver as Remote # noqa -from .safari.options import Options as SafariOptions -from .safari.service import Service as SafariService # noqa -from .safari.webdriver import WebDriver as Safari # noqa -from .webkitgtk.options import Options as WebKitGTKOptions # noqa -from .webkitgtk.service import Service as WebKitGTKService # noqa -from .webkitgtk.webdriver import WebDriver as WebKitGTK # noqa -from .wpewebkit.options import Options as WPEWebKitOptions # noqa -from .wpewebkit.service import Service as WPEWebKitService # noqa -from .wpewebkit.webdriver import WebDriver as WPEWebKit # noqa +from selenium.webdriver.chrome.options import Options as ChromeOptions # noqa +from selenium.webdriver.chrome.service import Service as ChromeService # noqa +from selenium.webdriver.chrome.webdriver import WebDriver as Chrome # noqa +from selenium.webdriver.common.action_chains import ActionChains # noqa +from selenium.webdriver.common.desired_capabilities import DesiredCapabilities # noqa +from selenium.webdriver.common.keys import Keys # noqa +from selenium.webdriver.common.proxy import Proxy # noqa +from selenium.webdriver.edge.options import Options as EdgeOptions # noqa +from selenium.webdriver.edge.service import Service as EdgeService # noqa +from selenium.webdriver.edge.webdriver import WebDriver as ChromiumEdge # noqa +from selenium.webdriver.edge.webdriver import WebDriver as Edge # noqa +from selenium.webdriver.firefox.firefox_profile import FirefoxProfile # noqa +from selenium.webdriver.firefox.options import Options as FirefoxOptions # noqa +from selenium.webdriver.firefox.service import Service as FirefoxService # noqa +from selenium.webdriver.firefox.webdriver import WebDriver as Firefox # noqa +from selenium.webdriver.ie.options import Options as IeOptions # noqa +from selenium.webdriver.ie.service import Service as IeService # noqa +from selenium.webdriver.ie.webdriver import WebDriver as Ie # noqa +from selenium.webdriver.remote.webdriver import WebDriver as Remote # noqa +from selenium.webdriver.safari.options import Options as SafariOptions +from selenium.webdriver.safari.service import Service as SafariService # noqa +from selenium.webdriver.safari.webdriver import WebDriver as Safari # noqa +from selenium.webdriver.webkitgtk.options import Options as WebKitGTKOptions # noqa +from selenium.webdriver.webkitgtk.service import Service as WebKitGTKService # noqa +from selenium.webdriver.webkitgtk.webdriver import WebDriver as WebKitGTK # noqa +from selenium.webdriver.wpewebkit.options import Options as WPEWebKitOptions # noqa +from selenium.webdriver.wpewebkit.service import Service as WPEWebKitService # noqa +from selenium.webdriver.wpewebkit.webdriver import WebDriver as WPEWebKit # noqa __version__ = "4.36.0.202508121825" diff --git a/py/selenium/webdriver/chrome/webdriver.py b/py/selenium/webdriver/chrome/webdriver.py index 15f4aeaf6094e..dc38bdc8dbafc 100644 --- a/py/selenium/webdriver/chrome/webdriver.py +++ b/py/selenium/webdriver/chrome/webdriver.py @@ -17,12 +17,11 @@ from typing import Optional +from selenium.webdriver.chrome.options import Options +from selenium.webdriver.chrome.service import Service from selenium.webdriver.chromium.webdriver import ChromiumDriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities -from .options import Options -from .service import Service - class WebDriver(ChromiumDriver): """Controls the ChromeDriver and allows you to drive the browser.""" diff --git a/py/selenium/webdriver/common/action_chains.py b/py/selenium/webdriver/common/action_chains.py index 17aa1f3fba7a4..994bf70867813 100644 --- a/py/selenium/webdriver/common/action_chains.py +++ b/py/selenium/webdriver/common/action_chains.py @@ -20,14 +20,13 @@ from typing import TYPE_CHECKING, Union +from selenium.webdriver.common.actions.action_builder import ActionBuilder +from selenium.webdriver.common.actions.key_input import KeyInput +from selenium.webdriver.common.actions.pointer_input import PointerInput +from selenium.webdriver.common.actions.wheel_input import ScrollOrigin, WheelInput +from selenium.webdriver.common.utils import keys_to_typing from selenium.webdriver.remote.webelement import WebElement -from .actions.action_builder import ActionBuilder -from .actions.key_input import KeyInput -from .actions.pointer_input import PointerInput -from .actions.wheel_input import ScrollOrigin, WheelInput -from .utils import keys_to_typing - if TYPE_CHECKING: from selenium.webdriver.remote.webdriver import WebDriver diff --git a/py/selenium/webdriver/common/actions/action_builder.py b/py/selenium/webdriver/common/actions/action_builder.py index 48859832de0e7..35ef44f570488 100644 --- a/py/selenium/webdriver/common/actions/action_builder.py +++ b/py/selenium/webdriver/common/actions/action_builder.py @@ -18,16 +18,15 @@ from typing import Any, Optional, Union +from selenium.webdriver.common.actions import interaction +from selenium.webdriver.common.actions.key_actions import KeyActions +from selenium.webdriver.common.actions.key_input import KeyInput +from selenium.webdriver.common.actions.pointer_actions import PointerActions +from selenium.webdriver.common.actions.pointer_input import PointerInput +from selenium.webdriver.common.actions.wheel_actions import WheelActions +from selenium.webdriver.common.actions.wheel_input import WheelInput from selenium.webdriver.remote.command import Command -from . import interaction -from .key_actions import KeyActions -from .key_input import KeyInput -from .pointer_actions import PointerActions -from .pointer_input import PointerInput -from .wheel_actions import WheelActions -from .wheel_input import WheelInput - class ActionBuilder: def __init__( diff --git a/py/selenium/webdriver/common/actions/interaction.py b/py/selenium/webdriver/common/actions/interaction.py index 413ee773f741c..3118c5fe0a586 100644 --- a/py/selenium/webdriver/common/actions/interaction.py +++ b/py/selenium/webdriver/common/actions/interaction.py @@ -16,7 +16,7 @@ # under the License. from typing import Union -from .input_device import InputDevice +from selenium.webdriver.common.actions.input_device import InputDevice KEY = "key" POINTER = "pointer" diff --git a/py/selenium/webdriver/common/actions/key_actions.py b/py/selenium/webdriver/common/actions/key_actions.py index bc23244478902..828b2caf57757 100644 --- a/py/selenium/webdriver/common/actions/key_actions.py +++ b/py/selenium/webdriver/common/actions/key_actions.py @@ -17,11 +17,11 @@ from __future__ import annotations -from ..utils import keys_to_typing -from .interaction import KEY, Interaction -from .key_input import KeyInput -from .pointer_input import PointerInput -from .wheel_input import WheelInput +from selenium.webdriver.common.actions.interaction import KEY, Interaction +from selenium.webdriver.common.actions.key_input import KeyInput +from selenium.webdriver.common.actions.pointer_input import PointerInput +from selenium.webdriver.common.actions.wheel_input import WheelInput +from selenium.webdriver.common.utils import keys_to_typing class KeyActions(Interaction): diff --git a/py/selenium/webdriver/common/actions/key_input.py b/py/selenium/webdriver/common/actions/key_input.py index d9a4b278ae246..35b0fcbb01f6c 100644 --- a/py/selenium/webdriver/common/actions/key_input.py +++ b/py/selenium/webdriver/common/actions/key_input.py @@ -14,9 +14,9 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -from . import interaction -from .input_device import InputDevice -from .interaction import Interaction, Pause +from selenium.webdriver.common.actions import interaction +from selenium.webdriver.common.actions.input_device import InputDevice +from selenium.webdriver.common.actions.interaction import Interaction, Pause class KeyInput(InputDevice): diff --git a/py/selenium/webdriver/common/actions/pointer_actions.py b/py/selenium/webdriver/common/actions/pointer_actions.py index 2a8b19d339315..9be97f46345de 100644 --- a/py/selenium/webdriver/common/actions/pointer_actions.py +++ b/py/selenium/webdriver/common/actions/pointer_actions.py @@ -16,13 +16,12 @@ # under the License. from typing import Optional +from selenium.webdriver.common.actions import interaction +from selenium.webdriver.common.actions.interaction import Interaction +from selenium.webdriver.common.actions.mouse_button import MouseButton +from selenium.webdriver.common.actions.pointer_input import PointerInput from selenium.webdriver.remote.webelement import WebElement -from . import interaction -from .interaction import Interaction -from .mouse_button import MouseButton -from .pointer_input import PointerInput - class PointerActions(Interaction): def __init__(self, source: Optional[PointerInput] = None, duration: int = 250): diff --git a/py/selenium/webdriver/common/actions/pointer_input.py b/py/selenium/webdriver/common/actions/pointer_input.py index 615ce6edb1932..661b126ffd7f4 100644 --- a/py/selenium/webdriver/common/actions/pointer_input.py +++ b/py/selenium/webdriver/common/actions/pointer_input.py @@ -18,11 +18,10 @@ from typing import Any, Optional, Union from selenium.common.exceptions import InvalidArgumentException +from selenium.webdriver.common.actions.input_device import InputDevice +from selenium.webdriver.common.actions.interaction import POINTER, POINTER_KINDS from selenium.webdriver.remote.webelement import WebElement -from .input_device import InputDevice -from .interaction import POINTER, POINTER_KINDS - class PointerInput(InputDevice): DEFAULT_MOVE_DURATION = 250 diff --git a/py/selenium/webdriver/common/actions/wheel_actions.py b/py/selenium/webdriver/common/actions/wheel_actions.py index 16da6bc56b527..cfb47141087c5 100644 --- a/py/selenium/webdriver/common/actions/wheel_actions.py +++ b/py/selenium/webdriver/common/actions/wheel_actions.py @@ -17,8 +17,8 @@ from typing import Optional -from .interaction import WHEEL, Interaction -from .wheel_input import WheelInput +from selenium.webdriver.common.actions.interaction import WHEEL, Interaction +from selenium.webdriver.common.actions.wheel_input import WheelInput class WheelActions(Interaction): diff --git a/py/selenium/webdriver/common/actions/wheel_input.py b/py/selenium/webdriver/common/actions/wheel_input.py index a072e825be4b9..e9ce59a203a73 100644 --- a/py/selenium/webdriver/common/actions/wheel_input.py +++ b/py/selenium/webdriver/common/actions/wheel_input.py @@ -16,11 +16,10 @@ # under the License. from typing import Union +from selenium.webdriver.common.actions import interaction +from selenium.webdriver.common.actions.input_device import InputDevice from selenium.webdriver.remote.webelement import WebElement -from . import interaction -from .input_device import InputDevice - class ScrollOrigin: def __init__(self, origin: Union[str, WebElement], x_offset: int, y_offset: int) -> None: diff --git a/py/selenium/webdriver/common/bidi/browsing_context.py b/py/selenium/webdriver/common/bidi/browsing_context.py index aa432fc356751..3c2bdbf9ce2c5 100644 --- a/py/selenium/webdriver/common/bidi/browsing_context.py +++ b/py/selenium/webdriver/common/bidi/browsing_context.py @@ -20,8 +20,7 @@ from typing import Any, Callable, Optional, Union from selenium.webdriver.common.bidi.common import command_builder - -from .session import Session +from selenium.webdriver.common.bidi.session import Session class ReadinessState: diff --git a/py/selenium/webdriver/common/bidi/script.py b/py/selenium/webdriver/common/bidi/script.py index 50e93e18288a7..cbf18b4f072e1 100644 --- a/py/selenium/webdriver/common/bidi/script.py +++ b/py/selenium/webdriver/common/bidi/script.py @@ -22,9 +22,8 @@ from selenium.common.exceptions import WebDriverException from selenium.webdriver.common.bidi.common import command_builder - -from .log import LogEntryAdded -from .session import Session +from selenium.webdriver.common.bidi.log import LogEntryAdded +from selenium.webdriver.common.bidi.session import Session class ResultOwnership: diff --git a/py/selenium/webdriver/common/fedcm/dialog.py b/py/selenium/webdriver/common/fedcm/dialog.py index cf5fe2d351f55..9a7a2a89a2d61 100644 --- a/py/selenium/webdriver/common/fedcm/dialog.py +++ b/py/selenium/webdriver/common/fedcm/dialog.py @@ -17,7 +17,7 @@ from typing import Optional -from .account import Account +from selenium.webdriver.common.fedcm.account import Account class Dialog: diff --git a/py/selenium/webdriver/edge/webdriver.py b/py/selenium/webdriver/edge/webdriver.py index 5b7b1856dfc08..4cac95d68ef5c 100644 --- a/py/selenium/webdriver/edge/webdriver.py +++ b/py/selenium/webdriver/edge/webdriver.py @@ -19,9 +19,8 @@ from selenium.webdriver.chromium.webdriver import ChromiumDriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities - -from .options import Options -from .service import Service +from selenium.webdriver.edge.options import Options +from selenium.webdriver.edge.service import Service class WebDriver(ChromiumDriver): diff --git a/py/selenium/webdriver/firefox/webdriver.py b/py/selenium/webdriver/firefox/webdriver.py index 4f4645cc0aae5..7aabafcecc359 100644 --- a/py/selenium/webdriver/firefox/webdriver.py +++ b/py/selenium/webdriver/firefox/webdriver.py @@ -23,12 +23,11 @@ from typing import Optional from selenium.webdriver.common.driver_finder import DriverFinder +from selenium.webdriver.firefox.options import Options +from selenium.webdriver.firefox.remote_connection import FirefoxRemoteConnection +from selenium.webdriver.firefox.service import Service from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver -from .options import Options -from .remote_connection import FirefoxRemoteConnection -from .service import Service - class WebDriver(RemoteWebDriver): """Controls the GeckoDriver and allows you to drive the browser.""" diff --git a/py/selenium/webdriver/ie/webdriver.py b/py/selenium/webdriver/ie/webdriver.py index 9aa28a64370a9..16e9e7ea95118 100644 --- a/py/selenium/webdriver/ie/webdriver.py +++ b/py/selenium/webdriver/ie/webdriver.py @@ -18,13 +18,12 @@ from typing import Optional from selenium.webdriver.common.driver_finder import DriverFinder +from selenium.webdriver.ie.options import Options +from selenium.webdriver.ie.service import Service from selenium.webdriver.remote.client_config import ClientConfig from selenium.webdriver.remote.remote_connection import RemoteConnection from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver -from .options import Options -from .service import Service - class WebDriver(RemoteWebDriver): """Controls the IEServerDriver and allows you to drive Internet diff --git a/py/selenium/webdriver/remote/fedcm.py b/py/selenium/webdriver/remote/fedcm.py index 5c44009ea6878..2733bc6006f8e 100644 --- a/py/selenium/webdriver/remote/fedcm.py +++ b/py/selenium/webdriver/remote/fedcm.py @@ -17,7 +17,7 @@ from typing import Optional -from .command import Command +from selenium.webdriver.remote.command import Command class FedCM: diff --git a/py/selenium/webdriver/remote/mobile.py b/py/selenium/webdriver/remote/mobile.py index bdab75860b876..dad35ed699e68 100644 --- a/py/selenium/webdriver/remote/mobile.py +++ b/py/selenium/webdriver/remote/mobile.py @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -from .command import Command +from selenium.webdriver.remote.command import Command class _ConnectionType: diff --git a/py/selenium/webdriver/remote/remote_connection.py b/py/selenium/webdriver/remote/remote_connection.py index 2b496e42c7cb3..7905209fe17a7 100644 --- a/py/selenium/webdriver/remote/remote_connection.py +++ b/py/selenium/webdriver/remote/remote_connection.py @@ -27,11 +27,10 @@ import urllib3 from selenium import __version__ - -from . import utils -from .client_config import ClientConfig -from .command import Command -from .errorhandler import ErrorCode +from selenium.webdriver.remote import utils +from selenium.webdriver.remote.client_config import ClientConfig +from selenium.webdriver.remote.command import Command +from selenium.webdriver.remote.errorhandler import ErrorCode LOGGER = logging.getLogger(__name__) diff --git a/py/selenium/webdriver/remote/shadowroot.py b/py/selenium/webdriver/remote/shadowroot.py index 2d81f17e01426..960377081f7dd 100644 --- a/py/selenium/webdriver/remote/shadowroot.py +++ b/py/selenium/webdriver/remote/shadowroot.py @@ -17,8 +17,8 @@ from hashlib import md5 as md5_hash -from ..common.by import By -from .command import Command +from selenium.webdriver.common.by import By +from selenium.webdriver.remote.command import Command class ShadowRoot: diff --git a/py/selenium/webdriver/remote/switch_to.py b/py/selenium/webdriver/remote/switch_to.py index 1fad0f74a0d68..30a26ed760f39 100644 --- a/py/selenium/webdriver/remote/switch_to.py +++ b/py/selenium/webdriver/remote/switch_to.py @@ -20,10 +20,9 @@ from selenium.common.exceptions import NoSuchElementException, NoSuchFrameException, NoSuchWindowException from selenium.webdriver.common.alert import Alert from selenium.webdriver.common.by import By +from selenium.webdriver.remote.command import Command from selenium.webdriver.remote.webelement import WebElement -from .command import Command - class SwitchTo: def __init__(self, driver) -> None: diff --git a/py/selenium/webdriver/remote/webdriver.py b/py/selenium/webdriver/remote/webdriver.py index c92cbacab815a..84cc7c5b5b751 100644 --- a/py/selenium/webdriver/remote/webdriver.py +++ b/py/selenium/webdriver/remote/webdriver.py @@ -58,23 +58,22 @@ VirtualAuthenticatorOptions, required_virtual_authenticator, ) +from selenium.webdriver.remote.bidi_connection import BidiConnection +from selenium.webdriver.remote.client_config import ClientConfig +from selenium.webdriver.remote.command import Command +from selenium.webdriver.remote.errorhandler import ErrorHandler +from selenium.webdriver.remote.fedcm import FedCM +from selenium.webdriver.remote.file_detector import FileDetector, LocalFileDetector +from selenium.webdriver.remote.locator_converter import LocatorConverter +from selenium.webdriver.remote.mobile import Mobile +from selenium.webdriver.remote.remote_connection import RemoteConnection +from selenium.webdriver.remote.script_key import ScriptKey +from selenium.webdriver.remote.shadowroot import ShadowRoot +from selenium.webdriver.remote.switch_to import SwitchTo +from selenium.webdriver.remote.webelement import WebElement +from selenium.webdriver.remote.websocket_connection import WebSocketConnection from selenium.webdriver.support.relative_locator import RelativeBy -from .bidi_connection import BidiConnection -from .client_config import ClientConfig -from .command import Command -from .errorhandler import ErrorHandler -from .fedcm import FedCM -from .file_detector import FileDetector, LocalFileDetector -from .locator_converter import LocatorConverter -from .mobile import Mobile -from .remote_connection import RemoteConnection -from .script_key import ScriptKey -from .shadowroot import ShadowRoot -from .switch_to import SwitchTo -from .webelement import WebElement -from .websocket_connection import WebSocketConnection - cdp = None diff --git a/py/selenium/webdriver/remote/webelement.py b/py/selenium/webdriver/remote/webelement.py index 0e5754d82b314..f9db08f05f76c 100644 --- a/py/selenium/webdriver/remote/webelement.py +++ b/py/selenium/webdriver/remote/webelement.py @@ -28,9 +28,8 @@ from selenium.common.exceptions import JavascriptException, WebDriverException from selenium.webdriver.common.by import By from selenium.webdriver.common.utils import keys_to_typing - -from .command import Command -from .shadowroot import ShadowRoot +from selenium.webdriver.remote.command import Command +from selenium.webdriver.remote.shadowroot import ShadowRoot # TODO: When moving to supporting python 3.9 as the minimum version we can # use built in importlib_resources.files. diff --git a/py/selenium/webdriver/safari/webdriver.py b/py/selenium/webdriver/safari/webdriver.py index 333fa50bb40ea..d7b52a03ed245 100644 --- a/py/selenium/webdriver/safari/webdriver.py +++ b/py/selenium/webdriver/safari/webdriver.py @@ -18,12 +18,11 @@ from typing import Optional from selenium.common.exceptions import WebDriverException +from selenium.webdriver.common.driver_finder import DriverFinder from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver - -from ..common.driver_finder import DriverFinder -from .options import Options -from .remote_connection import SafariRemoteConnection -from .service import Service +from selenium.webdriver.safari.options import Options +from selenium.webdriver.safari.remote_connection import SafariRemoteConnection +from selenium.webdriver.safari.service import Service class WebDriver(RemoteWebDriver): diff --git a/py/selenium/webdriver/support/event_firing_webdriver.py b/py/selenium/webdriver/support/event_firing_webdriver.py index 888407e06c782..7edbf4560cbb9 100644 --- a/py/selenium/webdriver/support/event_firing_webdriver.py +++ b/py/selenium/webdriver/support/event_firing_webdriver.py @@ -21,8 +21,7 @@ from selenium.webdriver.common.by import By from selenium.webdriver.remote.webdriver import WebDriver from selenium.webdriver.remote.webelement import WebElement - -from .abstract_event_listener import AbstractEventListener +from selenium.webdriver.support.abstract_event_listener import AbstractEventListener def _wrap_elements(result, ef_driver): diff --git a/py/selenium/webdriver/support/events.py b/py/selenium/webdriver/support/events.py index 775d00a665f49..3de9b417b5119 100644 --- a/py/selenium/webdriver/support/events.py +++ b/py/selenium/webdriver/support/events.py @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. -from .abstract_event_listener import AbstractEventListener # noqa -from .event_firing_webdriver import EventFiringWebDriver # noqa +from selenium.webdriver.support.abstract_event_listener import AbstractEventListener # noqa +from selenium.webdriver.support.event_firing_webdriver import EventFiringWebDriver # noqa diff --git a/py/selenium/webdriver/support/ui.py b/py/selenium/webdriver/support/ui.py index 25b9664bb44ae..9b0cc14593549 100644 --- a/py/selenium/webdriver/support/ui.py +++ b/py/selenium/webdriver/support/ui.py @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -from .select import Select -from .wait import WebDriverWait +from selenium.webdriver.support.select import Select +from selenium.webdriver.support.wait import WebDriverWait __all__ = ["Select", "WebDriverWait"] diff --git a/py/selenium/webdriver/webkitgtk/webdriver.py b/py/selenium/webdriver/webkitgtk/webdriver.py index dedf8df9d0db7..8c2f45e891c7b 100644 --- a/py/selenium/webdriver/webkitgtk/webdriver.py +++ b/py/selenium/webdriver/webkitgtk/webdriver.py @@ -20,9 +20,8 @@ from selenium.webdriver.common.driver_finder import DriverFinder from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver - -from .options import Options -from .service import Service +from selenium.webdriver.webkitgtk.options import Options +from selenium.webdriver.webkitgtk.service import Service class WebDriver(RemoteWebDriver): diff --git a/py/selenium/webdriver/wpewebkit/webdriver.py b/py/selenium/webdriver/wpewebkit/webdriver.py index 64e298cc475c5..8cae93d2c9f15 100644 --- a/py/selenium/webdriver/wpewebkit/webdriver.py +++ b/py/selenium/webdriver/wpewebkit/webdriver.py @@ -20,9 +20,8 @@ from selenium.webdriver.common.driver_finder import DriverFinder from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver - -from .options import Options -from .service import Service +from selenium.webdriver.wpewebkit.options import Options +from selenium.webdriver.wpewebkit.service import Service class WebDriver(RemoteWebDriver): From 9cd26d50c0c26f531e6a99874bf33693b9c0f2da Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Thu, 11 Sep 2025 13:03:46 +0300 Subject: [PATCH 088/118] [java] Fix concurrency issue in Selenium Manager (#16315) #16314 fix concurrency issue in Selenium Manager ... when executed by 2+ processes simultaneously on a machine with empty Selenium cache. Every process sees the file created by another process only when the file is fully completed. --- .../selenium/manager/SeleniumManager.java | 33 ++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/java/src/org/openqa/selenium/manager/SeleniumManager.java b/java/src/org/openqa/selenium/manager/SeleniumManager.java index 97e23c85f4cb6..606fb5235e7a1 100644 --- a/java/src/org/openqa/selenium/manager/SeleniumManager.java +++ b/java/src/org/openqa/selenium/manager/SeleniumManager.java @@ -16,6 +16,9 @@ // under the License. package org.openqa.selenium.manager; +import static java.nio.file.StandardCopyOption.REPLACE_EXISTING; +import static java.util.Objects.requireNonNull; +import static java.util.UUID.randomUUID; import static org.openqa.selenium.Platform.LINUX; import static org.openqa.selenium.Platform.MAC; import static org.openqa.selenium.Platform.UNIX; @@ -213,11 +216,10 @@ private synchronized Path getBinary() { } binary = getBinaryInCache(SELENIUM_MANAGER + extension); - if (!binary.toFile().exists()) { - String binaryPathInJar = String.format("%s/%s%s", folder, SELENIUM_MANAGER, extension); - try (InputStream inputStream = this.getClass().getResourceAsStream(binaryPathInJar)) { + if (!Files.exists(binary)) { + try (InputStream inputStream = findBinaryInClasspath(folder, extension)) { Files.createDirectories(binary.getParent()); - Files.copy(inputStream, binary); + saveToFileSafely(inputStream, binary); } } } catch (Exception e) { @@ -233,6 +235,29 @@ private synchronized Path getBinary() { return binary; } + /** + * Protect from concurrency issue when executed by 2+ processes simultaneously. Every process sees + * the file created by another process only when the file is fully completed. + */ + private void saveToFileSafely(InputStream inputStream, Path target) throws IOException { + Path temporaryFile = target.resolveSibling(target.getFileName() + "." + randomUUID() + ".tmp"); + Files.copy(inputStream, temporaryFile); + try { + if (!Files.exists(target)) { + Files.move(temporaryFile, target, REPLACE_EXISTING); + } + } finally { + Files.deleteIfExists(temporaryFile); + } + } + + private InputStream findBinaryInClasspath(String folder, String extension) { + String binaryPathInJar = String.format("%s/%s%s", folder, SELENIUM_MANAGER, extension); + return requireNonNull( + getClass().getResourceAsStream(binaryPathInJar), + () -> "Resource not found in classpath: " + binaryPathInJar); + } + /** * Executes Selenium Manager to get the locations of the requested assets * From 6d3749bd5530cfdfec2f56cc909f913b7d3ea948 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Thu, 11 Sep 2025 20:15:28 +0300 Subject: [PATCH 089/118] [java] Fix falsy Spotbugs warning about not closed resource (#16318) #16314 fix falsy Spotbugs warning about not closed resource I had to inline method `findBinaryInClasspath()` to make Spotbugs happy. I could not find any other way to suppress this falsy warning. :( --- .../org/openqa/selenium/manager/SeleniumManager.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/java/src/org/openqa/selenium/manager/SeleniumManager.java b/java/src/org/openqa/selenium/manager/SeleniumManager.java index 606fb5235e7a1..6af3e3dd0d926 100644 --- a/java/src/org/openqa/selenium/manager/SeleniumManager.java +++ b/java/src/org/openqa/selenium/manager/SeleniumManager.java @@ -217,7 +217,9 @@ private synchronized Path getBinary() { binary = getBinaryInCache(SELENIUM_MANAGER + extension); if (!Files.exists(binary)) { - try (InputStream inputStream = findBinaryInClasspath(folder, extension)) { + String binaryPathInJar = String.format("%s/%s%s", folder, SELENIUM_MANAGER, extension); + try (InputStream inputStream = + requireNonNull(getClass().getResourceAsStream(binaryPathInJar))) { Files.createDirectories(binary.getParent()); saveToFileSafely(inputStream, binary); } @@ -251,13 +253,6 @@ private void saveToFileSafely(InputStream inputStream, Path target) throws IOExc } } - private InputStream findBinaryInClasspath(String folder, String extension) { - String binaryPathInJar = String.format("%s/%s%s", folder, SELENIUM_MANAGER, extension); - return requireNonNull( - getClass().getResourceAsStream(binaryPathInJar), - () -> "Resource not found in classpath: " + binaryPathInJar); - } - /** * Executes Selenium Manager to get the locations of the requested assets * From 034f50397e6f39487c6755d5ce49e411f66c97eb Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Fri, 12 Sep 2025 08:03:44 -0400 Subject: [PATCH 090/118] [py] Bump Python dev dependencies (#16317) --- multitool.lock.json | 20 +- py/docs/source/api.rst | 1 + py/requirements.txt | 24 +-- py/requirements_lock.txt | 295 ++++++++++++++------------- py/tox.ini | 4 +- scripts/update_multitool_binaries.py | 0 scripts/update_py_dependencies.sh | 5 +- 7 files changed, 184 insertions(+), 165 deletions(-) mode change 100644 => 100755 scripts/update_multitool_binaries.py diff --git a/multitool.lock.json b/multitool.lock.json index fcb1199ee8fe8..078148109b7f5 100644 --- a/multitool.lock.json +++ b/multitool.lock.json @@ -4,41 +4,41 @@ "binaries": [ { "kind": "archive", - "url": "https://github.com/astral-sh/ruff/releases/download/0.12.10/ruff-aarch64-unknown-linux-musl.tar.gz", + "url": "https://github.com/astral-sh/ruff/releases/download/0.13.0/ruff-aarch64-unknown-linux-musl.tar.gz", "file": "ruff-aarch64-unknown-linux-musl/ruff", - "sha256": "10b43a88fb948aaae538ec9f35e93b4433f144d0379fb3a67d88282595b969f7", + "sha256": "bdee6f1376470b74b1dc5ed48eca52ec9c3e4512bd7f3204e0df100f0bed4741", "os": "linux", "cpu": "arm64" }, { "kind": "archive", - "url": "https://github.com/astral-sh/ruff/releases/download/0.12.10/ruff-x86_64-unknown-linux-musl.tar.gz", + "url": "https://github.com/astral-sh/ruff/releases/download/0.13.0/ruff-x86_64-unknown-linux-musl.tar.gz", "file": "ruff-x86_64-unknown-linux-musl/ruff", - "sha256": "dd4e5b8f81547a48975489913a80e0dce6be7f1c455912fe3a5bd5a1f5f1a35d", + "sha256": "b56ac90cc6987401bafdcf1b931ef044074c5b9451286afa4606a983f64f4fdd", "os": "linux", "cpu": "x86_64" }, { "kind": "archive", - "url": "https://github.com/astral-sh/ruff/releases/download/0.12.10/ruff-aarch64-apple-darwin.tar.gz", + "url": "https://github.com/astral-sh/ruff/releases/download/0.13.0/ruff-aarch64-apple-darwin.tar.gz", "file": "ruff-aarch64-apple-darwin/ruff", - "sha256": "72c6abf39f5e87c57faa2d191baf2582e437ff72cdc0f52b7c7e50f26d41b807", + "sha256": "0d706798534537b6655b79fd95c2955c0a0013d4c54d36679d3306825a6bd6aa", "os": "macos", "cpu": "arm64" }, { "kind": "archive", - "url": "https://github.com/astral-sh/ruff/releases/download/0.12.10/ruff-x86_64-apple-darwin.tar.gz", + "url": "https://github.com/astral-sh/ruff/releases/download/0.13.0/ruff-x86_64-apple-darwin.tar.gz", "file": "ruff-x86_64-apple-darwin/ruff", - "sha256": "8619f277921b3e2e56d850c3e203fd4ef10b457bc50f93ab6fe85743eb324de6", + "sha256": "ac47ad1ac90f3070c064d2f5fceef4fe609fec7c073fd29d0814ed126c492e6d", "os": "macos", "cpu": "x86_64" }, { "kind": "archive", - "url": "https://github.com/astral-sh/ruff/releases/download/0.12.10/ruff-x86_64-pc-windows-msvc.zip", + "url": "https://github.com/astral-sh/ruff/releases/download/0.13.0/ruff-x86_64-pc-windows-msvc.zip", "file": "ruff-x86_64-pc-windows-msvc/ruff.exe", - "sha256": "a639e4dee10cb2900bffa7165457766671c59c744ce6b61cc658c35ab33a91fd", + "sha256": "3a8d8cb96333671f78a5d209ddb4f830287e3eb2796fe01dd043b02ec1c1c7f1", "os": "windows", "cpu": "x86_64" } diff --git a/py/docs/source/api.rst b/py/docs/source/api.rst index 898ac449ce940..e512063cfd91b 100644 --- a/py/docs/source/api.rst +++ b/py/docs/source/api.rst @@ -96,6 +96,7 @@ webdriver.common.bidi selenium.webdriver.common.bidi.common selenium.webdriver.common.bidi.console selenium.webdriver.common.bidi.emulation + selenium.webdriver.common.bidi.input selenium.webdriver.common.bidi.log selenium.webdriver.common.bidi.network selenium.webdriver.common.bidi.permissions diff --git a/py/requirements.txt b/py/requirements.txt index 42ea31559adb1..955d4c7fa84ce 100644 --- a/py/requirements.txt +++ b/py/requirements.txt @@ -1,11 +1,11 @@ attrs==25.3.0 -cachetools==6.1.0 +cachetools==6.2.0 certifi==2025.8.3 -cffi==1.17.1 +cffi==2.0.0 chardet==5.2.0 charset-normalizer==3.4.3 colorama==0.4.6 -cryptography==45.0.6 +cryptography==45.0.7 debugpy==1.8.16 distlib==0.4.0 docutils==0.21.2 @@ -24,21 +24,21 @@ jeepney==0.9.0 keyring==25.6.0 markdown-it-py==3.0.0 mdurl==0.1.2 -more-itertools==10.7.0 +more-itertools==10.8.0 multidict==6.6.4 nh3==0.3.0 outcome==1.3.0.post0 packaging==25.0 -platformdirs==4.3.8 +platformdirs==4.4.0 pluggy==1.6.0 py==1.11.0 -pycparser==2.22 +pycparser==2.23 Pygments==2.19.2 pyproject-api==1.9.1 PySocks==1.7.1 -pytest==8.4.1 +pytest==8.4.2 pytest-instafail==0.5.0 -pytest-mock==3.14.1 +pytest-mock==3.15.0 pytest-trio==0.8.0 pywin32-ctypes==0.2.3 readme_renderer==44.0 @@ -49,11 +49,11 @@ rich==14.1.0 SecretStorage==3.3.3 sniffio==1.3.1 sortedcontainers==2.4.0 -tox==4.28.4 -trio==0.30.0 +tox==4.30.2 +trio==0.31.0 trio-websocket==0.12.2 -twine==6.1.0 -typing_extensions==4.14.1 +twine==6.2.0 +typing_extensions==4.15.0 urllib3[socks]==2.5.0 virtualenv==20.34.0 websocket-client==1.8.0 diff --git a/py/requirements_lock.txt b/py/requirements_lock.txt index e4ecf95e5b260..26a0204b10293 100644 --- a/py/requirements_lock.txt +++ b/py/requirements_lock.txt @@ -15,9 +15,9 @@ backports-tarfile==1.2.0 \ --hash=sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34 \ --hash=sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991 # via jaraco-context -cachetools==6.1.0 \ - --hash=sha256:1c7bb3cf9193deaf3508b7c5f2a79986c13ea38965c5adcff1f84519cf39163e \ - --hash=sha256:b4c4f404392848db3ce7aac34950d17be4d864da4b8b66911008e430bc544587 +cachetools==6.2.0 \ + --hash=sha256:1c76a8960c0041fcc21097e357f882197c79da0dbff766e7317890a65d7d8ba6 \ + --hash=sha256:38b328c0889450f05f5e120f56ab68c8abaf424e1275522b138ffc93253f7e32 # via # -r py/requirements.txt # tox @@ -27,74 +27,91 @@ certifi==2025.8.3 \ # via # -r py/requirements.txt # requests -cffi==1.17.1 \ - --hash=sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8 \ - --hash=sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2 \ - --hash=sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1 \ - --hash=sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15 \ - --hash=sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36 \ - --hash=sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824 \ - --hash=sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8 \ - --hash=sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36 \ - --hash=sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17 \ - --hash=sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf \ - --hash=sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc \ - --hash=sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3 \ - --hash=sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed \ - --hash=sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702 \ - --hash=sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1 \ - --hash=sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8 \ - --hash=sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903 \ - --hash=sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6 \ - --hash=sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d \ - --hash=sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b \ - --hash=sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e \ - --hash=sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be \ - --hash=sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c \ - --hash=sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683 \ - --hash=sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9 \ - --hash=sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c \ - --hash=sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8 \ - --hash=sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1 \ - --hash=sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4 \ - --hash=sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655 \ - --hash=sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67 \ - --hash=sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595 \ - --hash=sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0 \ - --hash=sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65 \ - --hash=sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41 \ - --hash=sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6 \ - --hash=sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401 \ - --hash=sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6 \ - --hash=sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3 \ - --hash=sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16 \ - --hash=sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93 \ - --hash=sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e \ - --hash=sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4 \ - --hash=sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964 \ - --hash=sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c \ - --hash=sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576 \ - --hash=sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0 \ - --hash=sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3 \ - --hash=sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662 \ - --hash=sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3 \ - --hash=sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff \ - --hash=sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5 \ - --hash=sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd \ - --hash=sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f \ - --hash=sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5 \ - --hash=sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14 \ - --hash=sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d \ - --hash=sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9 \ - --hash=sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7 \ - --hash=sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382 \ - --hash=sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a \ - --hash=sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e \ - --hash=sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a \ - --hash=sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4 \ - --hash=sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99 \ - --hash=sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87 \ - --hash=sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b +cffi==2.0.0 \ + --hash=sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb \ + --hash=sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b \ + --hash=sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f \ + --hash=sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9 \ + --hash=sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44 \ + --hash=sha256:0f6084a0ea23d05d20c3edcda20c3d006f9b6f3fefeac38f59262e10cef47ee2 \ + --hash=sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c \ + --hash=sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75 \ + --hash=sha256:1cd13c99ce269b3ed80b417dcd591415d3372bcac067009b6e0f59c7d4015e65 \ + --hash=sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e \ + --hash=sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a \ + --hash=sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e \ + --hash=sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25 \ + --hash=sha256:2081580ebb843f759b9f617314a24ed5738c51d2aee65d31e02f6f7a2b97707a \ + --hash=sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe \ + --hash=sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b \ + --hash=sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91 \ + --hash=sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592 \ + --hash=sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187 \ + --hash=sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c \ + --hash=sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1 \ + --hash=sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94 \ + --hash=sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba \ + --hash=sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb \ + --hash=sha256:3f4d46d8b35698056ec29bca21546e1551a205058ae1a181d871e278b0b28165 \ + --hash=sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529 \ + --hash=sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca \ + --hash=sha256:4647afc2f90d1ddd33441e5b0e85b16b12ddec4fca55f0d9671fef036ecca27c \ + --hash=sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6 \ + --hash=sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c \ + --hash=sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0 \ + --hash=sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743 \ + --hash=sha256:61d028e90346df14fedc3d1e5441df818d095f3b87d286825dfcbd6459b7ef63 \ + --hash=sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5 \ + --hash=sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5 \ + --hash=sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4 \ + --hash=sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d \ + --hash=sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b \ + --hash=sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93 \ + --hash=sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205 \ + --hash=sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27 \ + --hash=sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512 \ + --hash=sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d \ + --hash=sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c \ + --hash=sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037 \ + --hash=sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26 \ + --hash=sha256:89472c9762729b5ae1ad974b777416bfda4ac5642423fa93bd57a09204712322 \ + --hash=sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb \ + --hash=sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c \ + --hash=sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8 \ + --hash=sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4 \ + --hash=sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414 \ + --hash=sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9 \ + --hash=sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664 \ + --hash=sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9 \ + --hash=sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775 \ + --hash=sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739 \ + --hash=sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc \ + --hash=sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062 \ + --hash=sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe \ + --hash=sha256:b882b3df248017dba09d6b16defe9b5c407fe32fc7c65a9c69798e6175601be9 \ + --hash=sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92 \ + --hash=sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5 \ + --hash=sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13 \ + --hash=sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d \ + --hash=sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26 \ + --hash=sha256:cb527a79772e5ef98fb1d700678fe031e353e765d1ca2d409c92263c6d43e09f \ + --hash=sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495 \ + --hash=sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b \ + --hash=sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6 \ + --hash=sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c \ + --hash=sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef \ + --hash=sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5 \ + --hash=sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18 \ + --hash=sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad \ + --hash=sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3 \ + --hash=sha256:de8dad4425a6ca6e4e5e297b27b5c824ecc7581910bf9aee86cb6835e6812aa7 \ + --hash=sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5 \ + --hash=sha256:e6e73b9e02893c764e7e8d5bb5ce277f1a009cd5243f8228f75f842bf937c534 \ + --hash=sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49 \ + --hash=sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2 \ + --hash=sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5 \ + --hash=sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453 \ + --hash=sha256:fe562eb1a64e67dd297ccc4f5addea2501664954f2692b69a76449ec7913ecbf # via # -r py/requirements.txt # cryptography @@ -193,44 +210,44 @@ colorama==0.4.6 \ # via # -r py/requirements.txt # tox -cryptography==45.0.6 \ - --hash=sha256:00e8724bdad672d75e6f069b27970883179bd472cd24a63f6e620ca7e41cc0c5 \ - --hash=sha256:048e7ad9e08cf4c0ab07ff7f36cc3115924e22e2266e034450a890d9e312dd74 \ - --hash=sha256:0d9ef57b6768d9fa58e92f4947cea96ade1233c0e236db22ba44748ffedca394 \ - --hash=sha256:18f878a34b90d688982e43f4b700408b478102dd58b3e39de21b5ebf6509c301 \ - --hash=sha256:1b7fa6a1c1188c7ee32e47590d16a5a0646270921f8020efc9a511648e1b2e08 \ - --hash=sha256:20ae4906a13716139d6d762ceb3e0e7e110f7955f3bc3876e3a07f5daadec5f3 \ - --hash=sha256:20d15aed3ee522faac1a39fbfdfee25d17b1284bafd808e1640a74846d7c4d1b \ - --hash=sha256:2384f2ab18d9be88a6e4f8972923405e2dbb8d3e16c6b43f15ca491d7831bd18 \ - --hash=sha256:275ba5cc0d9e320cd70f8e7b96d9e59903c815ca579ab96c1e37278d231fc402 \ - --hash=sha256:2dac5ec199038b8e131365e2324c03d20e97fe214af051d20c49db129844e8b3 \ - --hash=sha256:31a2b9a10530a1cb04ffd6aa1cd4d3be9ed49f7d77a4dafe198f3b382f41545c \ - --hash=sha256:3436128a60a5e5490603ab2adbabc8763613f638513ffa7d311c900a8349a2a0 \ - --hash=sha256:3b5bf5267e98661b9b888a9250d05b063220dfa917a8203744454573c7eb79db \ - --hash=sha256:3de77e4df42ac8d4e4d6cdb342d989803ad37707cf8f3fbf7b088c9cbdd46427 \ - --hash=sha256:44647c5d796f5fc042bbc6d61307d04bf29bccb74d188f18051b635f20a9c75f \ - --hash=sha256:550ae02148206beb722cfe4ef0933f9352bab26b087af00e48fdfb9ade35c5b3 \ - --hash=sha256:599c8d7df950aa68baa7e98f7b73f4f414c9f02d0e8104a30c0182a07732638b \ - --hash=sha256:5b64e668fc3528e77efa51ca70fadcd6610e8ab231e3e06ae2bab3b31c2b8ed9 \ - --hash=sha256:5bd6020c80c5b2b2242d6c48487d7b85700f5e0038e67b29d706f98440d66eb5 \ - --hash=sha256:5c966c732cf6e4a276ce83b6e4c729edda2df6929083a952cc7da973c539c719 \ - --hash=sha256:629127cfdcdc6806dfe234734d7cb8ac54edaf572148274fa377a7d3405b0043 \ - --hash=sha256:705bb7c7ecc3d79a50f236adda12ca331c8e7ecfbea51edd931ce5a7a7c4f012 \ - --hash=sha256:780c40fb751c7d2b0c6786ceee6b6f871e86e8718a8ff4bc35073ac353c7cd02 \ - --hash=sha256:7a3085d1b319d35296176af31c90338eeb2ddac8104661df79f80e1d9787b8b2 \ - --hash=sha256:826b46dae41a1155a0c0e66fafba43d0ede1dc16570b95e40c4d83bfcf0a451d \ - --hash=sha256:833dc32dfc1e39b7376a87b9a6a4288a10aae234631268486558920029b086ec \ - --hash=sha256:cc4d66f5dc4dc37b89cfef1bd5044387f7a1f6f0abb490815628501909332d5d \ - --hash=sha256:d063341378d7ee9c91f9d23b431a3502fc8bfacd54ef0a27baa72a0843b29159 \ - --hash=sha256:e2a21a8eda2d86bb604934b6b37691585bd095c1f788530c1fcefc53a82b3453 \ - --hash=sha256:e40b80ecf35ec265c452eea0ba94c9587ca763e739b8e559c128d23bff7ebbbf \ - --hash=sha256:e5b3dda1b00fb41da3af4c5ef3f922a200e33ee5ba0f0bc9ecf0b0c173958385 \ - --hash=sha256:ea3c42f2016a5bbf71825537c2ad753f2870191134933196bee408aac397b3d9 \ - --hash=sha256:eccddbd986e43014263eda489abbddfbc287af5cddfd690477993dbb31e31016 \ - --hash=sha256:ee411a1b977f40bd075392c80c10b58025ee5c6b47a822a33c1198598a7a5f05 \ - --hash=sha256:f4028f29a9f38a2025abedb2e409973709c660d44319c61762202206ed577c42 \ - --hash=sha256:f68f833a9d445cc49f01097d95c83a850795921b3f7cc6488731e69bde3288da \ - --hash=sha256:fc022c1fa5acff6def2fc6d7819bbbd31ccddfe67d075331a65d9cfb28a20983 +cryptography==45.0.7 \ + --hash=sha256:06ce84dc14df0bf6ea84666f958e6080cdb6fe1231be2a51f3fc1267d9f3fb34 \ + --hash=sha256:16ede8a4f7929b4b7ff3642eba2bf79aa1d71f24ab6ee443935c0d269b6bc513 \ + --hash=sha256:18fcf70f243fe07252dcb1b268a687f2358025ce32f9f88028ca5c364b123ef5 \ + --hash=sha256:1993a1bb7e4eccfb922b6cd414f072e08ff5816702a0bdb8941c247a6b1b287c \ + --hash=sha256:1f3d56f73595376f4244646dd5c5870c14c196949807be39e79e7bd9bac3da63 \ + --hash=sha256:258e0dff86d1d891169b5af222d362468a9570e2532923088658aa866eb11130 \ + --hash=sha256:2f641b64acc00811da98df63df7d59fd4706c0df449da71cb7ac39a0732b40ae \ + --hash=sha256:3808e6b2e5f0b46d981c24d79648e5c25c35e59902ea4391a0dcb3e667bf7443 \ + --hash=sha256:3994c809c17fc570c2af12c9b840d7cea85a9fd3e5c0e0491f4fa3c029216d59 \ + --hash=sha256:3be4f21c6245930688bd9e162829480de027f8bf962ede33d4f8ba7d67a00cee \ + --hash=sha256:465ccac9d70115cd4de7186e60cfe989de73f7bb23e8a7aa45af18f7412e75bf \ + --hash=sha256:48c41a44ef8b8c2e80ca4527ee81daa4c527df3ecbc9423c41a420a9559d0e27 \ + --hash=sha256:4a862753b36620af6fc54209264f92c716367f2f0ff4624952276a6bbd18cbde \ + --hash=sha256:4b1654dfc64ea479c242508eb8c724044f1e964a47d1d1cacc5132292d851971 \ + --hash=sha256:4bd3e5c4b9682bc112d634f2c6ccc6736ed3635fc3319ac2bb11d768cc5a00d8 \ + --hash=sha256:577470e39e60a6cd7780793202e63536026d9b8641de011ed9d8174da9ca5339 \ + --hash=sha256:67285f8a611b0ebc0857ced2081e30302909f571a46bfa7a3cc0ad303fe015c6 \ + --hash=sha256:7285a89df4900ed3bfaad5679b1e668cb4b38a8de1ccbfc84b05f34512da0a90 \ + --hash=sha256:81823935e2f8d476707e85a78a405953a03ef7b7b4f55f93f7c2d9680e5e0691 \ + --hash=sha256:8978132287a9d3ad6b54fcd1e08548033cc09dc6aacacb6c004c73c3eb5d3ac3 \ + --hash=sha256:a20e442e917889d1a6b3c570c9e3fa2fdc398c20868abcea268ea33c024c4083 \ + --hash=sha256:a24ee598d10befaec178efdff6054bc4d7e883f615bfbcd08126a0f4931c83a6 \ + --hash=sha256:b04f85ac3a90c227b6e5890acb0edbaf3140938dbecf07bff618bf3638578cf1 \ + --hash=sha256:b6a0e535baec27b528cb07a119f321ac024592388c5681a5ced167ae98e9fff3 \ + --hash=sha256:bef32a5e327bd8e5af915d3416ffefdbe65ed975b646b3805be81b23580b57b8 \ + --hash=sha256:bfb4c801f65dd61cedfc61a83732327fafbac55a47282e6f26f073ca7a41c3b2 \ + --hash=sha256:c13b1e3afd29a5b3b2656257f14669ca8fa8d7956d509926f0b130b600b50ab7 \ + --hash=sha256:c987dad82e8c65ebc985f5dae5e74a3beda9d0a2a4daf8a1115f3772b59e5141 \ + --hash=sha256:ce7a453385e4c4693985b4a4a3533e041558851eae061a58a5405363b098fcd3 \ + --hash=sha256:d0c5c6bac22b177bf8da7435d9d27a6834ee130309749d162b26c3105c0795a9 \ + --hash=sha256:d97cf502abe2ab9eff8bd5e4aca274da8d06dd3ef08b759a8d6143f4ad65d4b4 \ + --hash=sha256:dad43797959a74103cb59c5dac71409f9c27d34c8a05921341fb64ea8ccb1dd4 \ + --hash=sha256:dd342f085542f6eb894ca00ef70236ea46070c8a13824c6bde0dfdcd36065b9b \ + --hash=sha256:de58755d723e86175756f463f2f0bddd45cc36fbd62601228a3f8761c9f58252 \ + --hash=sha256:f3df7b3d0f91b88b2106031fd995802a2e9ae13e02c36c1fc075b43f420f3a17 \ + --hash=sha256:f5414a788ecc6ee6bc58560e85ca624258a55ca434884445440a810796ea0e0b \ + --hash=sha256:fa26fa54c0a9384c27fcdc905a2fb7d60ac6e47d14bc2692145f2b3b1e2cfdbd # via # -r py/requirements.txt # secretstorage @@ -268,9 +285,9 @@ distlib==0.4.0 \ # via # -r py/requirements.txt # virtualenv -docutils==0.21.2 \ - --hash=sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f \ - --hash=sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2 +docutils==0.22 \ + --hash=sha256:4ed966a0e96a0477d852f7af31bdcb3adc049fbb35ccba358c2ea8a03287615e \ + --hash=sha256:ba9d57750e92331ebe7c08a1bbf7a7f8143b86c476acd51528b042216a6aad0f # via # -r py/requirements.txt # readme-renderer @@ -371,9 +388,9 @@ mdurl==0.1.2 \ # via # -r py/requirements.txt # markdown-it-py -more-itertools==10.7.0 \ - --hash=sha256:9fddd5403be01a94b204faadcff459ec3568cf110265d3c54323e1e866ad29d3 \ - --hash=sha256:d43980384673cb07d2f7d2d918c616b30c659c089ee23953f601d6609c67510e +more-itertools==10.8.0 \ + --hash=sha256:52d4362373dcf7c52546bc4af9a86ee7c4579df9a8dc268be0a2f949d376cc9b \ + --hash=sha256:f638ddf8a1a0d134181275fb5d58b086ead7c6a72429ad725c67503f13ba30bd # via # -r py/requirements.txt # jaraco-classes @@ -537,9 +554,9 @@ packaging==25.0 \ # pytest # tox # twine -platformdirs==4.3.8 \ - --hash=sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc \ - --hash=sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4 +platformdirs==4.4.0 \ + --hash=sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85 \ + --hash=sha256:ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf # via # -r py/requirements.txt # tox @@ -555,9 +572,9 @@ py==1.11.0 \ --hash=sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719 \ --hash=sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378 # via -r py/requirements.txt -pycparser==2.22 \ - --hash=sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6 \ - --hash=sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc +pycparser==2.23 \ + --hash=sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2 \ + --hash=sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934 # via # -r py/requirements.txt # cffi @@ -582,9 +599,9 @@ pysocks==1.7.1 \ # via # -r py/requirements.txt # urllib3 -pytest==8.4.1 \ - --hash=sha256:539c70ba6fcead8e78eebbf1115e8b589e7565830d7d006a8723f19ac8a0afb7 \ - --hash=sha256:7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c +pytest==8.4.2 \ + --hash=sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01 \ + --hash=sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79 # via # -r py/requirements.txt # pytest-instafail @@ -594,9 +611,9 @@ pytest-instafail==0.5.0 \ --hash=sha256:33a606f7e0c8e646dc3bfee0d5e3a4b7b78ef7c36168cfa1f3d93af7ca706c9e \ --hash=sha256:6855414487e9e4bb76a118ce952c3c27d3866af15487506c4ded92eb72387819 # via -r py/requirements.txt -pytest-mock==3.14.1 \ - --hash=sha256:159e9edac4c451ce77a5cdb9fc5d1100708d2dd4ba3c3df572f14097351af80e \ - --hash=sha256:178aefcd11307d874b4cd3100344e7e2d888d9791a6a1d9bfe90fbc1b74fd1d0 +pytest-mock==3.15.0 \ + --hash=sha256:ab896bd190316b9d5d87b277569dfcdf718b2d049a2ccff5f7aca279c002a1cf \ + --hash=sha256:ef2219485fb1bd256b00e7ad7466ce26729b30eadfc7cbcdb4fa9a92ca68db6f # via -r py/requirements.txt pytest-trio==0.8.0 \ --hash=sha256:8363db6336a79e6c53375a2123a41ddbeccc4aa93f93788651641789a56fb52e \ @@ -693,13 +710,13 @@ tomli==2.2.1 \ # pyproject-api # pytest # tox -tox==4.28.4 \ - --hash=sha256:8d4ad9ee916ebbb59272bb045e154a10fa12e3bbdcf94cc5185cbdaf9b241f99 \ - --hash=sha256:b5b14c6307bd8994ff1eba5074275826620325ee1a4f61316959d562bfd70b9d +tox==4.30.2 \ + --hash=sha256:772925ad6c57fe35c7ed5ac3e958ac5ced21dff597e76fc40c1f5bf3cd1b6a2e \ + --hash=sha256:efd261a42e8c82a59f9026320a80a067f27f44cad2e72a6712010c311d31176b # via -r py/requirements.txt -trio==0.30.0 \ - --hash=sha256:0781c857c0c81f8f51e0089929a26b5bb63d57f927728a5586f7e36171f064df \ - --hash=sha256:3bf4f06b8decf8d3cf00af85f40a89824669e2d033bb32469d34840edcfc22a5 +trio==0.31.0 \ + --hash=sha256:b5d14cd6293d79298b49c3485ffd9c07e3ce03a6da8c7dfbe0cb3dd7dc9a4774 \ + --hash=sha256:f71d551ccaa79d0cb73017a33ef3264fde8335728eb4c6391451fe5d253a9d5b # via # -r py/requirements.txt # pytest-trio @@ -708,13 +725,13 @@ trio-websocket==0.12.2 \ --hash=sha256:22c72c436f3d1e264d0910a3951934798dcc5b00ae56fc4ee079d46c7cf20fae \ --hash=sha256:df605665f1db533f4a386c94525870851096a223adcb97f72a07e8b4beba45b6 # via -r py/requirements.txt -twine==6.1.0 \ - --hash=sha256:a47f973caf122930bf0fbbf17f80b83bc1602c9ce393c7845f289a3001dc5384 \ - --hash=sha256:be324f6272eff91d07ee93f251edf232fc647935dd585ac003539b42404a8dbd +twine==6.2.0 \ + --hash=sha256:418ebf08ccda9a8caaebe414433b0ba5e25eb5e4a927667122fbe8f829f985d8 \ + --hash=sha256:e5ed0d2fd70c9959770dce51c8f39c8945c574e18173a7b81802dab51b4b75cf # via -r py/requirements.txt -typing-extensions==4.14.1 \ - --hash=sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36 \ - --hash=sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76 +typing-extensions==4.15.0 \ + --hash=sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466 \ + --hash=sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548 # via # -r py/requirements.txt # exceptiongroup diff --git a/py/tox.ini b/py/tox.ini index 086df0a2f56a5..49c041c7e99e3 100644 --- a/py/tox.ini +++ b/py/tox.ini @@ -32,7 +32,7 @@ setenv = [testenv:mypy] skip_install = true deps = - mypy==1.16.0 + mypy==1.17.1 types-urllib3==1.26.25.14 types-certifi==2021.10.8.3 trio-typing==0.10.0 @@ -43,7 +43,7 @@ commands = [testenv:linting] skip_install = true deps = - ruff==0.12.10 + ruff==0.13.0 commands = ruff check --fix --show-fixes --exit-non-zero-on-fix . ruff format --exit-non-zero-on-format . diff --git a/scripts/update_multitool_binaries.py b/scripts/update_multitool_binaries.py old mode 100644 new mode 100755 diff --git a/scripts/update_py_dependencies.sh b/scripts/update_py_dependencies.sh index 159424cd2cc27..f75c59fbb22ab 100755 --- a/scripts/update_py_dependencies.sh +++ b/scripts/update_py_dependencies.sh @@ -10,8 +10,9 @@ # - run `bazel run //py:requirements.update` to generate a new `py/requirements_lock.txt` file # - deactivate and remove the temporary virtual env # -# After running this script, you should also manually check package dependency versions in -# `py/pyproject.toml`, `py/tox.ini` and `py/BUILD.bazel`, and update those if needed. +# After running this script, you should also manually check package dependency +# versions in `py/pyproject.toml`, `py/tox.ini`, py/BUILD.bazel`, +# `py/docs/requirements.txt`, and update those if needed. # # Once all dependencies are updated, create a new Pull Request with the changes. From 0ff768a2229f23fcb9fec84978a146bf2acb07b9 Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Fri, 12 Sep 2025 08:07:31 -0400 Subject: [PATCH 091/118] [py] Raise InvalidSelectorException for compound class names (#16291) --- .../webdriver/remote/locator_converter.py | 4 + py/selenium/webdriver/remote/shadowroot.py | 5 ++ py/selenium/webdriver/remote/webdriver.py | 1 + .../common/driver_element_finding_tests.py | 76 +++++-------------- 4 files changed, 30 insertions(+), 56 deletions(-) diff --git a/py/selenium/webdriver/remote/locator_converter.py b/py/selenium/webdriver/remote/locator_converter.py index e924d7fd6904f..ceb05c4f25a80 100644 --- a/py/selenium/webdriver/remote/locator_converter.py +++ b/py/selenium/webdriver/remote/locator_converter.py @@ -14,6 +14,8 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. + +from selenium.common.exceptions import InvalidSelectorException from selenium.webdriver.common.by import By @@ -23,6 +25,8 @@ def convert(self, by, value): if by == By.ID: return By.CSS_SELECTOR, f'[id="{value}"]' elif by == By.CLASS_NAME: + if value and any(char.isspace() for char in value.strip()): + raise InvalidSelectorException("Compound class names are not allowed.") return By.CSS_SELECTOR, f".{value}" elif by == By.NAME: return By.CSS_SELECTOR, f'[name="{value}"]' diff --git a/py/selenium/webdriver/remote/shadowroot.py b/py/selenium/webdriver/remote/shadowroot.py index 960377081f7dd..f23f5c42e38c8 100644 --- a/py/selenium/webdriver/remote/shadowroot.py +++ b/py/selenium/webdriver/remote/shadowroot.py @@ -17,6 +17,7 @@ from hashlib import md5 as md5_hash +from selenium.common.exceptions import InvalidSelectorException from selenium.webdriver.common.by import By from selenium.webdriver.remote.command import Command @@ -74,6 +75,8 @@ def find_element(self, by: str = By.ID, value: str = None): by = By.CSS_SELECTOR value = f'[id="{value}"]' elif by == By.CLASS_NAME: + if value and any(char.isspace() for char in value.strip()): + raise InvalidSelectorException("Compound class names are not allowed.") by = By.CSS_SELECTOR value = f".{value}" elif by == By.NAME: @@ -112,6 +115,8 @@ def find_elements(self, by: str = By.ID, value: str = None): by = By.CSS_SELECTOR value = f'[id="{value}"]' elif by == By.CLASS_NAME: + if value and any(char.isspace() for char in value.strip()): + raise InvalidSelectorException("Compound class names are not allowed.") by = By.CSS_SELECTOR value = f".{value}" elif by == By.NAME: diff --git a/py/selenium/webdriver/remote/webdriver.py b/py/selenium/webdriver/remote/webdriver.py index 84cc7c5b5b751..cb8d08b089085 100644 --- a/py/selenium/webdriver/remote/webdriver.py +++ b/py/selenium/webdriver/remote/webdriver.py @@ -14,6 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. + """The WebDriver implementation.""" import base64 diff --git a/py/test/selenium/webdriver/common/driver_element_finding_tests.py b/py/test/selenium/webdriver/common/driver_element_finding_tests.py index cfdca06e23ca5..42df9ff2f9965 100644 --- a/py/test/selenium/webdriver/common/driver_element_finding_tests.py +++ b/py/test/selenium/webdriver/common/driver_element_finding_tests.py @@ -20,7 +20,7 @@ from selenium.common.exceptions import InvalidSelectorException, NoSuchElementException from selenium.webdriver.common.by import By -# By.id positive +# By.ID positive def test_should_be_able_to_find_asingle_element_by_id(driver, pages): @@ -53,7 +53,7 @@ def test_should_be_able_to_find_multiple_elements_by_numeric_id(driver, pages): assert len(elements) == 8 -# By.id negative +# By.ID negative def test_should_not_be_able_to_locate_by_id_asingle_element_that_does_not_exist(driver, pages): @@ -99,7 +99,7 @@ def test_no_such_element_error(driver, pages): driver.find_element(By.ID, "non_Existent_Button") -# By.name positive +# By.NAME positive def test_should_be_able_to_find_asingle_element_by_name(driver, pages): @@ -120,7 +120,7 @@ def test_should_be_able_to_find_an_element_that_does_not_support_the_name_proper assert element.get_attribute("name") == "div1" -# By.name negative +# By.NAME negative def test_should_not_be_able_to_locate_by_name_asingle_element_that_does_not_exist(driver, pages): @@ -159,7 +159,7 @@ def test_finding_multiple_elements_by_name_with_space_should_return_empty_list(d assert len(elements) == 0 -# By.tag_Name positive +# By.TAG_NAME positive def test_should_be_able_to_find_asingle_element_by_tag_name(driver, pages): @@ -174,7 +174,7 @@ def test_should_be_able_to_find_multiple_elements_by_tag_name(driver, pages): assert len(elements) > 1 -# By.tag_Name negative +# By.TAG_NAME negative def test_should_not_be_able_to_locate_by_tag_name_asingle_element_that_does_not_exist(driver, pages): @@ -189,22 +189,18 @@ def test_should_not_be_able_to_locate_by_tag_name_multiple_elements_that_do_not_ assert len(elements) == 0 -@pytest.mark.xfail_firefox(reason="https://github.com/mozilla/geckodriver/issues/2007") -@pytest.mark.xfail_remote(reason="https://github.com/mozilla/geckodriver/issues/2007") +@pytest.mark.xfail_firefox(reason="unlike chrome, firefox raises NoSuchElementException") +@pytest.mark.xfail_remote(reason="unlike chrome, firefox raises NoSuchElementException") @pytest.mark.xfail_safari(reason="unlike chrome, safari raises NoSuchElementException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_finding_asingle_element_by_empty_tag_name_should_throw(driver, pages): pages.load("formPage.html") with pytest.raises(InvalidSelectorException): driver.find_element(By.TAG_NAME, "") -@pytest.mark.xfail_firefox(reason="https://github.com/mozilla/geckodriver/issues/2007") -@pytest.mark.xfail_remote(reason="https://github.com/mozilla/geckodriver/issues/2007") +@pytest.mark.xfail_firefox(reason="unlike chrome, firefox returns an empty list") +@pytest.mark.xfail_remote(reason="unlike chrome, firefox returns an empty list") @pytest.mark.xfail_safari(reason="unlike chrome, safari returns an empty list") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_finding_multiple_elements_by_empty_tag_name_should_throw(driver, pages): pages.load("formPage.html") with pytest.raises(InvalidSelectorException): @@ -223,7 +219,7 @@ def test_finding_multiple_elements_by_tag_name_with_space_should_return_empty_li assert len(elements) == 0 -# By.class_Name positive +# By.CLASS_NAME positive def test_should_be_able_to_find_asingle_element_by_class(driver, pages): @@ -269,7 +265,7 @@ def test_should_find_elements_by_class_when_its_name_is_surrounded_by_whitespace assert elements[0].text == "Spaced out" -# By.class_Name negative +# By.CLASS_NAME negative def test_should_not_find_element_by_class_when_the_name_queried_is_shorter_than_candidate_name(driver, pages): @@ -279,8 +275,6 @@ def test_should_not_find_element_by_class_when_the_name_queried_is_shorter_than_ @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_finding_asingle_element_by_empty_class_name_should_throw(driver, pages): pages.load("xhtmlTest.html") msg = r"\/errors#invalidselectorexception" @@ -289,8 +283,6 @@ def test_finding_asingle_element_by_empty_class_name_should_throw(driver, pages) @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_finding_multiple_elements_by_empty_class_name_should_throw(driver, pages): pages.load("xhtmlTest.html") with pytest.raises(InvalidSelectorException): @@ -299,13 +291,11 @@ def test_finding_multiple_elements_by_empty_class_name_should_throw(driver, page def test_finding_asingle_element_by_compound_class_name_should_throw(driver, pages): pages.load("xhtmlTest.html") - with pytest.raises(NoSuchElementException): + with pytest.raises(InvalidSelectorException): driver.find_element(By.CLASS_NAME, "a b") @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_finding_asingle_element_by_invalid_class_name_should_throw(driver, pages): pages.load("xhtmlTest.html") with pytest.raises(InvalidSelectorException): @@ -313,15 +303,13 @@ def test_finding_asingle_element_by_invalid_class_name_should_throw(driver, page @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_finding_multiple_elements_by_invalid_class_name_should_throw(driver, pages): pages.load("xhtmlTest.html") with pytest.raises(InvalidSelectorException): driver.find_elements(By.CLASS_NAME, "!@#$%^&*") -# By.xpath positive +# By.XPATH positive def test_should_be_able_to_find_asingle_element_by_xpath(driver, pages): @@ -388,7 +376,7 @@ def test_should_be_able_to_find_element_by_xpath_in_xml_document(driver, pages): assert "baz" in element.text -# By.xpath negative +# By.XPATH negative def test_should_throw_an_exception_when_there_is_no_link_to_click(driver, pages): @@ -398,8 +386,6 @@ def test_should_throw_an_exception_when_there_is_no_link_to_click(driver, pages) @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_should_throw_invalid_selector_exception_when_xpath_is_syntactically_invalid_in_driver_find_element( driver, pages ): @@ -409,8 +395,6 @@ def test_should_throw_invalid_selector_exception_when_xpath_is_syntactically_inv @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_should_throw_invalid_selector_exception_when_xpath_is_syntactically_invalid_in_driver_find_elements( driver, pages ): @@ -420,8 +404,6 @@ def test_should_throw_invalid_selector_exception_when_xpath_is_syntactically_inv @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_should_throw_invalid_selector_exception_when_xpath_is_syntactically_invalid_in_element_find_element( driver, pages ): @@ -432,8 +414,6 @@ def test_should_throw_invalid_selector_exception_when_xpath_is_syntactically_inv @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_should_throw_invalid_selector_exception_when_xpath_is_syntactically_invalid_in_element_find_elements( driver, pages ): @@ -444,8 +424,6 @@ def test_should_throw_invalid_selector_exception_when_xpath_is_syntactically_inv @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_should_throw_invalid_selector_exception_when_xpath_returns_wrong_type_in_driver_find_element(driver, pages): pages.load("formPage.html") with pytest.raises(InvalidSelectorException): @@ -453,8 +431,6 @@ def test_should_throw_invalid_selector_exception_when_xpath_returns_wrong_type_i @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_should_throw_invalid_selector_exception_when_xpath_returns_wrong_type_in_driver_find_elements(driver, pages): pages.load("formPage.html") with pytest.raises(InvalidSelectorException): @@ -462,8 +438,6 @@ def test_should_throw_invalid_selector_exception_when_xpath_returns_wrong_type_i @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_should_throw_invalid_selector_exception_when_xpath_returns_wrong_type_in_element_find_element(driver, pages): pages.load("formPage.html") body = driver.find_element(By.TAG_NAME, "body") @@ -472,8 +446,6 @@ def test_should_throw_invalid_selector_exception_when_xpath_returns_wrong_type_i @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_should_throw_invalid_selector_exception_when_xpath_returns_wrong_type_in_element_find_elements(driver, pages): pages.load("formPage.html") body = driver.find_element(By.TAG_NAME, "body") @@ -481,7 +453,7 @@ def test_should_throw_invalid_selector_exception_when_xpath_returns_wrong_type_i body.find_elements(By.XPATH, "count(//input)") -# By.css_Selector positive +# By.CSS_SELECTOR positive def test_should_be_able_to_find_asingle_element_by_css_selector(driver, pages): @@ -530,7 +502,7 @@ def test_should_be_able_to_find_an_element_by_boolean_attribute_using_short_css_ assert element.get_attribute("value") == "two" -# By.css_Selector negative +# By.CSS_SELECTOR negative def test_should_not_find_element_by_css_selector_when_there_is_no_such_element(driver, pages): @@ -546,8 +518,6 @@ def test_should_not_find_elements_by_css_selector_when_there_is_no_such_element( @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_finding_asingle_element_by_empty_css_selector_should_throw(driver, pages): pages.load("xhtmlTest.html") with pytest.raises(InvalidSelectorException): @@ -555,8 +525,6 @@ def test_finding_asingle_element_by_empty_css_selector_should_throw(driver, page @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_finding_multiple_elements_by_empty_css_selector_should_throw(driver, pages): pages.load("xhtmlTest.html") with pytest.raises(InvalidSelectorException): @@ -564,8 +532,6 @@ def test_finding_multiple_elements_by_empty_css_selector_should_throw(driver, pa @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_finding_asingle_element_by_invalid_css_selector_should_throw(driver, pages): pages.load("xhtmlTest.html") with pytest.raises(InvalidSelectorException): @@ -573,15 +539,13 @@ def test_finding_asingle_element_by_invalid_css_selector_should_throw(driver, pa @pytest.mark.xfail_safari(reason="unlike chrome, safari raises TimeoutException") -@pytest.mark.xfail_chrome(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") -@pytest.mark.xfail_edge(reason="https://bugs.chromium.org/p/chromedriver/issues/detail?id=4743") def test_finding_multiple_elements_by_invalid_css_selector_should_throw(driver, pages): pages.load("xhtmlTest.html") with pytest.raises(InvalidSelectorException): driver.find_elements(By.CSS_SELECTOR, "//a/b/c[@id='1']") -# By.link_Text positive +# By.LINK_TEXT positive def test_should_be_able_to_find_alink_by_text(driver, pages): @@ -632,7 +596,7 @@ def test_driver_can_get_link_by_link_test_ignoring_trailing_whitespace(driver, p assert link.text == "link with trailing space" -# By.link_Text negative +# By.LINK_TEXT negative def test_should_not_be_able_to_locate_by_link_text_asingle_element_that_does_not_exist(driver, pages): @@ -647,7 +611,7 @@ def test_should_not_be_able_to_locate_by_link_text_multiple_elements_that_do_not assert len(elements) == 0 -# By.partial_Link_Text positive +# By.PARTIAL_LINK_TEXT positive def test_should_be_able_to_find_multiple_elements_by_partial_link_text(driver, pages): From 8f0bee2629617f0a8250eab8be9a04455229c869 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Mon, 15 Sep 2025 09:23:24 +0200 Subject: [PATCH 092/118] [dotnet][rb][java][js][py] Automated Browser Version Update (#16264) Co-authored-by: Selenium CI Bot --- common/repositories.bzl | 66 ++++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/common/repositories.bzl b/common/repositories.bzl index bce3061d37cc1..a3b0c93ce80d3 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/142.0/linux-x86_64/en-US/firefox-142.0.tar.xz", - sha256 = "da8897a6a618e73878e6022a2bece76af509c304c73ae5c53dc523d35cb7bae6", + url = "https://ftp.mozilla.org/pub/firefox/releases/142.0.1/linux-x86_64/en-US/firefox-142.0.1.tar.xz", + sha256 = "8f47a714610a624ad536a652a70242aa894a37f65565fd3103d4366869743b91", 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/142.0/mac/en-US/Firefox%20142.0.dmg", - sha256 = "cc0ce6b3ec64d064c16187f92ca4a8df5a21a1d7aa2f79a9e82b44602f2b1a0f", + url = "https://ftp.mozilla.org/pub/firefox/releases/142.0.1/mac/en-US/Firefox%20142.0.1.dmg", + sha256 = "de41866c94d064a20cd787d89203c5f646fe0278da13c44605733ce205680965", 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/143.0b3/linux-x86_64/en-US/firefox-143.0b3.tar.xz", - sha256 = "ea43085f0a47d14a8c088175b489c8af149f59703aec20e6dd2bbf01e36d36fc", + url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b9/linux-x86_64/en-US/firefox-143.0b9.tar.xz", + sha256 = "43ac5d340c5380353987417a06af6c9a0eac3a21f2b81c29e6829ca6792418cf", 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/143.0b3/mac/en-US/Firefox%20143.0b3.dmg", - sha256 = "0e392fc487de20c31c4fe66e25473f91ce001dd6e56528409720f7b9934f34e0", + url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b9/mac/en-US/Firefox%20143.0b9.dmg", + sha256 = "7f0c3edd7987fa64023163e3850a5d71bc1c41c7ef4458bf54c486caa1c158dd", 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/95344cbf-d116-4494-8485-b96014e98901/MicrosoftEdge-139.0.3405.119.pkg", - sha256 = "31b3ddce353180a706179d64086ed01b53cfd20a7daea45597a7e9e405fc553f", + url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/548659d9-fd7c-41ae-98f2-88c5d8e2900e/MicrosoftEdge-140.0.3485.66.pkg", + sha256 = "18d0dae9bcc13d02ea46934c45109a3b76075eadb5a1c25191ec44b3583aee32", move = { - "MicrosoftEdge-139.0.3405.119.pkg/Payload/Microsoft Edge.app": "Edge.app", + "MicrosoftEdge-140.0.3485.66.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_139.0.3405.119-1_amd64.deb", - sha256 = "e51e4e36cde5e7be2031fd9145ac9bf26444f734a88ff43858e05c7782e60c7b", + url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_140.0.3485.66-1_amd64.deb", + sha256 = "fc84c914286741ae572b89d07b76e21b0eafbd5fa92db6d935bf7cf5779c5066", 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.microsoft.com/139.0.3405.111/edgedriver_linux64.zip", - sha256 = "76f1c0e35120e37848c174eee1368150b7c2461b8e4907c80bcfc2e61b93c471", + url = "https://msedgedriver.microsoft.com/140.0.3485.66/edgedriver_linux64.zip", + sha256 = "140a592ad275329d22424cd213a8a05a348a66c6bee1eec8e890c3dbe9d23742", 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.microsoft.com/139.0.3405.111/edgedriver_mac64.zip", - sha256 = "c97588078c6f661dd6c66b858f5e21dc9cbcee40420a2b2e839a05803e0e468f", + url = "https://msedgedriver.microsoft.com/140.0.3485.66/edgedriver_mac64.zip", + sha256 = "69456486f9559620c0fcfc118f9ccfa232d7d4f7886347cf164e39b2a9205a03", 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/139.0.7258.138/linux64/chrome-linux64.zip", - sha256 = "a28ed679a017b8042747d81f7855cb86cc71402b268fc843b57533e69a835a17", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.82/linux64/chrome-linux64.zip", + sha256 = "752add52e58c9c7d7565c01c49d3058a0357e24fd518d2b842e22f3577a785fa", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) @@ -220,8 +220,8 @@ js_library( ) http_archive( name = "mac_chrome", - url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.138/mac-x64/chrome-mac-x64.zip", - sha256 = "e910233cc746230abb5d9c855a191fceee0729e299ac15cb562260be302fa64b", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.82/mac-x64/chrome-mac-x64.zip", + sha256 = "d8693a6568fdd1f12ff2bd5628fdc7f176a3307c86fe092e142a3778e1689508", strip_prefix = "chrome-mac-x64", patch_cmds = [ "mv 'Google Chrome for Testing.app' Chrome.app", @@ -241,8 +241,8 @@ js_library( ) http_archive( name = "linux_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.138/linux64/chromedriver-linux64.zip", - sha256 = "b5940d93d97da3d98dba0d4f5a67246b839a8e5634d69a6d625d0ad54bed8bb2", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.82/linux64/chromedriver-linux64.zip", + sha256 = "671545731e0b98fc1dc452005ee32af4ade0b9e9e6d1f684edbdcaec69c3e438", strip_prefix = "chromedriver-linux64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") @@ -259,8 +259,8 @@ js_library( http_archive( name = "mac_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.138/mac-x64/chromedriver-mac-x64.zip", - sha256 = "c6e2a630d72e0017649d54f29a93caa617fac0f846c23b2bd6494d8fe92e4479", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.82/mac-x64/chromedriver-mac-x64.zip", + sha256 = "f7a3ee24168916d12c3bc597aa8514feb0e306a59d5c9f83920869e4764a2307", strip_prefix = "chromedriver-mac-x64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") @@ -277,8 +277,8 @@ js_library( http_archive( name = "linux_beta_chrome", - url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.24/linux64/chrome-linux64.zip", - sha256 = "d2371e5f2ea9cf349a48103ff8c95e83f0ec6a97ff5e7dad951fb73096413d1b", + url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.16/linux64/chrome-linux64.zip", + sha256 = "bdc9007ff717d4f23572ec4af4a4a8e2d69267585ff57d499ef37cf39f2dd229", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) @@ -298,8 +298,8 @@ js_library( ) http_archive( name = "mac_beta_chrome", - url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.24/mac-x64/chrome-mac-x64.zip", - sha256 = "1eeec20838e918be14b6f5d4773fa3a1afedd8e81ff20611a59e0d54c5c3fb3d", + url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.16/mac-x64/chrome-mac-x64.zip", + sha256 = "f6b92982039152b6b52e9f39e6591016d66afb7a0252f3c0a09da12bc7431db1", strip_prefix = "chrome-mac-x64", patch_cmds = [ "mv 'Google Chrome for Testing.app' Chrome.app", @@ -319,8 +319,8 @@ js_library( ) http_archive( name = "linux_beta_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.24/linux64/chromedriver-linux64.zip", - sha256 = "a908e9d9bf547c5b2d73e441d18ba16a0ee8a980c0ad8a0aaf9c3b42d03f5569", + url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.16/linux64/chromedriver-linux64.zip", + sha256 = "c325fbbe40d0dd508233a6bf496819c2ba6e00a4576b9820638c9a85dc5ad2d6", strip_prefix = "chromedriver-linux64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") @@ -337,8 +337,8 @@ js_library( http_archive( name = "mac_beta_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.24/mac-x64/chromedriver-mac-x64.zip", - sha256 = "1b785a93d4dd848942064268428ca186a122d6a64c5aaf7fe2c6c8b1debcb34f", + url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.16/mac-x64/chromedriver-mac-x64.zip", + sha256 = "76b7a6239d4d32f2ef75e0a1d6749b7de89dbe14589ffdd3b3c5bf7c32efbaf6", strip_prefix = "chromedriver-mac-x64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") From d70202714879ddd4a83005ff666e25546e2ae459 Mon Sep 17 00:00:00 2001 From: Navin Chandra Date: Mon, 15 Sep 2025 18:44:36 +0530 Subject: [PATCH 093/118] [py]: enable fedcm tests for chrome (#16118) --- py/test/selenium/webdriver/common/fedcm_tests.py | 1 - 1 file changed, 1 deletion(-) diff --git a/py/test/selenium/webdriver/common/fedcm_tests.py b/py/test/selenium/webdriver/common/fedcm_tests.py index 26c4247bfd283..a187f1c6c1182 100644 --- a/py/test/selenium/webdriver/common/fedcm_tests.py +++ b/py/test/selenium/webdriver/common/fedcm_tests.py @@ -21,7 +21,6 @@ @pytest.mark.xfail_safari(reason="FedCM not supported") -@pytest.mark.xfail_chrome(reason="https://issues.chromium.org/u/0/issues/425801332") @pytest.mark.xfail_firefox(reason="FedCM not supported") @pytest.mark.xfail_ie(reason="FedCM not supported") @pytest.mark.xfail_remote(reason="FedCM not supported, since remote uses Firefox") From 3d16e7cb2d057a91b1b30fa3bb967ad64cbf23a3 Mon Sep 17 00:00:00 2001 From: Pallavi Date: Tue, 16 Sep 2025 01:56:47 +0530 Subject: [PATCH 094/118] [py] Fix type annotations in the chromium webdriver file (#16309) Co-authored-by: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> --- py/selenium/webdriver/chromium/webdriver.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/py/selenium/webdriver/chromium/webdriver.py b/py/selenium/webdriver/chromium/webdriver.py index 4dcf8d73e8fe0..c1bd7ceab7f50 100644 --- a/py/selenium/webdriver/chromium/webdriver.py +++ b/py/selenium/webdriver/chromium/webdriver.py @@ -17,10 +17,10 @@ from typing import Optional +from selenium.webdriver.chromium.options import ChromiumOptions from selenium.webdriver.chromium.remote_connection import ChromiumRemoteConnection +from selenium.webdriver.chromium.service import ChromiumService from selenium.webdriver.common.driver_finder import DriverFinder -from selenium.webdriver.common.options import ArgOptions -from selenium.webdriver.common.service import Service from selenium.webdriver.remote.command import Command from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver @@ -31,10 +31,10 @@ class ChromiumDriver(RemoteWebDriver): def __init__( self, - browser_name: Optional[str] = None, - vendor_prefix: Optional[str] = None, - options: ArgOptions = ArgOptions(), - service: Optional[Service] = None, + browser_name: str, + vendor_prefix: str, + options: Optional[ChromiumOptions] = None, + service: Optional[ChromiumService] = None, keep_alive: bool = True, ) -> None: """Creates a new WebDriver instance of the ChromiumDriver. Starts the @@ -47,7 +47,9 @@ def __init__( - service - Service object for handling the browser driver if you need to pass extra details - keep_alive - Whether to configure ChromiumRemoteConnection to use HTTP keep-alive. """ - self.service = service + + self.service = service if service else ChromiumService() + options = options if options else ChromiumOptions() finder = DriverFinder(self.service, options) if finder.get_browser_path(): From f00747c87eab167ed7c490c79711e187a6de53bb Mon Sep 17 00:00:00 2001 From: Navin Chandra Date: Tue, 16 Sep 2025 13:58:17 +0530 Subject: [PATCH 095/118] [py][bidi]: add test for `downloadEnd` event (#16325) --- .../common/bidi_browsing_context_tests.py | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py b/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py index 254d2aace3c08..87850a4de29e5 100644 --- a/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py +++ b/py/test/selenium/webdriver/common/bidi_browsing_context_tests.py @@ -807,6 +807,49 @@ def on_download_will_begin(info): driver.browsing_context.remove_event_handler("download_will_begin", callback_id) +@pytest.mark.xfail_firefox +def test_add_event_handler_download_end(driver, pages): + """Test adding event handler for download_end event.""" + events_received = [] + + def on_download_end(info): + events_received.append(info) + + callback_id = driver.browsing_context.add_event_handler("download_end", on_download_end) + assert callback_id is not None + + context_id = driver.current_window_handle + url = pages.url("downloads/download.html") + driver.browsing_context.navigate(context=context_id, url=url, wait=ReadinessState.COMPLETE) + + driver.find_element(By.ID, "file-1").click() + + driver.find_element(By.ID, "file-2").click() + WebDriverWait(driver, 5).until(lambda d: len(events_received) == 2) + + assert len(events_received) == 2 + + for ev in events_received: + assert ev.download_params is not None + assert ev.download_params.status == "complete" + assert ev.download_params.context == context_id + assert ev.download_params.timestamp is not None + + # we assert that atleast "file_1" is present in the downloaded file since multiple downloads + # will have numbered suffix like file_1 (1) + assert any( + "downloads/file_1.txt" in ev.download_params.url and "file_1" in ev.download_params.filepath + for ev in events_received + ) + + assert any( + "downloads/file_2.jpg" in ev.download_params.url and "file_2" in ev.download_params.filepath + for ev in events_received + ) + + driver.browsing_context.remove_event_handler("download_end", callback_id) + + def test_add_event_handler_with_specific_contexts(driver): """Test adding event handler with specific browsing contexts.""" events_received = [] From 8d0a81e271255b8559bc19de7696a0b6aad73b12 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Wed, 17 Sep 2025 07:56:10 +0700 Subject: [PATCH 096/118] [grid] Fix regression Distributor rejecting requests when nodes have supported caps but no free slots (#16327) --- .../grid/distributor/NodeRegistry.java | 9 +- .../distributor/local/LocalDistributor.java | 40 +++--- .../distributor/local/LocalNodeRegistry.java | 11 +- .../local/LocalDistributorTest.java | 134 ++++++++++++++++++ 4 files changed, 175 insertions(+), 19 deletions(-) diff --git a/java/src/org/openqa/selenium/grid/distributor/NodeRegistry.java b/java/src/org/openqa/selenium/grid/distributor/NodeRegistry.java index d8b0789b792bd..ec3ae18b7ee51 100644 --- a/java/src/org/openqa/selenium/grid/distributor/NodeRegistry.java +++ b/java/src/org/openqa/selenium/grid/distributor/NodeRegistry.java @@ -85,7 +85,14 @@ public interface NodeRegistry extends HasReadyState, Closeable { DistributorStatus getStatus(); /** - * Gets all available nodes that are not DOWN or DRAINING. + * Get all nodes that are UP. + * + * @return Set of UP node statuses. + */ + Set getUpNodes(); + + /** + * Gets all available nodes that are not DOWN or DRAINING and has free slots. * * @return Set of available node statuses. */ diff --git a/java/src/org/openqa/selenium/grid/distributor/local/LocalDistributor.java b/java/src/org/openqa/selenium/grid/distributor/local/LocalDistributor.java index 609a8a27a55fb..fcb51012b77ae 100644 --- a/java/src/org/openqa/selenium/grid/distributor/local/LocalDistributor.java +++ b/java/src/org/openqa/selenium/grid/distributor/local/LocalDistributor.java @@ -466,7 +466,8 @@ private SlotId reserveSlot(RequestId requestId, Capabilities caps) { } private boolean isNotSupported(Capabilities caps) { - return getAvailableNodes().stream().noneMatch(node -> node.hasCapability(caps, slotMatcher)); + return nodeRegistry.getUpNodes().stream() + .noneMatch(node -> node.hasCapability(caps, slotMatcher)); } private boolean reserve(SlotId id) { @@ -560,21 +561,28 @@ public void run() { } private void checkMatchingSlot(List sessionRequests) { - for (SessionRequestCapability request : sessionRequests) { - long unmatchableCount = - request.getDesiredCapabilities().stream() - .filter(LocalDistributor.this::isNotSupported) - .count(); - - if (unmatchableCount == request.getDesiredCapabilities().size()) { - LOG.info( - "No nodes support the capabilities in the request: " - + request.getDesiredCapabilities()); - SessionNotCreatedException exception = - new SessionNotCreatedException("No nodes support the capabilities in the request"); - sessionQueue.complete(request.getRequestId(), Either.left(exception)); - } - } + // Get UP nodes once to avoid lock & loop over multiple requests + Set upNodes = nodeRegistry.getUpNodes(); + // Filter and reject only requests where NO capabilities are supported by ANY UP node + // This prevents rejecting requests when nodes support capabilities but are just busy + sessionRequests.stream() + .filter( + request -> + request.getDesiredCapabilities().stream() + .noneMatch( + caps -> + upNodes.stream() + .anyMatch(node -> node.hasCapability(caps, slotMatcher)))) + .forEach( + request -> { + LOG.info( + "No nodes support the capabilities in the request: " + + request.getDesiredCapabilities()); + SessionNotCreatedException exception = + new SessionNotCreatedException( + "No nodes support the capabilities in the request"); + sessionQueue.complete(request.getRequestId(), Either.left(exception)); + }); } private void handleNewSessionRequest(SessionRequest sessionRequest) { diff --git a/java/src/org/openqa/selenium/grid/distributor/local/LocalNodeRegistry.java b/java/src/org/openqa/selenium/grid/distributor/local/LocalNodeRegistry.java index 097657a3cc384..cd72a4f7c4b83 100644 --- a/java/src/org/openqa/selenium/grid/distributor/local/LocalNodeRegistry.java +++ b/java/src/org/openqa/selenium/grid/distributor/local/LocalNodeRegistry.java @@ -357,12 +357,19 @@ public DistributorStatus getStatus() { @Override public Set getAvailableNodes() { + // Filter nodes are UP and have capacity (available slots) + return getUpNodes().stream() + .filter(NodeStatus::hasCapacity) + .collect(ImmutableSet.toImmutableSet()); + } + + @Override + public Set getUpNodes() { Lock readLock = this.lock.readLock(); readLock.lock(); try { return model.getSnapshot().stream() - // Filter nodes are UP and have capacity (available slots) - .filter(node -> UP.equals(node.getAvailability()) && node.hasCapacity()) + .filter(node -> UP.equals(node.getAvailability())) .collect(ImmutableSet.toImmutableSet()); } finally { readLock.unlock(); diff --git a/java/test/org/openqa/selenium/grid/distributor/local/LocalDistributorTest.java b/java/test/org/openqa/selenium/grid/distributor/local/LocalDistributorTest.java index eae8de5d87f69..20a138f9b6601 100644 --- a/java/test/org/openqa/selenium/grid/distributor/local/LocalDistributorTest.java +++ b/java/test/org/openqa/selenium/grid/distributor/local/LocalDistributorTest.java @@ -777,6 +777,140 @@ void shouldReduceRedundantSlotChecks() throws URISyntaxException { } } + @Test + void shouldNotRejectRequestsWhenNodesHaveCapabilityButNoFreeSlots() throws URISyntaxException { + // Create a distributor with rejectUnsupportedCaps enabled + NewSessionQueue queue = + new LocalNewSessionQueue( + tracer, + new DefaultSlotMatcher(), + Duration.ofSeconds(2), + Duration.ofSeconds(2), + Duration.ofSeconds(1), + registrationSecret, + 5); + LocalDistributor distributor = + new LocalDistributor( + tracer, + bus, + new PassthroughHttpClient.Factory(localNode), + new LocalSessionMap(tracer, bus), + queue, + new DefaultSlotSelector(), + registrationSecret, + Duration.ofMinutes(5), + true, // Enable rejectUnsupportedCaps + Duration.ofSeconds(5), + newSessionThreadPoolSize, + new DefaultSlotMatcher(), + Duration.ofSeconds(30)); + + // Create a node that supports Chrome with single slot + URI nodeUri = new URI("http://example:1234"); + Node node = + LocalNode.builder(tracer, bus, nodeUri, nodeUri, registrationSecret) + .add( + new ImmutableCapabilities("browserName", "chrome"), + new TestSessionFactory( + (id, c) -> + new Session(id, nodeUri, new ImmutableCapabilities(), c, Instant.now()))) + .maximumConcurrentSessions(1) + .build(); + distributor.add(node); + + // Occupy the node's only slot + SessionRequest sessionRequest = + new SessionRequest( + new RequestId(UUID.randomUUID()), + Instant.now(), + Set.of(W3C), + Set.of(new ImmutableCapabilities("browserName", "chrome")), + Map.of(), + Map.of()); + Either result = + distributor.newSession(sessionRequest); + assertThat(result.isRight()).isTrue(); // Session created successfully + + // Verify node has no available capacity but still supports Chrome + assertThat(distributor.getAvailableNodes()).isEmpty(); // No available nodes + + // Test that the distributor status shows the node is still UP and supports Chrome + // even though it has no available capacity + DistributorStatus status = distributor.getStatus(); + Set allNodes = status.getNodes(); + assertThat(allNodes).hasSize(1); + + NodeStatus nodeStatus = allNodes.iterator().next(); + assertThat(nodeStatus.getAvailability()).isEqualTo(UP); + + // Verify the node still supports Chrome capability even with no free slots + boolean supportsChrome = + nodeStatus.hasCapability( + new ImmutableCapabilities("browserName", "chrome"), new DefaultSlotMatcher()); + assertThat(supportsChrome).isTrue(); + + // Verify the node has no capacity (all slots occupied) + assertThat(nodeStatus.hasCapacity()).isFalse(); + } + + @Test + void shouldRejectRequestsWhenNoNodesHaveCapability() throws URISyntaxException { + // Create a distributor with rejectUnsupportedCaps enabled + NewSessionQueue queue = + new LocalNewSessionQueue( + tracer, + new DefaultSlotMatcher(), + Duration.ofSeconds(2), + Duration.ofSeconds(2), + Duration.ofSeconds(1), + registrationSecret, + 5); + LocalDistributor distributor = + new LocalDistributor( + tracer, + bus, + new PassthroughHttpClient.Factory(localNode), + new LocalSessionMap(tracer, bus), + queue, + new DefaultSlotSelector(), + registrationSecret, + Duration.ofMinutes(5), + true, // Enable rejectUnsupportedCaps + Duration.ofSeconds(5), + newSessionThreadPoolSize, + new DefaultSlotMatcher(), + Duration.ofSeconds(30)); + + // Create a node that only supports Chrome + URI nodeUri = new URI("http://example:1234"); + Node node = + LocalNode.builder(tracer, bus, nodeUri, nodeUri, registrationSecret) + .add( + new ImmutableCapabilities("browserName", "chrome"), + new TestSessionFactory( + (id, c) -> + new Session(id, nodeUri, new ImmutableCapabilities(), c, Instant.now()))) + .build(); + distributor.add(node); + + // Add a Firefox request to the queue (unsupported capability) + SessionRequest unsupportedRequest = + new SessionRequest( + new RequestId(UUID.randomUUID()), + Instant.now(), + Set.of(W3C), + Set.of(new ImmutableCapabilities("browserName", "firefox")), + Map.of(), + Map.of()); + queue.addToQueue(unsupportedRequest); + + // Wait for checkMatchingSlot to run and reject the request + wait.until(obj -> queue.getQueueContents().isEmpty()); + + // The request should be rejected and removed from queue + assertThat(queue.getQueueContents()).isEmpty(); + } + @Test void shouldHandleAllNodesFullyOccupied() throws URISyntaxException { // Create a distributor From 77d20aee7f9ac1e756273a2ca2ed21e1fd4b556a Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Wed, 17 Sep 2025 07:00:00 +0200 Subject: [PATCH 097/118] [dotnet][rb][java][js][py] Automated Browser Version Update (#16328) Co-authored-by: Selenium CI Bot Co-authored-by: Navin Chandra --- common/repositories.bzl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/common/repositories.bzl b/common/repositories.bzl index a3b0c93ce80d3..1ace8dfcb1c9e 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/142.0.1/linux-x86_64/en-US/firefox-142.0.1.tar.xz", - sha256 = "8f47a714610a624ad536a652a70242aa894a37f65565fd3103d4366869743b91", + url = "https://ftp.mozilla.org/pub/firefox/releases/143.0/linux-x86_64/en-US/firefox-143.0.tar.xz", + sha256 = "1c87a9de21941a15177384d4820a6aa3c7dacb38d34089c73a621734ebf1ea9a", 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/142.0.1/mac/en-US/Firefox%20142.0.1.dmg", - sha256 = "de41866c94d064a20cd787d89203c5f646fe0278da13c44605733ce205680965", + url = "https://ftp.mozilla.org/pub/firefox/releases/143.0/mac/en-US/Firefox%20143.0.dmg", + sha256 = "a5c570e277021b61df1295efe77446617ebd768d8ad36a20b309aa382685f6f2", 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/143.0b9/linux-x86_64/en-US/firefox-143.0b9.tar.xz", - sha256 = "43ac5d340c5380353987417a06af6c9a0eac3a21f2b81c29e6829ca6792418cf", + url = "https://ftp.mozilla.org/pub/firefox/releases/144.0b1/linux-x86_64/en-US/firefox-144.0b1.tar.xz", + sha256 = "41efaaa6b924cf898b00161818a754cbc7f1e99df61c0d8a6c8ce4d0b30b5a54", 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/143.0b9/mac/en-US/Firefox%20143.0b9.dmg", - sha256 = "7f0c3edd7987fa64023163e3850a5d71bc1c41c7ef4458bf54c486caa1c158dd", + url = "https://ftp.mozilla.org/pub/firefox/releases/144.0b1/mac/en-US/Firefox%20144.0b1.dmg", + sha256 = "1d378cadf853b9b02e7c61ed85cca4c79933ceb6df50e18fd1ed4e246eef7949", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) From 29af98d927681c467b6169520e58a1e5058b7b86 Mon Sep 17 00:00:00 2001 From: Augustin Gottlieb <33221555+aguspe@users.noreply.github.com> Date: Wed, 17 Sep 2025 07:01:20 +0200 Subject: [PATCH 098/118] [rb] Remove fedcm test guard due to fix in chrome (#16119) Co-authored-by: titusfortner Co-authored-by: Navin Chandra --- rb/spec/integration/selenium/webdriver/fedcm_spec.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/rb/spec/integration/selenium/webdriver/fedcm_spec.rb b/rb/spec/integration/selenium/webdriver/fedcm_spec.rb index c4fd24d740394..eba27930cde49 100644 --- a/rb/spec/integration/selenium/webdriver/fedcm_spec.rb +++ b/rb/spec/integration/selenium/webdriver/fedcm_spec.rb @@ -22,9 +22,7 @@ module Selenium module WebDriver module FedCM - describe FedCM, - exclude: {browser: :chrome, reason: 'https://issues.chromium.org/u/0/issues/425801332'}, - exclusive: [{bidi: false, reason: 'Not yet implemented with BiDi'}, {browser: %i[chrome edge]}] do + describe FedCM, exclusive: [{bidi: false, reason: 'Not yet implemented with BiDi'}, {browser: %i[chrome edge]}] do let(:dialog) { driver.fedcm_dialog } before { driver.get url_for('fedcm/fedcm.html') } From fc28c02f8dcee142ec68ffd15965c0e40117e312 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Wed, 17 Sep 2025 22:16:44 +0300 Subject: [PATCH 099/118] [dotnet] [bidi] Support network collectors and get response body (#16192) --- .../webdriver/BiDi/Communication/Broker.cs | 1 + .../Json/BiDiJsonSerializerContext.cs | 5 ++ .../Json/Converters/CollectorConverter.cs | 47 +++++++++++++++ .../BiDi/Network/AddDataCollectorCommand.cs | 49 ++++++++++++++++ .../src/webdriver/BiDi/Network/BytesValue.cs | 10 ++++ .../src/webdriver/BiDi/Network/Collector.cs | 58 +++++++++++++++++++ .../webdriver/BiDi/Network/GetDataCommand.cs | 36 ++++++++++++ .../webdriver/BiDi/Network/NetworkModule.cs | 25 ++++++++ .../Network/RemoveDataCollectorCommand.cs | 29 ++++++++++ .../test/common/BiDi/Network/NetworkTest.cs | 35 +++++++++++ .../StableChannelChromeDriver.cs | 2 +- 11 files changed, 296 insertions(+), 1 deletion(-) create mode 100644 dotnet/src/webdriver/BiDi/Communication/Json/Converters/CollectorConverter.cs create mode 100644 dotnet/src/webdriver/BiDi/Network/AddDataCollectorCommand.cs create mode 100644 dotnet/src/webdriver/BiDi/Network/Collector.cs create mode 100644 dotnet/src/webdriver/BiDi/Network/GetDataCommand.cs create mode 100644 dotnet/src/webdriver/BiDi/Network/RemoveDataCollectorCommand.cs diff --git a/dotnet/src/webdriver/BiDi/Communication/Broker.cs b/dotnet/src/webdriver/BiDi/Communication/Broker.cs index db2058224749b..dd2c9a6c1244c 100644 --- a/dotnet/src/webdriver/BiDi/Communication/Broker.cs +++ b/dotnet/src/webdriver/BiDi/Communication/Broker.cs @@ -75,6 +75,7 @@ internal Broker(BiDi bidi, Uri url) new BrowserUserContextConverter(bidi), new BrowserClientWindowConverter(), new NavigationConverter(), + new CollectorConverter(_bidi), new InterceptConverter(_bidi), new RequestConverter(), new ChannelConverter(), diff --git a/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs b/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs index e467b53c4922e..5d4ac7e7b0c72 100644 --- a/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs +++ b/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs @@ -118,13 +118,18 @@ namespace OpenQA.Selenium.BiDi.Communication.Json; [JsonSerializable(typeof(BrowsingContext.UserPromptOpenedEventArgs))] [JsonSerializable(typeof(BrowsingContext.UserPromptClosedEventArgs))] +[JsonSerializable(typeof(Network.AddDataCollectorCommand))] +[JsonSerializable(typeof(Network.AddDataCollectorResult))] [JsonSerializable(typeof(Network.AddInterceptCommand))] [JsonSerializable(typeof(Network.AddInterceptResult))] [JsonSerializable(typeof(Network.ContinueRequestCommand))] [JsonSerializable(typeof(Network.ContinueResponseCommand))] [JsonSerializable(typeof(Network.ContinueWithAuthCommand))] [JsonSerializable(typeof(Network.FailRequestCommand))] +[JsonSerializable(typeof(Network.GetDataCommand))] +[JsonSerializable(typeof(Network.GetDataResult))] [JsonSerializable(typeof(Network.ProvideResponseCommand))] +[JsonSerializable(typeof(Network.RemoveDataCollectorCommand))] [JsonSerializable(typeof(Network.RemoveInterceptCommand))] [JsonSerializable(typeof(Network.SetCacheBehaviorCommand))] diff --git a/dotnet/src/webdriver/BiDi/Communication/Json/Converters/CollectorConverter.cs b/dotnet/src/webdriver/BiDi/Communication/Json/Converters/CollectorConverter.cs new file mode 100644 index 0000000000000..836f252435a4d --- /dev/null +++ b/dotnet/src/webdriver/BiDi/Communication/Json/Converters/CollectorConverter.cs @@ -0,0 +1,47 @@ +// +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// + +using OpenQA.Selenium.BiDi.Network; +using System; +using System.Text.Json; +using System.Text.Json.Serialization; + +namespace OpenQA.Selenium.BiDi.Communication.Json.Converters; + +internal class CollectorConverter : JsonConverter +{ + private readonly BiDi _bidi; + + public CollectorConverter(BiDi bidi) + { + _bidi = bidi; + } + + public override Collector? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + var id = reader.GetString(); + + return new Collector(_bidi, id!); + } + + public override void Write(Utf8JsonWriter writer, Collector value, JsonSerializerOptions options) + { + writer.WriteStringValue(value.Id); + } +} diff --git a/dotnet/src/webdriver/BiDi/Network/AddDataCollectorCommand.cs b/dotnet/src/webdriver/BiDi/Network/AddDataCollectorCommand.cs new file mode 100644 index 0000000000000..fa9784f0a273b --- /dev/null +++ b/dotnet/src/webdriver/BiDi/Network/AddDataCollectorCommand.cs @@ -0,0 +1,49 @@ +// +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// + +using System.Collections.Generic; +using OpenQA.Selenium.BiDi.Communication; + +namespace OpenQA.Selenium.BiDi.Network; + +internal sealed class AddDataCollectorCommand(AddDataCollectorParameters @params) + : Command(@params, "network.addDataCollector"); + +internal sealed record AddDataCollectorParameters(IEnumerable DataTypes, int MaxEncodedDataSize, CollectorType? CollectorType, IEnumerable? Contexts, IEnumerable? UserContexts) : Parameters; + +public class AddDataCollectorOptions : CommandOptions +{ + public CollectorType? CollectorType { get; set; } + + public IEnumerable? Contexts { get; set; } + + public IEnumerable? UserContexts { get; set; } +} + +public sealed record AddDataCollectorResult(Collector Collector) : EmptyResult; + +public enum DataType +{ + Response +} + +public enum CollectorType +{ + Blob +} diff --git a/dotnet/src/webdriver/BiDi/Network/BytesValue.cs b/dotnet/src/webdriver/BiDi/Network/BytesValue.cs index 8d57fb7b52f0f..b69e2810f2c8a 100644 --- a/dotnet/src/webdriver/BiDi/Network/BytesValue.cs +++ b/dotnet/src/webdriver/BiDi/Network/BytesValue.cs @@ -29,6 +29,16 @@ public abstract record BytesValue { public static implicit operator BytesValue(string value) => new StringBytesValue(value); public static implicit operator BytesValue(byte[] value) => new Base64BytesValue(value); + + public static explicit operator string(BytesValue value) + { + if (value is StringBytesValue stringBytesValue) + { + return stringBytesValue.Value; + } + + throw new InvalidCastException($"Cannot cast '{value.GetType()}' to '{typeof(string)}'."); + } } public sealed record StringBytesValue(string Value) : BytesValue; diff --git a/dotnet/src/webdriver/BiDi/Network/Collector.cs b/dotnet/src/webdriver/BiDi/Network/Collector.cs new file mode 100644 index 0000000000000..0a1f56a5064a5 --- /dev/null +++ b/dotnet/src/webdriver/BiDi/Network/Collector.cs @@ -0,0 +1,58 @@ +// +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// + +using System; +using System.Threading.Tasks; + +namespace OpenQA.Selenium.BiDi.Network; + +public sealed class Collector : IAsyncDisposable +{ + private readonly BiDi _bidi; + + internal Collector(BiDi bidi, string id) + { + _bidi = bidi; + Id = id; + } + + internal string Id { get; } + + public async Task RemoveAsync() + { + await _bidi.Network.RemoveDataCollectorAsync(this).ConfigureAwait(false); + } + + public async ValueTask DisposeAsync() + { + await RemoveAsync(); + } + + public override bool Equals(object? obj) + { + if (obj is Collector collectortObj) return collectortObj.Id == Id; + + return false; + } + + public override int GetHashCode() + { + return Id.GetHashCode(); + } +} diff --git a/dotnet/src/webdriver/BiDi/Network/GetDataCommand.cs b/dotnet/src/webdriver/BiDi/Network/GetDataCommand.cs new file mode 100644 index 0000000000000..fe1e3f6cfe074 --- /dev/null +++ b/dotnet/src/webdriver/BiDi/Network/GetDataCommand.cs @@ -0,0 +1,36 @@ +// +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// + +using OpenQA.Selenium.BiDi.Communication; + +namespace OpenQA.Selenium.BiDi.Network; + +internal sealed class GetDataCommand(GetDataParameters @params) + : Command(@params, "network.getData"); + +internal sealed record GetDataParameters(DataType DataType, Request Request, Collector? Collector, bool? Disown) : Parameters; + +public sealed class GetDataOptions : CommandOptions +{ + public Collector? Collector { get; set; } + + public bool? Disown { get; set; } +} + +public sealed record GetDataResult(BytesValue Bytes) : EmptyResult; diff --git a/dotnet/src/webdriver/BiDi/Network/NetworkModule.cs b/dotnet/src/webdriver/BiDi/Network/NetworkModule.cs index 38b74db9ee551..95e38245af4b5 100644 --- a/dotnet/src/webdriver/BiDi/Network/NetworkModule.cs +++ b/dotnet/src/webdriver/BiDi/Network/NetworkModule.cs @@ -26,6 +26,15 @@ namespace OpenQA.Selenium.BiDi.Network; public sealed partial class NetworkModule(Broker broker) : Module(broker) { + public async Task AddDataCollectorAsync(IEnumerable DataTypes, int MaxEncodedDataSize, AddDataCollectorOptions? options = null) + { + var @params = new AddDataCollectorParameters(DataTypes, MaxEncodedDataSize, options?.CollectorType, options?.Contexts, options?.UserContexts); + + var result = await Broker.ExecuteCommandAsync(new AddDataCollectorCommand(@params), options).ConfigureAwait(false); + + return result.Collector; + } + public async Task AddInterceptAsync(IEnumerable phases, AddInterceptOptions? options = null) { var @params = new AddInterceptParameters(phases, options?.Contexts, options?.UrlPatterns); @@ -35,6 +44,13 @@ public async Task AddInterceptAsync(IEnumerable phase return result.Intercept; } + public async Task RemoveDataCollectorAsync(Collector collector, RemoveDataCollectorOptions? options = null) + { + var @params = new RemoveDataCollectorParameters(collector); + + return await Broker.ExecuteCommandAsync(new RemoveDataCollectorCommand(@params), options).ConfigureAwait(false); + } + public async Task RemoveInterceptAsync(Intercept intercept, RemoveInterceptOptions? options = null) { var @params = new RemoveInterceptParameters(intercept); @@ -70,6 +86,15 @@ public async Task FailRequestAsync(Request request, FailRequestOpti return await Broker.ExecuteCommandAsync(new FailRequestCommand(@params), options).ConfigureAwait(false); } + public async Task GetDataAsync(DataType dataType, Request request, GetDataOptions? options = null) + { + var @params = new GetDataParameters(dataType, request, options?.Collector, options?.Disown); + + var result = await Broker.ExecuteCommandAsync(new GetDataCommand(@params), options).ConfigureAwait(false); + + return result.Bytes; + } + public async Task ProvideResponseAsync(Request request, ProvideResponseOptions? options = null) { var @params = new ProvideResponseParameters(request, options?.Body, options?.Cookies, options?.Headers, options?.ReasonPhrase, options?.StatusCode); diff --git a/dotnet/src/webdriver/BiDi/Network/RemoveDataCollectorCommand.cs b/dotnet/src/webdriver/BiDi/Network/RemoveDataCollectorCommand.cs new file mode 100644 index 0000000000000..5bb81b557fc8a --- /dev/null +++ b/dotnet/src/webdriver/BiDi/Network/RemoveDataCollectorCommand.cs @@ -0,0 +1,29 @@ +// +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// + +using OpenQA.Selenium.BiDi.Communication; + +namespace OpenQA.Selenium.BiDi.Network; + +internal sealed class RemoveDataCollectorCommand(RemoveDataCollectorParameters @params) + : Command(@params, "network.removeDataCollector"); + +internal sealed record RemoveDataCollectorParameters(Collector Collector) : Parameters; + +public class RemoveDataCollectorOptions : CommandOptions; diff --git a/dotnet/test/common/BiDi/Network/NetworkTest.cs b/dotnet/test/common/BiDi/Network/NetworkTest.cs index 91f37e8c9520a..8aa1c07601d1f 100644 --- a/dotnet/test/common/BiDi/Network/NetworkTest.cs +++ b/dotnet/test/common/BiDi/Network/NetworkTest.cs @@ -19,12 +19,23 @@ using NUnit.Framework; using OpenQA.Selenium.BiDi.BrowsingContext; +using System; using System.Threading.Tasks; namespace OpenQA.Selenium.BiDi.Network; class NetworkTest : BiDiTestFixture { + [Test] + public async Task CanAddDataCollector() + { + // Firefox doesn't like int.MaxValue as max encoded data size + // invalid argument: Expected "maxEncodedDataSize" to be less than the max total data size available (200000000), got 2147483647 + await using var collector = await bidi.Network.AddDataCollectorAsync([DataType.Response], 200000000); + + Assert.That(collector, Is.Not.Null); + } + [Test] public async Task CanAddIntercept() { @@ -210,6 +221,30 @@ public async Task CanFailRequest() Assert.That(action, Throws.TypeOf().With.Message.Contain("net::ERR_FAILED").Or.Message.Contain("NS_ERROR_ABORT")); } + [Test] + public async Task CanGetData() + { + // Firefox doesn't like int.MaxValue as max encoded data size + // invalid argument: Expected "maxEncodedDataSize" to be less than the max total data size available (200000000), got 2147483647 + await using var collector = await bidi.Network.AddDataCollectorAsync([DataType.Response], 200000000); + + TaskCompletionSource responseBodyCompletionSource = new(); + + await using var _ = await bidi.Network.OnResponseCompletedAsync(async e => + { + if (e.Response.Url.Contains("simpleTest.html")) + { + responseBodyCompletionSource.SetResult((string)await bidi.Network.GetDataAsync(DataType.Response, e.Request.Request)); + } + }); + + await context.NavigateAsync(UrlBuilder.WhereIs("simpleTest.html"), new() { Wait = ReadinessState.Complete }); + + var responseBody = await responseBodyCompletionSource.Task.WaitAsync(TimeSpan.FromSeconds(5)); + + Assert.That(responseBody, Contains.Substring("Hello WebDriver")); + } + [Test] public void CanSetCacheBehavior() { diff --git a/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs b/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs index 2cc7548bf69cc..77981244fc789 100644 --- a/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs +++ b/dotnet/test/common/CustomDriverConfigs/StableChannelChromeDriver.cs @@ -39,6 +39,6 @@ public StableChannelChromeDriver(ChromeDriverService service, ChromeOptions opti public static ChromeOptions DefaultOptions { - get { return new ChromeOptions() { BrowserVersion = "139" }; } + get { return new ChromeOptions(); } } } From 63eca90de0f4599f9a53105fe7586c8623a16bf5 Mon Sep 17 00:00:00 2001 From: Alex Popov Date: Thu, 18 Sep 2025 08:13:12 +0700 Subject: [PATCH 100/118] [java] Feat 14291/add jspecify annotations to exception classes pt4 (#16028) Co-authored-by: Puja Jagani Co-authored-by: Viet Nguyen Duc --- java/src/org/openqa/selenium/devtools/BUILD.bazel | 2 ++ .../openqa/selenium/devtools/RequestFailedException.java | 2 ++ .../org/openqa/selenium/grid/sessionmap/jdbc/BUILD.bazel | 1 + .../selenium/grid/sessionmap/jdbc/JdbcException.java | 9 ++++++--- .../openqa/selenium/remote/NoSuchDriverException.java | 7 +++++-- .../selenium/remote/UnreachableBrowserException.java | 7 +++++-- java/src/org/openqa/selenium/remote/http/BUILD.bazel | 1 + .../selenium/remote/http/ConnectionFailedException.java | 7 +++++-- .../selenium/safari/ConnectionClosedException.java | 5 ++++- 9 files changed, 31 insertions(+), 10 deletions(-) diff --git a/java/src/org/openqa/selenium/devtools/BUILD.bazel b/java/src/org/openqa/selenium/devtools/BUILD.bazel index 351d22c5781ba..e2aa19ae7e1f8 100644 --- a/java/src/org/openqa/selenium/devtools/BUILD.bazel +++ b/java/src/org/openqa/selenium/devtools/BUILD.bazel @@ -22,6 +22,7 @@ java_library( deps = [ "//java/src/org/openqa/selenium:core", "//java/src/org/openqa/selenium/json", + "@maven//:org_jspecify_jspecify", ], ) @@ -75,6 +76,7 @@ java_library( "//java/src/org/openqa/selenium:core", "//java/src/org/openqa/selenium/json", "//java/src/org/openqa/selenium/remote/http", + "@maven//:org_jspecify_jspecify", ], ) diff --git a/java/src/org/openqa/selenium/devtools/RequestFailedException.java b/java/src/org/openqa/selenium/devtools/RequestFailedException.java index 6ffef0c946fc3..322d610b28951 100644 --- a/java/src/org/openqa/selenium/devtools/RequestFailedException.java +++ b/java/src/org/openqa/selenium/devtools/RequestFailedException.java @@ -17,6 +17,7 @@ package org.openqa.selenium.devtools; +import org.jspecify.annotations.NullMarked; import org.openqa.selenium.WebDriverException; import org.openqa.selenium.remote.http.Filter; import org.openqa.selenium.remote.http.HttpHandler; @@ -26,4 +27,5 @@ * browser fails to send a HTTP request. It can be caught in a {@link Filter} to handle the error * by, for example, returning a custom HTTP response. */ +@NullMarked public class RequestFailedException extends WebDriverException {} diff --git a/java/src/org/openqa/selenium/grid/sessionmap/jdbc/BUILD.bazel b/java/src/org/openqa/selenium/grid/sessionmap/jdbc/BUILD.bazel index c87659c3bb941..821a4e5d9b64e 100644 --- a/java/src/org/openqa/selenium/grid/sessionmap/jdbc/BUILD.bazel +++ b/java/src/org/openqa/selenium/grid/sessionmap/jdbc/BUILD.bazel @@ -21,6 +21,7 @@ java_export( "//java/src/org/openqa/selenium/grid", "//java/src/org/openqa/selenium/json", "//java/src/org/openqa/selenium/remote", + "@maven//:org_jspecify_jspecify", artifact("com.beust:jcommander"), artifact("com.google.guava:guava"), ], diff --git a/java/src/org/openqa/selenium/grid/sessionmap/jdbc/JdbcException.java b/java/src/org/openqa/selenium/grid/sessionmap/jdbc/JdbcException.java index 7b98a504bcc40..6cb0c694be40f 100644 --- a/java/src/org/openqa/selenium/grid/sessionmap/jdbc/JdbcException.java +++ b/java/src/org/openqa/selenium/grid/sessionmap/jdbc/JdbcException.java @@ -17,22 +17,25 @@ package org.openqa.selenium.grid.sessionmap.jdbc; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; import org.openqa.selenium.WebDriverException; +@NullMarked public class JdbcException extends WebDriverException { public JdbcException() { super(); } - public JdbcException(String message) { + public JdbcException(@Nullable String message) { super(message); } - public JdbcException(Throwable cause) { + public JdbcException(@Nullable Throwable cause) { super(cause); } - public JdbcException(String message, Throwable cause) { + public JdbcException(@Nullable String message, @Nullable Throwable cause) { super(message, cause); } } diff --git a/java/src/org/openqa/selenium/remote/NoSuchDriverException.java b/java/src/org/openqa/selenium/remote/NoSuchDriverException.java index 359f2458b60b0..c3ad3ea114e00 100644 --- a/java/src/org/openqa/selenium/remote/NoSuchDriverException.java +++ b/java/src/org/openqa/selenium/remote/NoSuchDriverException.java @@ -17,19 +17,22 @@ package org.openqa.selenium.remote; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; import org.openqa.selenium.WebDriverException; import org.openqa.selenium.remote.service.DriverFinder; /** Thrown by {@link DriverFinder#getDriverPath()} (DriverService, Capabilities)}. */ +@NullMarked public class NoSuchDriverException extends WebDriverException { private static final String SUPPORT_URL = BASE_SUPPORT_URL + "/driver_location/"; - public NoSuchDriverException(String reason) { + public NoSuchDriverException(@Nullable String reason) { super(reason); } - public NoSuchDriverException(String reason, Throwable cause) { + public NoSuchDriverException(@Nullable String reason, @Nullable Throwable cause) { super(reason, cause); } diff --git a/java/src/org/openqa/selenium/remote/UnreachableBrowserException.java b/java/src/org/openqa/selenium/remote/UnreachableBrowserException.java index 005edb47486a1..a86a83c0711ff 100644 --- a/java/src/org/openqa/selenium/remote/UnreachableBrowserException.java +++ b/java/src/org/openqa/selenium/remote/UnreachableBrowserException.java @@ -17,6 +17,8 @@ package org.openqa.selenium.remote; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; import org.openqa.selenium.WebDriverException; /** @@ -33,12 +35,13 @@ * * 1) */ +@NullMarked public class UnreachableBrowserException extends WebDriverException { - public UnreachableBrowserException(String message) { + public UnreachableBrowserException(@Nullable String message) { super(message); } - public UnreachableBrowserException(String message, Throwable cause) { + public UnreachableBrowserException(@Nullable String message, @Nullable Throwable cause) { super(message, cause); } } diff --git a/java/src/org/openqa/selenium/remote/http/BUILD.bazel b/java/src/org/openqa/selenium/remote/http/BUILD.bazel index e3a780dbbbbec..128a2e2262988 100644 --- a/java/src/org/openqa/selenium/remote/http/BUILD.bazel +++ b/java/src/org/openqa/selenium/remote/http/BUILD.bazel @@ -19,5 +19,6 @@ java_export( "//java:auto-service", "//java/src/org/openqa/selenium:core", "//java/src/org/openqa/selenium/json", + "@maven//:org_jspecify_jspecify", ], ) diff --git a/java/src/org/openqa/selenium/remote/http/ConnectionFailedException.java b/java/src/org/openqa/selenium/remote/http/ConnectionFailedException.java index 696bc6705d42e..18730585e0c39 100644 --- a/java/src/org/openqa/selenium/remote/http/ConnectionFailedException.java +++ b/java/src/org/openqa/selenium/remote/http/ConnectionFailedException.java @@ -17,15 +17,18 @@ package org.openqa.selenium.remote.http; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; import org.openqa.selenium.WebDriverException; +@NullMarked public class ConnectionFailedException extends WebDriverException { - public ConnectionFailedException(String message) { + public ConnectionFailedException(@Nullable String message) { super(message); } - public ConnectionFailedException(String message, Throwable cause) { + public ConnectionFailedException(@Nullable String message, @Nullable Throwable cause) { super(message, cause); } } diff --git a/java/src/org/openqa/selenium/safari/ConnectionClosedException.java b/java/src/org/openqa/selenium/safari/ConnectionClosedException.java index 2fda07c64c3c8..696b8696a3fb8 100644 --- a/java/src/org/openqa/selenium/safari/ConnectionClosedException.java +++ b/java/src/org/openqa/selenium/safari/ConnectionClosedException.java @@ -17,12 +17,15 @@ package org.openqa.selenium.safari; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; import org.openqa.selenium.WebDriverException; /** Exception thrown when the connection to the SafariDriver is lost. */ +@NullMarked public class ConnectionClosedException extends WebDriverException { - public ConnectionClosedException(String message) { + public ConnectionClosedException(@Nullable String message) { super(message); } } From e4a59313582296c06acb0bbe0da2b80958cce5de Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Thu, 18 Sep 2025 08:37:24 +0200 Subject: [PATCH 101/118] [dotnet][rb][java][js][py] Automated Browser Version Update (#16330) Co-authored-by: Selenium CI Bot Co-authored-by: Navin Chandra --- common/repositories.bzl | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/common/repositories.bzl b/common/repositories.bzl index 1ace8dfcb1c9e..caf44c237f7a2 100644 --- a/common/repositories.bzl +++ b/common/repositories.bzl @@ -50,8 +50,8 @@ js_library( http_archive( name = "linux_beta_firefox", - url = "https://ftp.mozilla.org/pub/firefox/releases/144.0b1/linux-x86_64/en-US/firefox-144.0b1.tar.xz", - sha256 = "41efaaa6b924cf898b00161818a754cbc7f1e99df61c0d8a6c8ce4d0b30b5a54", + url = "https://ftp.mozilla.org/pub/firefox/releases/144.0b2/linux-x86_64/en-US/firefox-144.0b2.tar.xz", + sha256 = "f290da89a61c6d339968c2994a947843daf205510c979e2f636d5f29f310113a", 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/144.0b1/mac/en-US/Firefox%20144.0b1.dmg", - sha256 = "1d378cadf853b9b02e7c61ed85cca4c79933ceb6df50e18fd1ed4e246eef7949", + url = "https://ftp.mozilla.org/pub/firefox/releases/144.0b2/mac/en-US/Firefox%20144.0b2.dmg", + sha256 = "5b7dadba49cd0087d540bc86cceba5da39d182aff174c526d5ac33d1b6c70b7b", 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/140.0.7339.82/linux64/chrome-linux64.zip", - sha256 = "752add52e58c9c7d7565c01c49d3058a0357e24fd518d2b842e22f3577a785fa", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.185/linux64/chrome-linux64.zip", + sha256 = "a07772b4847a591fa0af4c5348711eb050ae35dde8ee635dfc98a9d44fb267af", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) @@ -220,8 +220,8 @@ js_library( ) http_archive( name = "mac_chrome", - url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.82/mac-x64/chrome-mac-x64.zip", - sha256 = "d8693a6568fdd1f12ff2bd5628fdc7f176a3307c86fe092e142a3778e1689508", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.185/mac-x64/chrome-mac-x64.zip", + sha256 = "0c7392659efd1b888d9aedf7b5414438ad805940d7ca1ef77dd49a62254dc1a2", strip_prefix = "chrome-mac-x64", patch_cmds = [ "mv 'Google Chrome for Testing.app' Chrome.app", @@ -241,8 +241,8 @@ js_library( ) http_archive( name = "linux_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.82/linux64/chromedriver-linux64.zip", - sha256 = "671545731e0b98fc1dc452005ee32af4ade0b9e9e6d1f684edbdcaec69c3e438", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.185/linux64/chromedriver-linux64.zip", + sha256 = "f5eaf884a5dc2c59f47332f7465cc0df18fa4644a6d16990b3aae52d88abaddb", strip_prefix = "chromedriver-linux64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") @@ -259,8 +259,8 @@ js_library( http_archive( name = "mac_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.82/mac-x64/chromedriver-mac-x64.zip", - sha256 = "f7a3ee24168916d12c3bc597aa8514feb0e306a59d5c9f83920869e4764a2307", + url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.185/mac-x64/chromedriver-mac-x64.zip", + sha256 = "36ac36651eb0c0afe45854e626dd78c259b539d54c12d48f4f9c47692c4639b8", strip_prefix = "chromedriver-mac-x64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") From 4e9ec56d546b0fe20e45a39479f2733eafc8d540 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Thu, 18 Sep 2025 19:57:24 +0300 Subject: [PATCH 102/118] [dotnet] [bidi] Enable WebExtension tests at least for Firefox (#16333) --- .../BiDi/WebExtension/WebExtensionTest.cs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/dotnet/test/common/BiDi/WebExtension/WebExtensionTest.cs b/dotnet/test/common/BiDi/WebExtension/WebExtensionTest.cs index 327ce5d4d29f3..5065abe2554be 100644 --- a/dotnet/test/common/BiDi/WebExtension/WebExtensionTest.cs +++ b/dotnet/test/common/BiDi/WebExtension/WebExtensionTest.cs @@ -18,21 +18,23 @@ // using NUnit.Framework; -using System; using System.IO; using System.Threading.Tasks; namespace OpenQA.Selenium.BiDi.WebExtension; -[Ignore(""" - The following test suite wants to set driver arguments via Options, but it breaks CDP/DevTools tests. - The desired arguments (for Chromium only?): - --enable-unsafe-extension-debugging - --remote-debugging-pipe - Ignoring these tests for now. Hopefully https://github.com/SeleniumHQ/selenium/issues/15536 will be resolved soon. - """)] +[IgnoreBrowser(Selenium.Browser.Chrome, ChromiumIgnoreReason)] +[IgnoreBrowser(Selenium.Browser.Edge, ChromiumIgnoreReason)] class WebExtensionTest : BiDiTestFixture { + const string ChromiumIgnoreReason = """ + The following test suite wants to set driver arguments via Options, but it breaks CDP/DevTools tests. + The desired arguments (for Chromium only?): + --enable-unsafe-extension-debugging + --remote-debugging-pipe + Ignoring these tests for now. Hopefully https://github.com/SeleniumHQ/selenium/issues/15536 will be resolved soon. + """; + [Test] public async Task CanInstallPathWebExtension() { From 00916fce039ef58a1bf3a5d0f59d046450ad3ff5 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Thu, 18 Sep 2025 21:08:27 +0300 Subject: [PATCH 103/118] [dotnet] Suppress unwanted messages from browser via redirecting streams (#16265) --- dotnet/src/webdriver/Chromium/ChromiumDriverService.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dotnet/src/webdriver/Chromium/ChromiumDriverService.cs b/dotnet/src/webdriver/Chromium/ChromiumDriverService.cs index 72e4b2f09a51c..fb8f79cb84cfe 100644 --- a/dotnet/src/webdriver/Chromium/ChromiumDriverService.cs +++ b/dotnet/src/webdriver/Chromium/ChromiumDriverService.cs @@ -163,6 +163,8 @@ protected override string CommandLineArguments argsBuilder.Append(string.Format(CultureInfo.InvariantCulture, " --log-level={0}", this.LogLevel.ToString().ToUpperInvariant())); } + // Unconditionally redirect browser logs to the same log as the driver + argsBuilder.Append(" --enable-chrome-logs"); return argsBuilder.ToString(); } From b731bb478efcc4d36492c8658be0a3675c33a4b4 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Fri, 19 Sep 2025 07:22:03 +0200 Subject: [PATCH 104/118] [dotnet][rb][java][js][py] Automated Browser Version Update (#16334) Co-authored-by: Selenium CI Bot --- common/repositories.bzl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/common/repositories.bzl b/common/repositories.bzl index caf44c237f7a2..2dea50bcdcdcd 100644 --- a/common/repositories.bzl +++ b/common/repositories.bzl @@ -277,8 +277,8 @@ js_library( http_archive( name = "linux_beta_chrome", - url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.16/linux64/chrome-linux64.zip", - sha256 = "bdc9007ff717d4f23572ec4af4a4a8e2d69267585ff57d499ef37cf39f2dd229", + url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.30/linux64/chrome-linux64.zip", + sha256 = "ab6d601cff0cd7aad7293ed177a26afa0b109edc70b0596dbfa6c3bc47f9de3e", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) @@ -298,8 +298,8 @@ js_library( ) http_archive( name = "mac_beta_chrome", - url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.16/mac-x64/chrome-mac-x64.zip", - sha256 = "f6b92982039152b6b52e9f39e6591016d66afb7a0252f3c0a09da12bc7431db1", + url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.30/mac-x64/chrome-mac-x64.zip", + sha256 = "c2e0d3cb31f639f18e5960c4b8cf1fb8425b57b71f0e71ed4694106676546a83", strip_prefix = "chrome-mac-x64", patch_cmds = [ "mv 'Google Chrome for Testing.app' Chrome.app", @@ -319,8 +319,8 @@ js_library( ) http_archive( name = "linux_beta_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.16/linux64/chromedriver-linux64.zip", - sha256 = "c325fbbe40d0dd508233a6bf496819c2ba6e00a4576b9820638c9a85dc5ad2d6", + url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.30/linux64/chromedriver-linux64.zip", + sha256 = "3e76f4d4257ba0a9ef1c26b77ebbfea11faa88f752f2b024c42f2efb7f89433c", strip_prefix = "chromedriver-linux64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") @@ -337,8 +337,8 @@ js_library( http_archive( name = "mac_beta_chromedriver", - url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.16/mac-x64/chromedriver-mac-x64.zip", - sha256 = "76b7a6239d4d32f2ef75e0a1d6749b7de89dbe14589ffdd3b3c5bf7c32efbaf6", + url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.30/mac-x64/chromedriver-mac-x64.zip", + sha256 = "9e55df2791c5ec4d5524602c2f385a1a4e4dc4873de3874146420fe3ec6c9ffe", strip_prefix = "chromedriver-mac-x64", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") From 2eceb90eea5f12d48d68fdfb88198f79b943c53c Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Sun, 21 Sep 2025 20:29:58 +0300 Subject: [PATCH 105/118] [dotnet] [bidi] Remove obsolete unsubscribing by attributes (#16205) --- .../webdriver/BiDi/Communication/Broker.cs | 22 +------------------ .../Json/BiDiJsonSerializerContext.cs | 1 - .../webdriver/BiDi/Session/SessionModule.cs | 7 ------ .../BiDi/Session/UnsubscribeCommand.cs | 15 ------------- 4 files changed, 1 insertion(+), 44 deletions(-) diff --git a/dotnet/src/webdriver/BiDi/Communication/Broker.cs b/dotnet/src/webdriver/BiDi/Communication/Broker.cs index dd2c9a6c1244c..3ad14385aa814 100644 --- a/dotnet/src/webdriver/BiDi/Communication/Broker.cs +++ b/dotnet/src/webdriver/BiDi/Communication/Broker.cs @@ -276,27 +276,7 @@ public async Task UnsubscribeAsync(Session.Subscription subscription, EventHandl eventHandlers.Remove(eventHandler); - if (subscription is not null) - { - await _bidi.SessionModule.UnsubscribeAsync([subscription]).ConfigureAwait(false); - } - else - { - if (eventHandler.Contexts is not null) - { - if (!eventHandlers.Any(h => eventHandler.Contexts.Equals(h.Contexts)) && !eventHandlers.Any(h => h.Contexts is null)) - { - await _bidi.SessionModule.UnsubscribeAsync([eventHandler.EventName], new() { Contexts = eventHandler.Contexts }).ConfigureAwait(false); - } - } - else - { - if (!eventHandlers.Any(h => h.Contexts is not null) && !eventHandlers.Any(h => h.Contexts is null)) - { - await _bidi.SessionModule.UnsubscribeAsync([eventHandler.EventName]).ConfigureAwait(false); - } - } - } + await _bidi.SessionModule.UnsubscribeAsync([subscription]).ConfigureAwait(false); } public async ValueTask DisposeAsync() diff --git a/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs b/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs index 5d4ac7e7b0c72..b2510f252dbc2 100644 --- a/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs +++ b/dotnet/src/webdriver/BiDi/Communication/Json/BiDiJsonSerializerContext.cs @@ -78,7 +78,6 @@ namespace OpenQA.Selenium.BiDi.Communication.Json; [JsonSerializable(typeof(Session.SubscribeCommand))] [JsonSerializable(typeof(Session.SubscribeResult))] [JsonSerializable(typeof(Session.UnsubscribeByIdCommand))] -[JsonSerializable(typeof(Session.UnsubscribeByAttributesCommand))] [JsonSerializable(typeof(Browser.CloseCommand), TypeInfoPropertyName = "Browser_CloseCommand")] [JsonSerializable(typeof(Browser.CreateUserContextCommand))] diff --git a/dotnet/src/webdriver/BiDi/Session/SessionModule.cs b/dotnet/src/webdriver/BiDi/Session/SessionModule.cs index 0d07dd8cc84ad..55e541600c392 100644 --- a/dotnet/src/webdriver/BiDi/Session/SessionModule.cs +++ b/dotnet/src/webdriver/BiDi/Session/SessionModule.cs @@ -44,13 +44,6 @@ public async Task UnsubscribeAsync(IEnumerable subscr return await Broker.ExecuteCommandAsync(new UnsubscribeByIdCommand(@params), options).ConfigureAwait(false); } - public async Task UnsubscribeAsync(IEnumerable eventNames, UnsubscribeByAttributesOptions? options = null) - { - var @params = new UnsubscribeByAttributesParameters(eventNames, options?.Contexts); - - return await Broker.ExecuteCommandAsync(new UnsubscribeByAttributesCommand(@params), options).ConfigureAwait(false); - } - public async Task NewAsync(CapabilitiesRequest capabilitiesRequest, NewOptions? options = null) { var @params = new NewParameters(capabilitiesRequest); diff --git a/dotnet/src/webdriver/BiDi/Session/UnsubscribeCommand.cs b/dotnet/src/webdriver/BiDi/Session/UnsubscribeCommand.cs index 7ab9e722b797b..49fe98f5077ab 100644 --- a/dotnet/src/webdriver/BiDi/Session/UnsubscribeCommand.cs +++ b/dotnet/src/webdriver/BiDi/Session/UnsubscribeCommand.cs @@ -18,7 +18,6 @@ // using OpenQA.Selenium.BiDi.Communication; -using System; using System.Collections.Generic; namespace OpenQA.Selenium.BiDi.Session; @@ -26,20 +25,6 @@ namespace OpenQA.Selenium.BiDi.Session; internal sealed class UnsubscribeByIdCommand(UnsubscribeByIdParameters @params) : Command(@params, "session.unsubscribe"); -internal sealed class UnsubscribeByAttributesCommand(UnsubscribeByAttributesParameters @params) - : Command(@params, "session.unsubscribe"); - internal sealed record UnsubscribeByIdParameters(IEnumerable Subscriptions) : Parameters; public sealed class UnsubscribeByIdOptions : CommandOptions; - -internal sealed record UnsubscribeByAttributesParameters( - IEnumerable Events, - [property: Obsolete("Contexts param is deprecated and will be removed in the future versions")] - // https://w3c.github.io/webdriver-bidi/#type-session-UnsubscribeByAttributesRequest - IEnumerable? Contexts) : Parameters; - -public sealed class UnsubscribeByAttributesOptions : CommandOptions -{ - public IEnumerable? Contexts { get; set; } -} From 0417a8ea0ef30c4617aaa8127ea0e21eb8b13dc2 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Mon, 22 Sep 2025 07:45:53 +0200 Subject: [PATCH 106/118] [dotnet][rb][java][js][py] Automated Browser Version Update (#16337) Co-authored-by: Selenium CI Bot --- common/repositories.bzl | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/common/repositories.bzl b/common/repositories.bzl index 2dea50bcdcdcd..375fa0cfd1caf 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/143.0/linux-x86_64/en-US/firefox-143.0.tar.xz", - sha256 = "1c87a9de21941a15177384d4820a6aa3c7dacb38d34089c73a621734ebf1ea9a", + url = "https://ftp.mozilla.org/pub/firefox/releases/143.0.1/linux-x86_64/en-US/firefox-143.0.1.tar.xz", + sha256 = "0d515c65248d4485cc8f5abf4e3b09a9a65363f2b4e6b8435309a4c87e500720", 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/143.0/mac/en-US/Firefox%20143.0.dmg", - sha256 = "a5c570e277021b61df1295efe77446617ebd768d8ad36a20b309aa382685f6f2", + url = "https://ftp.mozilla.org/pub/firefox/releases/143.0.1/mac/en-US/Firefox%20143.0.1.dmg", + sha256 = "c37afd2e0ec1ea5e6d508779ffefdf2c404752392288a6a7f0f1670fe8747e3c", 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/144.0b2/linux-x86_64/en-US/firefox-144.0b2.tar.xz", - sha256 = "f290da89a61c6d339968c2994a947843daf205510c979e2f636d5f29f310113a", + url = "https://ftp.mozilla.org/pub/firefox/releases/144.0b3/linux-x86_64/en-US/firefox-144.0b3.tar.xz", + sha256 = "9a0a43727f04cce4300c9867e6a84d1b45757d813d5d9de9964ea1ce3f4ebb64", 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/144.0b2/mac/en-US/Firefox%20144.0b2.dmg", - sha256 = "5b7dadba49cd0087d540bc86cceba5da39d182aff174c526d5ac33d1b6c70b7b", + url = "https://ftp.mozilla.org/pub/firefox/releases/144.0b3/mac/en-US/Firefox%20144.0b3.dmg", + sha256 = "2a4cec948bead6832c21c81ea0dcba8bcf7c47ee24ba7aabd4f6abd1fad97752", 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/548659d9-fd7c-41ae-98f2-88c5d8e2900e/MicrosoftEdge-140.0.3485.66.pkg", - sha256 = "18d0dae9bcc13d02ea46934c45109a3b76075eadb5a1c25191ec44b3583aee32", + url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/58ef038e-b996-434e-9c2f-d8f71502826d/MicrosoftEdge-140.0.3485.81.pkg", + sha256 = "b11cb1210e1732932741d06694044e6cee43b1b5f3599d30d9c62d449ce6ff73", move = { - "MicrosoftEdge-140.0.3485.66.pkg/Payload/Microsoft Edge.app": "Edge.app", + "MicrosoftEdge-140.0.3485.81.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_140.0.3485.66-1_amd64.deb", - sha256 = "fc84c914286741ae572b89d07b76e21b0eafbd5fa92db6d935bf7cf5779c5066", + url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_140.0.3485.81-1_amd64.deb", + sha256 = "f065fbd1129747285a3d585f8366c1d090cb926a5cc2f64352d9722aeb014cdf", 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.microsoft.com/140.0.3485.66/edgedriver_linux64.zip", - sha256 = "140a592ad275329d22424cd213a8a05a348a66c6bee1eec8e890c3dbe9d23742", + url = "https://msedgedriver.microsoft.com/140.0.3485.81/edgedriver_linux64.zip", + sha256 = "6b10c828769672720b90879f7980817d491eb475eaf28dde3739e47cbe9a6537", 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.microsoft.com/140.0.3485.66/edgedriver_mac64.zip", - sha256 = "69456486f9559620c0fcfc118f9ccfa232d7d4f7886347cf164e39b2a9205a03", + url = "https://msedgedriver.microsoft.com/140.0.3485.81/edgedriver_mac64.zip", + sha256 = "aed876db66a8c5c74ab59fe2405f88e0a378e08bf12c447079cebd07f035c771", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) From 1347c7844b41efebd724e334a539050e0517e11e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boni=20Garc=C3=ADa?= Date: Wed, 24 Sep 2025 16:06:36 +0200 Subject: [PATCH 107/118] [rust] Honor full browser version even if major version is installed (#15517) --- rust/src/lib.rs | 102 ++++++++++++++++++++++++++---------------------- 1 file changed, 55 insertions(+), 47 deletions(-) diff --git a/rust/src/lib.rs b/rust/src/lib.rs index a27d36f7a6c2b..d0eec848ceab2 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -490,58 +490,66 @@ pub trait SeleniumManager { discovered_version )); } - let discovered_major_browser_version = self - .get_major_version(&discovered_version) - .unwrap_or_default(); - - if self.is_browser_version_stable() || self.is_browser_version_unstable() { - let online_browser_version = self.request_browser_version()?; - if online_browser_version.is_some() { - let major_online_browser_version = - self.get_major_version(&online_browser_version.unwrap())?; - if discovered_major_browser_version.eq(&major_online_browser_version) { - self.get_logger().debug(format!( - "Discovered online {} version ({}) is the same as the detected local {} version", - self.get_browser_name(), - discovered_major_browser_version, - self.get_browser_name(), - )); - self.set_browser_version(discovered_version); + if self.is_browser_version_specific() + && !self.get_browser_version().eq(&discovered_version) + { + download_browser = true; + } else { + let discovered_major_browser_version = self + .get_major_version(&discovered_version) + .unwrap_or_default(); + + if self.is_browser_version_stable() || self.is_browser_version_unstable() { + let online_browser_version = self.request_browser_version()?; + if online_browser_version.is_some() { + let major_online_browser_version = + self.get_major_version(&online_browser_version.unwrap())?; + if discovered_major_browser_version + .eq(&major_online_browser_version) + { + self.get_logger().debug(format!( + "Discovered online {} version ({}) is the same as the detected local {} version", + self.get_browser_name(), + discovered_major_browser_version, + self.get_browser_name(), + )); + self.set_browser_version(discovered_version); + } else { + self.get_logger().debug(format!( + "Discovered online {} version ({}) is different to the detected local {} version ({})", + self.get_browser_name(), + major_online_browser_version, + self.get_browser_name(), + discovered_major_browser_version, + )); + download_browser = true; + } } else { - self.get_logger().debug(format!( - "Discovered online {} version ({}) is different to the detected local {} version ({})", - self.get_browser_name(), - major_online_browser_version, - self.get_browser_name(), - discovered_major_browser_version, - )); - download_browser = true; + self.set_browser_version(discovered_version); } + } else if !major_browser_version.is_empty() + && !self.is_browser_version_unstable() + && !major_browser_version.eq(&discovered_major_browser_version) + { + self.get_logger().debug(format!( + "Discovered {} version ({}) different to specified browser version ({})", + self.get_browser_name(), + discovered_major_browser_version, + major_browser_version, + )); + download_browser = true; } else { self.set_browser_version(discovered_version); } - } else if !major_browser_version.is_empty() - && !self.is_browser_version_unstable() - && !major_browser_version.eq(&discovered_major_browser_version) - { - self.get_logger().debug(format!( - "Discovered {} version ({}) different to specified browser version ({})", - self.get_browser_name(), - discovered_major_browser_version, - major_browser_version, - )); - download_browser = true; - } else { - self.set_browser_version(discovered_version); - } - if self.is_webview2() && PathBuf::from(self.get_browser_path()).is_dir() { - let browser_path = format!( - r"{}\{}\msedge{}", - self.get_browser_path(), - &self.get_browser_version(), - get_binary_extension(self.get_os()) - ); - self.set_browser_path(browser_path); + if self.is_webview2() && PathBuf::from(self.get_browser_path()).is_dir() { + let browser_path = format!( + r"{}\{}\msedge{}", + self.get_browser_path(), + &self.get_browser_version(), + get_binary_extension(self.get_os()) + ); + self.set_browser_path(browser_path); + } } } None => { From db058176d1e5bc8a96476441cef33530de638587 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Fri, 26 Sep 2025 22:53:21 +0300 Subject: [PATCH 108/118] [dotnet] Conditionally enable driver service process output redirection (#16353) --- dotnet/src/webdriver/DriverService.cs | 33 ++++++++++++------- .../webdriver/Firefox/FirefoxDriverService.cs | 5 +++ 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/dotnet/src/webdriver/DriverService.cs b/dotnet/src/webdriver/DriverService.cs index 930cd7948b705..189bd0a94e6ec 100644 --- a/dotnet/src/webdriver/DriverService.cs +++ b/dotnet/src/webdriver/DriverService.cs @@ -170,6 +170,14 @@ public int ProcessId /// protected virtual bool HasShutdown => true; + /// + /// Gets a value indicating whether process redirection is enforced regardless of other settings. + /// + /// Set this property to to force all process output and error streams to + /// be redirected, even if redirection is not required by default behavior. This can be useful in scenarios where + /// capturing process output is necessary for logging or analysis. + protected virtual internal bool EnableProcessRedirection { get; } = false; + /// /// Gets a value indicating whether the service is responding to HTTP requests. /// @@ -249,16 +257,23 @@ public void Start() this.driverServiceProcess.StartInfo.RedirectStandardOutput = true; this.driverServiceProcess.StartInfo.RedirectStandardError = true; - this.driverServiceProcess.OutputDataReceived += this.OnDriverProcessDataReceived; - this.driverServiceProcess.ErrorDataReceived += this.OnDriverProcessDataReceived; + if (this.EnableProcessRedirection) + { + this.driverServiceProcess.OutputDataReceived += this.OnDriverProcessDataReceived; + this.driverServiceProcess.ErrorDataReceived += this.OnDriverProcessDataReceived; + } DriverProcessStartingEventArgs eventArgs = new DriverProcessStartingEventArgs(this.driverServiceProcess.StartInfo); this.OnDriverProcessStarting(eventArgs); - // Important: Start the process and immediately begin reading the output and error streams to avoid IO deadlocks. this.driverServiceProcess.Start(); - this.driverServiceProcess.BeginOutputReadLine(); - this.driverServiceProcess.BeginErrorReadLine(); + + if (this.EnableProcessRedirection) + { + // Important: Start the process and immediately begin reading the output and error streams to avoid IO deadlocks. + this.driverServiceProcess.BeginOutputReadLine(); + this.driverServiceProcess.BeginErrorReadLine(); + } bool serviceAvailable = this.WaitForServiceInitialization(); @@ -289,7 +304,7 @@ protected virtual void Dispose(bool disposing) { this.Stop(); - if (this.driverServiceProcess is not null) + if (EnableProcessRedirection && this.driverServiceProcess is not null) { this.driverServiceProcess.OutputDataReceived -= this.OnDriverProcessDataReceived; this.driverServiceProcess.ErrorDataReceived -= this.OnDriverProcessDataReceived; @@ -335,13 +350,7 @@ protected virtual void OnDriverProcessStarted(DriverProcessStartedEventArgs even /// The data received event arguments. protected virtual void OnDriverProcessDataReceived(object sender, DataReceivedEventArgs args) { - if (string.IsNullOrEmpty(args.Data)) - return; - if (_logger.IsEnabled(LogEventLevel.Trace)) - { - _logger.Trace(args.Data); - } } /// diff --git a/dotnet/src/webdriver/Firefox/FirefoxDriverService.cs b/dotnet/src/webdriver/Firefox/FirefoxDriverService.cs index e00c5c5ce3664..4d9a8bb67f1cb 100644 --- a/dotnet/src/webdriver/Firefox/FirefoxDriverService.cs +++ b/dotnet/src/webdriver/Firefox/FirefoxDriverService.cs @@ -222,6 +222,11 @@ protected override string CommandLineArguments } } + /// + /// Gets a value indicating whether process output redirection is required. + /// + protected internal override bool EnableProcessRedirection => LogPath is not null; + /// /// Called when the driver process is starting. This method sets up log file writing if a log path is specified. /// From 8a7216855c8cf19cdfc64443db0242ddeab73770 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Sat, 27 Sep 2025 21:23:20 +0300 Subject: [PATCH 109/118] [dotnet] Begin reading of driver service output to fix Firefox disposing --- dotnet/src/webdriver/DriverService.cs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/dotnet/src/webdriver/DriverService.cs b/dotnet/src/webdriver/DriverService.cs index 189bd0a94e6ec..c327caa0dac43 100644 --- a/dotnet/src/webdriver/DriverService.cs +++ b/dotnet/src/webdriver/DriverService.cs @@ -268,12 +268,9 @@ public void Start() this.driverServiceProcess.Start(); - if (this.EnableProcessRedirection) - { - // Important: Start the process and immediately begin reading the output and error streams to avoid IO deadlocks. - this.driverServiceProcess.BeginOutputReadLine(); - this.driverServiceProcess.BeginErrorReadLine(); - } + // Important: Start the process and immediately begin reading the output and error streams to avoid IO deadlocks. + this.driverServiceProcess.BeginOutputReadLine(); + this.driverServiceProcess.BeginErrorReadLine(); bool serviceAvailable = this.WaitForServiceInitialization(); From 4c603ec37c9657a99a0846593f2d81f8e3103ee3 Mon Sep 17 00:00:00 2001 From: Augustin Gottlieb <33221555+aguspe@users.noreply.github.com> Date: Mon, 29 Sep 2025 19:22:21 +0200 Subject: [PATCH 110/118] [rb] fix unit tests (#16357) * [build] allow tests tagged exclusive-if-local to run on rbe * decrease prism --------- Co-authored-by: titusfortner --- rb/Gemfile.lock | 1 + rb/selenium-webdriver.gemspec | 1 + 2 files changed, 2 insertions(+) diff --git a/rb/Gemfile.lock b/rb/Gemfile.lock index b3ff2ee63694a..fc7824c505e68 100644 --- a/rb/Gemfile.lock +++ b/rb/Gemfile.lock @@ -6,6 +6,7 @@ PATH selenium-webdriver (4.36.0.nightly) base64 (~> 0.2) logger (~> 1.4) + prism (~> 1.0, < 1.5) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 4.0) websocket (~> 1.0) diff --git a/rb/selenium-webdriver.gemspec b/rb/selenium-webdriver.gemspec index 15783435bb73c..8f5a45274f6c7 100644 --- a/rb/selenium-webdriver.gemspec +++ b/rb/selenium-webdriver.gemspec @@ -51,6 +51,7 @@ Gem::Specification.new do |s| s.add_dependency 'base64', ['~> 0.2'] s.add_dependency 'logger', ['~> 1.4'] + s.add_dependency 'prism', ['~> 1.0', '< 1.5'] s.add_dependency 'rexml', ['~> 3.2', '>= 3.2.5'] s.add_dependency 'rubyzip', ['>= 1.2.2', '< 4.0'] s.add_dependency 'websocket', ['~> 1.0'] From 9a4bbcc639202ce3fe7c10feb1b05f3a1d37844a Mon Sep 17 00:00:00 2001 From: Corey Goldberg <1113081+cgoldberg@users.noreply.github.com> Date: Tue, 30 Sep 2025 09:40:15 -0400 Subject: [PATCH 111/118] [py] Add --enable-chrome-logs to chrome service args to inherit browser i/o streams (#16202) --- py/selenium/webdriver/chrome/service.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/py/selenium/webdriver/chrome/service.py b/py/selenium/webdriver/chrome/service.py index bc6d3f00fb1e9..683783c0f2db8 100644 --- a/py/selenium/webdriver/chrome/service.py +++ b/py/selenium/webdriver/chrome/service.py @@ -54,6 +54,9 @@ def __init__( **kwargs, ) + def command_line_args(self) -> list[str]: + return ["--enable-chrome-logs", f"--port={self.port}"] + self._service_args + @property def service_args(self) -> Sequence[str]: return self._service_args From b3b66a00e9cd1a854c25b71be441d0ed1f93138b Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Tue, 30 Sep 2025 22:33:32 +0300 Subject: [PATCH 112/118] [dotnet] [bidi] Introduce BaseNavigationInfo type as interface (#16348) --- .../BrowsingContext/IBaseNavigationInfo.cs | 33 +++++++++++++++++++ .../BiDi/BrowsingContext/NavigationInfo.cs | 2 +- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 dotnet/src/webdriver/BiDi/BrowsingContext/IBaseNavigationInfo.cs diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/IBaseNavigationInfo.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/IBaseNavigationInfo.cs new file mode 100644 index 0000000000000..dd7ff37e4be23 --- /dev/null +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/IBaseNavigationInfo.cs @@ -0,0 +1,33 @@ +// +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// + +using System; + +namespace OpenQA.Selenium.BiDi.BrowsingContext; + +public interface IBaseNavigationInfo +{ + BrowsingContext Context { get; } + + Navigation? Navigation { get; } + + DateTimeOffset Timestamp { get; } + + string Url { get; } +} diff --git a/dotnet/src/webdriver/BiDi/BrowsingContext/NavigationInfo.cs b/dotnet/src/webdriver/BiDi/BrowsingContext/NavigationInfo.cs index 91d6a589e7370..25e994a11eedc 100644 --- a/dotnet/src/webdriver/BiDi/BrowsingContext/NavigationInfo.cs +++ b/dotnet/src/webdriver/BiDi/BrowsingContext/NavigationInfo.cs @@ -22,4 +22,4 @@ namespace OpenQA.Selenium.BiDi.BrowsingContext; public sealed record NavigationInfo(BiDi BiDi, BrowsingContext Context, Navigation? Navigation, DateTimeOffset Timestamp, string Url) - : BrowsingContextEventArgs(BiDi, Context); + : BrowsingContextEventArgs(BiDi, Context), IBaseNavigationInfo; From 93fdf5797cf3900016cc9c647c54158d5ee5e23c Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Tue, 30 Sep 2025 22:39:41 +0300 Subject: [PATCH 113/118] [dotnet] [bidi] Give only one chance to receive from remote end (#16360) --- .../webdriver/BiDi/Communication/Broker.cs | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/dotnet/src/webdriver/BiDi/Communication/Broker.cs b/dotnet/src/webdriver/BiDi/Communication/Broker.cs index 3ad14385aa814..77b592968b850 100644 --- a/dotnet/src/webdriver/BiDi/Communication/Broker.cs +++ b/dotnet/src/webdriver/BiDi/Communication/Broker.cs @@ -123,21 +123,33 @@ public async Task ConnectAsync(CancellationToken cancellationToken) private async Task ReceiveMessagesAsync(CancellationToken cancellationToken) { - while (!cancellationToken.IsCancellationRequested) + try { - try + while (!cancellationToken.IsCancellationRequested) { var data = await _transport.ReceiveAsync(cancellationToken).ConfigureAwait(false); - ProcessReceivedMessage(data); - } - catch (Exception ex) - { - if (cancellationToken.IsCancellationRequested is not true && _logger.IsEnabled(LogEventLevel.Error)) + try { - _logger.Error($"Couldn't process received BiDi remote message: {ex}"); + ProcessReceivedMessage(data); } + catch (Exception ex) + { + if (_logger.IsEnabled(LogEventLevel.Error)) + { + _logger.Error($"Unhandled error occured while processing remote message: {ex}"); + } + } + } + } + catch (Exception ex) when (ex is not OperationCanceledException) + { + if (_logger.IsEnabled(LogEventLevel.Error)) + { + _logger.Error($"Unhandled error occured while receiving remote messages: {ex}"); } + + throw; } } From a578a474735babb006fa412d3888f44aeb4bd051 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boni=20Garc=C3=ADa?= Date: Wed, 1 Oct 2025 18:10:55 +0200 Subject: [PATCH 114/118] [rust] Bump Rust edition to 2024, rulest_rust to 0.65.0, and crates to latest stable (#16366) * [rust] Bump Rust edition to 2024, rulest_rust to 0.65.0, and crates to latest stable * Fix rustfmt_wrapper.bzl to generate test names with _test suffix * Fix msedgedriver tests --- WORKSPACE | 8 +- rust/BUILD.bazel | 6 +- rust/Cargo.Bazel.lock | 12373 +++++++++++-------------- rust/Cargo.lock | 1282 +-- rust/Cargo.toml | 22 +- rust/private/rustfmt_wrapper.bzl | 2 +- rust/src/chrome.rs | 18 +- rust/src/config.rs | 6 +- rust/src/downloads.rs | 6 +- rust/src/edge.rs | 22 +- rust/src/electron.rs | 6 +- rust/src/files.rs | 14 +- rust/src/firefox.rs | 148 +- rust/src/grid.rs | 6 +- rust/src/iexplorer.rs | 10 +- rust/src/lib.rs | 32 +- rust/src/lock.rs | 2 +- rust/src/logger.rs | 2 +- rust/src/main.rs | 10 +- rust/src/metadata.rs | 2 +- rust/src/safari.rs | 4 +- rust/src/safaritp.rs | 4 +- rust/src/stats.rs | 2 +- rust/tests/BUILD.bazel | 2 +- rust/tests/browser_download_tests.rs | 4 +- rust/tests/browser_tests.rs | 4 +- rust/tests/common.rs | 14 +- rust/tests/output_tests.rs | 2 +- 28 files changed, 6216 insertions(+), 7797 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index e82b52f11fa56..5d04aa70c37fb 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -26,8 +26,8 @@ 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") @@ -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/rust/BUILD.bazel b/rust/BUILD.bazel index abdff69723a4a..9ee8cf3e3d31b 100644 --- a/rust/BUILD.bazel +++ b/rust/BUILD.bazel @@ -76,7 +76,7 @@ rust_binary( # instead of an underscore name = "selenium-manager", srcs = ["src/main.rs"], - edition = "2021", + edition = "2024", version = "0.4.36-nightly", visibility = ["//visibility:public"], deps = [ @@ -91,7 +91,7 @@ rust_library( ["src/**/*.rs"], exclude = ["main.rs"], ), - edition = "2021", + edition = "2024", visibility = ["//rust:__subpackages__"], deps = all_crate_deps(normal = True), ) @@ -115,6 +115,6 @@ rust_test( name = "unit", size = "small", crate = ":selenium_manager", - edition = "2021", + edition = "2024", tags = ["no-sandbox"], ) diff --git a/rust/Cargo.Bazel.lock b/rust/Cargo.Bazel.lock index 780b678f88ac6..140afa73b714a 100644 --- a/rust/Cargo.Bazel.lock +++ b/rust/Cargo.Bazel.lock @@ -1,14 +1,14 @@ { - "checksum": "8d4c080d07b9c4566370bffaad94daa18506026bfbda55910cd2ea1503540aa5", + "checksum": "056872abd60303d8bce1e1a3108b098a6cb83bb21ce94a6c490cd177ed62b0dd", "crates": { - "addr2line 0.21.0": { + "addr2line 0.25.1": { "name": "addr2line", - "version": "0.21.0", + "version": "0.25.1", "package_url": "https://github.com/gimli-rs/addr2line", "repository": { "Http": { - "url": "https://static.crates.io/crates/addr2line/0.21.0/download", - "sha256": "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" + "url": "https://static.crates.io/crates/addr2line/0.25.1/download", + "sha256": "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" } }, "targets": [ @@ -33,14 +33,14 @@ "deps": { "common": [ { - "id": "gimli 0.28.1", + "id": "gimli 0.32.3", "target": "gimli" } ], "selects": {} }, "edition": "2018", - "version": "0.21.0" + "version": "0.25.1" }, "license": "Apache-2.0 OR MIT", "license_ids": [ @@ -49,54 +49,14 @@ ], "license_file": "LICENSE-APACHE" }, - "adler 1.0.2": { - "name": "adler", - "version": "1.0.2", - "package_url": "https://github.com/jonas-schievink/adler.git", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/adler/1.0.2/download", - "sha256": "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - } - }, - "targets": [ - { - "Library": { - "crate_name": "adler", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "adler", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2015", - "version": "1.0.2" - }, - "license": "0BSD OR MIT OR Apache-2.0", - "license_ids": [ - "0BSD", - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-0BSD" - }, - "adler2 2.0.0": { + "adler2 2.0.1": { "name": "adler2", - "version": "2.0.0", + "version": "2.0.1", "package_url": "https://github.com/oyvindln/adler2", "repository": { "Http": { - "url": "https://static.crates.io/crates/adler2/2.0.0/download", - "sha256": "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + "url": "https://static.crates.io/crates/adler2/2.0.1/download", + "sha256": "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" } }, "targets": [ @@ -119,7 +79,7 @@ "**" ], "edition": "2021", - "version": "2.0.0" + "version": "2.0.1" }, "license": "0BSD OR MIT OR Apache-2.0", "license_ids": [ @@ -168,7 +128,7 @@ "deps": { "common": [ { - "id": "memchr 2.7.4", + "id": "memchr 2.7.6", "target": "memchr" } ], @@ -184,45 +144,6 @@ ], "license_file": "LICENSE-MIT" }, - "android-tzdata 0.1.1": { - "name": "android-tzdata", - "version": "0.1.1", - "package_url": "https://github.com/RumovZ/android-tzdata", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/android-tzdata/0.1.1/download", - "sha256": "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - } - }, - "targets": [ - { - "Library": { - "crate_name": "android_tzdata", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "android_tzdata", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2018", - "version": "0.1.1" - }, - "license": "MIT OR Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, "android_system_properties 0.1.5": { "name": "android_system_properties", "version": "0.1.5", @@ -255,7 +176,7 @@ "deps": { "common": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], @@ -271,14 +192,14 @@ ], "license_file": "LICENSE-APACHE" }, - "anstream 0.6.14": { + "anstream 0.6.20": { "name": "anstream", - "version": "0.6.14", + "version": "0.6.20", "package_url": "https://github.com/rust-cli/anstyle.git", "repository": { "Http": { - "url": "https://static.crates.io/crates/anstream/0.6.14/download", - "sha256": "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" + "url": "https://static.crates.io/crates/anstream/0.6.20/download", + "sha256": "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" } }, "targets": [ @@ -311,53 +232,41 @@ "deps": { "common": [ { - "id": "anstyle 1.0.8", + "id": "anstyle 1.0.13", "target": "anstyle" }, { - "id": "anstyle-parse 0.2.4", + "id": "anstyle-parse 0.2.7", "target": "anstyle_parse" }, { - "id": "anstyle-query 1.0.3", + "id": "anstyle-query 1.1.4", "target": "anstyle_query" }, { - "id": "colorchoice 1.0.1", + "id": "colorchoice 1.0.4", "target": "colorchoice" }, { - "id": "is_terminal_polyfill 1.70.0", + "id": "is_terminal_polyfill 1.70.1", "target": "is_terminal_polyfill" }, { - "id": "utf8parse 0.2.1", + "id": "utf8parse 0.2.2", "target": "utf8parse" } ], "selects": { - "aarch64-pc-windows-msvc": [ - { - "id": "anstyle-wincon 3.0.3", - "target": "anstyle_wincon" - } - ], - "i686-pc-windows-msvc": [ - { - "id": "anstyle-wincon 3.0.3", - "target": "anstyle_wincon" - } - ], "x86_64-pc-windows-msvc": [ { - "id": "anstyle-wincon 3.0.3", + "id": "anstyle-wincon 3.0.10", "target": "anstyle_wincon" } ] } }, "edition": "2021", - "version": "0.6.14" + "version": "0.6.20" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -366,14 +275,14 @@ ], "license_file": "LICENSE-APACHE" }, - "anstyle 1.0.8": { + "anstyle 1.0.13": { "name": "anstyle", - "version": "1.0.8", + "version": "1.0.13", "package_url": "https://github.com/rust-cli/anstyle.git", "repository": { "Http": { - "url": "https://static.crates.io/crates/anstyle/1.0.8/download", - "sha256": "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" + "url": "https://static.crates.io/crates/anstyle/1.0.13/download", + "sha256": "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" } }, "targets": [ @@ -403,7 +312,7 @@ "selects": {} }, "edition": "2021", - "version": "1.0.8" + "version": "1.0.13" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -412,14 +321,14 @@ ], "license_file": "LICENSE-APACHE" }, - "anstyle-parse 0.2.4": { + "anstyle-parse 0.2.7": { "name": "anstyle-parse", - "version": "0.2.4", + "version": "0.2.7", "package_url": "https://github.com/rust-cli/anstyle.git", "repository": { "Http": { - "url": "https://static.crates.io/crates/anstyle-parse/0.2.4/download", - "sha256": "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" + "url": "https://static.crates.io/crates/anstyle-parse/0.2.7/download", + "sha256": "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" } }, "targets": [ @@ -451,14 +360,14 @@ "deps": { "common": [ { - "id": "utf8parse 0.2.1", + "id": "utf8parse 0.2.2", "target": "utf8parse" } ], "selects": {} }, "edition": "2021", - "version": "0.2.4" + "version": "0.2.7" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -467,14 +376,14 @@ ], "license_file": "LICENSE-APACHE" }, - "anstyle-query 1.0.3": { + "anstyle-query 1.1.4": { "name": "anstyle-query", - "version": "1.0.3", - "package_url": "https://github.com/rust-cli/anstyle", + "version": "1.1.4", + "package_url": "https://github.com/rust-cli/anstyle.git", "repository": { "Http": { - "url": "https://static.crates.io/crates/anstyle-query/1.0.3/download", - "sha256": "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" + "url": "https://static.crates.io/crates/anstyle-query/1.1.4/download", + "sha256": "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" } }, "targets": [ @@ -501,14 +410,14 @@ "selects": { "cfg(windows)": [ { - "id": "windows-sys 0.52.0", + "id": "windows-sys 0.60.2", "target": "windows_sys" } ] } }, "edition": "2021", - "version": "1.0.3" + "version": "1.1.4" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -517,14 +426,14 @@ ], "license_file": "LICENSE-APACHE" }, - "anstyle-wincon 3.0.3": { + "anstyle-wincon 3.0.10": { "name": "anstyle-wincon", - "version": "3.0.3", + "version": "3.0.10", "package_url": "https://github.com/rust-cli/anstyle.git", "repository": { "Http": { - "url": "https://static.crates.io/crates/anstyle-wincon/3.0.3/download", - "sha256": "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" + "url": "https://static.crates.io/crates/anstyle-wincon/3.0.10/download", + "sha256": "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" } }, "targets": [ @@ -549,21 +458,25 @@ "deps": { "common": [ { - "id": "anstyle 1.0.8", + "id": "anstyle 1.0.13", "target": "anstyle" } ], "selects": { "cfg(windows)": [ { - "id": "windows-sys 0.52.0", + "id": "once_cell_polyfill 1.70.1", + "target": "once_cell_polyfill" + }, + { + "id": "windows-sys 0.60.2", "target": "windows_sys" } ] } }, "edition": "2021", - "version": "3.0.3" + "version": "3.0.10" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -572,14 +485,14 @@ ], "license_file": "LICENSE-APACHE" }, - "anyhow 1.0.99": { + "anyhow 1.0.100": { "name": "anyhow", - "version": "1.0.99", + "version": "1.0.100", "package_url": "https://github.com/dtolnay/anyhow", "repository": { "Http": { - "url": "https://static.crates.io/crates/anyhow/1.0.99/download", - "sha256": "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" + "url": "https://static.crates.io/crates/anyhow/1.0.100/download", + "sha256": "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" } }, "targets": [ @@ -623,23 +536,26 @@ "deps": { "common": [ { - "id": "anyhow 1.0.99", + "id": "anyhow 1.0.100", "target": "build_script_build" }, { - "id": "backtrace 0.3.71", + "id": "backtrace 0.3.76", "target": "backtrace" } ], "selects": {} }, "edition": "2018", - "version": "1.0.99" + "version": "1.0.100" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -699,7 +615,7 @@ "target": "scroll" }, { - "id": "serde 1.0.219", + "id": "serde 1.0.228", "target": "serde" }, { @@ -707,7 +623,7 @@ "target": "serde_xml_rs" }, { - "id": "thiserror 2.0.6", + "id": "thiserror 2.0.17", "target": "thiserror" } ], @@ -765,7 +681,7 @@ "target": "base64" }, { - "id": "bcder 0.7.4", + "id": "bcder 0.7.6", "target": "bcder" }, { @@ -773,7 +689,7 @@ "target": "bzip2" }, { - "id": "chrono 0.4.38", + "id": "chrono 0.4.42", "target": "chrono" }, { @@ -789,7 +705,7 @@ "target": "flate2" }, { - "id": "log 0.4.27", + "id": "log 0.4.28", "target": "log" }, { @@ -809,7 +725,7 @@ "target": "scroll" }, { - "id": "serde 1.0.219", + "id": "serde 1.0.228", "target": "serde" }, { @@ -821,7 +737,7 @@ "target": "sha1" }, { - "id": "sha2 0.10.8", + "id": "sha2 0.10.9", "target": "sha2" }, { @@ -829,11 +745,11 @@ "target": "signature" }, { - "id": "thiserror 2.0.6", + "id": "thiserror 2.0.17", "target": "thiserror" }, { - "id": "url 2.5.4", + "id": "url 2.5.7", "target": "url" }, { @@ -841,7 +757,7 @@ "target": "x509_certificate" }, { - "id": "xml-rs 0.8.24", + "id": "xml-rs 0.8.27", "target": "xml" }, { @@ -898,14 +814,14 @@ ], "license_file": "LICENSE" }, - "arbitrary 1.4.1": { + "arbitrary 1.4.2": { "name": "arbitrary", - "version": "1.4.1", + "version": "1.4.2", "package_url": "https://github.com/rust-fuzz/arbitrary/", "repository": { "Http": { - "url": "https://static.crates.io/crates/arbitrary/1.4.1/download", - "sha256": "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" + "url": "https://static.crates.io/crates/arbitrary/1.4.2/download", + "sha256": "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" } }, "targets": [ @@ -928,7 +844,7 @@ "**" ], "edition": "2021", - "version": "1.4.1" + "version": "1.4.2" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -937,14 +853,14 @@ ], "license_file": "LICENSE-APACHE" }, - "arrayvec 0.7.4": { + "arrayvec 0.7.6": { "name": "arrayvec", - "version": "0.7.4", + "version": "0.7.6", "package_url": "https://github.com/bluss/arrayvec", "repository": { "Http": { - "url": "https://static.crates.io/crates/arrayvec/0.7.4/download", - "sha256": "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + "url": "https://static.crates.io/crates/arrayvec/0.7.6/download", + "sha256": "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" } }, "targets": [ @@ -974,7 +890,7 @@ "selects": {} }, "edition": "2018", - "version": "0.7.4" + "version": "0.7.6" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -1027,7 +943,7 @@ "deps": { "common": [ { - "id": "anstyle 1.0.8", + "id": "anstyle 1.0.13", "target": "anstyle" }, { @@ -1035,7 +951,7 @@ "target": "build_script_build" }, { - "id": "bstr 1.9.1", + "id": "bstr 1.12.0", "target": "bstr" }, { @@ -1043,26 +959,26 @@ "target": "doc_comment" }, { - "id": "predicates 3.1.0", + "id": "predicates 3.1.3", "target": "predicates" }, { - "id": "predicates-core 1.0.6", + "id": "predicates-core 1.0.9", "target": "predicates_core" }, { - "id": "predicates-tree 1.0.9", + "id": "predicates-tree 1.0.12", "target": "predicates_tree" }, { - "id": "wait-timeout 0.2.0", + "id": "wait-timeout 0.2.1", "target": "wait_timeout" } ], "selects": { "cfg(any())": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ] @@ -1075,6 +991,9 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -1086,20 +1005,20 @@ ], "license_file": "LICENSE-APACHE" }, - "autocfg 1.3.0": { - "name": "autocfg", - "version": "1.3.0", - "package_url": "https://github.com/cuviper/autocfg", + "atomic-waker 1.1.2": { + "name": "atomic-waker", + "version": "1.1.2", + "package_url": "https://github.com/smol-rs/atomic-waker", "repository": { "Http": { - "url": "https://static.crates.io/crates/autocfg/1.3.0/download", - "sha256": "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + "url": "https://static.crates.io/crates/atomic-waker/1.1.2/download", + "sha256": "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" } }, "targets": [ { "Library": { - "crate_name": "autocfg", + "crate_name": "atomic_waker", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1110,13 +1029,13 @@ } } ], - "library_target_name": "autocfg", + "library_target_name": "atomic_waker", "common_attrs": { "compile_data_glob": [ "**" ], - "edition": "2015", - "version": "1.3.0" + "edition": "2018", + "version": "1.1.2" }, "license": "Apache-2.0 OR MIT", "license_ids": [ @@ -1125,20 +1044,20 @@ ], "license_file": "LICENSE-APACHE" }, - "backtrace 0.3.71": { - "name": "backtrace", - "version": "0.3.71", - "package_url": "https://github.com/rust-lang/backtrace-rs", + "autocfg 1.5.0": { + "name": "autocfg", + "version": "1.5.0", + "package_url": "https://github.com/cuviper/autocfg", "repository": { "Http": { - "url": "https://static.crates.io/crates/backtrace/0.3.71/download", - "sha256": "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" + "url": "https://static.crates.io/crates/autocfg/1.5.0/download", + "sha256": "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" } }, "targets": [ { "Library": { - "crate_name": "backtrace", + "crate_name": "autocfg", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -1147,11 +1066,38 @@ ] } } - }, + } + ], + "library_target_name": "autocfg", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2015", + "version": "1.5.0" + }, + "license": "Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "backtrace 0.3.76": { + "name": "backtrace", + "version": "0.3.76", + "package_url": "https://github.com/rust-lang/backtrace-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/backtrace/0.3.76/download", + "sha256": "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" + } + }, + "targets": [ { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", + "Library": { + "crate_name": "backtrace", + "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, "include": [ @@ -1176,58 +1122,43 @@ "deps": { "common": [ { - "id": "backtrace 0.3.71", - "target": "build_script_build" - }, - { - "id": "cfg-if 1.0.0", + "id": "cfg-if 1.0.3", "target": "cfg_if" }, { - "id": "rustc-demangle 0.1.24", + "id": "rustc-demangle 0.1.26", "target": "rustc_demangle" } ], "selects": { + "cfg(any(windows, target_os = \"cygwin\"))": [ + { + "id": "windows-link 0.2.0", + "target": "windows_link" + } + ], "cfg(not(all(windows, target_env = \"msvc\", not(target_vendor = \"uwp\"))))": [ { - "id": "addr2line 0.21.0", + "id": "addr2line 0.25.1", "target": "addr2line" }, { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" }, { - "id": "miniz_oxide 0.7.2", + "id": "miniz_oxide 0.8.9", "target": "miniz_oxide" }, { - "id": "object 0.32.2", + "id": "object 0.37.3", "target": "object" } ] } }, "edition": "2021", - "version": "0.3.71" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "cc 1.1.30", - "target": "cc" - } - ], - "selects": {} - } + "version": "0.3.76" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -1283,14 +1214,14 @@ ], "license_file": "LICENSE-APACHE" }, - "base64ct 1.6.0": { + "base64ct 1.8.0": { "name": "base64ct", - "version": "1.6.0", - "package_url": "https://github.com/RustCrypto/formats/tree/master/base64ct", + "version": "1.8.0", + "package_url": "https://github.com/RustCrypto/formats", "repository": { "Http": { - "url": "https://static.crates.io/crates/base64ct/1.6.0/download", - "sha256": "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + "url": "https://static.crates.io/crates/base64ct/1.8.0/download", + "sha256": "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" } }, "targets": [ @@ -1312,8 +1243,8 @@ "compile_data_glob": [ "**" ], - "edition": "2021", - "version": "1.6.0" + "edition": "2024", + "version": "1.8.0" }, "license": "Apache-2.0 OR MIT", "license_ids": [ @@ -1322,14 +1253,14 @@ ], "license_file": "LICENSE-APACHE" }, - "bcder 0.7.4": { + "bcder 0.7.6": { "name": "bcder", - "version": "0.7.4", + "version": "0.7.6", "package_url": "https://github.com/nlnetlabs/bcder", "repository": { "Http": { - "url": "https://static.crates.io/crates/bcder/0.7.4/download", - "sha256": "c627747a6774aab38beb35990d88309481378558875a41da1a4b2e373c906ef0" + "url": "https://static.crates.io/crates/bcder/0.7.6/download", + "sha256": "1f7c42c9913f68cf9390a225e81ad56a5c515347287eb98baa710090ca1de86d" } }, "targets": [ @@ -1354,18 +1285,18 @@ "deps": { "common": [ { - "id": "bytes 1.9.0", + "id": "bytes 1.10.1", "target": "bytes" }, { - "id": "smallvec 1.13.2", + "id": "smallvec 1.15.1", "target": "smallvec" } ], "selects": {} }, "edition": "2018", - "version": "0.7.4" + "version": "0.7.6" }, "license": "BSD-3-Clause", "license_ids": [ @@ -1473,53 +1404,14 @@ ], "license_file": "LICENSE-APACHE" }, - "bitflags 1.3.2": { - "name": "bitflags", - "version": "1.3.2", - "package_url": "https://github.com/bitflags/bitflags", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/bitflags/1.3.2/download", - "sha256": "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - } - }, - "targets": [ - { - "Library": { - "crate_name": "bitflags", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "bitflags", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2018", - "version": "1.3.2" - }, - "license": "MIT/Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, - "bitflags 2.5.0": { + "bitflags 2.9.4": { "name": "bitflags", - "version": "2.5.0", + "version": "2.9.4", "package_url": "https://github.com/bitflags/bitflags", "repository": { "Http": { - "url": "https://static.crates.io/crates/bitflags/2.5.0/download", - "sha256": "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" + "url": "https://static.crates.io/crates/bitflags/2.9.4/download", + "sha256": "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" } }, "targets": [ @@ -1547,72 +1439,12 @@ "aarch64-apple-darwin": [ "std" ], - "aarch64-apple-ios": [ - "std" - ], - "aarch64-apple-ios-sim": [ - "std" - ], - "aarch64-linux-android": [ - "std" - ], - "aarch64-unknown-fuchsia": [ - "std" - ], "aarch64-unknown-linux-gnu": [ "std" ], - "aarch64-unknown-nixos-gnu": [ - "std" - ], - "aarch64-unknown-nto-qnx710": [ - "std" - ], - "arm-unknown-linux-gnueabi": [ - "std" - ], - "armv7-linux-androideabi": [ - "std" - ], - "armv7-unknown-linux-gnueabi": [ - "std" - ], - "i686-apple-darwin": [ - "std" - ], - "i686-linux-android": [ - "std" - ], - "i686-unknown-freebsd": [ - "std" - ], - "i686-unknown-linux-gnu": [ - "std" - ], - "powerpc-unknown-linux-gnu": [ - "std" - ], - "s390x-unknown-linux-gnu": [ - "std" - ], "wasm32-wasip1": [ "std" ], - "x86_64-apple-darwin": [ - "std" - ], - "x86_64-apple-ios": [ - "std" - ], - "x86_64-linux-android": [ - "std" - ], - "x86_64-unknown-freebsd": [ - "std" - ], - "x86_64-unknown-fuchsia": [ - "std" - ], "x86_64-unknown-linux-gnu": [ "std" ], @@ -1622,7 +1454,7 @@ } }, "edition": "2021", - "version": "2.5.0" + "version": "2.9.4" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -1679,14 +1511,14 @@ ], "license_file": "LICENSE-APACHE" }, - "bstr 1.9.1": { + "bstr 1.12.0": { "name": "bstr", - "version": "1.9.1", + "version": "1.12.0", "package_url": "https://github.com/BurntSushi/bstr", "repository": { "Http": { - "url": "https://static.crates.io/crates/bstr/1.9.1/download", - "sha256": "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" + "url": "https://static.crates.io/crates/bstr/1.12.0/download", + "sha256": "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" } }, "targets": [ @@ -1720,18 +1552,18 @@ "deps": { "common": [ { - "id": "memchr 2.7.4", + "id": "memchr 2.7.6", "target": "memchr" }, { - "id": "regex-automata 0.4.8", + "id": "regex-automata 0.4.11", "target": "regex_automata" } ], "selects": {} }, "edition": "2021", - "version": "1.9.1" + "version": "1.12.0" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -1831,14 +1663,14 @@ ], "license_file": "LICENSE-MIT" }, - "bytes 1.9.0": { + "bytes 1.10.1": { "name": "bytes", - "version": "1.9.0", + "version": "1.10.1", "package_url": "https://github.com/tokio-rs/bytes", "repository": { "Http": { - "url": "https://static.crates.io/crates/bytes/1.9.0/download", - "sha256": "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" + "url": "https://static.crates.io/crates/bytes/1.10.1/download", + "sha256": "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" } }, "targets": [ @@ -1868,7 +1700,7 @@ "selects": {} }, "edition": "2018", - "version": "1.9.0" + "version": "1.10.1" }, "license": "MIT", "license_ids": [ @@ -1912,7 +1744,7 @@ "target": "bzip2_sys" }, { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], @@ -1966,7 +1798,7 @@ "deps": { "common": [ { - "id": "libbz2-rs-sys 0.2.1", + "id": "libbz2-rs-sys 0.2.2", "target": "libbz2_rs_sys" } ], @@ -2039,17 +1871,20 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ], "deps": { "common": [ { - "id": "cc 1.1.30", + "id": "cc 1.2.39", "target": "cc" }, { - "id": "pkg-config 0.3.30", + "id": "pkg-config 0.3.32", "target": "pkg_config" } ], @@ -2064,14 +1899,14 @@ ], "license_file": "LICENSE-APACHE" }, - "cc 1.1.30": { + "cc 1.2.39": { "name": "cc", - "version": "1.1.30", + "version": "1.2.39", "package_url": "https://github.com/rust-lang/cc-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/cc/1.1.30/download", - "sha256": "b16803a61b81d9eabb7eae2588776c4c1e584b738ede45fdbb4c972cec1e9945" + "url": "https://static.crates.io/crates/cc/1.2.39/download", + "sha256": "e1354349954c6fc9cb0deab020f27f783cf0b604e8bb754dc4658ecf0d29c35f" } }, "targets": [ @@ -2102,7 +1937,11 @@ "deps": { "common": [ { - "id": "jobserver 0.1.31", + "id": "find-msvc-tools 0.1.2", + "target": "find_msvc_tools" + }, + { + "id": "jobserver 0.1.34", "target": "jobserver" }, { @@ -2113,74 +1952,32 @@ "selects": { "aarch64-apple-darwin": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "aarch64-unknown-linux-gnu": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], - "aarch64-unknown-nixos-gnu": [ + "x86_64-unknown-linux-gnu": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], - "arm-unknown-linux-gnueabi": [ + "x86_64-unknown-nixos-gnu": [ { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "i686-unknown-linux-gnu": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "powerpc-unknown-linux-gnu": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "s390x-unknown-linux-gnu": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-apple-darwin": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-unknown-freebsd": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-unknown-linux-gnu": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-unknown-nixos-gnu": [ - { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ] } }, "edition": "2018", - "version": "1.1.30" + "version": "1.2.39" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -2229,7 +2026,7 @@ "target": "fnv" }, { - "id": "uuid 1.8.0", + "id": "uuid 1.18.1", "target": "uuid" } ], @@ -2244,14 +2041,14 @@ ], "license_file": "LICENSE" }, - "cfg-if 1.0.0": { + "cfg-if 1.0.3": { "name": "cfg-if", - "version": "1.0.0", - "package_url": "https://github.com/alexcrichton/cfg-if", + "version": "1.0.3", + "package_url": "https://github.com/rust-lang/cfg-if", "repository": { "Http": { - "url": "https://static.crates.io/crates/cfg-if/1.0.0/download", - "sha256": "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + "url": "https://static.crates.io/crates/cfg-if/1.0.3/download", + "sha256": "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" } }, "targets": [ @@ -2274,23 +2071,61 @@ "**" ], "edition": "2018", - "version": "1.0.0" + "version": "1.0.3" }, - "license": "MIT/Apache-2.0", + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "chrono 0.4.38": { + "cfg_aliases 0.2.1": { + "name": "cfg_aliases", + "version": "0.2.1", + "package_url": "https://github.com/katharostech/cfg_aliases", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/cfg_aliases/0.2.1/download", + "sha256": "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + } + }, + "targets": [ + { + "Library": { + "crate_name": "cfg_aliases", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "cfg_aliases", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "0.2.1" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "chrono 0.4.42": { "name": "chrono", - "version": "0.4.38", + "version": "0.4.42", "package_url": "https://github.com/chronotope/chrono", "repository": { "Http": { - "url": "https://static.crates.io/crates/chrono/0.4.38/download", - "sha256": "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" + "url": "https://static.crates.io/crates/chrono/0.4.42/download", + "sha256": "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" } }, "targets": [ @@ -2315,7 +2150,6 @@ "crate_features": { "common": [ "alloc", - "android-tzdata", "clock", "default", "iana-time-zone", @@ -2327,7 +2161,7 @@ "wasm-bindgen", "wasmbind", "winapi", - "windows-targets" + "windows-link" ], "selects": {} }, @@ -2338,203 +2172,55 @@ "target": "num_traits" }, { - "id": "serde 1.0.219", + "id": "serde 1.0.228", "target": "serde" } ], "selects": { "aarch64-apple-darwin": [ { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "aarch64-apple-ios": [ - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "aarch64-apple-ios-sim": [ - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "aarch64-linux-android": [ - { - "id": "android-tzdata 0.1.1", - "target": "android_tzdata" - }, - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "aarch64-pc-windows-msvc": [ - { - "id": "windows-targets 0.52.6", - "target": "windows_targets" - } - ], - "aarch64-unknown-fuchsia": [ - { - "id": "iana-time-zone 0.1.60", + "id": "iana-time-zone 0.1.64", "target": "iana_time_zone" } ], "aarch64-unknown-linux-gnu": [ { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "aarch64-unknown-nixos-gnu": [ - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "aarch64-unknown-nto-qnx710": [ - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "arm-unknown-linux-gnueabi": [ - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "armv7-linux-androideabi": [ - { - "id": "android-tzdata 0.1.1", - "target": "android_tzdata" - }, - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "armv7-unknown-linux-gnueabi": [ - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "i686-apple-darwin": [ - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "i686-linux-android": [ - { - "id": "android-tzdata 0.1.1", - "target": "android_tzdata" - }, - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "i686-pc-windows-msvc": [ - { - "id": "windows-targets 0.52.6", - "target": "windows_targets" - } - ], - "i686-unknown-freebsd": [ - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "i686-unknown-linux-gnu": [ - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "powerpc-unknown-linux-gnu": [ - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "s390x-unknown-linux-gnu": [ - { - "id": "iana-time-zone 0.1.60", + "id": "iana-time-zone 0.1.64", "target": "iana_time_zone" } ], "wasm32-unknown-unknown": [ { - "id": "js-sys 0.3.77", + "id": "js-sys 0.3.81", "target": "js_sys" }, { - "id": "wasm-bindgen 0.2.100", + "id": "wasm-bindgen 0.2.104", "target": "wasm_bindgen" } ], - "x86_64-apple-darwin": [ - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "x86_64-apple-ios": [ - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "x86_64-linux-android": [ - { - "id": "android-tzdata 0.1.1", - "target": "android_tzdata" - }, - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], "x86_64-pc-windows-msvc": [ { - "id": "windows-targets 0.52.6", - "target": "windows_targets" - } - ], - "x86_64-unknown-freebsd": [ - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" - } - ], - "x86_64-unknown-fuchsia": [ - { - "id": "iana-time-zone 0.1.60", - "target": "iana_time_zone" + "id": "windows-link 0.2.0", + "target": "windows_link" } ], "x86_64-unknown-linux-gnu": [ { - "id": "iana-time-zone 0.1.60", + "id": "iana-time-zone 0.1.64", "target": "iana_time_zone" } ], "x86_64-unknown-nixos-gnu": [ { - "id": "iana-time-zone 0.1.60", + "id": "iana-time-zone 0.1.64", "target": "iana_time_zone" } ] } }, "edition": "2021", - "version": "0.4.38" + "version": "0.4.42" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -2543,14 +2229,14 @@ ], "license_file": "LICENSE.txt" }, - "clap 4.5.45": { + "clap 4.5.48": { "name": "clap", - "version": "4.5.45", + "version": "4.5.48", "package_url": "https://github.com/clap-rs/clap", "repository": { "Http": { - "url": "https://static.crates.io/crates/clap/4.5.45/download", - "sha256": "1fc0e74a703892159f5ae7d3aac52c8e6c392f5ae5f359c70b5881d60aaac318" + "url": "https://static.crates.io/crates/clap/4.5.48/download", + "sha256": "e2134bb3ea021b78629caa971416385309e0131b351b25e01dc16fb54e1b5fae" } }, "targets": [ @@ -2589,7 +2275,7 @@ "deps": { "common": [ { - "id": "clap_builder 4.5.44", + "id": "clap_builder 4.5.48", "target": "clap_builder" } ], @@ -2599,13 +2285,13 @@ "proc_macro_deps": { "common": [ { - "id": "clap_derive 4.5.45", + "id": "clap_derive 4.5.47", "target": "clap_derive" } ], "selects": {} }, - "version": "4.5.45" + "version": "4.5.48" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -2614,14 +2300,14 @@ ], "license_file": "LICENSE-APACHE" }, - "clap_builder 4.5.44": { + "clap_builder 4.5.48": { "name": "clap_builder", - "version": "4.5.44", + "version": "4.5.48", "package_url": "https://github.com/clap-rs/clap", "repository": { "Http": { - "url": "https://static.crates.io/crates/clap_builder/4.5.44/download", - "sha256": "b3e7f4214277f3c7aa526a59dd3fbe306a370daee1f8b7b8c987069cd8e888a8" + "url": "https://static.crates.io/crates/clap_builder/4.5.48/download", + "sha256": "c2ba64afa3c0a6df7fa517765e31314e983f51dda798ffba27b988194fb65dc9" } }, "targets": [ @@ -2658,15 +2344,15 @@ "deps": { "common": [ { - "id": "anstream 0.6.14", + "id": "anstream 0.6.20", "target": "anstream" }, { - "id": "anstyle 1.0.8", + "id": "anstyle 1.0.13", "target": "anstyle" }, { - "id": "clap_lex 0.7.4", + "id": "clap_lex 0.7.5", "target": "clap_lex" }, { @@ -2677,7 +2363,7 @@ "selects": {} }, "edition": "2021", - "version": "4.5.44" + "version": "4.5.48" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -2686,14 +2372,14 @@ ], "license_file": "LICENSE-APACHE" }, - "clap_derive 4.5.45": { + "clap_derive 4.5.47": { "name": "clap_derive", - "version": "4.5.45", + "version": "4.5.47", "package_url": "https://github.com/clap-rs/clap", "repository": { "Http": { - "url": "https://static.crates.io/crates/clap_derive/4.5.45/download", - "sha256": "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6" + "url": "https://static.crates.io/crates/clap_derive/4.5.47/download", + "sha256": "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c" } }, "targets": [ @@ -2728,22 +2414,22 @@ "target": "heck" }, { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "syn 2.0.101", + "id": "syn 2.0.106", "target": "syn" } ], "selects": {} }, "edition": "2021", - "version": "4.5.45" + "version": "4.5.47" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -2752,14 +2438,14 @@ ], "license_file": "LICENSE-APACHE" }, - "clap_lex 0.7.4": { + "clap_lex 0.7.5": { "name": "clap_lex", - "version": "0.7.4", + "version": "0.7.5", "package_url": "https://github.com/clap-rs/clap", "repository": { "Http": { - "url": "https://static.crates.io/crates/clap_lex/0.7.4/download", - "sha256": "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" + "url": "https://static.crates.io/crates/clap_lex/0.7.5/download", + "sha256": "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" } }, "targets": [ @@ -2782,7 +2468,7 @@ "**" ], "edition": "2021", - "version": "0.7.4" + "version": "0.7.5" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -2791,14 +2477,14 @@ ], "license_file": "LICENSE-APACHE" }, - "colorchoice 1.0.1": { + "colorchoice 1.0.4": { "name": "colorchoice", - "version": "1.0.1", - "package_url": "https://github.com/rust-cli/anstyle", + "version": "1.0.4", + "package_url": "https://github.com/rust-cli/anstyle.git", "repository": { "Http": { - "url": "https://static.crates.io/crates/colorchoice/1.0.1/download", - "sha256": "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" + "url": "https://static.crates.io/crates/colorchoice/1.0.4/download", + "sha256": "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" } }, "targets": [ @@ -2821,7 +2507,7 @@ "**" ], "edition": "2021", - "version": "1.0.1" + "version": "1.0.4" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -2869,14 +2555,14 @@ ], "license_file": "LICENSE-APACHE" }, - "core-foundation-sys 0.8.6": { + "core-foundation-sys 0.8.7": { "name": "core-foundation-sys", - "version": "0.8.6", + "version": "0.8.7", "package_url": "https://github.com/servo/core-foundation-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/core-foundation-sys/0.8.6/download", - "sha256": "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + "url": "https://static.crates.io/crates/core-foundation-sys/0.8.7/download", + "sha256": "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" } }, "targets": [ @@ -2906,7 +2592,7 @@ "selects": {} }, "edition": "2018", - "version": "0.8.6" + "version": "0.8.7" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -2947,11 +2633,11 @@ "deps": { "common": [ { - "id": "chrono 0.4.38", + "id": "chrono 0.4.42", "target": "chrono" }, { - "id": "is_executable 1.0.4", + "id": "is_executable 1.0.5", "target": "is_executable" }, { @@ -2974,14 +2660,14 @@ ], "license_file": "LICENSE" }, - "cpufeatures 0.2.12": { + "cpufeatures 0.2.17": { "name": "cpufeatures", - "version": "0.2.12", + "version": "0.2.17", "package_url": "https://github.com/RustCrypto/utils", "repository": { "Http": { - "url": "https://static.crates.io/crates/cpufeatures/0.2.12/download", - "sha256": "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" + "url": "https://static.crates.io/crates/cpufeatures/0.2.17/download", + "sha256": "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" } }, "targets": [ @@ -3008,32 +2694,32 @@ "selects": { "aarch64-linux-android": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(all(target_arch = \"aarch64\", target_vendor = \"apple\"))": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(all(target_arch = \"loongarch64\", target_os = \"linux\"))": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ] } }, "edition": "2018", - "version": "0.2.12" + "version": "0.2.17" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -3042,14 +2728,14 @@ ], "license_file": "LICENSE-APACHE" }, - "crc 3.2.1": { + "crc 3.3.0": { "name": "crc", - "version": "3.2.1", + "version": "3.3.0", "package_url": "https://github.com/mrhooray/crc-rs.git", "repository": { "Http": { - "url": "https://static.crates.io/crates/crc/3.2.1/download", - "sha256": "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" + "url": "https://static.crates.io/crates/crc/3.3.0/download", + "sha256": "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" } }, "targets": [ @@ -3081,7 +2767,7 @@ "selects": {} }, "edition": "2021", - "version": "3.2.1" + "version": "3.3.0" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -3129,14 +2815,14 @@ ], "license_file": "LICENSES" }, - "crc32fast 1.4.2": { + "crc32fast 1.5.0": { "name": "crc32fast", - "version": "1.4.2", + "version": "1.5.0", "package_url": "https://github.com/srijs/rust-crc32fast", "repository": { "Http": { - "url": "https://static.crates.io/crates/crc32fast/1.4.2/download", - "sha256": "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" + "url": "https://static.crates.io/crates/crc32fast/1.5.0/download", + "sha256": "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" } }, "targets": [ @@ -3151,6 +2837,18 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], "library_target_name": "crc32fast", @@ -3168,14 +2866,29 @@ "deps": { "common": [ { - "id": "cfg-if 1.0.0", + "id": "cfg-if 1.0.3", "target": "cfg_if" + }, + { + "id": "crc32fast 1.5.0", + "target": "build_script_build" } ], "selects": {} }, - "edition": "2015", - "version": "1.4.2" + "edition": "2021", + "version": "1.5.0" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -3226,7 +2939,7 @@ "target": "generic_array" }, { - "id": "typenum 1.17.0", + "id": "typenum 1.18.0", "target": "typenum" } ], @@ -3281,15 +2994,15 @@ "deps": { "common": [ { - "id": "bcder 0.7.4", + "id": "bcder 0.7.6", "target": "bcder" }, { - "id": "bytes 1.9.0", + "id": "bytes 1.10.1", "target": "bytes" }, { - "id": "chrono 0.4.38", + "id": "chrono 0.4.42", "target": "chrono" }, { @@ -3297,7 +3010,7 @@ "target": "hex" }, { - "id": "pem 3.0.4", + "id": "pem 3.0.5", "target": "pem" }, { @@ -3305,7 +3018,7 @@ "target": "reqwest" }, { - "id": "ring 0.17.8", + "id": "ring 0.17.14", "target": "ring" }, { @@ -3364,7 +3077,7 @@ "target": "ar" }, { - "id": "arrayvec 0.7.4", + "id": "arrayvec 0.7.6", "target": "arrayvec" }, { @@ -3384,7 +3097,7 @@ "target": "infer" }, { - "id": "log 0.4.27", + "id": "log 0.4.28", "target": "log" }, { @@ -3411,14 +3124,14 @@ ], "license_file": "LICENSE" }, - "der 0.7.9": { + "der 0.7.10": { "name": "der", - "version": "0.7.9", + "version": "0.7.10", "package_url": "https://github.com/RustCrypto/formats/tree/master/der", "repository": { "Http": { - "url": "https://static.crates.io/crates/der/0.7.9/download", - "sha256": "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" + "url": "https://static.crates.io/crates/der/0.7.10/download", + "sha256": "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" } }, "targets": [ @@ -3455,14 +3168,14 @@ "target": "const_oid" }, { - "id": "zeroize 1.8.1", + "id": "zeroize 1.8.2", "target": "zeroize" } ], "selects": {} }, "edition": "2021", - "version": "0.7.9" + "version": "0.7.10" }, "license": "Apache-2.0 OR MIT", "license_ids": [ @@ -3471,14 +3184,14 @@ ], "license_file": "LICENSE-APACHE" }, - "deranged 0.3.11": { + "deranged 0.5.4": { "name": "deranged", - "version": "0.3.11", + "version": "0.5.4", "package_url": "https://github.com/jhpratt/deranged", "repository": { "Http": { - "url": "https://static.crates.io/crates/deranged/0.3.11/download", - "sha256": "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" + "url": "https://static.crates.io/crates/deranged/0.5.4/download", + "sha256": "a41953f86f8a05768a6cda24def994fd2f424b04ec5c719cf89989779f199071" } }, "targets": [ @@ -3502,9 +3215,8 @@ ], "crate_features": { "common": [ - "alloc", - "powerfmt", - "std" + "default", + "powerfmt" ], "selects": {} }, @@ -3518,7 +3230,7 @@ "selects": {} }, "edition": "2021", - "version": "0.3.11" + "version": "0.5.4" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -3527,14 +3239,14 @@ ], "license_file": "LICENSE-Apache" }, - "derive_arbitrary 1.4.1": { + "derive_arbitrary 1.4.2": { "name": "derive_arbitrary", - "version": "1.4.1", + "version": "1.4.2", "package_url": "https://github.com/rust-fuzz/arbitrary", "repository": { "Http": { - "url": "https://static.crates.io/crates/derive_arbitrary/1.4.1/download", - "sha256": "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" + "url": "https://static.crates.io/crates/derive_arbitrary/1.4.2/download", + "sha256": "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" } }, "targets": [ @@ -3559,24 +3271,24 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "syn 2.0.101", + "id": "syn 2.0.106", "target": "syn" } ], "selects": {} }, "edition": "2021", - "version": "1.4.1" + "version": "1.4.2" }, - "license": "MIT/Apache-2.0", + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" @@ -3770,19 +3482,19 @@ "selects": { "cfg(target_os = \"redox\")": [ { - "id": "redox_users 0.5.0", + "id": "redox_users 0.5.2", "target": "redox_users" } ], "cfg(unix)": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(windows)": [ { - "id": "windows-sys 0.59.0", + "id": "windows-sys 0.61.1", "target": "windows_sys" } ] @@ -3830,15 +3542,15 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "syn 2.0.101", + "id": "syn 2.0.106", "target": "syn" } ], @@ -3911,6 +3623,9 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -3921,14 +3636,14 @@ ], "license_file": "LICENSE" }, - "env_filter 0.1.0": { + "env_filter 0.1.3": { "name": "env_filter", - "version": "0.1.0", + "version": "0.1.3", "package_url": "https://github.com/rust-cli/env_logger", "repository": { "Http": { - "url": "https://static.crates.io/crates/env_filter/0.1.0/download", - "sha256": "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" + "url": "https://static.crates.io/crates/env_filter/0.1.3/download", + "sha256": "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" } }, "targets": [ @@ -3959,18 +3674,18 @@ "deps": { "common": [ { - "id": "log 0.4.27", + "id": "log 0.4.28", "target": "log" }, { - "id": "regex 1.11.1", + "id": "regex 1.11.3", "target": "regex" } ], "selects": {} }, "edition": "2021", - "version": "0.1.0" + "version": "0.1.3" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -4060,23 +3775,23 @@ "deps": { "common": [ { - "id": "anstream 0.6.14", + "id": "anstream 0.6.20", "target": "anstream" }, { - "id": "anstyle 1.0.8", + "id": "anstyle 1.0.13", "target": "anstyle" }, { - "id": "env_filter 0.1.0", + "id": "env_filter 0.1.3", "target": "env_filter" }, { - "id": "jiff 0.2.13", + "id": "jiff 0.2.15", "target": "jiff" }, { - "id": "log 0.4.27", + "id": "log 0.4.28", "target": "log" } ], @@ -4092,14 +3807,14 @@ ], "license_file": "LICENSE-APACHE" }, - "equivalent 1.0.1": { + "equivalent 1.0.2": { "name": "equivalent", - "version": "1.0.1", - "package_url": "https://github.com/cuviper/equivalent", + "version": "1.0.2", + "package_url": "https://github.com/indexmap-rs/equivalent", "repository": { "Http": { - "url": "https://static.crates.io/crates/equivalent/1.0.1/download", - "sha256": "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + "url": "https://static.crates.io/crates/equivalent/1.0.2/download", + "sha256": "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" } }, "targets": [ @@ -4122,7 +3837,7 @@ "**" ], "edition": "2015", - "version": "1.0.1" + "version": "1.0.2" }, "license": "Apache-2.0 OR MIT", "license_ids": [ @@ -4131,14 +3846,14 @@ ], "license_file": "LICENSE-APACHE" }, - "errno 0.3.10": { + "errno 0.3.14": { "name": "errno", - "version": "0.3.10", + "version": "0.3.14", "package_url": "https://github.com/lambda-fairy/rust-errno", "repository": { "Http": { - "url": "https://static.crates.io/crates/errno/0.3.10/download", - "sha256": "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" + "url": "https://static.crates.io/crates/errno/0.3.14/download", + "sha256": "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" } }, "targets": [ @@ -4171,32 +3886,32 @@ "selects": { "cfg(target_os = \"hermit\")": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(target_os = \"wasi\")": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(unix)": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(windows)": [ { - "id": "windows-sys 0.59.0", + "id": "windows-sys 0.61.1", "target": "windows_sys" } ] } }, "edition": "2018", - "version": "0.3.10" + "version": "0.3.14" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -4243,14 +3958,14 @@ ], "license_file": "LICENSE" }, - "fastrand 2.1.1": { + "fastrand 2.3.0": { "name": "fastrand", - "version": "2.1.1", + "version": "2.3.0", "package_url": "https://github.com/smol-rs/fastrand", "repository": { "Http": { - "url": "https://static.crates.io/crates/fastrand/2.1.1/download", - "sha256": "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" + "url": "https://static.crates.io/crates/fastrand/2.3.0/download", + "sha256": "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" } }, "targets": [ @@ -4281,7 +3996,7 @@ "selects": {} }, "edition": "2018", - "version": "2.1.1" + "version": "2.3.0" }, "license": "Apache-2.0 OR MIT", "license_ids": [ @@ -4290,14 +4005,14 @@ ], "license_file": "LICENSE-APACHE" }, - "filetime 0.2.23": { + "filetime 0.2.26": { "name": "filetime", - "version": "0.2.23", + "version": "0.2.26", "package_url": "https://github.com/alexcrichton/filetime", "repository": { "Http": { - "url": "https://static.crates.io/crates/filetime/0.2.23/download", - "sha256": "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" + "url": "https://static.crates.io/crates/filetime/0.2.26/download", + "sha256": "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed" } }, "targets": [ @@ -4322,33 +4037,33 @@ "deps": { "common": [ { - "id": "cfg-if 1.0.0", + "id": "cfg-if 1.0.3", "target": "cfg_if" } ], "selects": { "cfg(target_os = \"redox\")": [ { - "id": "redox_syscall 0.4.1", - "target": "syscall" + "id": "libredox 0.1.10", + "target": "libredox" } ], "cfg(unix)": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(windows)": [ { - "id": "windows-sys 0.52.0", + "id": "windows-sys 0.60.2", "target": "windows_sys" } ] } }, "edition": "2018", - "version": "0.2.23" + "version": "0.2.26" }, "license": "MIT/Apache-2.0", "license_ids": [ @@ -4389,11 +4104,11 @@ "deps": { "common": [ { - "id": "cfg-if 1.0.0", + "id": "cfg-if 1.0.3", "target": "cfg_if" }, { - "id": "filetime 0.2.23", + "id": "filetime 0.2.26", "target": "filetime" } ], @@ -4416,20 +4131,20 @@ ], "license_file": "LICENSE-APACHE" }, - "flate2 1.1.2": { - "name": "flate2", - "version": "1.1.2", - "package_url": "https://github.com/rust-lang/flate2-rs", + "find-msvc-tools 0.1.2": { + "name": "find-msvc-tools", + "version": "0.1.2", + "package_url": "https://github.com/rust-lang/cc-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/flate2/1.1.2/download", - "sha256": "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" + "url": "https://static.crates.io/crates/find-msvc-tools/0.1.2/download", + "sha256": "1ced73b1dacfc750a6db6c0a0c3a3853c8b41997e2e2c563dc90804ae6867959" } }, "targets": [ { "Library": { - "crate_name": "flate2", + "crate_name": "find_msvc_tools", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -4440,35 +4155,74 @@ } } ], - "library_target_name": "flate2", + "library_target_name": "find_msvc_tools", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "any_impl", - "any_zlib", - "default", - "libz-rs-sys", - "miniz_oxide", - "rust_backend", - "zlib-rs" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "crc32fast 1.4.2", - "target": "crc32fast" - }, - { - "id": "libz-rs-sys 0.5.1", - "target": "libz_rs_sys" - }, - { - "id": "miniz_oxide 0.8.5", + "edition": "2018", + "version": "0.1.2" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "flate2 1.1.2": { + "name": "flate2", + "version": "1.1.2", + "package_url": "https://github.com/rust-lang/flate2-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/flate2/1.1.2/download", + "sha256": "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" + } + }, + "targets": [ + { + "Library": { + "crate_name": "flate2", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "flate2", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "any_impl", + "any_zlib", + "default", + "libz-rs-sys", + "miniz_oxide", + "rust_backend", + "zlib-rs" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "crc32fast 1.5.0", + "target": "crc32fast" + }, + { + "id": "libz-rs-sys 0.5.2", + "target": "libz_rs_sys" + }, + { + "id": "miniz_oxide 0.8.9", "target": "miniz_oxide" } ], @@ -4530,14 +4284,14 @@ ], "license_file": "LICENSE-APACHE" }, - "form_urlencoded 1.2.1": { + "form_urlencoded 1.2.2": { "name": "form_urlencoded", - "version": "1.2.1", + "version": "1.2.2", "package_url": "https://github.com/servo/rust-url", "repository": { "Http": { - "url": "https://static.crates.io/crates/form_urlencoded/1.2.1/download", - "sha256": "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" + "url": "https://static.crates.io/crates/form_urlencoded/1.2.2/download", + "sha256": "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" } }, "targets": [ @@ -4570,14 +4324,14 @@ "deps": { "common": [ { - "id": "percent-encoding 2.3.1", + "id": "percent-encoding 2.3.2", "target": "percent_encoding" } ], "selects": {} }, "edition": "2018", - "version": "1.2.1" + "version": "1.2.2" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -4620,7 +4374,7 @@ "selects": { "cfg(unix)": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], @@ -4680,14 +4434,14 @@ ], "license_file": "LICENSE" }, - "futures-channel 0.3.30": { + "futures-channel 0.3.31": { "name": "futures-channel", - "version": "0.3.30", + "version": "0.3.31", "package_url": "https://github.com/rust-lang/futures-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/futures-channel/0.3.30/download", - "sha256": "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" + "url": "https://static.crates.io/crates/futures-channel/0.3.31/download", + "sha256": "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" } }, "targets": [ @@ -4722,18 +4476,18 @@ "deps": { "common": [ { - "id": "futures-core 0.3.30", + "id": "futures-core 0.3.31", "target": "futures_core" }, { - "id": "futures-sink 0.3.30", + "id": "futures-sink 0.3.31", "target": "futures_sink" } ], "selects": {} }, "edition": "2018", - "version": "0.3.30" + "version": "0.3.31" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -4742,14 +4496,14 @@ ], "license_file": "LICENSE-APACHE" }, - "futures-core 0.3.30": { + "futures-core 0.3.31": { "name": "futures-core", - "version": "0.3.30", + "version": "0.3.31", "package_url": "https://github.com/rust-lang/futures-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/futures-core/0.3.30/download", - "sha256": "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + "url": "https://static.crates.io/crates/futures-core/0.3.31/download", + "sha256": "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" } }, "targets": [ @@ -4780,103 +4534,22 @@ "aarch64-apple-darwin": [ "default" ], - "aarch64-apple-ios": [ - "default" - ], - "aarch64-apple-ios-sim": [ - "default" - ], - "aarch64-linux-android": [ - "default" - ], - "aarch64-pc-windows-msvc": [ - "default" - ], - "aarch64-unknown-fuchsia": [ - "default" - ], "aarch64-unknown-linux-gnu": [ "default" ], - "aarch64-unknown-nixos-gnu": [ - "default" - ], - "aarch64-unknown-nto-qnx710": [ - "default" - ], - "arm-unknown-linux-gnueabi": [ - "default" - ], - "armv7-linux-androideabi": [ - "default" - ], - "armv7-unknown-linux-gnueabi": [ - "default" - ], - "i686-apple-darwin": [ - "default" - ], - "i686-linux-android": [ - "default" - ], - "i686-pc-windows-msvc": [ - "default" - ], - "i686-unknown-freebsd": [ - "default" - ], - "i686-unknown-linux-gnu": [ - "default" - ], - "powerpc-unknown-linux-gnu": [ - "default" - ], - "riscv32imc-unknown-none-elf": [ - "default" - ], - "riscv64gc-unknown-none-elf": [ - "default" - ], - "s390x-unknown-linux-gnu": [ - "default" - ], - "thumbv7em-none-eabi": [ - "default" - ], - "thumbv8m.main-none-eabi": [ - "default" - ], - "x86_64-apple-darwin": [ - "default" - ], - "x86_64-apple-ios": [ - "default" - ], - "x86_64-linux-android": [ - "default" - ], "x86_64-pc-windows-msvc": [ "default" ], - "x86_64-unknown-freebsd": [ - "default" - ], - "x86_64-unknown-fuchsia": [ - "default" - ], "x86_64-unknown-linux-gnu": [ "default" ], "x86_64-unknown-nixos-gnu": [ "default" - ], - "x86_64-unknown-none": [ - "default" ] } }, "edition": "2018", - "version": "0.3.30" + "version": "0.3.31" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -4885,14 +4558,14 @@ ], "license_file": "LICENSE-APACHE" }, - "futures-io 0.3.30": { + "futures-io 0.3.31": { "name": "futures-io", - "version": "0.3.30", + "version": "0.3.31", "package_url": "https://github.com/rust-lang/futures-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/futures-io/0.3.30/download", - "sha256": "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + "url": "https://static.crates.io/crates/futures-io/0.3.31/download", + "sha256": "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" } }, "targets": [ @@ -4921,7 +4594,7 @@ "selects": {} }, "edition": "2018", - "version": "0.3.30" + "version": "0.3.31" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -4930,14 +4603,14 @@ ], "license_file": "LICENSE-APACHE" }, - "futures-sink 0.3.30": { + "futures-sink 0.3.31": { "name": "futures-sink", - "version": "0.3.30", + "version": "0.3.31", "package_url": "https://github.com/rust-lang/futures-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/futures-sink/0.3.30/download", - "sha256": "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + "url": "https://static.crates.io/crates/futures-sink/0.3.31/download", + "sha256": "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" } }, "targets": [ @@ -4960,7 +4633,7 @@ "**" ], "edition": "2018", - "version": "0.3.30" + "version": "0.3.31" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -4969,14 +4642,14 @@ ], "license_file": "LICENSE-APACHE" }, - "futures-task 0.3.30": { + "futures-task 0.3.31": { "name": "futures-task", - "version": "0.3.30", + "version": "0.3.31", "package_url": "https://github.com/rust-lang/futures-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/futures-task/0.3.30/download", - "sha256": "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + "url": "https://static.crates.io/crates/futures-task/0.3.31/download", + "sha256": "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" } }, "targets": [ @@ -5006,7 +4679,7 @@ "selects": {} }, "edition": "2018", - "version": "0.3.30" + "version": "0.3.31" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -5015,14 +4688,14 @@ ], "license_file": "LICENSE-APACHE" }, - "futures-util 0.3.30": { + "futures-util 0.3.31": { "name": "futures-util", - "version": "0.3.30", + "version": "0.3.31", "package_url": "https://github.com/rust-lang/futures-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/futures-util/0.3.30/download", - "sha256": "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" + "url": "https://static.crates.io/crates/futures-util/0.3.31/download", + "sha256": "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" } }, "targets": [ @@ -5060,27 +4733,27 @@ "deps": { "common": [ { - "id": "futures-core 0.3.30", + "id": "futures-core 0.3.31", "target": "futures_core" }, { - "id": "futures-io 0.3.30", + "id": "futures-io 0.3.31", "target": "futures_io" }, { - "id": "futures-sink 0.3.30", + "id": "futures-sink 0.3.31", "target": "futures_sink" }, { - "id": "futures-task 0.3.30", + "id": "futures-task 0.3.31", "target": "futures_task" }, { - "id": "memchr 2.7.4", + "id": "memchr 2.7.6", "target": "memchr" }, { - "id": "pin-project-lite 0.2.14", + "id": "pin-project-lite 0.2.16", "target": "pin_project_lite" }, { @@ -5088,14 +4761,14 @@ "target": "pin_utils" }, { - "id": "slab 0.4.9", + "id": "slab 0.4.11", "target": "slab" } ], "selects": {} }, "edition": "2018", - "version": "0.3.30" + "version": "0.3.31" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -5158,7 +4831,7 @@ "target": "build_script_build" }, { - "id": "typenum 1.17.0", + "id": "typenum 1.18.0", "target": "typenum" } ], @@ -5171,13 +4844,16 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ], "deps": { "common": [ { - "id": "version_check 0.9.4", + "id": "version_check 0.9.5", "target": "version_check" } ], @@ -5190,14 +4866,14 @@ ], "license_file": "LICENSE" }, - "getrandom 0.2.15": { + "getrandom 0.2.16": { "name": "getrandom", - "version": "0.2.15", + "version": "0.2.16", "package_url": "https://github.com/rust-random/getrandom", "repository": { "Http": { - "url": "https://static.crates.io/crates/getrandom/0.2.15/download", - "sha256": "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" + "url": "https://static.crates.io/crates/getrandom/0.2.16/download", + "sha256": "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" } }, "targets": [ @@ -5228,27 +4904,27 @@ "deps": { "common": [ { - "id": "cfg-if 1.0.0", + "id": "cfg-if 1.0.3", "target": "cfg_if" } ], "selects": { "cfg(target_os = \"wasi\")": [ { - "id": "wasi 0.11.0+wasi-snapshot-preview1", + "id": "wasi 0.11.1+wasi-snapshot-preview1", "target": "wasi" } ], "cfg(unix)": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ] } }, "edition": "2018", - "version": "0.2.15" + "version": "0.2.16" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -5257,14 +4933,14 @@ ], "license_file": "LICENSE-APACHE" }, - "getrandom 0.3.1": { + "getrandom 0.3.3": { "name": "getrandom", - "version": "0.3.1", + "version": "0.3.3", "package_url": "https://github.com/rust-random/getrandom", "repository": { "Http": { - "url": "https://static.crates.io/crates/getrandom/0.3.1/download", - "sha256": "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" + "url": "https://static.crates.io/crates/getrandom/0.3.3/download", + "sha256": "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" } }, "targets": [ @@ -5298,87 +4974,98 @@ "compile_data_glob": [ "**" ], + "crate_features": { + "common": [], + "selects": { + "x86_64-pc-windows-msvc": [ + "std" + ] + } + }, "deps": { "common": [ { - "id": "cfg-if 1.0.0", + "id": "cfg-if 1.0.3", "target": "cfg_if" }, { - "id": "getrandom 0.3.1", + "id": "getrandom 0.3.3", "target": "build_script_build" } ], "selects": { - "cfg(all(any(target_os = \"linux\", target_os = \"android\"), not(any(getrandom_backend = \"custom\", getrandom_backend = \"rdrand\", getrandom_backend = \"rndr\"))))": [ + "cfg(all(any(target_os = \"linux\", target_os = \"android\"), not(any(all(target_os = \"linux\", target_env = \"\"), getrandom_backend = \"custom\", getrandom_backend = \"linux_raw\", getrandom_backend = \"rdrand\", getrandom_backend = \"rndr\"))))": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(all(target_arch = \"wasm32\", target_os = \"wasi\", target_env = \"p2\"))": [ { - "id": "wasi 0.13.3+wasi-0.2.2", + "id": "wasi 0.14.7+wasi-0.2.4", "target": "wasi" } ], - "cfg(all(windows, not(target_vendor = \"win7\")))": [ + "cfg(all(target_os = \"uefi\", getrandom_backend = \"efi_rng\"))": [ { - "id": "windows-targets 0.52.6", - "target": "windows_targets" + "id": "r-efi 5.3.0", + "target": "r_efi" } ], - "cfg(any(target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"hurd\", target_os = \"illumos\", all(target_os = \"horizon\", target_arch = \"arm\")))": [ + "cfg(any(target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"hurd\", target_os = \"illumos\", target_os = \"cygwin\", all(target_os = \"horizon\", target_arch = \"arm\")))": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(any(target_os = \"haiku\", target_os = \"redox\", target_os = \"nto\", target_os = \"aix\"))": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(any(target_os = \"ios\", target_os = \"visionos\", target_os = \"watchos\", target_os = \"tvos\"))": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(any(target_os = \"macos\", target_os = \"openbsd\", target_os = \"vita\", target_os = \"emscripten\"))": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(target_os = \"netbsd\")": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(target_os = \"solaris\")": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(target_os = \"vxworks\")": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ] } }, "edition": "2021", - "version": "0.3.1" + "version": "0.3.3" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -5390,14 +5077,14 @@ ], "license_file": "LICENSE-APACHE" }, - "gimli 0.28.1": { + "gimli 0.32.3": { "name": "gimli", - "version": "0.28.1", + "version": "0.32.3", "package_url": "https://github.com/gimli-rs/gimli", "repository": { "Http": { - "url": "https://static.crates.io/crates/gimli/0.28.1/download", - "sha256": "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + "url": "https://static.crates.io/crates/gimli/0.32.3/download", + "sha256": "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" } }, "targets": [ @@ -5427,7 +5114,7 @@ "selects": {} }, "edition": "2018", - "version": "0.28.1" + "version": "0.32.3" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -5436,14 +5123,14 @@ ], "license_file": "LICENSE-APACHE" }, - "glob 0.3.1": { + "glob 0.3.3": { "name": "glob", - "version": "0.3.1", + "version": "0.3.3", "package_url": "https://github.com/rust-lang/glob", "repository": { "Http": { - "url": "https://static.crates.io/crates/glob/0.3.1/download", - "sha256": "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + "url": "https://static.crates.io/crates/glob/0.3.3/download", + "sha256": "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" } }, "targets": [ @@ -5466,7 +5153,7 @@ "**" ], "edition": "2015", - "version": "0.3.1" + "version": "0.3.3" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -5520,14 +5207,14 @@ ], "license_file": "LICENSE-APACHE" }, - "hashbrown 0.15.2": { + "hashbrown 0.16.0": { "name": "hashbrown", - "version": "0.15.2", + "version": "0.16.0", "package_url": "https://github.com/rust-lang/hashbrown", "repository": { "Http": { - "url": "https://static.crates.io/crates/hashbrown/0.15.2/download", - "sha256": "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" + "url": "https://static.crates.io/crates/hashbrown/0.16.0/download", + "sha256": "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" } }, "targets": [ @@ -5550,7 +5237,7 @@ "**" ], "edition": "2021", - "version": "0.15.2" + "version": "0.16.0" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -5598,45 +5285,6 @@ ], "license_file": "LICENSE-APACHE" }, - "hermit-abi 0.3.9": { - "name": "hermit-abi", - "version": "0.3.9", - "package_url": "https://github.com/hermit-os/hermit-rs", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/hermit-abi/0.3.9/download", - "sha256": "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - } - }, - "targets": [ - { - "Library": { - "crate_name": "hermit_abi", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "hermit_abi", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2021", - "version": "0.3.9" - }, - "license": "MIT OR Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, "hex 0.4.3": { "name": "hex", "version": "0.4.3", @@ -5684,14 +5332,14 @@ ], "license_file": "LICENSE-APACHE" }, - "http 1.1.0": { + "http 1.3.1": { "name": "http", - "version": "1.1.0", + "version": "1.3.1", "package_url": "https://github.com/hyperium/http", "repository": { "Http": { - "url": "https://static.crates.io/crates/http/1.1.0/download", - "sha256": "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" + "url": "https://static.crates.io/crates/http/1.3.1/download", + "sha256": "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" } }, "targets": [ @@ -5723,7 +5371,7 @@ "deps": { "common": [ { - "id": "bytes 1.9.0", + "id": "bytes 1.10.1", "target": "bytes" }, { @@ -5731,14 +5379,14 @@ "target": "fnv" }, { - "id": "itoa 1.0.11", + "id": "itoa 1.0.15", "target": "itoa" } ], "selects": {} }, "edition": "2018", - "version": "1.1.0" + "version": "1.3.1" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -5747,14 +5395,14 @@ ], "license_file": "LICENSE-APACHE" }, - "http-body 1.0.0": { + "http-body 1.0.1": { "name": "http-body", - "version": "1.0.0", + "version": "1.0.1", "package_url": "https://github.com/hyperium/http-body", "repository": { "Http": { - "url": "https://static.crates.io/crates/http-body/1.0.0/download", - "sha256": "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" + "url": "https://static.crates.io/crates/http-body/1.0.1/download", + "sha256": "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" } }, "targets": [ @@ -5779,33 +5427,33 @@ "deps": { "common": [ { - "id": "bytes 1.9.0", + "id": "bytes 1.10.1", "target": "bytes" }, { - "id": "http 1.1.0", + "id": "http 1.3.1", "target": "http" } ], "selects": {} }, "edition": "2018", - "version": "1.0.0" + "version": "1.0.1" }, "license": "MIT", "license_ids": [ "MIT" ], - "license_file": null + "license_file": "LICENSE" }, - "http-body-util 0.1.1": { + "http-body-util 0.1.3": { "name": "http-body-util", - "version": "0.1.1", + "version": "0.1.3", "package_url": "https://github.com/hyperium/http-body", "repository": { "Http": { - "url": "https://static.crates.io/crates/http-body-util/0.1.1/download", - "sha256": "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" + "url": "https://static.crates.io/crates/http-body-util/0.1.3/download", + "sha256": "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" } }, "targets": [ @@ -5827,39 +5475,45 @@ "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "bytes 1.9.0", + "id": "bytes 1.10.1", "target": "bytes" }, { - "id": "futures-core 0.3.30", + "id": "futures-core 0.3.31", "target": "futures_core" }, { - "id": "http 1.1.0", + "id": "http 1.3.1", "target": "http" }, { - "id": "http-body 1.0.0", + "id": "http-body 1.0.1", "target": "http_body" }, { - "id": "pin-project-lite 0.2.14", + "id": "pin-project-lite 0.2.16", "target": "pin_project_lite" } ], "selects": {} }, "edition": "2018", - "version": "0.1.1" + "version": "0.1.3" }, "license": "MIT", "license_ids": [ "MIT" ], - "license_file": null + "license_file": "LICENSE" }, "httparse 1.10.1": { "name": "httparse", @@ -5925,6 +5579,9 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -5936,14 +5593,14 @@ ], "license_file": "LICENSE-APACHE" }, - "hyper 1.6.0": { + "hyper 1.7.0": { "name": "hyper", - "version": "1.6.0", + "version": "1.7.0", "package_url": "https://github.com/hyperium/hyper", "repository": { "Http": { - "url": "https://static.crates.io/crates/hyper/1.6.0/download", - "sha256": "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" + "url": "https://static.crates.io/crates/hyper/1.7.0/download", + "sha256": "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" } }, "targets": [ @@ -5976,23 +5633,27 @@ "deps": { "common": [ { - "id": "bytes 1.9.0", + "id": "atomic-waker 1.1.2", + "target": "atomic_waker" + }, + { + "id": "bytes 1.10.1", "target": "bytes" }, { - "id": "futures-channel 0.3.30", + "id": "futures-channel 0.3.31", "target": "futures_channel" }, { - "id": "futures-util 0.3.30", - "target": "futures_util" + "id": "futures-core 0.3.31", + "target": "futures_core" }, { - "id": "http 1.1.0", + "id": "http 1.3.1", "target": "http" }, { - "id": "http-body 1.0.0", + "id": "http-body 1.0.1", "target": "http_body" }, { @@ -6000,15 +5661,19 @@ "target": "httparse" }, { - "id": "itoa 1.0.11", + "id": "itoa 1.0.15", "target": "itoa" }, { - "id": "pin-project-lite 0.2.14", + "id": "pin-project-lite 0.2.16", "target": "pin_project_lite" }, { - "id": "smallvec 1.13.2", + "id": "pin-utils 0.1.0", + "target": "pin_utils" + }, + { + "id": "smallvec 1.15.1", "target": "smallvec" }, { @@ -6023,7 +5688,7 @@ "selects": {} }, "edition": "2021", - "version": "1.6.0" + "version": "1.7.0" }, "license": "MIT", "license_ids": [ @@ -6031,14 +5696,14 @@ ], "license_file": "LICENSE" }, - "hyper-rustls 0.27.2": { + "hyper-rustls 0.27.7": { "name": "hyper-rustls", - "version": "0.27.2", + "version": "0.27.7", "package_url": "https://github.com/rustls/hyper-rustls", "repository": { "Http": { - "url": "https://static.crates.io/crates/hyper-rustls/0.27.2/download", - "sha256": "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" + "url": "https://static.crates.io/crates/hyper-rustls/0.27.7/download", + "sha256": "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" } }, "targets": [ @@ -6073,23 +5738,19 @@ "deps": { "common": [ { - "id": "futures-util 0.3.30", - "target": "futures_util" - }, - { - "id": "http 1.1.0", + "id": "http 1.3.1", "target": "http" }, { - "id": "hyper 1.6.0", + "id": "hyper 1.7.0", "target": "hyper" }, { - "id": "hyper-util 0.1.14", + "id": "hyper-util 0.1.17", "target": "hyper_util" }, { - "id": "rustls 0.23.12", + "id": "rustls 0.23.32", "target": "rustls" }, { @@ -6102,7 +5763,7 @@ "target": "tokio" }, { - "id": "tokio-rustls 0.26.0", + "id": "tokio-rustls 0.26.4", "target": "tokio_rustls" }, { @@ -6110,14 +5771,14 @@ "target": "tower_service" }, { - "id": "webpki-roots 0.26.1", + "id": "webpki-roots 1.0.2", "target": "webpki_roots" } ], "selects": {} }, "edition": "2021", - "version": "0.27.2" + "version": "0.27.7" }, "license": "Apache-2.0 OR ISC OR MIT", "license_ids": [ @@ -6127,14 +5788,14 @@ ], "license_file": "LICENSE" }, - "hyper-util 0.1.14": { + "hyper-util 0.1.17": { "name": "hyper-util", - "version": "0.1.14", + "version": "0.1.17", "package_url": "https://github.com/hyperium/hyper-util", "repository": { "Http": { - "url": "https://static.crates.io/crates/hyper-util/0.1.14/download", - "sha256": "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" + "url": "https://static.crates.io/crates/hyper-util/0.1.17/download", + "sha256": "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" } }, "targets": [ @@ -6174,51 +5835,51 @@ "target": "base64" }, { - "id": "bytes 1.9.0", + "id": "bytes 1.10.1", "target": "bytes" }, { - "id": "futures-channel 0.3.30", + "id": "futures-channel 0.3.31", "target": "futures_channel" }, { - "id": "futures-core 0.3.30", + "id": "futures-core 0.3.31", "target": "futures_core" }, { - "id": "futures-util 0.3.30", + "id": "futures-util 0.3.31", "target": "futures_util" }, { - "id": "http 1.1.0", + "id": "http 1.3.1", "target": "http" }, { - "id": "http-body 1.0.0", + "id": "http-body 1.0.1", "target": "http_body" }, { - "id": "hyper 1.6.0", + "id": "hyper 1.7.0", "target": "hyper" }, { - "id": "ipnet 2.9.0", + "id": "ipnet 2.11.0", "target": "ipnet" }, { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" }, { - "id": "percent-encoding 2.3.1", + "id": "percent-encoding 2.3.2", "target": "percent_encoding" }, { - "id": "pin-project-lite 0.2.14", + "id": "pin-project-lite 0.2.16", "target": "pin_project_lite" }, { - "id": "socket2 0.5.10", + "id": "socket2 0.6.0", "target": "socket2" }, { @@ -6230,14 +5891,14 @@ "target": "tower_service" }, { - "id": "tracing 0.1.40", + "id": "tracing 0.1.41", "target": "tracing" } ], "selects": {} }, "edition": "2021", - "version": "0.1.14" + "version": "0.1.17" }, "license": "MIT", "license_ids": [ @@ -6245,14 +5906,14 @@ ], "license_file": "LICENSE" }, - "iana-time-zone 0.1.60": { + "iana-time-zone 0.1.64": { "name": "iana-time-zone", - "version": "0.1.60", + "version": "0.1.64", "package_url": "https://github.com/strawlab/iana-time-zone", "repository": { "Http": { - "url": "https://static.crates.io/crates/iana-time-zone/0.1.60/download", - "sha256": "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" + "url": "https://static.crates.io/crates/iana-time-zone/0.1.64/download", + "sha256": "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" } }, "targets": [ @@ -6283,19 +5944,17 @@ "deps": { "common": [], "selects": { - "cfg(any(target_os = \"macos\", target_os = \"ios\"))": [ - { - "id": "core-foundation-sys 0.8.6", - "target": "core_foundation_sys" - } - ], - "cfg(target_arch = \"wasm32\")": [ + "cfg(all(target_arch = \"wasm32\", target_os = \"unknown\"))": [ { - "id": "js-sys 0.3.77", + "id": "js-sys 0.3.81", "target": "js_sys" }, { - "id": "wasm-bindgen 0.2.100", + "id": "log 0.4.28", + "target": "log" + }, + { + "id": "wasm-bindgen 0.2.104", "target": "wasm_bindgen" } ], @@ -6313,14 +5972,20 @@ ], "cfg(target_os = \"windows\")": [ { - "id": "windows-core 0.52.0", + "id": "windows-core 0.62.1", "target": "windows_core" } + ], + "cfg(target_vendor = \"apple\")": [ + { + "id": "core-foundation-sys 0.8.7", + "target": "core_foundation_sys" + } ] } }, - "edition": "2018", - "version": "0.1.60" + "edition": "2021", + "version": "0.1.64" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -6386,13 +6051,16 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ], "deps": { "common": [ { - "id": "cc 1.1.30", + "id": "cc 1.2.39", "target": "cc" } ], @@ -6406,14 +6074,14 @@ ], "license_file": "LICENSE-APACHE" }, - "icu_collections 1.5.0": { + "icu_collections 2.0.0": { "name": "icu_collections", - "version": "1.5.0", + "version": "2.0.0", "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/icu_collections/1.5.0/download", - "sha256": "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" + "url": "https://static.crates.io/crates/icu_collections/2.0.0/download", + "sha256": "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" } }, "targets": [ @@ -6438,15 +6106,19 @@ "deps": { "common": [ { - "id": "yoke 0.7.5", + "id": "potential_utf 0.1.3", + "target": "potential_utf" + }, + { + "id": "yoke 0.8.0", "target": "yoke" }, { - "id": "zerofrom 0.1.5", + "id": "zerofrom 0.1.6", "target": "zerofrom" }, { - "id": "zerovec 0.10.4", + "id": "zerovec 0.11.4", "target": "zerovec" } ], @@ -6462,7 +6134,7 @@ ], "selects": {} }, - "version": "1.5.0" + "version": "2.0.0" }, "license": "Unicode-3.0", "license_ids": [ @@ -6470,20 +6142,20 @@ ], "license_file": "LICENSE" }, - "icu_locid 1.5.0": { - "name": "icu_locid", - "version": "1.5.0", + "icu_locale_core 2.0.0": { + "name": "icu_locale_core", + "version": "2.0.0", "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/icu_locid/1.5.0/download", - "sha256": "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" + "url": "https://static.crates.io/crates/icu_locale_core/2.0.0/download", + "sha256": "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" } }, "targets": [ { "Library": { - "crate_name": "icu_locid", + "crate_name": "icu_locale_core", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -6494,7 +6166,7 @@ } } ], - "library_target_name": "icu_locid", + "library_target_name": "icu_locale_core", "common_attrs": { "compile_data_glob": [ "**" @@ -6508,19 +6180,19 @@ "deps": { "common": [ { - "id": "litemap 0.7.4", + "id": "litemap 0.8.0", "target": "litemap" }, { - "id": "tinystr 0.7.6", + "id": "tinystr 0.8.1", "target": "tinystr" }, { - "id": "writeable 0.5.5", + "id": "writeable 0.6.1", "target": "writeable" }, { - "id": "zerovec 0.10.4", + "id": "zerovec 0.11.4", "target": "zerovec" } ], @@ -6536,7 +6208,7 @@ ], "selects": {} }, - "version": "1.5.0" + "version": "2.0.0" }, "license": "Unicode-3.0", "license_ids": [ @@ -6544,20 +6216,20 @@ ], "license_file": "LICENSE" }, - "icu_locid_transform 1.5.0": { - "name": "icu_locid_transform", - "version": "1.5.0", + "icu_normalizer 2.0.0": { + "name": "icu_normalizer", + "version": "2.0.0", "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/icu_locid_transform/1.5.0/download", - "sha256": "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" + "url": "https://static.crates.io/crates/icu_normalizer/2.0.0/download", + "sha256": "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" } }, "targets": [ { "Library": { - "crate_name": "icu_locid_transform", + "crate_name": "icu_normalizer", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -6568,7 +6240,7 @@ } } ], - "library_target_name": "icu_locid_transform", + "library_target_name": "icu_normalizer", "common_attrs": { "compile_data_glob": [ "**" @@ -6582,23 +6254,23 @@ "deps": { "common": [ { - "id": "icu_locid 1.5.0", - "target": "icu_locid" + "id": "icu_collections 2.0.0", + "target": "icu_collections" }, { - "id": "icu_locid_transform_data 1.5.0", - "target": "icu_locid_transform_data" + "id": "icu_normalizer_data 2.0.0", + "target": "icu_normalizer_data" }, { - "id": "icu_provider 1.5.0", + "id": "icu_provider 2.0.0", "target": "icu_provider" }, { - "id": "tinystr 0.7.6", - "target": "tinystr" + "id": "smallvec 1.15.1", + "target": "smallvec" }, { - "id": "zerovec 0.10.4", + "id": "zerovec 0.11.4", "target": "zerovec" } ], @@ -6614,7 +6286,7 @@ ], "selects": {} }, - "version": "1.5.0" + "version": "2.0.0" }, "license": "Unicode-3.0", "license_ids": [ @@ -6622,20 +6294,20 @@ ], "license_file": "LICENSE" }, - "icu_locid_transform_data 1.5.0": { - "name": "icu_locid_transform_data", - "version": "1.5.0", + "icu_normalizer_data 2.0.0": { + "name": "icu_normalizer_data", + "version": "2.0.0", "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/icu_locid_transform_data/1.5.0/download", - "sha256": "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + "url": "https://static.crates.io/crates/icu_normalizer_data/2.0.0/download", + "sha256": "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" } }, "targets": [ { "Library": { - "crate_name": "icu_locid_transform_data", + "crate_name": "icu_normalizer_data", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -6644,15 +6316,47 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], - "library_target_name": "icu_locid_transform_data", + "library_target_name": "icu_normalizer_data", "common_attrs": { "compile_data_glob": [ "**" ], - "edition": "2021", - "version": "1.5.0" + "deps": { + "common": [ + { + "id": "icu_normalizer_data 2.0.0", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "2.0.0" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] }, "license": "Unicode-3.0", "license_ids": [ @@ -6660,20 +6364,20 @@ ], "license_file": "LICENSE" }, - "icu_normalizer 1.5.0": { - "name": "icu_normalizer", - "version": "1.5.0", + "icu_properties 2.0.1": { + "name": "icu_properties", + "version": "2.0.1", "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/icu_normalizer/1.5.0/download", - "sha256": "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" + "url": "https://static.crates.io/crates/icu_properties/2.0.1/download", + "sha256": "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" } }, "targets": [ { "Library": { - "crate_name": "icu_normalizer", + "crate_name": "icu_properties", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -6684,54 +6388,45 @@ } } ], - "library_target_name": "icu_normalizer", + "library_target_name": "icu_properties", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "compiled_data", - "default" + "compiled_data" ], "selects": {} }, "deps": { "common": [ { - "id": "icu_collections 1.5.0", + "id": "icu_collections 2.0.0", "target": "icu_collections" }, { - "id": "icu_normalizer_data 1.5.0", - "target": "icu_normalizer_data" + "id": "icu_locale_core 2.0.0", + "target": "icu_locale_core" }, { - "id": "icu_properties 1.5.1", - "target": "icu_properties" + "id": "icu_properties_data 2.0.1", + "target": "icu_properties_data" }, { - "id": "icu_provider 1.5.0", + "id": "icu_provider 2.0.0", "target": "icu_provider" }, { - "id": "smallvec 1.13.2", - "target": "smallvec" - }, - { - "id": "utf16_iter 1.0.5", - "target": "utf16_iter" - }, - { - "id": "utf8_iter 1.0.4", - "target": "utf8_iter" + "id": "potential_utf 0.1.3", + "target": "potential_utf" }, { - "id": "write16 1.0.0", - "target": "write16" + "id": "zerotrie 0.2.2", + "target": "zerotrie" }, { - "id": "zerovec 0.10.4", + "id": "zerovec 0.11.4", "target": "zerovec" } ], @@ -6747,7 +6442,7 @@ ], "selects": {} }, - "version": "1.5.0" + "version": "2.0.1" }, "license": "Unicode-3.0", "license_ids": [ @@ -6755,20 +6450,20 @@ ], "license_file": "LICENSE" }, - "icu_normalizer_data 1.5.0": { - "name": "icu_normalizer_data", - "version": "1.5.0", + "icu_properties_data 2.0.1": { + "name": "icu_properties_data", + "version": "2.0.1", "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/icu_normalizer_data/1.5.0/download", - "sha256": "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + "url": "https://static.crates.io/crates/icu_properties_data/2.0.1/download", + "sha256": "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" } }, "targets": [ { "Library": { - "crate_name": "icu_normalizer_data", + "crate_name": "icu_properties_data", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -6777,37 +6472,11 @@ ] } } - } - ], - "library_target_name": "icu_normalizer_data", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2021", - "version": "1.5.0" - }, - "license": "Unicode-3.0", - "license_ids": [ - "Unicode-3.0" - ], - "license_file": "LICENSE" - }, - "icu_properties 1.5.1": { - "name": "icu_properties", - "version": "1.5.1", - "package_url": "https://github.com/unicode-org/icu4x", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/icu_properties/1.5.1/download", - "sha256": "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" - } - }, - "targets": [ + }, { - "Library": { - "crate_name": "icu_properties", - "crate_root": "src/lib.rs", + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", "srcs": { "allow_empty": true, "include": [ @@ -6817,96 +6486,33 @@ } } ], - "library_target_name": "icu_properties", + "library_target_name": "icu_properties_data", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "compiled_data", - "default" - ], - "selects": {} - }, "deps": { "common": [ { - "id": "icu_collections 1.5.0", - "target": "icu_collections" - }, - { - "id": "icu_locid_transform 1.5.0", - "target": "icu_locid_transform" - }, - { - "id": "icu_properties_data 1.5.0", - "target": "icu_properties_data" - }, - { - "id": "icu_provider 1.5.0", - "target": "icu_provider" - }, - { - "id": "tinystr 0.7.6", - "target": "tinystr" - }, - { - "id": "zerovec 0.10.4", - "target": "zerovec" + "id": "icu_properties_data 2.0.1", + "target": "build_script_build" } ], "selects": {} }, "edition": "2021", - "proc_macro_deps": { - "common": [ - { - "id": "displaydoc 0.2.5", - "target": "displaydoc" - } - ], - "selects": {} - }, - "version": "1.5.1" - }, - "license": "Unicode-3.0", - "license_ids": [ - "Unicode-3.0" - ], - "license_file": "LICENSE" - }, - "icu_properties_data 1.5.0": { - "name": "icu_properties_data", - "version": "1.5.0", - "package_url": "https://github.com/unicode-org/icu4x", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/icu_properties_data/1.5.0/download", - "sha256": "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" - } + "version": "2.0.1" }, - "targets": [ - { - "Library": { - "crate_name": "icu_properties_data", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "icu_properties_data", - "common_attrs": { + "build_script_attrs": { "compile_data_glob": [ "**" ], - "edition": "2021", - "version": "1.5.0" + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] }, "license": "Unicode-3.0", "license_ids": [ @@ -6914,14 +6520,14 @@ ], "license_file": "LICENSE" }, - "icu_provider 1.5.0": { + "icu_provider 2.0.0": { "name": "icu_provider", - "version": "1.5.0", + "version": "2.0.0", "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/icu_provider/1.5.0/download", - "sha256": "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" + "url": "https://static.crates.io/crates/icu_provider/2.0.0/download", + "sha256": "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" } }, "targets": [ @@ -6945,38 +6551,43 @@ ], "crate_features": { "common": [ - "macros" + "baked", + "zerotrie" ], "selects": {} }, "deps": { "common": [ { - "id": "icu_locid 1.5.0", - "target": "icu_locid" + "id": "icu_locale_core 2.0.0", + "target": "icu_locale_core" }, { "id": "stable_deref_trait 1.2.0", "target": "stable_deref_trait" }, { - "id": "tinystr 0.7.6", + "id": "tinystr 0.8.1", "target": "tinystr" }, { - "id": "writeable 0.5.5", + "id": "writeable 0.6.1", "target": "writeable" }, { - "id": "yoke 0.7.5", + "id": "yoke 0.8.0", "target": "yoke" }, { - "id": "zerofrom 0.1.5", + "id": "zerofrom 0.1.6", "target": "zerofrom" }, { - "id": "zerovec 0.10.4", + "id": "zerotrie 0.2.2", + "target": "zerotrie" + }, + { + "id": "zerovec 0.11.4", "target": "zerovec" } ], @@ -6988,70 +6599,11 @@ { "id": "displaydoc 0.2.5", "target": "displaydoc" - }, - { - "id": "icu_provider_macros 1.5.0", - "target": "icu_provider_macros" - } - ], - "selects": {} - }, - "version": "1.5.0" - }, - "license": "Unicode-3.0", - "license_ids": [ - "Unicode-3.0" - ], - "license_file": "LICENSE" - }, - "icu_provider_macros 1.5.0": { - "name": "icu_provider_macros", - "version": "1.5.0", - "package_url": "https://github.com/unicode-org/icu4x", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/icu_provider_macros/1.5.0/download", - "sha256": "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" - } - }, - "targets": [ - { - "ProcMacro": { - "crate_name": "icu_provider_macros", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "icu_provider_macros", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "proc-macro2 1.0.95", - "target": "proc_macro2" - }, - { - "id": "quote 1.0.40", - "target": "quote" - }, - { - "id": "syn 2.0.101", - "target": "syn" } ], "selects": {} }, - "edition": "2021", - "version": "1.5.0" + "version": "2.0.0" }, "license": "Unicode-3.0", "license_ids": [ @@ -7059,14 +6611,14 @@ ], "license_file": "LICENSE" }, - "idna 1.0.3": { + "idna 1.1.0": { "name": "idna", - "version": "1.0.3", + "version": "1.1.0", "package_url": "https://github.com/servo/rust-url/", "repository": { "Http": { - "url": "https://static.crates.io/crates/idna/1.0.3/download", - "sha256": "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" + "url": "https://static.crates.io/crates/idna/1.1.0/download", + "sha256": "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" } }, "targets": [ @@ -7099,11 +6651,11 @@ "deps": { "common": [ { - "id": "idna_adapter 1.2.0", + "id": "idna_adapter 1.2.1", "target": "idna_adapter" }, { - "id": "smallvec 1.13.2", + "id": "smallvec 1.15.1", "target": "smallvec" }, { @@ -7114,7 +6666,7 @@ "selects": {} }, "edition": "2018", - "version": "1.0.3" + "version": "1.1.0" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -7123,14 +6675,14 @@ ], "license_file": "LICENSE-APACHE" }, - "idna_adapter 1.2.0": { + "idna_adapter 1.2.1": { "name": "idna_adapter", - "version": "1.2.0", + "version": "1.2.1", "package_url": "https://github.com/hsivonen/idna_adapter", "repository": { "Http": { - "url": "https://static.crates.io/crates/idna_adapter/1.2.0/download", - "sha256": "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" + "url": "https://static.crates.io/crates/idna_adapter/1.2.1/download", + "sha256": "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" } }, "targets": [ @@ -7161,18 +6713,18 @@ "deps": { "common": [ { - "id": "icu_normalizer 1.5.0", + "id": "icu_normalizer 2.0.0", "target": "icu_normalizer" }, { - "id": "icu_properties 1.5.1", + "id": "icu_properties 2.0.1", "target": "icu_properties" } ], "selects": {} }, "edition": "2021", - "version": "1.2.0" + "version": "1.2.1" }, "license": "Apache-2.0 OR MIT", "license_ids": [ @@ -7242,13 +6794,16 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ], "deps": { "common": [ { - "id": "autocfg 1.3.0", + "id": "autocfg 1.5.0", "target": "autocfg" } ], @@ -7262,14 +6817,14 @@ ], "license_file": "LICENSE-APACHE" }, - "indexmap 2.7.1": { + "indexmap 2.11.4": { "name": "indexmap", - "version": "2.7.1", + "version": "2.11.4", "package_url": "https://github.com/indexmap-rs/indexmap", "repository": { "Http": { - "url": "https://static.crates.io/crates/indexmap/2.7.1/download", - "sha256": "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" + "url": "https://static.crates.io/crates/indexmap/2.11.4/download", + "sha256": "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" } }, "targets": [ @@ -7301,18 +6856,18 @@ "deps": { "common": [ { - "id": "equivalent 1.0.1", + "id": "equivalent 1.0.2", "target": "equivalent" }, { - "id": "hashbrown 0.15.2", + "id": "hashbrown 0.16.0", "target": "hashbrown" } ], "selects": {} }, "edition": "2021", - "version": "2.7.1" + "version": "2.11.4" }, "license": "Apache-2.0 OR MIT", "license_ids": [ @@ -7433,14 +6988,14 @@ ], "license_file": "LICENSE" }, - "io-uring 0.7.8": { + "io-uring 0.7.10": { "name": "io-uring", - "version": "0.7.8", + "version": "0.7.10", "package_url": "https://github.com/tokio-rs/io-uring", "repository": { "Http": { - "url": "https://static.crates.io/crates/io-uring/0.7.8/download", - "sha256": "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" + "url": "https://static.crates.io/crates/io-uring/0.7.10/download", + "sha256": "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" } }, "targets": [ @@ -7477,31 +7032,34 @@ "deps": { "common": [ { - "id": "bitflags 2.5.0", + "id": "bitflags 2.9.4", "target": "bitflags" }, { - "id": "cfg-if 1.0.0", + "id": "cfg-if 1.0.3", "target": "cfg_if" }, { - "id": "io-uring 0.7.8", + "id": "io-uring 0.7.10", "target": "build_script_build" }, { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "selects": {} }, "edition": "2021", - "version": "0.7.8" + "version": "0.7.10" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -7513,14 +7071,14 @@ ], "license_file": "LICENSE-APACHE" }, - "ipnet 2.9.0": { + "ipnet 2.11.0": { "name": "ipnet", - "version": "2.9.0", + "version": "2.11.0", "package_url": "https://github.com/krisprice/ipnet", "repository": { "Http": { - "url": "https://static.crates.io/crates/ipnet/2.9.0/download", - "sha256": "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + "url": "https://static.crates.io/crates/ipnet/2.11.0/download", + "sha256": "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" } }, "targets": [ @@ -7550,7 +7108,7 @@ "selects": {} }, "edition": "2018", - "version": "2.9.0" + "version": "2.11.0" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -7606,14 +7164,14 @@ ], "license_file": "LICENSE-APACHE.txt" }, - "is_executable 1.0.4": { + "is_executable 1.0.5": { "name": "is_executable", - "version": "1.0.4", + "version": "1.0.5", "package_url": "https://github.com/fitzgen/is_executable", "repository": { "Http": { - "url": "https://static.crates.io/crates/is_executable/1.0.4/download", - "sha256": "d4a1b5bad6f9072935961dfbf1cced2f3d129963d091b6f69f007fe04e758ae2" + "url": "https://static.crates.io/crates/is_executable/1.0.5/download", + "sha256": "baabb8b4867b26294d818bf3f651a454b6901431711abb96e296245888d6e8c4" } }, "targets": [ @@ -7640,30 +7198,30 @@ "selects": { "cfg(target_os = \"windows\")": [ { - "id": "winapi 0.3.9", - "target": "winapi" + "id": "windows-sys 0.60.2", + "target": "windows_sys" } ] } }, "edition": "2021", - "version": "1.0.4" + "version": "1.0.5" }, - "license": "Apache-2.0/MIT", + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "is_terminal_polyfill 1.70.0": { + "is_terminal_polyfill 1.70.1": { "name": "is_terminal_polyfill", - "version": "1.70.0", + "version": "1.70.1", "package_url": "https://github.com/polyfill-rs/is_terminal_polyfill", "repository": { "Http": { - "url": "https://static.crates.io/crates/is_terminal_polyfill/1.70.0/download", - "sha256": "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + "url": "https://static.crates.io/crates/is_terminal_polyfill/1.70.1/download", + "sha256": "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" } }, "targets": [ @@ -7692,7 +7250,7 @@ "selects": {} }, "edition": "2021", - "version": "1.70.0" + "version": "1.70.1" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -7701,14 +7259,14 @@ ], "license_file": "LICENSE-APACHE" }, - "itoa 1.0.11": { + "itoa 1.0.15": { "name": "itoa", - "version": "1.0.11", + "version": "1.0.15", "package_url": "https://github.com/dtolnay/itoa", "repository": { "Http": { - "url": "https://static.crates.io/crates/itoa/1.0.11/download", - "sha256": "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + "url": "https://static.crates.io/crates/itoa/1.0.15/download", + "sha256": "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" } }, "targets": [ @@ -7731,7 +7289,7 @@ "**" ], "edition": "2018", - "version": "1.0.11" + "version": "1.0.15" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -7740,14 +7298,14 @@ ], "license_file": "LICENSE-APACHE" }, - "jiff 0.2.13": { + "jiff 0.2.15": { "name": "jiff", - "version": "0.2.13", + "version": "0.2.15", "package_url": "https://github.com/BurntSushi/jiff", "repository": { "Http": { - "url": "https://static.crates.io/crates/jiff/0.2.13/download", - "sha256": "f02000660d30638906021176af16b17498bd0d12813dbfe7b276d8bc7f3c0806" + "url": "https://static.crates.io/crates/jiff/0.2.15/download", + "sha256": "be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49" } }, "targets": [ @@ -7781,7 +7339,7 @@ "selects": { "cfg(not(target_has_atomic = \"ptr\"))": [ { - "id": "portable-atomic 1.11.0", + "id": "portable-atomic 1.11.1", "target": "portable_atomic" }, { @@ -7797,13 +7355,13 @@ "selects": { "cfg(any())": [ { - "id": "jiff-static 0.2.13", + "id": "jiff-static 0.2.15", "target": "jiff_static" } ] } }, - "version": "0.2.13" + "version": "0.2.15" }, "license": "Unlicense OR MIT", "license_ids": [ @@ -7812,14 +7370,14 @@ ], "license_file": "LICENSE-MIT" }, - "jiff-static 0.2.13": { + "jiff-static 0.2.15": { "name": "jiff-static", - "version": "0.2.13", + "version": "0.2.15", "package_url": "https://github.com/BurntSushi/jiff", "repository": { "Http": { - "url": "https://static.crates.io/crates/jiff-static/0.2.13/download", - "sha256": "f3c30758ddd7188629c6713fc45d1188af4f44c90582311d0c8d8c9907f60c48" + "url": "https://static.crates.io/crates/jiff-static/0.2.15/download", + "sha256": "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" } }, "targets": [ @@ -7844,22 +7402,22 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "syn 2.0.101", + "id": "syn 2.0.106", "target": "syn" } ], "selects": {} }, "edition": "2021", - "version": "0.2.13" + "version": "0.2.15" }, "license": "Unlicense OR MIT", "license_ids": [ @@ -7868,14 +7426,14 @@ ], "license_file": "LICENSE-MIT" }, - "jobserver 0.1.31": { + "jobserver 0.1.34": { "name": "jobserver", - "version": "0.1.31", + "version": "0.1.34", "package_url": "https://github.com/rust-lang/jobserver-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/jobserver/0.1.31/download", - "sha256": "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" + "url": "https://static.crates.io/crates/jobserver/0.1.34/download", + "sha256": "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" } }, "targets": [ @@ -7902,14 +7460,20 @@ "selects": { "cfg(unix)": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } + ], + "cfg(windows)": [ + { + "id": "getrandom 0.3.3", + "target": "getrandom" + } ] } }, "edition": "2021", - "version": "0.1.31" + "version": "0.1.34" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -7918,14 +7482,14 @@ ], "license_file": "LICENSE-APACHE" }, - "js-sys 0.3.77": { + "js-sys 0.3.81": { "name": "js-sys", - "version": "0.3.77", - "package_url": "https://github.com/rustwasm/wasm-bindgen/tree/master/crates/js-sys", + "version": "0.3.81", + "package_url": "https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/js-sys", "repository": { "Http": { - "url": "https://static.crates.io/crates/js-sys/0.3.77/download", - "sha256": "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" + "url": "https://static.crates.io/crates/js-sys/0.3.81/download", + "sha256": "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305" } }, "targets": [ @@ -7957,18 +7521,18 @@ "deps": { "common": [ { - "id": "once_cell 1.19.0", + "id": "once_cell 1.21.3", "target": "once_cell" }, { - "id": "wasm-bindgen 0.2.100", + "id": "wasm-bindgen 0.2.104", "target": "wasm_bindgen" } ], "selects": {} }, "edition": "2021", - "version": "0.3.77" + "version": "0.3.81" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -7977,14 +7541,14 @@ ], "license_file": "LICENSE-APACHE" }, - "libbz2-rs-sys 0.2.1": { + "libbz2-rs-sys 0.2.2": { "name": "libbz2-rs-sys", - "version": "0.2.1", + "version": "0.2.2", "package_url": "https://github.com/trifectatechfoundation/libbzip2-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/libbz2-rs-sys/0.2.1/download", - "sha256": "775bf80d5878ab7c2b1080b5351a48b2f737d9f6f8b383574eebcc22be0dfccb" + "url": "https://static.crates.io/crates/libbz2-rs-sys/0.2.2/download", + "sha256": "2c4a545a15244c7d945065b5d392b2d2d7f21526fba56ce51467b06ed445e8f7" } }, "targets": [ @@ -8013,7 +7577,7 @@ "selects": {} }, "edition": "2021", - "version": "0.2.1" + "version": "0.2.2" }, "license": "bzip2-1.0.6", "license_ids": [ @@ -8021,14 +7585,14 @@ ], "license_file": "LICENSE" }, - "libc 0.2.174": { + "libc 0.2.176": { "name": "libc", - "version": "0.2.174", + "version": "0.2.176", "package_url": "https://github.com/rust-lang/libc", "repository": { "Http": { - "url": "https://static.crates.io/crates/libc/0.2.174/download", - "sha256": "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" + "url": "https://static.crates.io/crates/libc/0.2.176/download", + "sha256": "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" } }, "targets": [ @@ -8067,76 +7631,27 @@ "default", "std" ], - "selects": { - "aarch64-apple-darwin": [ - "extra_traits" - ], - "aarch64-apple-ios": [ - "extra_traits" - ], - "aarch64-apple-ios-sim": [ - "extra_traits" - ], - "aarch64-linux-android": [ - "extra_traits" - ], - "aarch64-unknown-fuchsia": [ - "extra_traits" - ], - "aarch64-unknown-nto-qnx710": [ - "extra_traits" - ], - "armv7-linux-androideabi": [ - "extra_traits" - ], - "i686-apple-darwin": [ - "extra_traits" - ], - "i686-linux-android": [ - "extra_traits" - ], - "i686-unknown-freebsd": [ - "extra_traits" - ], - "powerpc-unknown-linux-gnu": [ - "extra_traits" - ], - "s390x-unknown-linux-gnu": [ - "extra_traits" - ], - "x86_64-apple-darwin": [ - "extra_traits" - ], - "x86_64-apple-ios": [ - "extra_traits" - ], - "x86_64-linux-android": [ - "extra_traits" - ], - "x86_64-unknown-freebsd": [ - "extra_traits" - ], - "x86_64-unknown-fuchsia": [ - "extra_traits" - ] - } + "selects": {} }, "deps": { "common": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "build_script_build" } ], "selects": {} }, "edition": "2021", - "version": "0.2.174" + "version": "0.2.176" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -8148,14 +7663,14 @@ ], "license_file": "LICENSE-APACHE" }, - "libredox 0.1.3": { + "libredox 0.1.10": { "name": "libredox", - "version": "0.1.3", + "version": "0.1.10", "package_url": "https://gitlab.redox-os.org/redox-os/libredox.git", "repository": { "Http": { - "url": "https://static.crates.io/crates/libredox/0.1.3/download", - "sha256": "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" + "url": "https://static.crates.io/crates/libredox/0.1.10/download", + "sha256": "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" } }, "targets": [ @@ -8180,18 +7695,22 @@ "deps": { "common": [ { - "id": "bitflags 2.5.0", + "id": "bitflags 2.9.4", "target": "bitflags" }, { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" + }, + { + "id": "redox_syscall 0.5.17", + "target": "syscall" } ], "selects": {} }, "edition": "2021", - "version": "0.1.3" + "version": "0.1.10" }, "license": "MIT", "license_ids": [ @@ -8199,14 +7718,14 @@ ], "license_file": "LICENSE" }, - "libz-rs-sys 0.5.1": { + "libz-rs-sys 0.5.2": { "name": "libz-rs-sys", - "version": "0.5.1", + "version": "0.5.2", "package_url": "https://github.com/trifectatechfoundation/zlib-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/libz-rs-sys/0.5.1/download", - "sha256": "172a788537a2221661b480fee8dc5f96c580eb34fa88764d3205dc356c7e4221" + "url": "https://static.crates.io/crates/libz-rs-sys/0.5.2/download", + "sha256": "840db8cf39d9ec4dd794376f38acc40d0fc65eec2a8f484f7fd375b84602becd" } }, "targets": [ @@ -8238,14 +7757,14 @@ "deps": { "common": [ { - "id": "zlib-rs 0.5.1", + "id": "zlib-rs 0.5.2", "target": "zlib_rs" } ], "selects": {} }, "edition": "2021", - "version": "0.5.1" + "version": "0.5.2" }, "license": "Zlib", "license_ids": [ @@ -8253,14 +7772,14 @@ ], "license_file": "LICENSE" }, - "linux-raw-sys 0.4.14": { + "linux-raw-sys 0.11.0": { "name": "linux-raw-sys", - "version": "0.4.14", + "version": "0.11.0", "package_url": "https://github.com/sunfishcode/linux-raw-sys", "repository": { "Http": { - "url": "https://static.crates.io/crates/linux-raw-sys/0.4.14/download", - "sha256": "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + "url": "https://static.crates.io/crates/linux-raw-sys/0.11.0/download", + "sha256": "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" } }, "targets": [ @@ -8284,56 +7803,17 @@ ], "crate_features": { "common": [ + "auxvec", + "elf", + "errno", "general", "ioctl", "no_std" ], - "selects": { - "aarch64-unknown-linux-gnu": [ - "elf", - "errno", - "std" - ], - "aarch64-unknown-nixos-gnu": [ - "elf", - "errno", - "std" - ], - "arm-unknown-linux-gnueabi": [ - "elf", - "errno", - "std" - ], - "armv7-unknown-linux-gnueabi": [ - "elf", - "errno", - "std" - ], - "i686-unknown-linux-gnu": [ - "elf", - "errno", - "std" - ], - "powerpc-unknown-linux-gnu": [ - "std" - ], - "s390x-unknown-linux-gnu": [ - "std" - ], - "x86_64-unknown-linux-gnu": [ - "elf", - "errno", - "std" - ], - "x86_64-unknown-nixos-gnu": [ - "elf", - "errno", - "std" - ] - } + "selects": {} }, "edition": "2021", - "version": "0.4.14" + "version": "0.11.0" }, "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", "license_ids": [ @@ -8342,20 +7822,20 @@ ], "license_file": "LICENSE-APACHE" }, - "linux-raw-sys 0.9.4": { - "name": "linux-raw-sys", - "version": "0.9.4", - "package_url": "https://github.com/sunfishcode/linux-raw-sys", + "litemap 0.8.0": { + "name": "litemap", + "version": "0.8.0", + "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/linux-raw-sys/0.9.4/download", - "sha256": "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" + "url": "https://static.crates.io/crates/litemap/0.8.0/download", + "sha256": "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" } }, "targets": [ { "Library": { - "crate_name": "linux_raw_sys", + "crate_name": "litemap", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -8366,72 +7846,40 @@ } } ], - "library_target_name": "linux_raw_sys", + "library_target_name": "litemap", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "general", - "ioctl", - "no_std" + "alloc" ], - "selects": { - "aarch64-unknown-linux-gnu": [ - "elf", - "errno" - ], - "aarch64-unknown-nixos-gnu": [ - "elf", - "errno" - ], - "arm-unknown-linux-gnueabi": [ - "elf", - "errno" - ], - "armv7-unknown-linux-gnueabi": [ - "elf", - "errno" - ], - "i686-unknown-linux-gnu": [ - "elf", - "errno" - ], - "x86_64-unknown-linux-gnu": [ - "elf", - "errno" - ], - "x86_64-unknown-nixos-gnu": [ - "elf", - "errno" - ] - } + "selects": {} }, "edition": "2021", - "version": "0.9.4" + "version": "0.8.0" }, - "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license": "Unicode-3.0", "license_ids": [ - "Apache-2.0", - "MIT" + "Unicode-3.0" ], - "license_file": "LICENSE-APACHE" + "license_file": "LICENSE" }, - "litemap 0.7.4": { - "name": "litemap", - "version": "0.7.4", - "package_url": "https://github.com/unicode-org/icu4x", + "log 0.4.28": { + "name": "log", + "version": "0.4.28", + "package_url": "https://github.com/rust-lang/log", "repository": { "Http": { - "url": "https://static.crates.io/crates/litemap/0.7.4/download", - "sha256": "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" + "url": "https://static.crates.io/crates/log/0.4.28/download", + "sha256": "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" } }, "targets": [ { "Library": { - "crate_name": "litemap", + "crate_name": "log", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -8442,40 +7890,41 @@ } } ], - "library_target_name": "litemap", + "library_target_name": "log", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "alloc" + "std" ], "selects": {} }, "edition": "2021", - "version": "0.7.4" + "version": "0.4.28" }, - "license": "Unicode-3.0", + "license": "MIT OR Apache-2.0", "license_ids": [ - "Unicode-3.0" + "Apache-2.0", + "MIT" ], - "license_file": "LICENSE" + "license_file": "LICENSE-APACHE" }, - "log 0.4.27": { - "name": "log", - "version": "0.4.27", - "package_url": "https://github.com/rust-lang/log", + "lru-slab 0.1.2": { + "name": "lru-slab", + "version": "0.1.2", + "package_url": "https://github.com/Ralith/lru-slab", "repository": { "Http": { - "url": "https://static.crates.io/crates/log/0.4.27/download", - "sha256": "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + "url": "https://static.crates.io/crates/lru-slab/0.1.2/download", + "sha256": "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" } }, "targets": [ { "Library": { - "crate_name": "log", + "crate_name": "lru_slab", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -8486,24 +7935,19 @@ } } ], - "library_target_name": "log", + "library_target_name": "lru_slab", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "std" - ], - "selects": {} - }, "edition": "2021", - "version": "0.4.27" + "version": "0.1.2" }, - "license": "MIT OR Apache-2.0", + "license": "MIT OR Apache-2.0 OR Zlib", "license_ids": [ "Apache-2.0", - "MIT" + "MIT", + "Zlib" ], "license_file": "LICENSE-APACHE" }, @@ -8610,7 +8054,7 @@ "deps": { "common": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" }, { @@ -8627,17 +8071,20 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ], "deps": { "common": [ { - "id": "cc 1.1.30", + "id": "cc 1.2.39", "target": "cc" }, { - "id": "pkg-config 0.3.30", + "id": "pkg-config 0.3.32", "target": "pkg_config" } ], @@ -8691,7 +8138,7 @@ "deps": { "common": [ { - "id": "cfg-if 1.0.0", + "id": "cfg-if 1.0.3", "target": "cfg_if" }, { @@ -8711,14 +8158,14 @@ ], "license_file": "LICENSE-APACHE" }, - "memchr 2.7.4": { + "memchr 2.7.6": { "name": "memchr", - "version": "2.7.4", + "version": "2.7.6", "package_url": "https://github.com/BurntSushi/memchr", "repository": { "Http": { - "url": "https://static.crates.io/crates/memchr/2.7.4/download", - "sha256": "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + "url": "https://static.crates.io/crates/memchr/2.7.6/download", + "sha256": "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" } }, "targets": [ @@ -8749,7 +8196,7 @@ "selects": {} }, "edition": "2021", - "version": "2.7.4" + "version": "2.7.6" }, "license": "Unlicense OR MIT", "license_ids": [ @@ -8758,63 +8205,14 @@ ], "license_file": "LICENSE-MIT" }, - "miniz_oxide 0.7.2": { - "name": "miniz_oxide", - "version": "0.7.2", - "package_url": "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/miniz_oxide/0.7.2/download", - "sha256": "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" - } - }, - "targets": [ - { - "Library": { - "crate_name": "miniz_oxide", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "miniz_oxide", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "adler 1.0.2", - "target": "adler" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.7.2" - }, - "license": "MIT OR Zlib OR Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT", - "Zlib" - ], - "license_file": "LICENSE" - }, - "miniz_oxide 0.8.5": { + "miniz_oxide 0.8.9": { "name": "miniz_oxide", - "version": "0.8.5", + "version": "0.8.9", "package_url": "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide", "repository": { "Http": { - "url": "https://static.crates.io/crates/miniz_oxide/0.8.5/download", - "sha256": "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" + "url": "https://static.crates.io/crates/miniz_oxide/0.8.9/download", + "sha256": "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" } }, "targets": [ @@ -8845,14 +8243,14 @@ "deps": { "common": [ { - "id": "adler2 2.0.0", + "id": "adler2 2.0.1", "target": "adler2" } ], "selects": {} }, "edition": "2021", - "version": "0.8.5" + "version": "0.8.9" }, "license": "MIT OR Zlib OR Apache-2.0", "license_ids": [ @@ -8862,14 +8260,14 @@ ], "license_file": "LICENSE" }, - "mio 1.0.2": { + "mio 1.0.4": { "name": "mio", - "version": "1.0.2", + "version": "1.0.4", "package_url": "https://github.com/tokio-rs/mio", "repository": { "Http": { - "url": "https://static.crates.io/crates/mio/1.0.2/download", - "sha256": "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" + "url": "https://static.crates.io/crates/mio/1.0.4/download", + "sha256": "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" } }, "targets": [ @@ -8904,37 +8302,36 @@ "selects": { "cfg(target_os = \"hermit\")": [ { - "id": "hermit-abi 0.3.9", - "target": "hermit_abi", - "alias": "libc" + "id": "libc 0.2.176", + "target": "libc" } ], "cfg(target_os = \"wasi\")": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" }, { - "id": "wasi 0.11.0+wasi-snapshot-preview1", + "id": "wasi 0.11.1+wasi-snapshot-preview1", "target": "wasi" } ], "cfg(unix)": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(windows)": [ { - "id": "windows-sys 0.52.0", + "id": "windows-sys 0.59.0", "target": "windows_sys" } ] } }, "edition": "2021", - "version": "1.0.2" + "version": "1.0.4" }, "license": "MIT", "license_ids": [ @@ -8981,7 +8378,7 @@ "deps": { "common": [ { - "id": "time 0.3.36", + "id": "time 0.3.44", "target": "time" } ], @@ -9093,13 +8490,16 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ], "deps": { "common": [ { - "id": "autocfg 1.3.0", + "id": "autocfg 1.5.0", "target": "autocfg" } ], @@ -9113,14 +8513,14 @@ ], "license_file": "LICENSE-APACHE" }, - "object 0.32.2": { + "object 0.37.3": { "name": "object", - "version": "0.32.2", + "version": "0.37.3", "package_url": "https://github.com/gimli-rs/object", "repository": { "Http": { - "url": "https://static.crates.io/crates/object/0.32.2/download", - "sha256": "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" + "url": "https://static.crates.io/crates/object/0.37.3/download", + "sha256": "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" } }, "targets": [ @@ -9135,6 +8535,18 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], "library_target_name": "object", @@ -9158,14 +8570,29 @@ "deps": { "common": [ { - "id": "memchr 2.7.4", + "id": "memchr 2.7.6", "target": "memchr" + }, + { + "id": "object 0.37.3", + "target": "build_script_build" } ], "selects": {} }, "edition": "2018", - "version": "0.32.2" + "version": "0.37.3" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] }, "license": "Apache-2.0 OR MIT", "license_ids": [ @@ -9174,14 +8601,14 @@ ], "license_file": "LICENSE-APACHE" }, - "once_cell 1.19.0": { + "once_cell 1.21.3": { "name": "once_cell", - "version": "1.19.0", + "version": "1.21.3", "package_url": "https://github.com/matklad/once_cell", "repository": { "Http": { - "url": "https://static.crates.io/crates/once_cell/1.19.0/download", - "sha256": "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + "url": "https://static.crates.io/crates/once_cell/1.21.3/download", + "sha256": "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" } }, "targets": [ @@ -9213,103 +8640,22 @@ "aarch64-apple-darwin": [ "default" ], - "aarch64-apple-ios": [ - "default" - ], - "aarch64-apple-ios-sim": [ - "default" - ], - "aarch64-linux-android": [ - "default" - ], - "aarch64-pc-windows-msvc": [ - "default" - ], - "aarch64-unknown-fuchsia": [ - "default" - ], "aarch64-unknown-linux-gnu": [ "default" ], - "aarch64-unknown-nixos-gnu": [ - "default" - ], - "aarch64-unknown-nto-qnx710": [ - "default" - ], - "arm-unknown-linux-gnueabi": [ - "default" - ], - "armv7-linux-androideabi": [ - "default" - ], - "armv7-unknown-linux-gnueabi": [ - "default" - ], - "i686-apple-darwin": [ - "default" - ], - "i686-linux-android": [ - "default" - ], - "i686-pc-windows-msvc": [ - "default" - ], - "i686-unknown-freebsd": [ - "default" - ], - "i686-unknown-linux-gnu": [ - "default" - ], - "powerpc-unknown-linux-gnu": [ - "default" - ], - "riscv32imc-unknown-none-elf": [ - "default" - ], - "riscv64gc-unknown-none-elf": [ - "default" - ], - "s390x-unknown-linux-gnu": [ - "default" - ], - "thumbv7em-none-eabi": [ - "default" - ], - "thumbv8m.main-none-eabi": [ - "default" - ], - "x86_64-apple-darwin": [ - "default" - ], - "x86_64-apple-ios": [ - "default" - ], - "x86_64-linux-android": [ - "default" - ], "x86_64-pc-windows-msvc": [ "default" ], - "x86_64-unknown-freebsd": [ - "default" - ], - "x86_64-unknown-fuchsia": [ - "default" - ], "x86_64-unknown-linux-gnu": [ "default" ], "x86_64-unknown-nixos-gnu": [ "default" - ], - "x86_64-unknown-none": [ - "default" ] } }, "edition": "2021", - "version": "1.19.0" + "version": "1.21.3" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -9318,20 +8664,20 @@ ], "license_file": "LICENSE-APACHE" }, - "option-ext 0.2.0": { - "name": "option-ext", - "version": "0.2.0", - "package_url": "https://github.com/soc/option-ext.git", + "once_cell_polyfill 1.70.1": { + "name": "once_cell_polyfill", + "version": "1.70.1", + "package_url": "https://github.com/polyfill-rs/once_cell_polyfill", "repository": { "Http": { - "url": "https://static.crates.io/crates/option-ext/0.2.0/download", - "sha256": "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + "url": "https://static.crates.io/crates/once_cell_polyfill/1.70.1/download", + "sha256": "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" } }, "targets": [ { "Library": { - "crate_name": "option_ext", + "crate_name": "once_cell_polyfill", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -9342,28 +8688,73 @@ } } ], - "library_target_name": "option_ext", + "library_target_name": "once_cell_polyfill", "common_attrs": { "compile_data_glob": [ "**" ], - "edition": "2015", - "version": "0.2.0" + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, + "edition": "2021", + "version": "1.70.1" }, - "license": "MPL-2.0", + "license": "MIT OR Apache-2.0", "license_ids": [ - "MPL-2.0" + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "option-ext 0.2.0": { + "name": "option-ext", + "version": "0.2.0", + "package_url": "https://github.com/soc/option-ext.git", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/option-ext/0.2.0/download", + "sha256": "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + } + }, + "targets": [ + { + "Library": { + "crate_name": "option_ext", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "option_ext", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2015", + "version": "0.2.0" + }, + "license": "MPL-2.0", + "license_ids": [ + "MPL-2.0" ], "license_file": "LICENSE.txt" }, - "pem 3.0.4": { + "pem 3.0.5": { "name": "pem", - "version": "3.0.4", + "version": "3.0.5", "package_url": "https://github.com/jcreekmore/pem-rs.git", "repository": { "Http": { - "url": "https://static.crates.io/crates/pem/3.0.4/download", - "sha256": "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" + "url": "https://static.crates.io/crates/pem/3.0.5/download", + "sha256": "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" } }, "targets": [ @@ -9402,7 +8793,7 @@ "selects": {} }, "edition": "2021", - "version": "3.0.4" + "version": "3.0.5" }, "license": "MIT", "license_ids": [ @@ -9410,14 +8801,14 @@ ], "license_file": "LICENSE.md" }, - "percent-encoding 2.3.1": { + "percent-encoding 2.3.2": { "name": "percent-encoding", - "version": "2.3.1", + "version": "2.3.2", "package_url": "https://github.com/servo/rust-url/", "repository": { "Http": { - "url": "https://static.crates.io/crates/percent-encoding/2.3.1/download", - "sha256": "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + "url": "https://static.crates.io/crates/percent-encoding/2.3.2/download", + "sha256": "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" } }, "targets": [ @@ -9448,103 +8839,22 @@ "aarch64-apple-darwin": [ "default" ], - "aarch64-apple-ios": [ - "default" - ], - "aarch64-apple-ios-sim": [ - "default" - ], - "aarch64-linux-android": [ - "default" - ], - "aarch64-pc-windows-msvc": [ - "default" - ], - "aarch64-unknown-fuchsia": [ - "default" - ], "aarch64-unknown-linux-gnu": [ "default" ], - "aarch64-unknown-nixos-gnu": [ - "default" - ], - "aarch64-unknown-nto-qnx710": [ - "default" - ], - "arm-unknown-linux-gnueabi": [ - "default" - ], - "armv7-linux-androideabi": [ - "default" - ], - "armv7-unknown-linux-gnueabi": [ - "default" - ], - "i686-apple-darwin": [ - "default" - ], - "i686-linux-android": [ - "default" - ], - "i686-pc-windows-msvc": [ - "default" - ], - "i686-unknown-freebsd": [ - "default" - ], - "i686-unknown-linux-gnu": [ - "default" - ], - "powerpc-unknown-linux-gnu": [ - "default" - ], - "riscv32imc-unknown-none-elf": [ - "default" - ], - "riscv64gc-unknown-none-elf": [ - "default" - ], - "s390x-unknown-linux-gnu": [ - "default" - ], - "thumbv7em-none-eabi": [ - "default" - ], - "thumbv8m.main-none-eabi": [ - "default" - ], - "x86_64-apple-darwin": [ - "default" - ], - "x86_64-apple-ios": [ - "default" - ], - "x86_64-linux-android": [ - "default" - ], "x86_64-pc-windows-msvc": [ "default" ], - "x86_64-unknown-freebsd": [ - "default" - ], - "x86_64-unknown-fuchsia": [ - "default" - ], "x86_64-unknown-linux-gnu": [ "default" ], "x86_64-unknown-nixos-gnu": [ "default" - ], - "x86_64-unknown-none": [ - "default" ] } }, "edition": "2018", - "version": "2.3.1" + "version": "2.3.2" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -9553,14 +8863,14 @@ ], "license_file": "LICENSE-APACHE" }, - "pin-project-lite 0.2.14": { + "pin-project-lite 0.2.16": { "name": "pin-project-lite", - "version": "0.2.14", + "version": "0.2.16", "package_url": "https://github.com/taiki-e/pin-project-lite", "repository": { "Http": { - "url": "https://static.crates.io/crates/pin-project-lite/0.2.14/download", - "sha256": "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + "url": "https://static.crates.io/crates/pin-project-lite/0.2.16/download", + "sha256": "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" } }, "targets": [ @@ -9583,7 +8893,7 @@ "**" ], "edition": "2018", - "version": "0.2.14" + "version": "0.2.16" }, "license": "Apache-2.0 OR MIT", "license_ids": [ @@ -9631,14 +8941,14 @@ ], "license_file": "LICENSE-APACHE" }, - "pkg-config 0.3.30": { + "pkg-config 0.3.32": { "name": "pkg-config", - "version": "0.3.30", + "version": "0.3.32", "package_url": "https://github.com/rust-lang/pkg-config-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/pkg-config/0.3.30/download", - "sha256": "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + "url": "https://static.crates.io/crates/pkg-config/0.3.32/download", + "sha256": "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" } }, "targets": [ @@ -9660,8 +8970,8 @@ "compile_data_glob": [ "**" ], - "edition": "2015", - "version": "0.3.30" + "edition": "2018", + "version": "0.3.32" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -9670,14 +8980,14 @@ ], "license_file": "LICENSE-APACHE" }, - "portable-atomic 1.11.0": { + "portable-atomic 1.11.1": { "name": "portable-atomic", - "version": "1.11.0", + "version": "1.11.1", "package_url": "https://github.com/taiki-e/portable-atomic", "repository": { "Http": { - "url": "https://static.crates.io/crates/portable-atomic/1.11.0/download", - "sha256": "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" + "url": "https://static.crates.io/crates/portable-atomic/1.11.1/download", + "sha256": "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" } }, "targets": [ @@ -9711,28 +9021,25 @@ "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "require-cas" - ], - "selects": {} - }, "deps": { "common": [ { - "id": "portable-atomic 1.11.0", + "id": "portable-atomic 1.11.1", "target": "build_script_build" } ], "selects": {} }, "edition": "2018", - "version": "1.11.0" + "version": "1.11.1" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -9785,16 +9092,10 @@ "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "alloc" - ], - "selects": {} - }, "deps": { "common": [ { - "id": "portable-atomic 1.11.0", + "id": "portable-atomic 1.11.1", "target": "portable_atomic" }, { @@ -9811,6 +9112,9 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -9822,6 +9126,59 @@ ], "license_file": "LICENSE-APACHE" }, + "potential_utf 0.1.3": { + "name": "potential_utf", + "version": "0.1.3", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/potential_utf/0.1.3/download", + "sha256": "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" + } + }, + "targets": [ + { + "Library": { + "crate_name": "potential_utf", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "potential_utf", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "zerovec" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "zerovec 0.11.4", + "target": "zerovec" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.1.3" + }, + "license": "Unicode-3.0", + "license_ids": [ + "Unicode-3.0" + ], + "license_file": "LICENSE" + }, "powerfmt 0.2.0": { "name": "powerfmt", "version": "0.2.0", @@ -9861,14 +9218,14 @@ ], "license_file": "LICENSE-Apache" }, - "ppv-lite86 0.2.17": { + "ppv-lite86 0.2.21": { "name": "ppv-lite86", - "version": "0.2.17", + "version": "0.2.21", "package_url": "https://github.com/cryptocorrosion/cryptocorrosion", "repository": { "Http": { - "url": "https://static.crates.io/crates/ppv-lite86/0.2.17/download", - "sha256": "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + "url": "https://static.crates.io/crates/ppv-lite86/0.2.21/download", + "sha256": "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" } }, "targets": [ @@ -9897,24 +9254,33 @@ ], "selects": {} }, - "edition": "2018", - "version": "0.2.17" + "deps": { + "common": [ + { + "id": "zerocopy 0.8.27", + "target": "zerocopy" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.2.21" }, - "license": "MIT/Apache-2.0", + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "predicates 3.1.0": { + "predicates 3.1.3": { "name": "predicates", - "version": "3.1.0", + "version": "3.1.3", "package_url": "https://github.com/assert-rs/predicates-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/predicates/3.1.0/download", - "sha256": "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8" + "url": "https://static.crates.io/crates/predicates/3.1.3/download", + "sha256": "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573" } }, "targets": [ @@ -9945,7 +9311,7 @@ "deps": { "common": [ { - "id": "anstyle 1.0.8", + "id": "anstyle 1.0.13", "target": "anstyle" }, { @@ -9953,14 +9319,14 @@ "target": "difflib" }, { - "id": "predicates-core 1.0.6", + "id": "predicates-core 1.0.9", "target": "predicates_core" } ], "selects": {} }, "edition": "2021", - "version": "3.1.0" + "version": "3.1.3" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -9969,14 +9335,14 @@ ], "license_file": "LICENSE-APACHE" }, - "predicates-core 1.0.6": { + "predicates-core 1.0.9": { "name": "predicates-core", - "version": "1.0.6", + "version": "1.0.9", "package_url": "https://github.com/assert-rs/predicates-rs/tree/master/crates/core", "repository": { "Http": { - "url": "https://static.crates.io/crates/predicates-core/1.0.6/download", - "sha256": "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" + "url": "https://static.crates.io/crates/predicates-core/1.0.9/download", + "sha256": "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" } }, "targets": [ @@ -9999,7 +9365,7 @@ "**" ], "edition": "2021", - "version": "1.0.6" + "version": "1.0.9" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -10008,14 +9374,14 @@ ], "license_file": "LICENSE-APACHE" }, - "predicates-tree 1.0.9": { + "predicates-tree 1.0.12": { "name": "predicates-tree", - "version": "1.0.9", + "version": "1.0.12", "package_url": "https://github.com/assert-rs/predicates-rs/tree/master/crates/tree", "repository": { "Http": { - "url": "https://static.crates.io/crates/predicates-tree/1.0.9/download", - "sha256": "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" + "url": "https://static.crates.io/crates/predicates-tree/1.0.12/download", + "sha256": "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" } }, "targets": [ @@ -10040,18 +9406,18 @@ "deps": { "common": [ { - "id": "predicates-core 1.0.6", + "id": "predicates-core 1.0.9", "target": "predicates_core" }, { - "id": "termtree 0.4.1", + "id": "termtree 0.5.1", "target": "termtree" } ], "selects": {} }, "edition": "2021", - "version": "1.0.9" + "version": "1.0.12" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -10060,14 +9426,14 @@ ], "license_file": "LICENSE-APACHE" }, - "proc-macro2 1.0.95": { + "proc-macro2 1.0.101": { "name": "proc-macro2", - "version": "1.0.95", + "version": "1.0.101", "package_url": "https://github.com/dtolnay/proc-macro2", "repository": { "Http": { - "url": "https://static.crates.io/crates/proc-macro2/1.0.95/download", - "sha256": "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" + "url": "https://static.crates.io/crates/proc-macro2/1.0.101/download", + "sha256": "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" } }, "targets": [ @@ -10111,23 +9477,26 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "build_script_build" }, { - "id": "unicode-ident 1.0.13", + "id": "unicode-ident 1.0.19", "target": "unicode_ident" } ], "selects": {} }, "edition": "2021", - "version": "1.0.95" + "version": "1.0.101" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -10139,14 +9508,14 @@ ], "license_file": "LICENSE-APACHE" }, - "quinn 0.11.3": { + "quinn 0.11.9": { "name": "quinn", - "version": "0.11.3", + "version": "0.11.9", "package_url": "https://github.com/quinn-rs/quinn", "repository": { "Http": { - "url": "https://static.crates.io/crates/quinn/0.11.3/download", - "sha256": "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156" + "url": "https://static.crates.io/crates/quinn/0.11.9/download", + "sha256": "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" } }, "targets": [ @@ -10161,6 +9530,18 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], "library_target_name": "quinn", @@ -10171,33 +9552,33 @@ "deps": { "common": [ { - "id": "bytes 1.9.0", + "id": "bytes 1.10.1", "target": "bytes" }, { - "id": "pin-project-lite 0.2.14", + "id": "pin-project-lite 0.2.16", "target": "pin_project_lite" }, { - "id": "quinn-proto 0.11.6", + "id": "quinn 0.11.9", + "target": "build_script_build" + }, + { + "id": "quinn-proto 0.11.13", "target": "quinn_proto", "alias": "proto" }, { - "id": "quinn-udp 0.5.4", + "id": "quinn-udp 0.5.14", "target": "quinn_udp", "alias": "udp" }, { - "id": "rustc-hash 2.0.0", + "id": "rustc-hash 2.1.1", "target": "rustc_hash" }, { - "id": "socket2 0.5.10", - "target": "socket2" - }, - { - "id": "thiserror 1.0.69", + "id": "thiserror 2.0.17", "target": "thiserror" }, { @@ -10205,14 +9586,47 @@ "target": "tokio" }, { - "id": "tracing 0.1.40", + "id": "tracing 0.1.41", "target": "tracing" } ], - "selects": {} + "selects": { + "cfg(all(target_family = \"wasm\", target_os = \"unknown\"))": [ + { + "id": "web-time 1.1.0", + "target": "web_time" + } + ], + "cfg(not(all(target_family = \"wasm\", target_os = \"unknown\")))": [ + { + "id": "socket2 0.6.0", + "target": "socket2" + } + ] + } }, "edition": "2021", - "version": "0.11.3" + "version": "0.11.9" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "cfg_aliases 0.2.1", + "target": "cfg_aliases" + } + ], + "selects": {} + } }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -10221,14 +9635,14 @@ ], "license_file": "LICENSE-APACHE" }, - "quinn-proto 0.11.6": { + "quinn-proto 0.11.13": { "name": "quinn-proto", - "version": "0.11.6", + "version": "0.11.13", "package_url": "https://github.com/quinn-rs/quinn", "repository": { "Http": { - "url": "https://static.crates.io/crates/quinn-proto/0.11.6/download", - "sha256": "ba92fb39ec7ad06ca2582c0ca834dfeadcaf06ddfc8e635c80aa7e1c05315fdd" + "url": "https://static.crates.io/crates/quinn-proto/0.11.13/download", + "sha256": "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" } }, "targets": [ @@ -10253,38 +9667,61 @@ "deps": { "common": [ { - "id": "bytes 1.9.0", + "id": "bytes 1.10.1", "target": "bytes" }, { - "id": "rand 0.8.5", + "id": "lru-slab 0.1.2", + "target": "lru_slab" + }, + { + "id": "rand 0.9.2", "target": "rand" }, { - "id": "rustc-hash 2.0.0", + "id": "rustc-hash 2.1.1", "target": "rustc_hash" }, { - "id": "slab 0.4.9", + "id": "slab 0.4.11", "target": "slab" }, { - "id": "thiserror 1.0.69", + "id": "thiserror 2.0.17", "target": "thiserror" }, { - "id": "tinyvec 1.6.0", + "id": "tinyvec 1.10.0", "target": "tinyvec" }, { - "id": "tracing 0.1.40", + "id": "tracing 0.1.41", "target": "tracing" } ], - "selects": {} + "selects": { + "cfg(all(target_family = \"wasm\", target_os = \"unknown\"))": [ + { + "id": "getrandom 0.3.3", + "target": "getrandom" + }, + { + "id": "ring 0.17.14", + "target": "ring" + }, + { + "id": "rustls-pki-types 1.12.0", + "target": "rustls_pki_types" + }, + { + "id": "web-time 1.1.0", + "target": "web_time" + } + ] + } }, "edition": "2021", - "version": "0.11.6" + "version": "0.11.13" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -10293,14 +9730,14 @@ ], "license_file": "LICENSE-APACHE" }, - "quinn-udp 0.5.4": { + "quinn-udp 0.5.14": { "name": "quinn-udp", - "version": "0.5.4", + "version": "0.5.14", "package_url": "https://github.com/quinn-rs/quinn", "repository": { "Http": { - "url": "https://static.crates.io/crates/quinn-udp/0.5.4/download", - "sha256": "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" + "url": "https://static.crates.io/crates/quinn-udp/0.5.14/download", + "sha256": "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" } }, "targets": [ @@ -10315,6 +9752,18 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], "library_target_name": "quinn_udp", @@ -10325,29 +9774,55 @@ "deps": { "common": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" }, { - "id": "socket2 0.5.10", - "target": "socket2" + "id": "quinn-udp 0.5.14", + "target": "build_script_build" } ], "selects": { + "cfg(not(all(target_family = \"wasm\", target_os = \"unknown\")))": [ + { + "id": "socket2 0.6.0", + "target": "socket2" + } + ], "cfg(windows)": [ { - "id": "once_cell 1.19.0", + "id": "once_cell 1.21.3", "target": "once_cell" }, { - "id": "windows-sys 0.52.0", + "id": "windows-sys 0.60.2", "target": "windows_sys" } ] } }, "edition": "2021", - "version": "0.5.4" + "version": "0.5.14" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "cfg_aliases 0.2.1", + "target": "cfg_aliases" + } + ], + "selects": {} + } }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -10356,14 +9831,14 @@ ], "license_file": "LICENSE-APACHE" }, - "quote 1.0.40": { + "quote 1.0.41": { "name": "quote", - "version": "1.0.40", + "version": "1.0.41", "package_url": "https://github.com/dtolnay/quote", "repository": { "Http": { - "url": "https://static.crates.io/crates/quote/1.0.40/download", - "sha256": "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" + "url": "https://static.crates.io/crates/quote/1.0.41/download", + "sha256": "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1" } }, "targets": [ @@ -10378,6 +9853,18 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], "library_target_name": "quote", @@ -10395,14 +9882,29 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" + }, + { + "id": "quote 1.0.41", + "target": "build_script_build" } ], "selects": {} }, "edition": "2018", - "version": "1.0.40" + "version": "1.0.41" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -10411,6 +9913,46 @@ ], "license_file": "LICENSE-APACHE" }, + "r-efi 5.3.0": { + "name": "r-efi", + "version": "5.3.0", + "package_url": "https://github.com/r-efi/r-efi", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/r-efi/5.3.0/download", + "sha256": "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + } + }, + "targets": [ + { + "Library": { + "crate_name": "r_efi", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "r_efi", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "5.3.0" + }, + "license": "MIT OR Apache-2.0 OR LGPL-2.1-or-later", + "license_ids": [ + "Apache-2.0", + "LGPL-2.1", + "MIT" + ], + "license_file": null + }, "rand 0.8.5": { "name": "rand", "version": "0.8.5", @@ -10466,145 +10008,25 @@ "selects": { "aarch64-apple-darwin": [ { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-apple-ios": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-apple-ios-sim": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-linux-android": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-unknown-fuchsia": [ - { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "aarch64-unknown-linux-gnu": [ { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-unknown-nixos-gnu": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-unknown-nto-qnx710": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "arm-unknown-linux-gnueabi": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "armv7-linux-androideabi": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "armv7-unknown-linux-gnueabi": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "i686-apple-darwin": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "i686-linux-android": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "i686-unknown-freebsd": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "i686-unknown-linux-gnu": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "powerpc-unknown-linux-gnu": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "s390x-unknown-linux-gnu": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-apple-darwin": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-apple-ios": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-linux-android": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-unknown-freebsd": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-unknown-fuchsia": [ - { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "x86_64-unknown-linux-gnu": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "x86_64-unknown-nixos-gnu": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ] @@ -10620,20 +10042,20 @@ ], "license_file": "LICENSE-APACHE" }, - "rand_chacha 0.3.1": { - "name": "rand_chacha", - "version": "0.3.1", + "rand 0.9.2": { + "name": "rand", + "version": "0.9.2", "package_url": "https://github.com/rust-random/rand", "repository": { "Http": { - "url": "https://static.crates.io/crates/rand_chacha/0.3.1/download", - "sha256": "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" + "url": "https://static.crates.io/crates/rand/0.9.2/download", + "sha256": "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" } }, "targets": [ { "Library": { - "crate_name": "rand_chacha", + "crate_name": "rand", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -10644,32 +10066,22 @@ } } ], - "library_target_name": "rand_chacha", + "library_target_name": "rand", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "std" - ], - "selects": {} - }, "deps": { "common": [ { - "id": "ppv-lite86 0.2.17", - "target": "ppv_lite86" - }, - { - "id": "rand_core 0.6.4", + "id": "rand_core 0.9.3", "target": "rand_core" } ], "selects": {} }, - "edition": "2018", - "version": "0.3.1" + "edition": "2021", + "version": "0.9.2" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -10678,20 +10090,20 @@ ], "license_file": "LICENSE-APACHE" }, - "rand_core 0.6.4": { - "name": "rand_core", - "version": "0.6.4", + "rand_chacha 0.3.1": { + "name": "rand_chacha", + "version": "0.3.1", "package_url": "https://github.com/rust-random/rand", "repository": { "Http": { - "url": "https://static.crates.io/crates/rand_core/0.6.4/download", - "sha256": "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" + "url": "https://static.crates.io/crates/rand_chacha/0.3.1/download", + "sha256": "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" } }, "targets": [ { "Library": { - "crate_name": "rand_core", + "crate_name": "rand_chacha", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -10702,15 +10114,13 @@ } } ], - "library_target_name": "rand_core", + "library_target_name": "rand_chacha", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "alloc", - "getrandom", "std" ], "selects": {} @@ -10718,14 +10128,18 @@ "deps": { "common": [ { - "id": "getrandom 0.2.15", - "target": "getrandom" + "id": "ppv-lite86 0.2.21", + "target": "ppv_lite86" + }, + { + "id": "rand_core 0.6.4", + "target": "rand_core" } ], "selects": {} }, "edition": "2018", - "version": "0.6.4" + "version": "0.3.1" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -10734,20 +10148,20 @@ ], "license_file": "LICENSE-APACHE" }, - "redox_syscall 0.4.1": { - "name": "redox_syscall", - "version": "0.4.1", - "package_url": "https://gitlab.redox-os.org/redox-os/syscall", + "rand_chacha 0.9.0": { + "name": "rand_chacha", + "version": "0.9.0", + "package_url": "https://github.com/rust-random/rand", "repository": { "Http": { - "url": "https://static.crates.io/crates/redox_syscall/0.4.1/download", - "sha256": "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" + "url": "https://static.crates.io/crates/rand_chacha/0.9.0/download", + "sha256": "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" } }, "targets": [ { "Library": { - "crate_name": "syscall", + "crate_name": "rand_chacha", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -10758,7 +10172,7 @@ } } ], - "library_target_name": "syscall", + "library_target_name": "rand_chacha", "common_attrs": { "compile_data_glob": [ "**" @@ -10766,35 +10180,40 @@ "deps": { "common": [ { - "id": "bitflags 1.3.2", - "target": "bitflags" + "id": "ppv-lite86 0.2.21", + "target": "ppv_lite86" + }, + { + "id": "rand_core 0.9.3", + "target": "rand_core" } ], "selects": {} }, - "edition": "2018", - "version": "0.4.1" + "edition": "2021", + "version": "0.9.0" }, - "license": "MIT", + "license": "MIT OR Apache-2.0", "license_ids": [ + "Apache-2.0", "MIT" ], - "license_file": "LICENSE" + "license_file": "LICENSE-APACHE" }, - "redox_users 0.5.0": { - "name": "redox_users", - "version": "0.5.0", - "package_url": "https://gitlab.redox-os.org/redox-os/users", + "rand_core 0.6.4": { + "name": "rand_core", + "version": "0.6.4", + "package_url": "https://github.com/rust-random/rand", "repository": { "Http": { - "url": "https://static.crates.io/crates/redox_users/0.5.0/download", - "sha256": "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" + "url": "https://static.crates.io/crates/rand_core/0.6.4/download", + "sha256": "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" } }, "targets": [ { "Library": { - "crate_name": "redox_users", + "crate_name": "rand_core", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -10805,30 +10224,172 @@ } } ], - "library_target_name": "redox_users", + "library_target_name": "rand_core", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "alloc", + "getrandom", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "getrandom 0.2.15", + "id": "getrandom 0.2.16", "target": "getrandom" - }, - { - "id": "libredox 0.1.3", - "target": "libredox" - }, - { - "id": "thiserror 2.0.6", - "target": "thiserror" } ], "selects": {} }, - "edition": "2021", - "version": "0.5.0" + "edition": "2018", + "version": "0.6.4" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "rand_core 0.9.3": { + "name": "rand_core", + "version": "0.9.3", + "package_url": "https://github.com/rust-random/rand", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/rand_core/0.9.3/download", + "sha256": "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" + } + }, + "targets": [ + { + "Library": { + "crate_name": "rand_core", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "rand_core", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2021", + "version": "0.9.3" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "redox_syscall 0.5.17": { + "name": "redox_syscall", + "version": "0.5.17", + "package_url": "https://gitlab.redox-os.org/redox-os/syscall", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/redox_syscall/0.5.17/download", + "sha256": "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" + } + }, + "targets": [ + { + "Library": { + "crate_name": "syscall", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "syscall", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "bitflags 2.9.4", + "target": "bitflags" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.5.17" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "redox_users 0.5.2": { + "name": "redox_users", + "version": "0.5.2", + "package_url": "https://gitlab.redox-os.org/redox-os/users", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/redox_users/0.5.2/download", + "sha256": "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" + } + }, + "targets": [ + { + "Library": { + "crate_name": "redox_users", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "redox_users", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "getrandom 0.2.16", + "target": "getrandom" + }, + { + "id": "libredox 0.1.10", + "target": "libredox" + }, + { + "id": "thiserror 2.0.17", + "target": "thiserror" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.5.2" }, "license": "MIT", "license_ids": [ @@ -10836,14 +10397,14 @@ ], "license_file": "LICENSE" }, - "regex 1.11.1": { + "regex 1.11.3": { "name": "regex", - "version": "1.11.1", + "version": "1.11.3", "package_url": "https://github.com/rust-lang/regex", "repository": { "Http": { - "url": "https://static.crates.io/crates/regex/1.11.1/download", - "sha256": "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" + "url": "https://static.crates.io/crates/regex/1.11.3/download", + "sha256": "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c" } }, "targets": [ @@ -10894,22 +10455,22 @@ "target": "aho_corasick" }, { - "id": "memchr 2.7.4", + "id": "memchr 2.7.6", "target": "memchr" }, { - "id": "regex-automata 0.4.8", + "id": "regex-automata 0.4.11", "target": "regex_automata" }, { - "id": "regex-syntax 0.8.5", + "id": "regex-syntax 0.8.6", "target": "regex_syntax" } ], "selects": {} }, "edition": "2021", - "version": "1.11.1" + "version": "1.11.3" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -10918,14 +10479,14 @@ ], "license_file": "LICENSE-APACHE" }, - "regex-automata 0.4.8": { + "regex-automata 0.4.11": { "name": "regex-automata", - "version": "0.4.8", - "package_url": "https://github.com/rust-lang/regex/tree/master/regex-automata", + "version": "0.4.11", + "package_url": "https://github.com/rust-lang/regex", "repository": { "Http": { - "url": "https://static.crates.io/crates/regex-automata/0.4.8/download", - "sha256": "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" + "url": "https://static.crates.io/crates/regex-automata/0.4.11/download", + "sha256": "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad" } }, "targets": [ @@ -10982,18 +10543,18 @@ "target": "aho_corasick" }, { - "id": "memchr 2.7.4", + "id": "memchr 2.7.6", "target": "memchr" }, { - "id": "regex-syntax 0.8.5", + "id": "regex-syntax 0.8.6", "target": "regex_syntax" } ], "selects": {} }, "edition": "2021", - "version": "0.4.8" + "version": "0.4.11" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -11002,14 +10563,14 @@ ], "license_file": "LICENSE-APACHE" }, - "regex-syntax 0.8.5": { + "regex-syntax 0.8.6": { "name": "regex-syntax", - "version": "0.8.5", - "package_url": "https://github.com/rust-lang/regex/tree/master/regex-syntax", + "version": "0.8.6", + "package_url": "https://github.com/rust-lang/regex", "repository": { "Http": { - "url": "https://static.crates.io/crates/regex-syntax/0.8.5/download", - "sha256": "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + "url": "https://static.crates.io/crates/regex-syntax/0.8.6/download", + "sha256": "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" } }, "targets": [ @@ -11047,7 +10608,7 @@ "selects": {} }, "edition": "2021", - "version": "0.8.5" + "version": "0.8.6" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -11149,23 +10710,23 @@ "target": "base64" }, { - "id": "bytes 1.9.0", + "id": "bytes 1.10.1", "target": "bytes" }, { - "id": "futures-core 0.3.30", + "id": "futures-core 0.3.31", "target": "futures_core" }, { - "id": "futures-util 0.3.30", + "id": "futures-util 0.3.31", "target": "futures_util" }, { - "id": "http 1.1.0", + "id": "http 1.3.1", "target": "http" }, { - "id": "serde 1.0.219", + "id": "serde 1.0.228", "target": "serde" }, { @@ -11173,7 +10734,7 @@ "target": "serde_urlencoded" }, { - "id": "sync_wrapper 1.0.1", + "id": "sync_wrapper 1.0.2", "target": "sync_wrapper" }, { @@ -11181,100 +10742,22 @@ "target": "tower_service" }, { - "id": "url 2.5.4", + "id": "url 2.5.7", "target": "url" } ], "selects": { "aarch64-apple-darwin": [ { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "aarch64-apple-ios": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "aarch64-apple-ios-sim": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "aarch64-linux-android": [ - { - "id": "futures-channel 0.3.30", + "id": "futures-channel 0.3.31", "target": "futures_channel" }, { - "id": "hyper-rustls 0.27.2", + "id": "hyper-rustls 0.27.7", "target": "hyper_rustls" }, { - "id": "rustls 0.23.12", + "id": "rustls 0.23.32", "target": "rustls" }, { @@ -11282,25 +10765,25 @@ "target": "rustls_pki_types" }, { - "id": "tokio-rustls 0.26.0", + "id": "tokio-rustls 0.26.4", "target": "tokio_rustls" }, { - "id": "webpki-roots 1.0.1", + "id": "webpki-roots 1.0.2", "target": "webpki_roots" } ], - "aarch64-pc-windows-msvc": [ + "aarch64-unknown-linux-gnu": [ { - "id": "futures-channel 0.3.30", + "id": "futures-channel 0.3.31", "target": "futures_channel" }, { - "id": "hyper-rustls 0.27.2", + "id": "hyper-rustls 0.27.7", "target": "hyper_rustls" }, { - "id": "rustls 0.23.12", + "id": "rustls 0.23.32", "target": "rustls" }, { @@ -11308,103 +10791,89 @@ "target": "rustls_pki_types" }, { - "id": "tokio-rustls 0.26.0", + "id": "tokio-rustls 0.26.4", "target": "tokio_rustls" }, { - "id": "webpki-roots 1.0.1", + "id": "webpki-roots 1.0.2", "target": "webpki_roots" } ], - "aarch64-unknown-fuchsia": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, + "cfg(not(target_arch = \"wasm32\"))": [ { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" + "id": "http-body 1.0.1", + "target": "http_body" }, { - "id": "rustls 0.23.12", - "target": "rustls" + "id": "http-body-util 0.1.3", + "target": "http_body_util" }, { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" + "id": "hyper 1.7.0", + "target": "hyper" }, { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" + "id": "hyper-util 0.1.17", + "target": "hyper_util" }, { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "aarch64-unknown-linux-gnu": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" + "id": "log 0.4.28", + "target": "log" }, { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" + "id": "percent-encoding 2.3.2", + "target": "percent_encoding" }, { - "id": "rustls 0.23.12", - "target": "rustls" + "id": "pin-project-lite 0.2.16", + "target": "pin_project_lite" }, { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" + "id": "tokio 1.47.1", + "target": "tokio" }, { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" + "id": "tower 0.5.2", + "target": "tower" }, { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" + "id": "tower-http 0.6.6", + "target": "tower_http" } ], - "aarch64-unknown-nixos-gnu": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, + "cfg(target_arch = \"wasm32\")": [ { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" + "id": "js-sys 0.3.81", + "target": "js_sys" }, { - "id": "rustls 0.23.12", - "target": "rustls" + "id": "serde_json 1.0.145", + "target": "serde_json" }, { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" + "id": "wasm-bindgen 0.2.104", + "target": "wasm_bindgen" }, { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" + "id": "wasm-bindgen-futures 0.4.54", + "target": "wasm_bindgen_futures" }, { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" + "id": "web-sys 0.3.81", + "target": "web_sys" } ], - "aarch64-unknown-nto-qnx710": [ + "x86_64-pc-windows-msvc": [ { - "id": "futures-channel 0.3.30", + "id": "futures-channel 0.3.31", "target": "futures_channel" }, { - "id": "hyper-rustls 0.27.2", + "id": "hyper-rustls 0.27.7", "target": "hyper_rustls" }, { - "id": "rustls 0.23.12", + "id": "rustls 0.23.32", "target": "rustls" }, { @@ -11412,25 +10881,25 @@ "target": "rustls_pki_types" }, { - "id": "tokio-rustls 0.26.0", + "id": "tokio-rustls 0.26.4", "target": "tokio_rustls" }, { - "id": "webpki-roots 1.0.1", + "id": "webpki-roots 1.0.2", "target": "webpki_roots" } ], - "arm-unknown-linux-gnueabi": [ + "x86_64-unknown-linux-gnu": [ { - "id": "futures-channel 0.3.30", + "id": "futures-channel 0.3.31", "target": "futures_channel" }, { - "id": "hyper-rustls 0.27.2", + "id": "hyper-rustls 0.27.7", "target": "hyper_rustls" }, { - "id": "rustls 0.23.12", + "id": "rustls 0.23.32", "target": "rustls" }, { @@ -11438,25 +10907,25 @@ "target": "rustls_pki_types" }, { - "id": "tokio-rustls 0.26.0", + "id": "tokio-rustls 0.26.4", "target": "tokio_rustls" }, { - "id": "webpki-roots 1.0.1", + "id": "webpki-roots 1.0.2", "target": "webpki_roots" } ], - "armv7-linux-androideabi": [ + "x86_64-unknown-nixos-gnu": [ { - "id": "futures-channel 0.3.30", + "id": "futures-channel 0.3.31", "target": "futures_channel" }, { - "id": "hyper-rustls 0.27.2", + "id": "hyper-rustls 0.27.7", "target": "hyper_rustls" }, { - "id": "rustls 0.23.12", + "id": "rustls 0.23.32", "target": "rustls" }, { @@ -11464,748 +10933,144 @@ "target": "rustls_pki_types" }, { - "id": "tokio-rustls 0.26.0", + "id": "tokio-rustls 0.26.4", "target": "tokio_rustls" }, { - "id": "webpki-roots 1.0.1", + "id": "webpki-roots 1.0.2", "target": "webpki_roots" } - ], - "armv7-unknown-linux-gnueabi": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "cfg(not(target_arch = \"wasm32\"))": [ - { - "id": "http-body 1.0.0", - "target": "http_body" - }, - { - "id": "http-body-util 0.1.1", - "target": "http_body_util" - }, - { - "id": "hyper 1.6.0", - "target": "hyper" - }, - { - "id": "hyper-util 0.1.14", - "target": "hyper_util" - }, - { - "id": "log 0.4.27", - "target": "log" - }, - { - "id": "percent-encoding 2.3.1", - "target": "percent_encoding" - }, - { - "id": "pin-project-lite 0.2.14", - "target": "pin_project_lite" - }, - { - "id": "tokio 1.47.1", - "target": "tokio" - }, - { - "id": "tower 0.5.2", - "target": "tower" - }, - { - "id": "tower-http 0.6.6", - "target": "tower_http" - } - ], - "cfg(target_arch = \"wasm32\")": [ - { - "id": "js-sys 0.3.77", - "target": "js_sys" - }, - { - "id": "serde_json 1.0.142", - "target": "serde_json" - }, - { - "id": "wasm-bindgen 0.2.100", - "target": "wasm_bindgen" - }, - { - "id": "wasm-bindgen-futures 0.4.42", - "target": "wasm_bindgen_futures" - }, - { - "id": "web-sys 0.3.69", - "target": "web_sys" - } - ], - "i686-apple-darwin": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "i686-linux-android": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "i686-pc-windows-msvc": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, + ] + } + }, + "edition": "2021", + "version": "0.12.23" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "ring 0.17.14": { + "name": "ring", + "version": "0.17.14", + "package_url": "https://github.com/briansmith/ring", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/ring/0.17.14/download", + "sha256": "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ring", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "ring", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "default", + "dev_urandom_fallback" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "cfg-if 1.0.3", + "target": "cfg_if" + }, + { + "id": "getrandom 0.2.16", + "target": "getrandom" + }, + { + "id": "ring 0.17.14", + "target": "build_script_build" + }, + { + "id": "untrusted 0.9.0", + "target": "untrusted" + } + ], + "selects": { + "cfg(all(all(target_arch = \"aarch64\", target_endian = \"little\"), target_os = \"windows\"))": [ { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" + "id": "windows-sys 0.52.0", + "target": "windows_sys" } ], - "i686-unknown-freebsd": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, + "cfg(all(all(target_arch = \"aarch64\", target_endian = \"little\"), target_vendor = \"apple\", any(target_os = \"ios\", target_os = \"macos\", target_os = \"tvos\", target_os = \"visionos\", target_os = \"watchos\")))": [ { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" + "id": "libc 0.2.176", + "target": "libc" } ], - "i686-unknown-linux-gnu": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, + "cfg(all(any(all(target_arch = \"aarch64\", target_endian = \"little\"), all(target_arch = \"arm\", target_endian = \"little\")), any(target_os = \"android\", target_os = \"linux\")))": [ { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "powerpc-unknown-linux-gnu": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "riscv32imc-unknown-none-elf": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "riscv64gc-unknown-none-elf": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "s390x-unknown-linux-gnu": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "thumbv7em-none-eabi": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "thumbv8m.main-none-eabi": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "x86_64-apple-darwin": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "x86_64-apple-ios": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "x86_64-linux-android": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "x86_64-pc-windows-msvc": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "x86_64-unknown-freebsd": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "x86_64-unknown-fuchsia": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "x86_64-unknown-linux-gnu": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "x86_64-unknown-nixos-gnu": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" - } - ], - "x86_64-unknown-none": [ - { - "id": "futures-channel 0.3.30", - "target": "futures_channel" - }, - { - "id": "hyper-rustls 0.27.2", - "target": "hyper_rustls" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types" - }, - { - "id": "tokio-rustls 0.26.0", - "target": "tokio_rustls" - }, - { - "id": "webpki-roots 1.0.1", - "target": "webpki_roots" + "id": "libc 0.2.176", + "target": "libc" } ] } }, "edition": "2021", - "version": "0.12.23" - }, - "license": "MIT OR Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, - "ring 0.17.8": { - "name": "ring", - "version": "0.17.8", - "package_url": "https://github.com/briansmith/ring", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/ring/0.17.8/download", - "sha256": "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" - } - }, - "targets": [ - { - "Library": { - "crate_name": "ring", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "ring", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "alloc", - "default", - "dev_urandom_fallback" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "cfg-if 1.0.0", - "target": "cfg_if" - }, - { - "id": "getrandom 0.2.15", - "target": "getrandom" - }, - { - "id": "ring 0.17.8", - "target": "build_script_build" - }, - { - "id": "untrusted 0.9.0", - "target": "untrusted" - } - ], - "selects": { - "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(target_arch = \"aarch64\", target_arch = \"arm\")))": [ - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "cfg(all(target_arch = \"aarch64\", target_os = \"windows\"))": [ - { - "id": "windows-sys 0.52.0", - "target": "windows_sys" - } - ], - "cfg(any(target_arch = \"aarch64\", target_arch = \"arm\", target_arch = \"x86\", target_arch = \"x86_64\"))": [ - { - "id": "spin 0.9.8", - "target": "spin" - } - ] - } - }, - "edition": "2021", - "version": "0.17.8" + "version": "0.17.14" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ], "deps": { "common": [ { - "id": "cc 1.1.30", + "id": "cc 1.2.39", "target": "cc" } ], "selects": {} }, - "links": "ring_core_0_17_8" + "links": "ring_core_0_17_14_" }, - "license": null, - "license_ids": [], + "license": "Apache-2.0 AND ISC", + "license_ids": [ + "Apache-2.0", + "ISC" + ], "license_file": "LICENSE" }, "rstest 0.26.1": { @@ -12300,23 +11165,23 @@ "deps": { "common": [ { - "id": "cfg-if 1.0.0", + "id": "cfg-if 1.0.3", "target": "cfg_if" }, { - "id": "glob 0.3.1", + "id": "glob 0.3.3", "target": "glob" }, { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "regex 1.11.1", + "id": "regex 1.11.3", "target": "regex" }, { @@ -12328,161 +11193,38 @@ "target": "build_script_build" }, { - "id": "syn 2.0.101", + "id": "syn 2.0.106", "target": "syn" }, { - "id": "unicode-ident 1.0.13", + "id": "unicode-ident 1.0.19", "target": "unicode_ident" } ], "selects": {} - }, - "edition": "2021", - "version": "0.26.1" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "rustc_version 0.4.1", - "target": "rustc_version" - } - ], - "selects": {} - } - }, - "license": "MIT OR Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, - "rustc-demangle 0.1.24": { - "name": "rustc-demangle", - "version": "0.1.24", - "package_url": "https://github.com/rust-lang/rustc-demangle", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/rustc-demangle/0.1.24/download", - "sha256": "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - } - }, - "targets": [ - { - "Library": { - "crate_name": "rustc_demangle", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "rustc_demangle", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2015", - "version": "0.1.24" - }, - "license": "MIT/Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, - "rustc-hash 2.0.0": { - "name": "rustc-hash", - "version": "2.0.0", - "package_url": "https://github.com/rust-lang/rustc-hash", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/rustc-hash/2.0.0/download", - "sha256": "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" - } - }, - "targets": [ - { - "Library": { - "crate_name": "rustc_hash", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "rustc_hash", - "common_attrs": { - "compile_data_glob": [ - "**" - ], + }, "edition": "2021", - "version": "2.0.0" - }, - "license": "Apache-2.0/MIT", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, - "rustc_version 0.4.1": { - "name": "rustc_version", - "version": "0.4.1", - "package_url": "https://github.com/djc/rustc-version-rs", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/rustc_version/0.4.1/download", - "sha256": "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" - } + "version": "0.26.1" }, - "targets": [ - { - "Library": { - "crate_name": "rustc_version", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "rustc_version", - "common_attrs": { + "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ], "deps": { "common": [ { - "id": "semver 1.0.23", - "target": "semver" + "id": "rustc_version 0.4.1", + "target": "rustc_version" } ], "selects": {} - }, - "edition": "2018", - "version": "0.4.1" + } }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -12491,20 +11233,20 @@ ], "license_file": "LICENSE-APACHE" }, - "rustix 0.38.42": { - "name": "rustix", - "version": "0.38.42", - "package_url": "https://github.com/bytecodealliance/rustix", + "rustc-demangle 0.1.26": { + "name": "rustc-demangle", + "version": "0.1.26", + "package_url": "https://github.com/rust-lang/rustc-demangle", "repository": { "Http": { - "url": "https://static.crates.io/crates/rustix/0.38.42/download", - "sha256": "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" + "url": "https://static.crates.io/crates/rustc-demangle/0.1.26/download", + "sha256": "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" } }, "targets": [ { "Library": { - "crate_name": "rustix", + "crate_name": "rustc_demangle", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -12513,295 +11255,118 @@ ] } } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } } ], - "library_target_name": "rustix", + "library_target_name": "rustc_demangle", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "alloc", - "fs", - "libc-extra-traits", - "std" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "bitflags 2.5.0", - "target": "bitflags" - }, - { - "id": "rustix 0.38.42", - "target": "build_script_build" - } - ], - "selects": { - "aarch64-apple-darwin": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-apple-ios": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-apple-ios-sim": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-linux-android": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-unknown-fuchsia": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-unknown-nto-qnx710": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "armv7-linux-androideabi": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))": [ - { - "id": "linux-raw-sys 0.4.14", - "target": "linux_raw_sys" - } - ], - "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))": [ - { - "id": "linux-raw-sys 0.4.14", - "target": "linux_raw_sys" - } - ], - "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "cfg(windows)": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "windows-sys 0.59.0", - "target": "windows_sys" - } - ], - "i686-apple-darwin": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "i686-linux-android": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "i686-unknown-freebsd": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "powerpc-unknown-linux-gnu": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "s390x-unknown-linux-gnu": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-apple-darwin": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-apple-ios": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-linux-android": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-unknown-freebsd": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-unknown-fuchsia": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ] + "edition": "2015", + "version": "0.1.26" + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "rustc-hash 2.1.1": { + "name": "rustc-hash", + "version": "2.1.1", + "package_url": "https://github.com/rust-lang/rustc-hash", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/rustc-hash/2.1.1/download", + "sha256": "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + } + }, + "targets": [ + { + "Library": { + "crate_name": "rustc_hash", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } } - }, + } + ], + "library_target_name": "rustc_hash", + "common_attrs": { + "compile_data_glob": [ + "**" + ], "edition": "2021", - "version": "0.38.42" + "version": "2.1.1" }, - "build_script_attrs": { + "license": "Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "rustc_version 0.4.1": { + "name": "rustc_version", + "version": "0.4.1", + "package_url": "https://github.com/djc/rustc-version-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/rustc_version/0.4.1/download", + "sha256": "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" + } + }, + "targets": [ + { + "Library": { + "crate_name": "rustc_version", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "rustc_version", + "common_attrs": { "compile_data_glob": [ "**" ], - "data_glob": [ - "**" - ] + "deps": { + "common": [ + { + "id": "semver 1.0.27", + "target": "semver" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.4.1" }, - "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "rustix 1.0.7": { + "rustix 1.1.2": { "name": "rustix", - "version": "1.0.7", + "version": "1.1.2", "package_url": "https://github.com/bytecodealliance/rustix", "repository": { "Http": { - "url": "https://static.crates.io/crates/rustix/1.0.7/download", - "sha256": "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" + "url": "https://static.crates.io/crates/rustix/1.1.2/download", + "sha256": "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" } }, "targets": [ @@ -12847,256 +11412,83 @@ "deps": { "common": [ { - "id": "bitflags 2.5.0", + "id": "bitflags 2.9.4", "target": "bitflags" }, { - "id": "rustix 1.0.7", + "id": "rustix 1.1.2", "target": "build_script_build" } ], "selects": { "aarch64-apple-darwin": [ { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-apple-ios": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-apple-ios-sim": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-linux-android": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-unknown-fuchsia": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "aarch64-unknown-nto-qnx710": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "armv7-linux-androideabi": [ - { - "id": "errno 0.3.10", + "id": "errno 0.3.14", "target": "errno", "alias": "libc_errno" }, { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], - "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))": [ + "cfg(all(any(target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))": [ { - "id": "linux-raw-sys 0.9.4", + "id": "linux-raw-sys 0.11.0", "target": "linux_raw_sys" } ], "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))": [ { - "id": "linux-raw-sys 0.9.4", + "id": "linux-raw-sys 0.11.0", "target": "linux_raw_sys" } ], "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))": [ { - "id": "errno 0.3.10", + "id": "errno 0.3.14", "target": "errno", "alias": "libc_errno" }, { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], "cfg(windows)": [ { - "id": "errno 0.3.10", + "id": "errno 0.3.14", "target": "errno", "alias": "libc_errno" }, { - "id": "windows-sys 0.59.0", + "id": "windows-sys 0.61.1", "target": "windows_sys" } ], - "i686-apple-darwin": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "i686-linux-android": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "i686-unknown-freebsd": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "powerpc-unknown-linux-gnu": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "s390x-unknown-linux-gnu": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], "wasm32-wasip1": [ { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-apple-darwin": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-apple-ios": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-linux-android": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-unknown-freebsd": [ - { - "id": "errno 0.3.10", - "target": "errno", - "alias": "libc_errno" - }, - { - "id": "libc 0.2.174", - "target": "libc" - } - ], - "x86_64-unknown-fuchsia": [ - { - "id": "errno 0.3.10", + "id": "errno 0.3.14", "target": "errno", "alias": "libc_errno" }, { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ] } }, "edition": "2021", - "version": "1.0.7" + "version": "1.1.2" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -13108,14 +11500,14 @@ ], "license_file": "LICENSE-APACHE" }, - "rustls 0.23.12": { + "rustls 0.23.32": { "name": "rustls", - "version": "0.23.12", + "version": "0.23.32", "package_url": "https://github.com/rustls/rustls", "repository": { "Http": { - "url": "https://static.crates.io/crates/rustls/0.23.12/download", - "sha256": "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" + "url": "https://static.crates.io/crates/rustls/0.23.32/download", + "sha256": "cd3c25631629d034ce7cd9940adc9d45762d46de2b0f57193c4443b92c6d4d40" } }, "targets": [ @@ -13160,15 +11552,15 @@ "deps": { "common": [ { - "id": "once_cell 1.19.0", + "id": "once_cell 1.21.3", "target": "once_cell" }, { - "id": "ring 0.17.8", + "id": "ring 0.17.14", "target": "ring" }, { - "id": "rustls 0.23.12", + "id": "rustls 0.23.32", "target": "build_script_build" }, { @@ -13177,34 +11569,37 @@ "alias": "pki_types" }, { - "id": "rustls-webpki 0.102.6", + "id": "rustls-webpki 0.103.6", "target": "webpki" }, { - "id": "subtle 2.5.0", + "id": "subtle 2.6.1", "target": "subtle" }, { - "id": "zeroize 1.8.1", + "id": "zeroize 1.8.2", "target": "zeroize" } ], "selects": {} }, "edition": "2021", - "version": "0.23.12" + "version": "0.23.32" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ], "link_deps": { "common": [ { - "id": "ring 0.17.8", + "id": "ring 0.17.14", "target": "ring" } ], @@ -13259,7 +11654,7 @@ "deps": { "common": [ { - "id": "zeroize 1.8.1", + "id": "zeroize 1.8.2", "target": "zeroize" } ], @@ -13275,14 +11670,14 @@ ], "license_file": "LICENSE-APACHE" }, - "rustls-webpki 0.102.6": { + "rustls-webpki 0.103.6": { "name": "rustls-webpki", - "version": "0.102.6", + "version": "0.103.6", "package_url": "https://github.com/rustls/webpki", "repository": { "Http": { - "url": "https://static.crates.io/crates/rustls-webpki/0.102.6/download", - "sha256": "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" + "url": "https://static.crates.io/crates/rustls-webpki/0.103.6/download", + "sha256": "8572f3c2cb9934231157b45499fc41e1f58c589fdfb81a844ba873265e80f8eb" } }, "targets": [ @@ -13315,7 +11710,7 @@ "deps": { "common": [ { - "id": "ring 0.17.8", + "id": "ring 0.17.14", "target": "ring" }, { @@ -13331,7 +11726,7 @@ "selects": {} }, "edition": "2021", - "version": "0.102.6" + "version": "0.103.6" }, "license": "ISC", "license_ids": [ @@ -13339,14 +11734,14 @@ ], "license_file": "LICENSE" }, - "rustversion 1.0.20": { + "rustversion 1.0.22": { "name": "rustversion", - "version": "1.0.20", + "version": "1.0.22", "package_url": "https://github.com/dtolnay/rustversion", "repository": { "Http": { - "url": "https://static.crates.io/crates/rustversion/1.0.20/download", - "sha256": "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" + "url": "https://static.crates.io/crates/rustversion/1.0.22/download", + "sha256": "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" } }, "targets": [ @@ -13383,19 +11778,22 @@ "deps": { "common": [ { - "id": "rustversion 1.0.20", + "id": "rustversion 1.0.22", "target": "build_script_build" } ], "selects": {} }, "edition": "2018", - "version": "1.0.20" + "version": "1.0.22" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -13407,14 +11805,14 @@ ], "license_file": "LICENSE-APACHE" }, - "ryu 1.0.18": { + "ryu 1.0.20": { "name": "ryu", - "version": "1.0.18", + "version": "1.0.20", "package_url": "https://github.com/dtolnay/ryu", "repository": { "Http": { - "url": "https://static.crates.io/crates/ryu/1.0.18/download", - "sha256": "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + "url": "https://static.crates.io/crates/ryu/1.0.20/download", + "sha256": "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" } }, "targets": [ @@ -13437,7 +11835,7 @@ "**" ], "edition": "2018", - "version": "1.0.18" + "version": "1.0.20" }, "license": "Apache-2.0 OR BSL-1.0", "license_ids": [ @@ -13480,7 +11878,7 @@ "selects": { "cfg(windows)": [ { - "id": "winapi-util 0.1.8", + "id": "winapi-util 0.1.11", "target": "winapi_util" } ] @@ -13537,7 +11935,7 @@ "proc_macro_deps": { "common": [ { - "id": "scroll_derive 0.12.0", + "id": "scroll_derive 0.12.1", "target": "scroll_derive" } ], @@ -13551,14 +11949,14 @@ ], "license_file": "LICENSE" }, - "scroll_derive 0.12.0": { + "scroll_derive 0.12.1": { "name": "scroll_derive", - "version": "0.12.0", + "version": "0.12.1", "package_url": "https://github.com/m4b/scroll", "repository": { "Http": { - "url": "https://static.crates.io/crates/scroll_derive/0.12.0/download", - "sha256": "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932" + "url": "https://static.crates.io/crates/scroll_derive/0.12.1/download", + "sha256": "1783eabc414609e28a5ba76aee5ddd52199f7107a0b24c2e9746a1ecc34a683d" } }, "targets": [ @@ -13583,22 +11981,22 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "syn 2.0.101", + "id": "syn 2.0.106", "target": "syn" } ], "selects": {} }, "edition": "2018", - "version": "0.12.0" + "version": "0.12.1" }, "license": "MIT", "license_ids": [ @@ -13633,7 +12031,7 @@ "deps": { "common": [ { - "id": "anyhow 1.0.99", + "id": "anyhow 1.0.100", "target": "anyhow" }, { @@ -13645,7 +12043,7 @@ "target": "bzip2" }, { - "id": "clap 4.5.45", + "id": "clap 4.5.48", "target": "clap" }, { @@ -13681,11 +12079,11 @@ "target": "infer" }, { - "id": "log 0.4.27", + "id": "log 0.4.28", "target": "log" }, { - "id": "regex 1.11.1", + "id": "regex 1.11.3", "target": "regex" }, { @@ -13693,11 +12091,11 @@ "target": "reqwest" }, { - "id": "serde 1.0.219", + "id": "serde 1.0.228", "target": "serde" }, { - "id": "serde_json 1.0.142", + "id": "serde_json 1.0.145", "target": "serde_json" }, { @@ -13709,7 +12107,7 @@ "target": "tar" }, { - "id": "tempfile 3.20.0", + "id": "tempfile 3.23.0", "target": "tempfile" }, { @@ -13717,7 +12115,7 @@ "target": "tokio" }, { - "id": "toml 0.9.5", + "id": "toml 0.9.7", "target": "toml" }, { @@ -13733,7 +12131,7 @@ "target": "xz2" }, { - "id": "zip 4.3.0", + "id": "zip 5.1.1", "target": "zip" } ], @@ -13753,7 +12151,7 @@ "target": "assert_cmd" }, { - "id": "is_executable 1.0.4", + "id": "is_executable 1.0.5", "target": "is_executable" }, { @@ -13763,7 +12161,7 @@ ], "selects": {} }, - "edition": "2021", + "edition": "2024", "version": "0.4.36-nightly" }, "license": "Apache-2.0", @@ -13772,14 +12170,14 @@ ], "license_file": null }, - "semver 1.0.23": { + "semver 1.0.27": { "name": "semver", - "version": "1.0.23", + "version": "1.0.27", "package_url": "https://github.com/dtolnay/semver", "repository": { "Http": { - "url": "https://static.crates.io/crates/semver/1.0.23/download", - "sha256": "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" + "url": "https://static.crates.io/crates/semver/1.0.27/download", + "sha256": "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" } }, "targets": [ @@ -13794,18 +12192,6 @@ ] } } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } } ], "library_target_name": "semver", @@ -13815,30 +12201,13 @@ ], "crate_features": { "common": [ - "default", - "std" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "semver 1.0.23", - "target": "build_script_build" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "1.0.23" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "data_glob": [ - "**" - ] + "default", + "std" + ], + "selects": {} + }, + "edition": "2018", + "version": "1.0.27" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -13847,14 +12216,14 @@ ], "license_file": "LICENSE-APACHE" }, - "serde 1.0.219": { + "serde 1.0.228": { "name": "serde", - "version": "1.0.219", + "version": "1.0.228", "package_url": "https://github.com/serde-rs/serde", "repository": { "Http": { - "url": "https://static.crates.io/crates/serde/1.0.219/download", - "sha256": "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" + "url": "https://static.crates.io/crates/serde/1.0.228/download", + "sha256": "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" } }, "targets": [ @@ -13890,7 +12259,6 @@ ], "crate_features": { "common": [ - "alloc", "default", "derive", "serde_derive", @@ -13901,28 +12269,35 @@ "deps": { "common": [ { - "id": "serde 1.0.219", + "id": "serde 1.0.228", "target": "build_script_build" + }, + { + "id": "serde_core 1.0.228", + "target": "serde_core" } ], "selects": {} }, - "edition": "2018", + "edition": "2021", "proc_macro_deps": { "common": [ { - "id": "serde_derive 1.0.219", + "id": "serde_derive 1.0.228", "target": "serde_derive" } ], "selects": {} }, - "version": "1.0.219" + "version": "1.0.228" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -13966,11 +12341,11 @@ "deps": { "common": [ { - "id": "log 0.4.27", + "id": "log 0.4.28", "target": "log" }, { - "id": "serde 1.0.219", + "id": "serde 1.0.228", "target": "serde" }, { @@ -13978,7 +12353,7 @@ "target": "thiserror" }, { - "id": "xml-rs 0.8.24", + "id": "xml-rs 0.8.27", "target": "xml" } ], @@ -13993,14 +12368,104 @@ ], "license_file": "LICENSE" }, - "serde_derive 1.0.219": { + "serde_core 1.0.228": { + "name": "serde_core", + "version": "1.0.228", + "package_url": "https://github.com/serde-rs/serde", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/serde_core/1.0.228/download", + "sha256": "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" + } + }, + "targets": [ + { + "Library": { + "crate_name": "serde_core", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "serde_core", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "result", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "serde_core 1.0.228", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [], + "selects": { + "cfg(any())": [ + { + "id": "serde_derive 1.0.228", + "target": "serde_derive" + } + ] + } + }, + "version": "1.0.228" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "serde_derive 1.0.228": { "name": "serde_derive", - "version": "1.0.219", + "version": "1.0.228", "package_url": "https://github.com/serde-rs/serde", "repository": { "Http": { - "url": "https://static.crates.io/crates/serde_derive/1.0.219/download", - "sha256": "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" + "url": "https://static.crates.io/crates/serde_derive/1.0.228/download", + "sha256": "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" } }, "targets": [ @@ -14031,22 +12496,22 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "syn 2.0.101", + "id": "syn 2.0.106", "target": "syn" } ], "selects": {} }, - "edition": "2015", - "version": "1.0.219" + "edition": "2021", + "version": "1.0.228" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -14055,14 +12520,14 @@ ], "license_file": "LICENSE-APACHE" }, - "serde_json 1.0.142": { + "serde_json 1.0.145": { "name": "serde_json", - "version": "1.0.142", + "version": "1.0.145", "package_url": "https://github.com/serde-rs/json", "repository": { "Http": { - "url": "https://static.crates.io/crates/serde_json/1.0.142/download", - "sha256": "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7" + "url": "https://static.crates.io/crates/serde_json/1.0.145/download", + "sha256": "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" } }, "targets": [ @@ -14106,35 +12571,45 @@ "deps": { "common": [ { - "id": "itoa 1.0.11", + "id": "itoa 1.0.15", "target": "itoa" }, { - "id": "memchr 2.7.4", + "id": "memchr 2.7.6", "target": "memchr" }, { - "id": "ryu 1.0.18", + "id": "ryu 1.0.20", "target": "ryu" }, { - "id": "serde 1.0.219", - "target": "serde" + "id": "serde_core 1.0.228", + "target": "serde_core" }, { - "id": "serde_json 1.0.142", + "id": "serde_json 1.0.145", "target": "build_script_build" } ], - "selects": {} + "selects": { + "cfg(any())": [ + { + "id": "serde 1.0.228", + "target": "serde" + } + ] + } }, "edition": "2021", - "version": "1.0.142" + "version": "1.0.145" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -14146,14 +12621,14 @@ ], "license_file": "LICENSE-APACHE" }, - "serde_spanned 1.0.0": { + "serde_spanned 1.0.2": { "name": "serde_spanned", - "version": "1.0.0", + "version": "1.0.2", "package_url": "https://github.com/toml-rs/toml", "repository": { "Http": { - "url": "https://static.crates.io/crates/serde_spanned/1.0.0/download", - "sha256": "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" + "url": "https://static.crates.io/crates/serde_spanned/1.0.2/download", + "sha256": "5417783452c2be558477e104686f7de5dae53dba813c28435e0e70f82d9b04ee" } }, "targets": [ @@ -14186,14 +12661,14 @@ "deps": { "common": [ { - "id": "serde 1.0.219", - "target": "serde" + "id": "serde_core 1.0.228", + "target": "serde_core" } ], "selects": {} }, "edition": "2021", - "version": "1.0.0" + "version": "1.0.2" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -14234,19 +12709,19 @@ "deps": { "common": [ { - "id": "form_urlencoded 1.2.1", + "id": "form_urlencoded 1.2.2", "target": "form_urlencoded" }, { - "id": "itoa 1.0.11", + "id": "itoa 1.0.15", "target": "itoa" }, { - "id": "ryu 1.0.18", + "id": "ryu 1.0.20", "target": "ryu" }, { - "id": "serde 1.0.219", + "id": "serde 1.0.228", "target": "serde" } ], @@ -14309,7 +12784,7 @@ "target": "byteorder" }, { - "id": "crc 3.2.1", + "id": "crc 3.3.0", "target": "crc" }, { @@ -14325,18 +12800,18 @@ "target": "nt_time" }, { - "id": "sha2 0.10.8", + "id": "sha2 0.10.9", "target": "sha2" } ], "selects": { "cfg(target_arch = \"wasm32\")": [ { - "id": "js-sys 0.3.77", + "id": "js-sys 0.3.81", "target": "js_sys" }, { - "id": "wasm-bindgen 0.2.100", + "id": "wasm-bindgen 0.2.104", "target": "wasm_bindgen" } ] @@ -14390,7 +12865,7 @@ "deps": { "common": [ { - "id": "cfg-if 1.0.0", + "id": "cfg-if 1.0.3", "target": "cfg_if" }, { @@ -14401,7 +12876,7 @@ "selects": { "cfg(any(target_arch = \"aarch64\", target_arch = \"x86\", target_arch = \"x86_64\"))": [ { - "id": "cpufeatures 0.2.12", + "id": "cpufeatures 0.2.17", "target": "cpufeatures" } ] @@ -14417,14 +12892,14 @@ ], "license_file": "LICENSE-APACHE" }, - "sha2 0.10.8": { + "sha2 0.10.9": { "name": "sha2", - "version": "0.10.8", + "version": "0.10.9", "package_url": "https://github.com/RustCrypto/hashes", "repository": { "Http": { - "url": "https://static.crates.io/crates/sha2/0.10.8/download", - "sha256": "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" + "url": "https://static.crates.io/crates/sha2/0.10.9/download", + "sha256": "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" } }, "targets": [ @@ -14456,7 +12931,7 @@ "deps": { "common": [ { - "id": "cfg-if 1.0.0", + "id": "cfg-if 1.0.3", "target": "cfg_if" }, { @@ -14467,14 +12942,14 @@ "selects": { "cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))": [ { - "id": "cpufeatures 0.2.12", + "id": "cpufeatures 0.2.17", "target": "cpufeatures" } ] } }, "edition": "2018", - "version": "0.10.8" + "version": "0.10.9" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -14658,14 +13133,14 @@ ], "license_file": "LICENSE-APACHE" }, - "slab 0.4.9": { + "slab 0.4.11": { "name": "slab", - "version": "0.4.9", + "version": "0.4.11", "package_url": "https://github.com/tokio-rs/slab", "repository": { "Http": { - "url": "https://static.crates.io/crates/slab/0.4.9/download", - "sha256": "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" + "url": "https://static.crates.io/crates/slab/0.4.11/download", + "sha256": "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" } }, "targets": [ @@ -14680,18 +13155,6 @@ ] } } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } } ], "library_target_name": "slab", @@ -14706,34 +13169,8 @@ ], "selects": {} }, - "deps": { - "common": [ - { - "id": "slab 0.4.9", - "target": "build_script_build" - } - ], - "selects": {} - }, "edition": "2018", - "version": "0.4.9" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "autocfg 1.3.0", - "target": "autocfg" - } - ], - "selects": {} - } + "version": "0.4.11" }, "license": "MIT", "license_ids": [ @@ -14741,14 +13178,14 @@ ], "license_file": "LICENSE" }, - "smallvec 1.13.2": { + "smallvec 1.15.1": { "name": "smallvec", - "version": "1.13.2", + "version": "1.15.1", "package_url": "https://github.com/servo/rust-smallvec", "repository": { "Http": { - "url": "https://static.crates.io/crates/smallvec/1.13.2/download", - "sha256": "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + "url": "https://static.crates.io/crates/smallvec/1.15.1/download", + "sha256": "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" } }, "targets": [ @@ -14771,172 +13208,29 @@ "**" ], "crate_features": { - "common": [ - "const_generics" - ], - "selects": { - "aarch64-apple-darwin": [ - "const_new" - ], - "aarch64-apple-ios": [ - "const_new" - ], - "aarch64-apple-ios-sim": [ - "const_new" - ], - "aarch64-linux-android": [ - "const_new" - ], - "aarch64-pc-windows-msvc": [ - "const_new" - ], - "aarch64-unknown-fuchsia": [ - "const_new" - ], - "aarch64-unknown-linux-gnu": [ - "const_new" - ], - "aarch64-unknown-nixos-gnu": [ - "const_new" - ], - "aarch64-unknown-nto-qnx710": [ - "const_new" - ], - "arm-unknown-linux-gnueabi": [ - "const_new" - ], - "armv7-linux-androideabi": [ - "const_new" - ], - "armv7-unknown-linux-gnueabi": [ - "const_new" - ], - "i686-apple-darwin": [ - "const_new" - ], - "i686-linux-android": [ - "const_new" - ], - "i686-pc-windows-msvc": [ - "const_new" - ], - "i686-unknown-freebsd": [ - "const_new" - ], - "i686-unknown-linux-gnu": [ - "const_new" - ], - "powerpc-unknown-linux-gnu": [ - "const_new" - ], - "riscv32imc-unknown-none-elf": [ - "const_new" - ], - "riscv64gc-unknown-none-elf": [ - "const_new" - ], - "s390x-unknown-linux-gnu": [ - "const_new" - ], - "thumbv7em-none-eabi": [ - "const_new" - ], - "thumbv8m.main-none-eabi": [ - "const_new" - ], - "x86_64-apple-darwin": [ - "const_new" - ], - "x86_64-apple-ios": [ - "const_new" - ], - "x86_64-linux-android": [ - "const_new" - ], - "x86_64-pc-windows-msvc": [ - "const_new" - ], - "x86_64-unknown-freebsd": [ - "const_new" - ], - "x86_64-unknown-fuchsia": [ - "const_new" - ], - "x86_64-unknown-linux-gnu": [ - "const_new" - ], - "x86_64-unknown-nixos-gnu": [ - "const_new" - ], - "x86_64-unknown-none": [ - "const_new" - ] - } - }, - "edition": "2018", - "version": "1.13.2" - }, - "license": "MIT OR Apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "license_file": "LICENSE-APACHE" - }, - "socket2 0.5.10": { - "name": "socket2", - "version": "0.5.10", - "package_url": "https://github.com/rust-lang/socket2", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/socket2/0.5.10/download", - "sha256": "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" - } - }, - "targets": [ - { - "Library": { - "crate_name": "socket2", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "socket2", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "all" - ], - "selects": {} - }, - "deps": { - "common": [], + "common": [ + "const_generics" + ], "selects": { - "cfg(unix)": [ - { - "id": "libc 0.2.174", - "target": "libc" - } + "aarch64-apple-darwin": [ + "const_new" ], - "cfg(windows)": [ - { - "id": "windows-sys 0.52.0", - "target": "windows_sys" - } + "aarch64-unknown-linux-gnu": [ + "const_new" + ], + "x86_64-pc-windows-msvc": [ + "const_new" + ], + "x86_64-unknown-linux-gnu": [ + "const_new" + ], + "x86_64-unknown-nixos-gnu": [ + "const_new" ] } }, - "edition": "2021", - "version": "0.5.10" + "edition": "2018", + "version": "1.15.1" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -14985,7 +13279,7 @@ "selects": { "cfg(unix)": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], @@ -15007,50 +13301,6 @@ ], "license_file": "LICENSE-APACHE" }, - "spin 0.9.8": { - "name": "spin", - "version": "0.9.8", - "package_url": "https://github.com/mvdnes/spin-rs.git", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/spin/0.9.8/download", - "sha256": "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - } - }, - "targets": [ - { - "Library": { - "crate_name": "spin", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "spin", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "once" - ], - "selects": {} - }, - "edition": "2015", - "version": "0.9.8" - }, - "license": "MIT", - "license_ids": [ - "MIT" - ], - "license_file": "LICENSE" - }, "spki 0.7.3": { "name": "spki", "version": "0.7.3", @@ -15089,7 +13339,7 @@ "deps": { "common": [ { - "id": "der 0.7.9", + "id": "der 0.7.10", "target": "der" } ], @@ -15188,14 +13438,14 @@ ], "license_file": "LICENSE" }, - "subtle 2.5.0": { + "subtle 2.6.1": { "name": "subtle", - "version": "2.5.0", + "version": "2.6.1", "package_url": "https://github.com/dalek-cryptography/subtle", "repository": { "Http": { - "url": "https://static.crates.io/crates/subtle/2.5.0/download", - "sha256": "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + "url": "https://static.crates.io/crates/subtle/2.6.1/download", + "sha256": "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" } }, "targets": [ @@ -15218,7 +13468,7 @@ "**" ], "edition": "2018", - "version": "2.5.0" + "version": "2.6.1" }, "license": "BSD-3-Clause", "license_ids": [ @@ -15226,14 +13476,14 @@ ], "license_file": "LICENSE" }, - "syn 2.0.101": { + "syn 2.0.106": { "name": "syn", - "version": "2.0.101", + "version": "2.0.106", "package_url": "https://github.com/dtolnay/syn", "repository": { "Http": { - "url": "https://static.crates.io/crates/syn/2.0.101/download", - "sha256": "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" + "url": "https://static.crates.io/crates/syn/2.0.106/download", + "sha256": "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" } }, "targets": [ @@ -15274,22 +13524,22 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "unicode-ident 1.0.13", + "id": "unicode-ident 1.0.19", "target": "unicode_ident" } ], "selects": {} }, "edition": "2021", - "version": "2.0.101" + "version": "2.0.106" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -15298,14 +13548,14 @@ ], "license_file": "LICENSE-APACHE" }, - "sync_wrapper 1.0.1": { + "sync_wrapper 1.0.2": { "name": "sync_wrapper", - "version": "1.0.1", + "version": "1.0.2", "package_url": "https://github.com/Actyx/sync_wrapper", "repository": { "Http": { - "url": "https://static.crates.io/crates/sync_wrapper/1.0.1/download", - "sha256": "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" + "url": "https://static.crates.io/crates/sync_wrapper/1.0.2/download", + "sha256": "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" } }, "targets": [ @@ -15337,14 +13587,14 @@ "deps": { "common": [ { - "id": "futures-core 0.3.30", + "id": "futures-core 0.3.31", "target": "futures_core" } ], "selects": {} }, - "edition": "2018", - "version": "1.0.1" + "edition": "2021", + "version": "1.0.2" }, "license": "Apache-2.0", "license_ids": [ @@ -15352,14 +13602,14 @@ ], "license_file": "LICENSE" }, - "synstructure 0.13.1": { + "synstructure 0.13.2": { "name": "synstructure", - "version": "0.13.1", + "version": "0.13.2", "package_url": "https://github.com/mystor/synstructure", "repository": { "Http": { - "url": "https://static.crates.io/crates/synstructure/0.13.1/download", - "sha256": "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" + "url": "https://static.crates.io/crates/synstructure/0.13.2/download", + "sha256": "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" } }, "targets": [ @@ -15391,22 +13641,22 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "syn 2.0.101", + "id": "syn 2.0.106", "target": "syn" } ], "selects": {} }, "edition": "2018", - "version": "0.13.1" + "version": "0.13.2" }, "license": "MIT", "license_ids": [ @@ -15453,158 +13703,38 @@ "deps": { "common": [ { - "id": "filetime 0.2.23", + "id": "filetime 0.2.26", "target": "filetime" } ], "selects": { "aarch64-apple-darwin": [ { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "aarch64-apple-ios": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "aarch64-apple-ios-sim": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "aarch64-linux-android": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "aarch64-unknown-fuchsia": [ - { - "id": "xattr 1.3.1", + "id": "xattr 1.6.1", "target": "xattr" } ], "aarch64-unknown-linux-gnu": [ { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "aarch64-unknown-nixos-gnu": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "aarch64-unknown-nto-qnx710": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "arm-unknown-linux-gnueabi": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "armv7-linux-androideabi": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "armv7-unknown-linux-gnueabi": [ - { - "id": "xattr 1.3.1", + "id": "xattr 1.6.1", "target": "xattr" } ], "cfg(unix)": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" } ], - "i686-apple-darwin": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "i686-linux-android": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "i686-unknown-freebsd": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "i686-unknown-linux-gnu": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "powerpc-unknown-linux-gnu": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "s390x-unknown-linux-gnu": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "x86_64-apple-darwin": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "x86_64-apple-ios": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "x86_64-linux-android": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "x86_64-unknown-freebsd": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], - "x86_64-unknown-fuchsia": [ - { - "id": "xattr 1.3.1", - "target": "xattr" - } - ], "x86_64-unknown-linux-gnu": [ { - "id": "xattr 1.3.1", + "id": "xattr 1.6.1", "target": "xattr" } ], "x86_64-unknown-nixos-gnu": [ { - "id": "xattr 1.3.1", + "id": "xattr 1.6.1", "target": "xattr" } ] @@ -15620,14 +13750,14 @@ ], "license_file": "LICENSE-APACHE" }, - "tempfile 3.20.0": { + "tempfile 3.23.0": { "name": "tempfile", - "version": "3.20.0", + "version": "3.23.0", "package_url": "https://github.com/Stebalien/tempfile", "repository": { "Http": { - "url": "https://static.crates.io/crates/tempfile/3.20.0/download", - "sha256": "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" + "url": "https://static.crates.io/crates/tempfile/3.23.0/download", + "sha256": "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" } }, "targets": [ @@ -15659,199 +13789,67 @@ "deps": { "common": [ { - "id": "fastrand 2.1.1", + "id": "fastrand 2.3.0", "target": "fastrand" }, { - "id": "once_cell 1.19.0", + "id": "once_cell 1.21.3", "target": "once_cell" } ], "selects": { "aarch64-apple-darwin": [ { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "aarch64-apple-ios": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "aarch64-apple-ios-sim": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "aarch64-linux-android": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "aarch64-pc-windows-msvc": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "aarch64-unknown-fuchsia": [ - { - "id": "getrandom 0.3.1", + "id": "getrandom 0.3.3", "target": "getrandom" } ], "aarch64-unknown-linux-gnu": [ { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "aarch64-unknown-nixos-gnu": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "aarch64-unknown-nto-qnx710": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "arm-unknown-linux-gnueabi": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "armv7-linux-androideabi": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "armv7-unknown-linux-gnueabi": [ - { - "id": "getrandom 0.3.1", + "id": "getrandom 0.3.3", "target": "getrandom" } ], "cfg(any(unix, target_os = \"wasi\"))": [ { - "id": "rustix 1.0.7", + "id": "rustix 1.1.2", "target": "rustix" } ], "cfg(windows)": [ { - "id": "windows-sys 0.59.0", + "id": "windows-sys 0.61.1", "target": "windows_sys" } ], - "i686-apple-darwin": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "i686-linux-android": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "i686-pc-windows-msvc": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "i686-unknown-freebsd": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "i686-unknown-linux-gnu": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "powerpc-unknown-linux-gnu": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "s390x-unknown-linux-gnu": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], "wasm32-wasip1": [ { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "x86_64-apple-darwin": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "x86_64-apple-ios": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "x86_64-linux-android": [ - { - "id": "getrandom 0.3.1", + "id": "getrandom 0.3.3", "target": "getrandom" } ], "x86_64-pc-windows-msvc": [ { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "x86_64-unknown-freebsd": [ - { - "id": "getrandom 0.3.1", - "target": "getrandom" - } - ], - "x86_64-unknown-fuchsia": [ - { - "id": "getrandom 0.3.1", + "id": "getrandom 0.3.3", "target": "getrandom" } ], "x86_64-unknown-linux-gnu": [ { - "id": "getrandom 0.3.1", + "id": "getrandom 0.3.3", "target": "getrandom" } ], "x86_64-unknown-nixos-gnu": [ { - "id": "getrandom 0.3.1", + "id": "getrandom 0.3.3", "target": "getrandom" } ] } }, "edition": "2021", - "version": "3.20.0" + "version": "3.23.0" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -15860,14 +13858,14 @@ ], "license_file": "LICENSE-APACHE" }, - "termtree 0.4.1": { + "termtree 0.5.1": { "name": "termtree", - "version": "0.4.1", + "version": "0.5.1", "package_url": "https://github.com/rust-cli/termtree", "repository": { "Http": { - "url": "https://static.crates.io/crates/termtree/0.4.1/download", - "sha256": "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" + "url": "https://static.crates.io/crates/termtree/0.5.1/download", + "sha256": "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" } }, "targets": [ @@ -15889,14 +13887,14 @@ "compile_data_glob": [ "**" ], - "edition": "2018", - "version": "0.4.1" + "edition": "2021", + "version": "0.5.1" }, "license": "MIT", "license_ids": [ "MIT" ], - "license_file": "LICENSE" + "license_file": "LICENSE-MIT" }, "thiserror 1.0.69": { "name": "thiserror", @@ -15964,6 +13962,9 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -15975,14 +13976,14 @@ ], "license_file": "LICENSE-APACHE" }, - "thiserror 2.0.6": { + "thiserror 2.0.17": { "name": "thiserror", - "version": "2.0.6", + "version": "2.0.17", "package_url": "https://github.com/dtolnay/thiserror", "repository": { "Http": { - "url": "https://static.crates.io/crates/thiserror/2.0.6/download", - "sha256": "8fec2a1820ebd077e2b90c4df007bebf344cd394098a13c563957d0afc83ea47" + "url": "https://static.crates.io/crates/thiserror/2.0.17/download", + "sha256": "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" } }, "targets": [ @@ -16026,7 +14027,7 @@ "deps": { "common": [ { - "id": "thiserror 2.0.6", + "id": "thiserror 2.0.17", "target": "build_script_build" } ], @@ -16036,18 +14037,21 @@ "proc_macro_deps": { "common": [ { - "id": "thiserror-impl 2.0.6", + "id": "thiserror-impl 2.0.17", "target": "thiserror_impl" } ], "selects": {} }, - "version": "2.0.6" + "version": "2.0.17" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -16091,15 +14095,15 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "syn 2.0.101", + "id": "syn 2.0.106", "target": "syn" } ], @@ -16115,14 +14119,14 @@ ], "license_file": "LICENSE-APACHE" }, - "thiserror-impl 2.0.6": { + "thiserror-impl 2.0.17": { "name": "thiserror-impl", - "version": "2.0.6", + "version": "2.0.17", "package_url": "https://github.com/dtolnay/thiserror", "repository": { "Http": { - "url": "https://static.crates.io/crates/thiserror-impl/2.0.6/download", - "sha256": "d65750cab40f4ff1929fb1ba509e9914eb756131cef4210da8d5d700d26f6312" + "url": "https://static.crates.io/crates/thiserror-impl/2.0.17/download", + "sha256": "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" } }, "targets": [ @@ -16147,22 +14151,22 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "syn 2.0.101", + "id": "syn 2.0.106", "target": "syn" } ], "selects": {} }, "edition": "2021", - "version": "2.0.6" + "version": "2.0.17" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -16171,14 +14175,14 @@ ], "license_file": "LICENSE-APACHE" }, - "time 0.3.36": { + "time 0.3.44": { "name": "time", - "version": "0.3.36", + "version": "0.3.44", "package_url": "https://github.com/time-rs/time", "repository": { "Http": { - "url": "https://static.crates.io/crates/time/0.3.36/download", - "sha256": "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" + "url": "https://static.crates.io/crates/time/0.3.44/download", + "sha256": "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" } }, "targets": [ @@ -16211,7 +14215,7 @@ "deps": { "common": [ { - "id": "deranged 0.3.11", + "id": "deranged 0.5.4", "target": "deranged" }, { @@ -16223,7 +14227,7 @@ "target": "powerfmt" }, { - "id": "time-core 0.1.2", + "id": "time-core 0.1.6", "target": "time_core" } ], @@ -16233,13 +14237,13 @@ "proc_macro_deps": { "common": [ { - "id": "time-macros 0.2.18", + "id": "time-macros 0.2.24", "target": "time_macros" } ], "selects": {} }, - "version": "0.3.36" + "version": "0.3.44" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -16248,14 +14252,14 @@ ], "license_file": "LICENSE-Apache" }, - "time-core 0.1.2": { + "time-core 0.1.6": { "name": "time-core", - "version": "0.1.2", + "version": "0.1.6", "package_url": "https://github.com/time-rs/time", "repository": { "Http": { - "url": "https://static.crates.io/crates/time-core/0.1.2/download", - "sha256": "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + "url": "https://static.crates.io/crates/time-core/0.1.6/download", + "sha256": "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" } }, "targets": [ @@ -16278,7 +14282,7 @@ "**" ], "edition": "2021", - "version": "0.1.2" + "version": "0.1.6" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -16287,14 +14291,14 @@ ], "license_file": "LICENSE-Apache" }, - "time-macros 0.2.18": { + "time-macros 0.2.24": { "name": "time-macros", - "version": "0.2.18", + "version": "0.2.24", "package_url": "https://github.com/time-rs/time", "repository": { "Http": { - "url": "https://static.crates.io/crates/time-macros/0.2.18/download", - "sha256": "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" + "url": "https://static.crates.io/crates/time-macros/0.2.24/download", + "sha256": "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" } }, "targets": [ @@ -16323,14 +14327,14 @@ "target": "num_conv" }, { - "id": "time-core 0.1.2", + "id": "time-core 0.1.6", "target": "time_core" } ], "selects": {} }, "edition": "2021", - "version": "0.2.18" + "version": "0.2.24" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -16339,14 +14343,14 @@ ], "license_file": "LICENSE-Apache" }, - "tinystr 0.7.6": { + "tinystr 0.8.1": { "name": "tinystr", - "version": "0.7.6", + "version": "0.8.1", "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/tinystr/0.7.6/download", - "sha256": "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" + "url": "https://static.crates.io/crates/tinystr/0.8.1/download", + "sha256": "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" } }, "targets": [ @@ -16378,7 +14382,7 @@ "deps": { "common": [ { - "id": "zerovec 0.10.4", + "id": "zerovec 0.11.4", "target": "zerovec" } ], @@ -16394,7 +14398,7 @@ ], "selects": {} }, - "version": "0.7.6" + "version": "0.8.1" }, "license": "Unicode-3.0", "license_ids": [ @@ -16402,14 +14406,14 @@ ], "license_file": "LICENSE" }, - "tinyvec 1.6.0": { + "tinyvec 1.10.0": { "name": "tinyvec", - "version": "1.6.0", + "version": "1.10.0", "package_url": "https://github.com/Lokathor/tinyvec", "repository": { "Http": { - "url": "https://static.crates.io/crates/tinyvec/1.6.0/download", - "sha256": "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" + "url": "https://static.crates.io/crates/tinyvec/1.10.0/download", + "sha256": "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" } }, "targets": [ @@ -16421,286 +14425,116 @@ "allow_empty": true, "include": [ "**/*.rs" - ] - } - } - } - ], - "library_target_name": "tinyvec", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2018", - "version": "1.6.0" - }, - "license": "Zlib OR Apache-2.0 OR MIT", - "license_ids": [ - "Apache-2.0", - "MIT", - "Zlib" - ], - "license_file": "LICENSE-APACHE.md" - }, - "tinyvec_macros 0.1.1": { - "name": "tinyvec_macros", - "version": "0.1.1", - "package_url": "https://github.com/Soveu/tinyvec_macros", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/tinyvec_macros/0.1.1/download", - "sha256": "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - } - }, - "targets": [ - { - "Library": { - "crate_name": "tinyvec_macros", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "tinyvec_macros", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2018", - "version": "0.1.1" - }, - "license": "MIT OR Apache-2.0 OR Zlib", - "license_ids": [ - "Apache-2.0", - "MIT", - "Zlib" - ], - "license_file": "LICENSE-APACHE.md" - }, - "tokio 1.47.1": { - "name": "tokio", - "version": "1.47.1", - "package_url": "https://github.com/tokio-rs/tokio", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/tokio/1.47.1/download", - "sha256": "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" - } - }, - "targets": [ - { - "Library": { - "crate_name": "tokio", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "tokio", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "libc", - "macros", - "mio", - "net", - "rt", - "rt-multi-thread", - "socket2", - "tokio-macros" - ], - "selects": { - "aarch64-apple-darwin": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "aarch64-apple-ios": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "aarch64-apple-ios-sim": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "aarch64-linux-android": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "aarch64-pc-windows-msvc": [ - "bytes", - "default", - "io-util", - "sync", - "time", - "windows-sys" - ], - "aarch64-unknown-fuchsia": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "aarch64-unknown-linux-gnu": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "aarch64-unknown-nixos-gnu": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "aarch64-unknown-nto-qnx710": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "arm-unknown-linux-gnueabi": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "armv7-linux-androideabi": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "armv7-unknown-linux-gnueabi": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "i686-apple-darwin": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "i686-linux-android": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "i686-pc-windows-msvc": [ - "bytes", - "default", - "io-util", - "sync", - "time", - "windows-sys" - ], - "i686-unknown-freebsd": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "i686-unknown-linux-gnu": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "powerpc-unknown-linux-gnu": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "riscv32imc-unknown-none-elf": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "riscv64gc-unknown-none-elf": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "s390x-unknown-linux-gnu": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "thumbv7em-none-eabi": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "thumbv8m.main-none-eabi": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "x86_64-apple-darwin": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "x86_64-apple-ios": [ + ] + } + } + } + ], + "library_target_name": "tinyvec", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "1.10.0" + }, + "license": "Zlib OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT", + "Zlib" + ], + "license_file": "LICENSE-APACHE.md" + }, + "tinyvec_macros 0.1.1": { + "name": "tinyvec_macros", + "version": "0.1.1", + "package_url": "https://github.com/Soveu/tinyvec_macros", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tinyvec_macros/0.1.1/download", + "sha256": "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tinyvec_macros", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tinyvec_macros", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "0.1.1" + }, + "license": "MIT OR Apache-2.0 OR Zlib", + "license_ids": [ + "Apache-2.0", + "MIT", + "Zlib" + ], + "license_file": "LICENSE-APACHE.md" + }, + "tokio 1.47.1": { + "name": "tokio", + "version": "1.47.1", + "package_url": "https://github.com/tokio-rs/tokio", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tokio/1.47.1/download", + "sha256": "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tokio", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tokio", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "libc", + "macros", + "mio", + "net", + "rt", + "rt-multi-thread", + "socket2", + "tokio-macros" + ], + "selects": { + "aarch64-apple-darwin": [ "bytes", "default", "io-util", "sync", "time" ], - "x86_64-linux-android": [ + "aarch64-unknown-linux-gnu": [ "bytes", "default", "io-util", @@ -16715,202 +14549,41 @@ "time", "windows-sys" ], - "x86_64-unknown-freebsd": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "x86_64-unknown-fuchsia": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], "x86_64-unknown-linux-gnu": [ "bytes", "default", "io-util", - "sync", - "time" - ], - "x86_64-unknown-nixos-gnu": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ], - "x86_64-unknown-none": [ - "bytes", - "default", - "io-util", - "sync", - "time" - ] - } - }, - "deps": { - "common": [ - { - "id": "mio 1.0.2", - "target": "mio" - }, - { - "id": "pin-project-lite 0.2.14", - "target": "pin_project_lite" - } - ], - "selects": { - "aarch64-apple-darwin": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "aarch64-apple-ios": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "aarch64-apple-ios-sim": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "aarch64-linux-android": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "aarch64-pc-windows-msvc": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - }, - { - "id": "windows-sys 0.59.0", - "target": "windows_sys" - } - ], - "aarch64-unknown-fuchsia": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "aarch64-unknown-linux-gnu": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "aarch64-unknown-nixos-gnu": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "aarch64-unknown-nto-qnx710": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "arm-unknown-linux-gnueabi": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } + "sync", + "time" ], - "armv7-linux-androideabi": [ + "x86_64-unknown-nixos-gnu": [ + "bytes", + "default", + "io-util", + "sync", + "time" + ] + } + }, + "deps": { + "common": [ + { + "id": "mio 1.0.4", + "target": "mio" + }, + { + "id": "pin-project-lite 0.2.16", + "target": "pin_project_lite" + } + ], + "selects": { + "aarch64-apple-darwin": [ { - "id": "bytes 1.9.0", + "id": "bytes 1.10.1", "target": "bytes" }, { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" }, { @@ -16918,13 +14591,13 @@ "target": "socket2" } ], - "armv7-unknown-linux-gnueabi": [ + "aarch64-unknown-linux-gnu": [ { - "id": "bytes 1.9.0", + "id": "bytes 1.10.1", "target": "bytes" }, { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" }, { @@ -16934,207 +14607,27 @@ ], "cfg(all(tokio_uring, target_os = \"linux\"))": [ { - "id": "io-uring 0.7.8", + "id": "io-uring 0.7.10", "target": "io_uring" }, { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" }, { - "id": "slab 0.4.9", + "id": "slab 0.4.11", "target": "slab" } ], "cfg(tokio_taskdump)": [ { - "id": "backtrace 0.3.71", + "id": "backtrace 0.3.76", "target": "backtrace" } ], - "i686-apple-darwin": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "i686-linux-android": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "i686-pc-windows-msvc": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - }, - { - "id": "windows-sys 0.59.0", - "target": "windows_sys" - } - ], - "i686-unknown-freebsd": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "i686-unknown-linux-gnu": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "powerpc-unknown-linux-gnu": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "riscv32imc-unknown-none-elf": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "riscv64gc-unknown-none-elf": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "s390x-unknown-linux-gnu": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "thumbv7em-none-eabi": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "thumbv8m.main-none-eabi": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "x86_64-apple-darwin": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "x86_64-apple-ios": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "x86_64-linux-android": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], "x86_64-pc-windows-msvc": [ { - "id": "bytes 1.9.0", + "id": "bytes 1.10.1", "target": "bytes" }, { @@ -17146,41 +14639,13 @@ "target": "windows_sys" } ], - "x86_64-unknown-freebsd": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], - "x86_64-unknown-fuchsia": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "libc 0.2.174", - "target": "libc" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } - ], "x86_64-unknown-linux-gnu": [ { - "id": "bytes 1.9.0", + "id": "bytes 1.10.1", "target": "bytes" }, { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" }, { @@ -17190,41 +14655,690 @@ ], "x86_64-unknown-nixos-gnu": [ { - "id": "bytes 1.9.0", + "id": "bytes 1.10.1", "target": "bytes" }, { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" }, { "id": "socket2 0.6.0", "target": "socket2" } - ], - "x86_64-unknown-none": [ - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "socket2 0.6.0", - "target": "socket2" - } ] } }, - "edition": "2021", - "proc_macro_deps": { + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "tokio-macros 2.5.0", + "target": "tokio_macros" + } + ], + "selects": {} + }, + "version": "1.47.1" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "tokio-macros 2.5.0": { + "name": "tokio-macros", + "version": "2.5.0", + "package_url": "https://github.com/tokio-rs/tokio", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tokio-macros/2.5.0/download", + "sha256": "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" + } + }, + "targets": [ + { + "ProcMacro": { + "crate_name": "tokio_macros", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tokio_macros", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "proc-macro2 1.0.101", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.41", + "target": "quote" + }, + { + "id": "syn 2.0.106", + "target": "syn" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "2.5.0" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "tokio-rustls 0.26.4": { + "name": "tokio-rustls", + "version": "0.26.4", + "package_url": "https://github.com/rustls/tokio-rustls", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tokio-rustls/0.26.4/download", + "sha256": "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tokio_rustls", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tokio_rustls", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "ring", + "tls12" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "rustls 0.23.32", + "target": "rustls" + }, + { + "id": "tokio 1.47.1", + "target": "tokio" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.26.4" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "toml 0.9.7": { + "name": "toml", + "version": "0.9.7", + "package_url": "https://github.com/toml-rs/toml", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/toml/0.9.7/download", + "sha256": "00e5e5d9bf2475ac9d4f0d9edab68cc573dc2fd644b0dba36b0c30a92dd9eaa0" + } + }, + "targets": [ + { + "Library": { + "crate_name": "toml", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "toml", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "display", + "parse", + "serde", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "serde_core 1.0.228", + "target": "serde_core" + }, + { + "id": "serde_spanned 1.0.2", + "target": "serde_spanned" + }, + { + "id": "toml_datetime 0.7.2", + "target": "toml_datetime" + }, + { + "id": "toml_parser 1.0.3", + "target": "toml_parser" + }, + { + "id": "toml_writer 1.0.3", + "target": "toml_writer" + }, + { + "id": "winnow 0.7.13", + "target": "winnow" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.9.7" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "toml_datetime 0.7.2": { + "name": "toml_datetime", + "version": "0.7.2", + "package_url": "https://github.com/toml-rs/toml", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/toml_datetime/0.7.2/download", + "sha256": "32f1085dec27c2b6632b04c80b3bb1b4300d6495d1e129693bdda7d91e72eec1" + } + }, + "targets": [ + { + "Library": { + "crate_name": "toml_datetime", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "toml_datetime", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "serde", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "serde_core 1.0.228", + "target": "serde_core" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.7.2" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "toml_parser 1.0.3": { + "name": "toml_parser", + "version": "1.0.3", + "package_url": "https://github.com/toml-rs/toml", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/toml_parser/1.0.3/download", + "sha256": "4cf893c33be71572e0e9aa6dd15e6677937abd686b066eac3f8cd3531688a627" + } + }, + "targets": [ + { + "Library": { + "crate_name": "toml_parser", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "toml_parser", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "winnow 0.7.13", + "target": "winnow" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.0.3" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "toml_writer 1.0.3": { + "name": "toml_writer", + "version": "1.0.3", + "package_url": "https://github.com/toml-rs/toml", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/toml_writer/1.0.3/download", + "sha256": "d163a63c116ce562a22cda521fcc4d79152e7aba014456fb5eb442f6d6a10109" + } + }, + "targets": [ + { + "Library": { + "crate_name": "toml_writer", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "toml_writer", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "std" + ], + "selects": {} + }, + "edition": "2021", + "version": "1.0.3" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "tower 0.5.2": { + "name": "tower", + "version": "0.5.2", + "package_url": "https://github.com/tower-rs/tower", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tower/0.5.2/download", + "sha256": "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tower", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tower", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "__common", + "futures-core", + "futures-util", + "pin-project-lite", + "retry", + "sync_wrapper", + "timeout", + "tokio", + "util" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "futures-core 0.3.31", + "target": "futures_core" + }, + { + "id": "futures-util 0.3.31", + "target": "futures_util" + }, + { + "id": "pin-project-lite 0.2.16", + "target": "pin_project_lite" + }, + { + "id": "sync_wrapper 1.0.2", + "target": "sync_wrapper" + }, + { + "id": "tokio 1.47.1", + "target": "tokio" + }, + { + "id": "tower-layer 0.3.3", + "target": "tower_layer" + }, + { + "id": "tower-service 0.3.3", + "target": "tower_service" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.5.2" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "tower-http 0.6.6": { + "name": "tower-http", + "version": "0.6.6", + "package_url": "https://github.com/tower-rs/tower-http", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tower-http/0.6.6/download", + "sha256": "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tower_http", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tower_http", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "follow-redirect", + "futures-util", + "iri-string", + "tower" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "bitflags 2.9.4", + "target": "bitflags" + }, + { + "id": "bytes 1.10.1", + "target": "bytes" + }, + { + "id": "futures-util 0.3.31", + "target": "futures_util" + }, + { + "id": "http 1.3.1", + "target": "http" + }, + { + "id": "http-body 1.0.1", + "target": "http_body" + }, + { + "id": "iri-string 0.7.8", + "target": "iri_string" + }, + { + "id": "pin-project-lite 0.2.16", + "target": "pin_project_lite" + }, + { + "id": "tower 0.5.2", + "target": "tower" + }, + { + "id": "tower-layer 0.3.3", + "target": "tower_layer" + }, + { + "id": "tower-service 0.3.3", + "target": "tower_service" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.6.6" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "tower-layer 0.3.3": { + "name": "tower-layer", + "version": "0.3.3", + "package_url": "https://github.com/tower-rs/tower", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tower-layer/0.3.3/download", + "sha256": "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tower_layer", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tower_layer", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "0.3.3" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "tower-service 0.3.3": { + "name": "tower-service", + "version": "0.3.3", + "package_url": "https://github.com/tower-rs/tower", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tower-service/0.3.3/download", + "sha256": "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tower_service", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tower_service", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "0.3.3" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "tracing 0.1.41": { + "name": "tracing", + "version": "0.1.41", + "package_url": "https://github.com/tokio-rs/tracing", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/tracing/0.1.41/download", + "sha256": "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" + } + }, + "targets": [ + { + "Library": { + "crate_name": "tracing", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "tracing", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, + "deps": { "common": [ { - "id": "tokio-macros 2.5.0", - "target": "tokio_macros" + "id": "pin-project-lite 0.2.16", + "target": "pin_project_lite" + }, + { + "id": "tracing-core 0.1.34", + "target": "tracing_core" } ], "selects": {} }, - "version": "1.47.1" + "edition": "2018", + "version": "0.1.41" }, "license": "MIT", "license_ids": [ @@ -17232,20 +15346,20 @@ ], "license_file": "LICENSE" }, - "tokio-macros 2.5.0": { - "name": "tokio-macros", - "version": "2.5.0", - "package_url": "https://github.com/tokio-rs/tokio", + "tracing-core 0.1.34": { + "name": "tracing-core", + "version": "0.1.34", + "package_url": "https://github.com/tokio-rs/tracing", "repository": { "Http": { - "url": "https://static.crates.io/crates/tokio-macros/2.5.0/download", - "sha256": "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" + "url": "https://static.crates.io/crates/tracing-core/0.1.34/download", + "sha256": "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" } }, "targets": [ { - "ProcMacro": { - "crate_name": "tokio_macros", + "Library": { + "crate_name": "tracing_core", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -17256,30 +15370,29 @@ } } ], - "library_target_name": "tokio_macros", + "library_target_name": "tracing_core", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "once_cell", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "proc-macro2 1.0.95", - "target": "proc_macro2" - }, - { - "id": "quote 1.0.40", - "target": "quote" - }, - { - "id": "syn 2.0.101", - "target": "syn" + "id": "once_cell 1.21.3", + "target": "once_cell" } ], "selects": {} }, - "edition": "2021", - "version": "2.5.0" + "edition": "2018", + "version": "0.1.34" }, "license": "MIT", "license_ids": [ @@ -17287,20 +15400,20 @@ ], "license_file": "LICENSE" }, - "tokio-rustls 0.26.0": { - "name": "tokio-rustls", - "version": "0.26.0", - "package_url": "https://github.com/rustls/tokio-rustls", + "try-lock 0.2.5": { + "name": "try-lock", + "version": "0.2.5", + "package_url": "https://github.com/seanmonstar/try-lock", "repository": { "Http": { - "url": "https://static.crates.io/crates/tokio-rustls/0.26.0/download", - "sha256": "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" + "url": "https://static.crates.io/crates/try-lock/0.2.5/download", + "sha256": "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" } }, "targets": [ { "Library": { - "crate_name": "tokio_rustls", + "crate_name": "try_lock", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -17311,60 +15424,145 @@ } } ], - "library_target_name": "tokio_rustls", + "library_target_name": "try_lock", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "ring", - "tls12" - ], - "selects": {} + "edition": "2015", + "version": "0.2.5" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "typenum 1.18.0": { + "name": "typenum", + "version": "1.18.0", + "package_url": "https://github.com/paholg/typenum", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/typenum/1.18.0/download", + "sha256": "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" + } + }, + "targets": [ + { + "Library": { + "crate_name": "typenum", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "typenum", + "common_attrs": { + "compile_data_glob": [ + "**" + ], "deps": { "common": [ { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types", - "alias": "pki_types" - }, - { - "id": "tokio 1.47.1", - "target": "tokio" + "id": "typenum 1.18.0", + "target": "build_script_build" } ], "selects": {} }, - "edition": "2021", - "version": "0.26.0" + "edition": "2018", + "version": "1.18.0" }, - "license": "MIT/Apache-2.0", + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], + "license_file": "LICENSE" + }, + "unicode-ident 1.0.19": { + "name": "unicode-ident", + "version": "1.0.19", + "package_url": "https://github.com/dtolnay/unicode-ident", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/unicode-ident/1.0.19/download", + "sha256": "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" + } + }, + "targets": [ + { + "Library": { + "crate_name": "unicode_ident", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "unicode_ident", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "1.0.19" + }, + "license": "(MIT OR Apache-2.0) AND Unicode-3.0", + "license_ids": [ + "Apache-2.0", + "MIT", + "Unicode-3.0" + ], "license_file": "LICENSE-APACHE" }, - "toml 0.9.5": { - "name": "toml", - "version": "0.9.5", - "package_url": "https://github.com/toml-rs/toml", + "untrusted 0.9.0": { + "name": "untrusted", + "version": "0.9.0", + "package_url": "https://github.com/briansmith/untrusted", "repository": { "Http": { - "url": "https://static.crates.io/crates/toml/0.9.5/download", - "sha256": "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" + "url": "https://static.crates.io/crates/untrusted/0.9.0/download", + "sha256": "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" } }, "targets": [ { "Library": { - "crate_name": "toml", + "crate_name": "untrusted", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -17375,7 +15573,45 @@ } } ], - "library_target_name": "toml", + "library_target_name": "untrusted", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "0.9.0" + }, + "license": "ISC", + "license_ids": [ + "ISC" + ], + "license_file": "LICENSE.txt" + }, + "url 2.5.7": { + "name": "url", + "version": "2.5.7", + "package_url": "https://github.com/servo/rust-url", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/url/2.5.7/download", + "sha256": "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" + } + }, + "targets": [ + { + "Library": { + "crate_name": "url", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "url", "common_attrs": { "compile_data_glob": [ "**" @@ -17383,8 +15619,6 @@ "crate_features": { "common": [ "default", - "display", - "parse", "serde", "std" ], @@ -17393,34 +15627,26 @@ "deps": { "common": [ { - "id": "serde 1.0.219", - "target": "serde" - }, - { - "id": "serde_spanned 1.0.0", - "target": "serde_spanned" - }, - { - "id": "toml_datetime 0.7.0", - "target": "toml_datetime" + "id": "form_urlencoded 1.2.2", + "target": "form_urlencoded" }, { - "id": "toml_parser 1.0.2", - "target": "toml_parser" + "id": "idna 1.1.0", + "target": "idna" }, { - "id": "toml_writer 1.0.2", - "target": "toml_writer" + "id": "percent-encoding 2.3.2", + "target": "percent_encoding" }, { - "id": "winnow 0.7.10", - "target": "winnow" + "id": "serde 1.0.228", + "target": "serde" } ], "selects": {} }, - "edition": "2021", - "version": "0.9.5" + "edition": "2018", + "version": "2.5.7" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -17429,20 +15655,20 @@ ], "license_file": "LICENSE-APACHE" }, - "toml_datetime 0.7.0": { - "name": "toml_datetime", - "version": "0.7.0", - "package_url": "https://github.com/toml-rs/toml", + "utf8_iter 1.0.4": { + "name": "utf8_iter", + "version": "1.0.4", + "package_url": "https://github.com/hsivonen/utf8_iter", "repository": { "Http": { - "url": "https://static.crates.io/crates/toml_datetime/0.7.0/download", - "sha256": "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" + "url": "https://static.crates.io/crates/utf8_iter/1.0.4/download", + "sha256": "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" } }, "targets": [ { "Library": { - "crate_name": "toml_datetime", + "crate_name": "utf8_iter", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -17453,52 +15679,35 @@ } } ], - "library_target_name": "toml_datetime", + "library_target_name": "utf8_iter", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "alloc", - "serde", - "std" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "serde 1.0.219", - "target": "serde" - } - ], - "selects": {} - }, "edition": "2021", - "version": "0.7.0" + "version": "1.0.4" }, - "license": "MIT OR Apache-2.0", + "license": "Apache-2.0 OR MIT", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "toml_parser 1.0.2": { - "name": "toml_parser", - "version": "1.0.2", - "package_url": "https://github.com/toml-rs/toml", + "utf8parse 0.2.2": { + "name": "utf8parse", + "version": "0.2.2", + "package_url": "https://github.com/alacritty/vte", "repository": { "Http": { - "url": "https://static.crates.io/crates/toml_parser/1.0.2/download", - "sha256": "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" + "url": "https://static.crates.io/crates/utf8parse/0.2.2/download", + "sha256": "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" } }, "targets": [ { "Library": { - "crate_name": "toml_parser", + "crate_name": "utf8parse", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -17509,51 +15718,41 @@ } } ], - "library_target_name": "toml_parser", + "library_target_name": "utf8parse", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "alloc", - "std" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "winnow 0.7.10", - "target": "winnow" - } + "default" ], "selects": {} }, - "edition": "2021", - "version": "1.0.2" + "edition": "2018", + "version": "0.2.2" }, - "license": "MIT OR Apache-2.0", + "license": "Apache-2.0 OR MIT", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "toml_writer 1.0.2": { - "name": "toml_writer", - "version": "1.0.2", - "package_url": "https://github.com/toml-rs/toml", + "uuid 1.18.1": { + "name": "uuid", + "version": "1.18.1", + "package_url": "https://github.com/uuid-rs/uuid", "repository": { "Http": { - "url": "https://static.crates.io/crates/toml_writer/1.0.2/download", - "sha256": "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" + "url": "https://static.crates.io/crates/uuid/1.18.1/download", + "sha256": "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" } }, "targets": [ { "Library": { - "crate_name": "toml_writer", + "crate_name": "uuid", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -17564,42 +15763,42 @@ } } ], - "library_target_name": "toml_writer", + "library_target_name": "uuid", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "alloc", + "default", "std" ], "selects": {} }, - "edition": "2021", - "version": "1.0.2" + "edition": "2018", + "version": "1.18.1" }, - "license": "MIT OR Apache-2.0", + "license": "Apache-2.0 OR MIT", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "tower 0.5.2": { - "name": "tower", - "version": "0.5.2", - "package_url": "https://github.com/tower-rs/tower", + "version_check 0.9.5": { + "name": "version_check", + "version": "0.9.5", + "package_url": "https://github.com/SergioBenitez/version_check", "repository": { "Http": { - "url": "https://static.crates.io/crates/tower/0.5.2/download", - "sha256": "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" + "url": "https://static.crates.io/crates/version_check/0.9.5/download", + "sha256": "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" } }, "targets": [ { "Library": { - "crate_name": "tower", + "crate_name": "version_check", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -17610,81 +15809,35 @@ } } ], - "library_target_name": "tower", + "library_target_name": "version_check", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "__common", - "futures-core", - "futures-util", - "pin-project-lite", - "retry", - "sync_wrapper", - "timeout", - "tokio", - "util" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "futures-core 0.3.30", - "target": "futures_core" - }, - { - "id": "futures-util 0.3.30", - "target": "futures_util" - }, - { - "id": "pin-project-lite 0.2.14", - "target": "pin_project_lite" - }, - { - "id": "sync_wrapper 1.0.1", - "target": "sync_wrapper" - }, - { - "id": "tokio 1.47.1", - "target": "tokio" - }, - { - "id": "tower-layer 0.3.3", - "target": "tower_layer" - }, - { - "id": "tower-service 0.3.3", - "target": "tower_service" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.5.2" + "edition": "2015", + "version": "0.9.5" }, - "license": "MIT", + "license": "MIT/Apache-2.0", "license_ids": [ + "Apache-2.0", "MIT" ], - "license_file": "LICENSE" + "license_file": "LICENSE-APACHE" }, - "tower-http 0.6.6": { - "name": "tower-http", - "version": "0.6.6", - "package_url": "https://github.com/tower-rs/tower-http", + "wait-timeout 0.2.1": { + "name": "wait-timeout", + "version": "0.2.1", + "package_url": "https://github.com/alexcrichton/wait-timeout", "repository": { "Http": { - "url": "https://static.crates.io/crates/tower-http/0.6.6/download", - "sha256": "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" + "url": "https://static.crates.io/crates/wait-timeout/0.2.1/download", + "sha256": "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" } }, "targets": [ { "Library": { - "crate_name": "tower_http", + "crate_name": "wait_timeout", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -17695,88 +15848,46 @@ } } ], - "library_target_name": "tower_http", + "library_target_name": "wait_timeout", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "follow-redirect", - "futures-util", - "iri-string", - "tower" - ], - "selects": {} - }, "deps": { - "common": [ - { - "id": "bitflags 2.5.0", - "target": "bitflags" - }, - { - "id": "bytes 1.9.0", - "target": "bytes" - }, - { - "id": "futures-util 0.3.30", - "target": "futures_util" - }, - { - "id": "http 1.1.0", - "target": "http" - }, - { - "id": "http-body 1.0.0", - "target": "http_body" - }, - { - "id": "iri-string 0.7.8", - "target": "iri_string" - }, - { - "id": "pin-project-lite 0.2.14", - "target": "pin_project_lite" - }, - { - "id": "tower 0.5.2", - "target": "tower" - }, - { - "id": "tower-layer 0.3.3", - "target": "tower_layer" - }, - { - "id": "tower-service 0.3.3", - "target": "tower_service" - } - ], - "selects": {} + "common": [], + "selects": { + "cfg(unix)": [ + { + "id": "libc 0.2.176", + "target": "libc" + } + ] + } }, - "edition": "2018", - "version": "0.6.6" + "edition": "2015", + "version": "0.2.1" }, - "license": "MIT", + "license": "MIT/Apache-2.0", "license_ids": [ + "Apache-2.0", "MIT" ], - "license_file": "LICENSE" + "license_file": "LICENSE-APACHE" }, - "tower-layer 0.3.3": { - "name": "tower-layer", - "version": "0.3.3", - "package_url": "https://github.com/tower-rs/tower", + "walkdir 2.5.0": { + "name": "walkdir", + "version": "2.5.0", + "package_url": "https://github.com/BurntSushi/walkdir", "repository": { "Http": { - "url": "https://static.crates.io/crates/tower-layer/0.3.3/download", - "sha256": "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + "url": "https://static.crates.io/crates/walkdir/2.5.0/download", + "sha256": "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" } }, "targets": [ { "Library": { - "crate_name": "tower_layer", + "crate_name": "walkdir", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -17787,34 +15898,51 @@ } } ], - "library_target_name": "tower_layer", + "library_target_name": "walkdir", "common_attrs": { "compile_data_glob": [ "**" ], + "deps": { + "common": [ + { + "id": "same-file 1.0.6", + "target": "same_file" + } + ], + "selects": { + "cfg(windows)": [ + { + "id": "winapi-util 0.1.11", + "target": "winapi_util" + } + ] + } + }, "edition": "2018", - "version": "0.3.3" + "version": "2.5.0" }, - "license": "MIT", + "license": "Unlicense/MIT", "license_ids": [ - "MIT" + "MIT", + "Unlicense" ], - "license_file": "LICENSE" + "license_file": "LICENSE-MIT" }, - "tower-service 0.3.3": { - "name": "tower-service", - "version": "0.3.3", - "package_url": "https://github.com/tower-rs/tower", + "want 0.3.1": { + "name": "want", + "version": "0.3.1", + "package_url": "https://github.com/seanmonstar/want", "repository": { "Http": { - "url": "https://static.crates.io/crates/tower-service/0.3.3/download", - "sha256": "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + "url": "https://static.crates.io/crates/want/0.3.1/download", + "sha256": "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" } }, "targets": [ { "Library": { - "crate_name": "tower_service", + "crate_name": "want", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -17825,13 +15953,22 @@ } } ], - "library_target_name": "tower_service", + "library_target_name": "want", "common_attrs": { "compile_data_glob": [ "**" ], + "deps": { + "common": [ + { + "id": "try-lock 0.2.5", + "target": "try_lock" + } + ], + "selects": {} + }, "edition": "2018", - "version": "0.3.3" + "version": "0.3.1" }, "license": "MIT", "license_ids": [ @@ -17839,20 +15976,20 @@ ], "license_file": "LICENSE" }, - "tracing 0.1.40": { - "name": "tracing", - "version": "0.1.40", - "package_url": "https://github.com/tokio-rs/tracing", + "wasi 0.11.1+wasi-snapshot-preview1": { + "name": "wasi", + "version": "0.11.1+wasi-snapshot-preview1", + "package_url": "https://github.com/bytecodealliance/wasi", "repository": { "Http": { - "url": "https://static.crates.io/crates/tracing/0.1.40/download", - "sha256": "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" + "url": "https://static.crates.io/crates/wasi/0.11.1+wasi-snapshot-preview1/download", + "sha256": "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" } }, "targets": [ { "Library": { - "crate_name": "tracing", + "crate_name": "wasi", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -17863,53 +16000,42 @@ } } ], - "library_target_name": "tracing", + "library_target_name": "wasi", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ + "default", "std" ], "selects": {} }, - "deps": { - "common": [ - { - "id": "pin-project-lite 0.2.14", - "target": "pin_project_lite" - }, - { - "id": "tracing-core 0.1.32", - "target": "tracing_core" - } - ], - "selects": {} - }, "edition": "2018", - "version": "0.1.40" + "version": "0.11.1+wasi-snapshot-preview1" }, - "license": "MIT", + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", "license_ids": [ + "Apache-2.0", "MIT" ], - "license_file": "LICENSE" + "license_file": "LICENSE-APACHE" }, - "tracing-core 0.1.32": { - "name": "tracing-core", - "version": "0.1.32", - "package_url": "https://github.com/tokio-rs/tracing", + "wasi 0.14.7+wasi-0.2.4": { + "name": "wasi", + "version": "0.14.7+wasi-0.2.4", + "package_url": "https://github.com/bytecodealliance/wasi-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/tracing-core/0.1.32/download", - "sha256": "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" + "url": "https://static.crates.io/crates/wasi/0.14.7+wasi-0.2.4/download", + "sha256": "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c" } }, "targets": [ { "Library": { - "crate_name": "tracing_core", + "crate_name": "wasi", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -17920,50 +16046,44 @@ } } ], - "library_target_name": "tracing_core", + "library_target_name": "wasi", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "once_cell", - "std" - ], - "selects": {} - }, "deps": { "common": [ { - "id": "once_cell 1.19.0", - "target": "once_cell" + "id": "wasip2 1.0.1+wasi-0.2.4", + "target": "wasip2" } ], "selects": {} }, - "edition": "2018", - "version": "0.1.32" + "edition": "2021", + "version": "0.14.7+wasi-0.2.4" }, - "license": "MIT", + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", "license_ids": [ + "Apache-2.0", "MIT" ], - "license_file": "LICENSE" + "license_file": "LICENSE-APACHE" }, - "try-lock 0.2.5": { - "name": "try-lock", - "version": "0.2.5", - "package_url": "https://github.com/seanmonstar/try-lock", + "wasip2 1.0.1+wasi-0.2.4": { + "name": "wasip2", + "version": "1.0.1+wasi-0.2.4", + "package_url": "https://github.com/bytecodealliance/wasi-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/try-lock/0.2.5/download", - "sha256": "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + "url": "https://static.crates.io/crates/wasip2/1.0.1+wasi-0.2.4/download", + "sha256": "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" } }, "targets": [ { "Library": { - "crate_name": "try_lock", + "crate_name": "wasip2", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -17974,34 +16094,44 @@ } } ], - "library_target_name": "try_lock", + "library_target_name": "wasip2", "common_attrs": { "compile_data_glob": [ "**" ], - "edition": "2015", - "version": "0.2.5" + "deps": { + "common": [ + { + "id": "wit-bindgen 0.46.0", + "target": "wit_bindgen" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.0.1+wasi-0.2.4" }, - "license": "MIT", + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", "license_ids": [ + "Apache-2.0", "MIT" ], - "license_file": "LICENSE" + "license_file": null }, - "typenum 1.17.0": { - "name": "typenum", - "version": "1.17.0", - "package_url": "https://github.com/paholg/typenum", + "wasm-bindgen 0.2.104": { + "name": "wasm-bindgen", + "version": "0.2.104", + "package_url": "https://github.com/wasm-bindgen/wasm-bindgen", "repository": { "Http": { - "url": "https://static.crates.io/crates/typenum/1.17.0/download", - "sha256": "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + "url": "https://static.crates.io/crates/wasm-bindgen/0.2.104/download", + "sha256": "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d" } }, "targets": [ { "Library": { - "crate_name": "typenum", + "crate_name": "wasm_bindgen", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18013,8 +16143,8 @@ }, { "BuildScript": { - "crate_name": "build_script_main", - "crate_root": "build/main.rs", + "crate_name": "build_script_build", + "crate_root": "build.rs", "srcs": { "allow_empty": true, "include": [ @@ -18024,52 +16154,102 @@ } } ], - "library_target_name": "typenum", + "library_target_name": "wasm_bindgen", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "typenum 1.17.0", - "target": "build_script_main" + "id": "cfg-if 1.0.3", + "target": "cfg_if" + }, + { + "id": "once_cell 1.21.3", + "target": "once_cell" + }, + { + "id": "wasm-bindgen 0.2.104", + "target": "build_script_build" + }, + { + "id": "wasm-bindgen-shared 0.2.104", + "target": "wasm_bindgen_shared" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "wasm-bindgen-macro 0.2.104", + "target": "wasm_bindgen_macro" } ], "selects": {} }, - "edition": "2018", - "version": "1.17.0" + "version": "0.2.104" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" - ] + ], + "link_deps": { + "common": [ + { + "id": "wasm-bindgen-shared 0.2.104", + "target": "wasm_bindgen_shared" + } + ], + "selects": {} + }, + "proc_macro_deps": { + "common": [ + { + "id": "rustversion 1.0.22", + "target": "rustversion", + "alias": "rustversion_compat" + } + ], + "selects": {} + } }, "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], - "license_file": "LICENSE" + "license_file": "LICENSE-APACHE" }, - "unicode-ident 1.0.13": { - "name": "unicode-ident", - "version": "1.0.13", - "package_url": "https://github.com/dtolnay/unicode-ident", + "wasm-bindgen-backend 0.2.104": { + "name": "wasm-bindgen-backend", + "version": "0.2.104", + "package_url": "https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/backend", "repository": { "Http": { - "url": "https://static.crates.io/crates/unicode-ident/1.0.13/download", - "sha256": "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" + "url": "https://static.crates.io/crates/wasm-bindgen-backend/0.2.104/download", + "sha256": "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19" } }, "targets": [ { "Library": { - "crate_name": "unicode_ident", + "crate_name": "wasm_bindgen_backend", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18080,36 +16260,64 @@ } } ], - "library_target_name": "unicode_ident", + "library_target_name": "wasm_bindgen_backend", "common_attrs": { "compile_data_glob": [ "**" ], - "edition": "2018", - "version": "1.0.13" + "deps": { + "common": [ + { + "id": "bumpalo 3.19.0", + "target": "bumpalo" + }, + { + "id": "log 0.4.28", + "target": "log" + }, + { + "id": "proc-macro2 1.0.101", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.41", + "target": "quote" + }, + { + "id": "syn 2.0.106", + "target": "syn" + }, + { + "id": "wasm-bindgen-shared 0.2.104", + "target": "wasm_bindgen_shared" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.2.104" }, - "license": "(MIT OR Apache-2.0) AND Unicode-DFS-2016", + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", - "MIT", - "Unicode-DFS-2016" + "MIT" ], "license_file": "LICENSE-APACHE" }, - "untrusted 0.9.0": { - "name": "untrusted", - "version": "0.9.0", - "package_url": "https://github.com/briansmith/untrusted", + "wasm-bindgen-futures 0.4.54": { + "name": "wasm-bindgen-futures", + "version": "0.4.54", + "package_url": "https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/futures", "repository": { "Http": { - "url": "https://static.crates.io/crates/untrusted/0.9.0/download", - "sha256": "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + "url": "https://static.crates.io/crates/wasm-bindgen-futures/0.4.54/download", + "sha256": "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c" } }, "targets": [ { "Library": { - "crate_name": "untrusted", + "crate_name": "wasm_bindgen_futures", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18120,34 +16328,70 @@ } } ], - "library_target_name": "untrusted", + "library_target_name": "wasm_bindgen_futures", "common_attrs": { "compile_data_glob": [ "**" ], - "edition": "2018", - "version": "0.9.0" + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "cfg-if 1.0.3", + "target": "cfg_if" + }, + { + "id": "js-sys 0.3.81", + "target": "js_sys" + }, + { + "id": "once_cell 1.21.3", + "target": "once_cell" + }, + { + "id": "wasm-bindgen 0.2.104", + "target": "wasm_bindgen" + } + ], + "selects": { + "cfg(target_feature = \"atomics\")": [ + { + "id": "web-sys 0.3.81", + "target": "web_sys" + } + ] + } + }, + "edition": "2021", + "version": "0.4.54" }, - "license": "ISC", + "license": "MIT OR Apache-2.0", "license_ids": [ - "ISC" + "Apache-2.0", + "MIT" ], - "license_file": "LICENSE.txt" - }, - "url 2.5.4": { - "name": "url", - "version": "2.5.4", - "package_url": "https://github.com/servo/rust-url", + "license_file": "LICENSE-APACHE" + }, + "wasm-bindgen-macro 0.2.104": { + "name": "wasm-bindgen-macro", + "version": "0.2.104", + "package_url": "https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/macro", "repository": { "Http": { - "url": "https://static.crates.io/crates/url/2.5.4/download", - "sha256": "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" + "url": "https://static.crates.io/crates/wasm-bindgen-macro/0.2.104/download", + "sha256": "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119" } }, "targets": [ { - "Library": { - "crate_name": "url", + "ProcMacro": { + "crate_name": "wasm_bindgen_macro", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18158,37 +16402,26 @@ } } ], - "library_target_name": "url", + "library_target_name": "wasm_bindgen_macro", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "default", - "std" - ], - "selects": {} - }, "deps": { "common": [ { - "id": "form_urlencoded 1.2.1", - "target": "form_urlencoded" - }, - { - "id": "idna 1.0.3", - "target": "idna" + "id": "quote 1.0.41", + "target": "quote" }, { - "id": "percent-encoding 2.3.1", - "target": "percent_encoding" + "id": "wasm-bindgen-macro-support 0.2.104", + "target": "wasm_bindgen_macro_support" } ], "selects": {} }, - "edition": "2018", - "version": "2.5.4" + "edition": "2021", + "version": "0.2.104" }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -18197,20 +16430,20 @@ ], "license_file": "LICENSE-APACHE" }, - "utf16_iter 1.0.5": { - "name": "utf16_iter", - "version": "1.0.5", - "package_url": "https://github.com/hsivonen/utf16_iter", + "wasm-bindgen-macro-support 0.2.104": { + "name": "wasm-bindgen-macro-support", + "version": "0.2.104", + "package_url": "https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/macro-support", "repository": { "Http": { - "url": "https://static.crates.io/crates/utf16_iter/1.0.5/download", - "sha256": "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + "url": "https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.104/download", + "sha256": "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" } }, "targets": [ { "Library": { - "crate_name": "utf16_iter", + "crate_name": "wasm_bindgen_macro_support", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18221,35 +16454,60 @@ } } ], - "library_target_name": "utf16_iter", + "library_target_name": "wasm_bindgen_macro_support", "common_attrs": { "compile_data_glob": [ "**" ], + "deps": { + "common": [ + { + "id": "proc-macro2 1.0.101", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.41", + "target": "quote" + }, + { + "id": "syn 2.0.106", + "target": "syn" + }, + { + "id": "wasm-bindgen-backend 0.2.104", + "target": "wasm_bindgen_backend" + }, + { + "id": "wasm-bindgen-shared 0.2.104", + "target": "wasm_bindgen_shared" + } + ], + "selects": {} + }, "edition": "2021", - "version": "1.0.5" + "version": "0.2.104" }, - "license": "Apache-2.0 OR MIT", + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "utf8_iter 1.0.4": { - "name": "utf8_iter", - "version": "1.0.4", - "package_url": "https://github.com/hsivonen/utf8_iter", + "wasm-bindgen-shared 0.2.104": { + "name": "wasm-bindgen-shared", + "version": "0.2.104", + "package_url": "https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/shared", "repository": { "Http": { - "url": "https://static.crates.io/crates/utf8_iter/1.0.4/download", - "sha256": "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + "url": "https://static.crates.io/crates/wasm-bindgen-shared/0.2.104/download", + "sha256": "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1" } }, "targets": [ { "Library": { - "crate_name": "utf8_iter", + "crate_name": "wasm_bindgen_shared", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18258,37 +16516,74 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], - "library_target_name": "utf8_iter", + "library_target_name": "wasm_bindgen_shared", "common_attrs": { "compile_data_glob": [ "**" ], + "deps": { + "common": [ + { + "id": "unicode-ident 1.0.19", + "target": "unicode_ident" + }, + { + "id": "wasm-bindgen-shared 0.2.104", + "target": "build_script_build" + } + ], + "selects": {} + }, "edition": "2021", - "version": "1.0.4" + "version": "0.2.104" }, - "license": "Apache-2.0 OR MIT", + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ], + "links": "wasm_bindgen" + }, + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "utf8parse 0.2.1": { - "name": "utf8parse", - "version": "0.2.1", - "package_url": "https://github.com/alacritty/vte", + "web-sys 0.3.81": { + "name": "web-sys", + "version": "0.3.81", + "package_url": "https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/web-sys", "repository": { "Http": { - "url": "https://static.crates.io/crates/utf8parse/0.2.1/download", - "sha256": "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + "url": "https://static.crates.io/crates/web-sys/0.3.81/download", + "sha256": "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120" } }, "targets": [ { "Library": { - "crate_name": "utf8parse", + "crate_name": "web_sys", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18299,41 +16594,73 @@ } } ], - "library_target_name": "utf8parse", + "library_target_name": "web_sys", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "default" + "AbortController", + "AbortSignal", + "Blob", + "BlobPropertyBag", + "EventTarget", + "File", + "FormData", + "Headers", + "ReadableStream", + "Request", + "RequestCache", + "RequestCredentials", + "RequestInit", + "RequestMode", + "Response", + "ServiceWorkerGlobalScope", + "Window", + "WorkerGlobalScope", + "default", + "std" ], "selects": {} }, - "edition": "2018", - "version": "0.2.1" + "deps": { + "common": [ + { + "id": "js-sys 0.3.81", + "target": "js_sys" + }, + { + "id": "wasm-bindgen 0.2.104", + "target": "wasm_bindgen" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.3.81" }, - "license": "Apache-2.0 OR MIT", + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "uuid 1.8.0": { - "name": "uuid", - "version": "1.8.0", - "package_url": "https://github.com/uuid-rs/uuid", + "web-time 1.1.0": { + "name": "web-time", + "version": "1.1.0", + "package_url": "https://github.com/daxpedda/web-time", "repository": { "Http": { - "url": "https://static.crates.io/crates/uuid/1.8.0/download", - "sha256": "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" + "url": "https://static.crates.io/crates/web-time/1.1.0/download", + "sha256": "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" } }, "targets": [ { "Library": { - "crate_name": "uuid", + "crate_name": "web_time", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18344,42 +16671,50 @@ } } ], - "library_target_name": "uuid", + "library_target_name": "web_time", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "default", - "std" - ], - "selects": {} + "deps": { + "common": [], + "selects": { + "cfg(all(target_family = \"wasm\", target_os = \"unknown\"))": [ + { + "id": "js-sys 0.3.81", + "target": "js_sys" + }, + { + "id": "wasm-bindgen 0.2.104", + "target": "wasm_bindgen" + } + ] + } }, - "edition": "2018", - "version": "1.8.0" + "edition": "2021", + "version": "1.1.0" }, - "license": "Apache-2.0 OR MIT", + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "version_check 0.9.4": { - "name": "version_check", - "version": "0.9.4", - "package_url": "https://github.com/SergioBenitez/version_check", + "webpki-roots 1.0.2": { + "name": "webpki-roots", + "version": "1.0.2", + "package_url": "https://github.com/rustls/webpki-roots", "repository": { "Http": { - "url": "https://static.crates.io/crates/version_check/0.9.4/download", - "sha256": "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + "url": "https://static.crates.io/crates/webpki-roots/1.0.2/download", + "sha256": "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" } }, "targets": [ { "Library": { - "crate_name": "version_check", + "crate_name": "webpki_roots", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18390,35 +16725,44 @@ } } ], - "library_target_name": "version_check", + "library_target_name": "webpki_roots", "common_attrs": { "compile_data_glob": [ "**" ], - "edition": "2015", - "version": "0.9.4" + "deps": { + "common": [ + { + "id": "rustls-pki-types 1.12.0", + "target": "rustls_pki_types", + "alias": "pki_types" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "1.0.2" }, - "license": "MIT/Apache-2.0", + "license": "CDLA-Permissive-2.0", "license_ids": [ - "Apache-2.0", - "MIT" + "CDLA-Permissive-2.0" ], - "license_file": "LICENSE-APACHE" + "license_file": "LICENSE" }, - "wait-timeout 0.2.0": { - "name": "wait-timeout", - "version": "0.2.0", - "package_url": "https://github.com/alexcrichton/wait-timeout", + "which 8.0.0": { + "name": "which", + "version": "8.0.0", + "package_url": "https://github.com/harryfei/which-rs.git", "repository": { "Http": { - "url": "https://static.crates.io/crates/wait-timeout/0.2.0/download", - "sha256": "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" + "url": "https://static.crates.io/crates/which/8.0.0/download", + "sha256": "d3fabb953106c3c8eea8306e4393700d7657561cb43122571b172bbfb7c7ba1d" } }, "targets": [ { "Library": { - "crate_name": "wait_timeout", + "crate_name": "which", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18429,46 +16773,102 @@ } } ], - "library_target_name": "wait_timeout", + "library_target_name": "which", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "default", + "real-sys" + ], + "selects": {} + }, "deps": { "common": [], "selects": { - "cfg(unix)": [ + "aarch64-apple-darwin": [ + { + "id": "env_home 0.1.0", + "target": "env_home" + }, + { + "id": "rustix 1.1.2", + "target": "rustix" + } + ], + "aarch64-unknown-linux-gnu": [ + { + "id": "env_home 0.1.0", + "target": "env_home" + }, + { + "id": "rustix 1.1.2", + "target": "rustix" + } + ], + "wasm32-wasip1": [ + { + "id": "rustix 1.1.2", + "target": "rustix" + } + ], + "x86_64-pc-windows-msvc": [ + { + "id": "env_home 0.1.0", + "target": "env_home" + }, + { + "id": "winsafe 0.0.19", + "target": "winsafe" + } + ], + "x86_64-unknown-linux-gnu": [ + { + "id": "env_home 0.1.0", + "target": "env_home" + }, { - "id": "libc 0.2.174", - "target": "libc" + "id": "rustix 1.1.2", + "target": "rustix" + } + ], + "x86_64-unknown-nixos-gnu": [ + { + "id": "env_home 0.1.0", + "target": "env_home" + }, + { + "id": "rustix 1.1.2", + "target": "rustix" } ] } }, - "edition": "2015", - "version": "0.2.0" + "edition": "2021", + "version": "8.0.0" }, - "license": "MIT/Apache-2.0", + "license": "MIT", "license_ids": [ - "Apache-2.0", "MIT" ], - "license_file": "LICENSE-APACHE" + "license_file": "LICENSE.txt" }, - "walkdir 2.5.0": { - "name": "walkdir", - "version": "2.5.0", - "package_url": "https://github.com/BurntSushi/walkdir", + "winapi 0.3.9": { + "name": "winapi", + "version": "0.3.9", + "package_url": "https://github.com/retep998/winapi-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/walkdir/2.5.0/download", - "sha256": "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" + "url": "https://static.crates.io/crates/winapi/0.3.9/download", + "sha256": "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" } }, "targets": [ { "Library": { - "crate_name": "walkdir", + "crate_name": "winapi", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18477,53 +16877,96 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], - "library_target_name": "walkdir", + "library_target_name": "winapi", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "fileapi", + "handleapi", + "processthreadsapi", + "std", + "sysinfoapi", + "winbase", + "winerror", + "winnt", + "winver" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "same-file 1.0.6", - "target": "same_file" + "id": "winapi 0.3.9", + "target": "build_script_build" } ], "selects": { - "cfg(windows)": [ + "i686-pc-windows-gnu": [ { - "id": "winapi-util 0.1.8", - "target": "winapi_util" + "id": "winapi-i686-pc-windows-gnu 0.4.0", + "target": "winapi_i686_pc_windows_gnu" + } + ], + "x86_64-pc-windows-gnu": [ + { + "id": "winapi-x86_64-pc-windows-gnu 0.4.0", + "target": "winapi_x86_64_pc_windows_gnu" } ] } }, - "edition": "2018", - "version": "2.5.0" + "edition": "2015", + "version": "0.3.9" }, - "license": "Unlicense/MIT", + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT/Apache-2.0", "license_ids": [ - "MIT", - "Unlicense" + "Apache-2.0", + "MIT" ], - "license_file": "LICENSE-MIT" + "license_file": "LICENSE-APACHE" }, - "want 0.3.1": { - "name": "want", - "version": "0.3.1", - "package_url": "https://github.com/seanmonstar/want", + "winapi-i686-pc-windows-gnu 0.4.0": { + "name": "winapi-i686-pc-windows-gnu", + "version": "0.4.0", + "package_url": "https://github.com/retep998/winapi-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/want/0.3.1/download", - "sha256": "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" + "url": "https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download", + "sha256": "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" } }, "targets": [ { "Library": { - "crate_name": "want", + "crate_name": "winapi_i686_pc_windows_gnu", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18532,9 +16975,21 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], - "library_target_name": "want", + "library_target_name": "winapi_i686_pc_windows_gnu", "common_attrs": { "compile_data_glob": [ "**" @@ -18542,35 +16997,47 @@ "deps": { "common": [ { - "id": "try-lock 0.2.5", - "target": "try_lock" + "id": "winapi-i686-pc-windows-gnu 0.4.0", + "target": "build_script_build" } ], "selects": {} }, - "edition": "2018", - "version": "0.3.1" + "edition": "2015", + "version": "0.4.0" }, - "license": "MIT", + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT/Apache-2.0", "license_ids": [ + "Apache-2.0", "MIT" ], - "license_file": "LICENSE" + "license_file": null }, - "wasi 0.11.0+wasi-snapshot-preview1": { - "name": "wasi", - "version": "0.11.0+wasi-snapshot-preview1", - "package_url": "https://github.com/bytecodealliance/wasi", + "winapi-util 0.1.11": { + "name": "winapi-util", + "version": "0.1.11", + "package_url": "https://github.com/BurntSushi/winapi-util", "repository": { "Http": { - "url": "https://static.crates.io/crates/wasi/0.11.0+wasi-snapshot-preview1/download", - "sha256": "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + "url": "https://static.crates.io/crates/winapi-util/0.1.11/download", + "sha256": "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" } }, "targets": [ { "Library": { - "crate_name": "wasi", + "crate_name": "winapi_util", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18581,42 +17048,46 @@ } } ], - "library_target_name": "wasi", + "library_target_name": "winapi_util", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "default", - "std" - ], - "selects": {} + "deps": { + "common": [], + "selects": { + "cfg(windows)": [ + { + "id": "windows-sys 0.61.1", + "target": "windows_sys" + } + ] + } }, - "edition": "2018", - "version": "0.11.0+wasi-snapshot-preview1" + "edition": "2021", + "version": "0.1.11" }, - "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license": "Unlicense OR MIT", "license_ids": [ - "Apache-2.0", - "MIT" + "MIT", + "Unlicense" ], - "license_file": "LICENSE-APACHE" + "license_file": "LICENSE-MIT" }, - "wasi 0.13.3+wasi-0.2.2": { - "name": "wasi", - "version": "0.13.3+wasi-0.2.2", - "package_url": "https://github.com/bytecodealliance/wasi-rs", + "winapi-x86_64-pc-windows-gnu 0.4.0": { + "name": "winapi-x86_64-pc-windows-gnu", + "version": "0.4.0", + "package_url": "https://github.com/retep998/winapi-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/wasi/0.13.3+wasi-0.2.2/download", - "sha256": "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" + "url": "https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download", + "sha256": "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" } }, "targets": [ { "Library": { - "crate_name": "wasi", + "crate_name": "winapi_x86_64_pc_windows_gnu", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18625,9 +17096,21 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], - "library_target_name": "wasi", + "library_target_name": "winapi_x86_64_pc_windows_gnu", "common_attrs": { "compile_data_glob": [ "**" @@ -18635,36 +17118,47 @@ "deps": { "common": [ { - "id": "wit-bindgen-rt 0.33.0", - "target": "wit_bindgen_rt" + "id": "winapi-x86_64-pc-windows-gnu 0.4.0", + "target": "build_script_build" } ], "selects": {} }, - "edition": "2021", - "version": "0.13.3+wasi-0.2.2" + "edition": "2015", + "version": "0.4.0" }, - "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT/Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], - "license_file": "LICENSE-APACHE" + "license_file": null }, - "wasm-bindgen 0.2.100": { - "name": "wasm-bindgen", - "version": "0.2.100", - "package_url": "https://github.com/rustwasm/wasm-bindgen", + "windows-core 0.62.1": { + "name": "windows-core", + "version": "0.62.1", + "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/wasm-bindgen/0.2.100/download", - "sha256": "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" + "url": "https://static.crates.io/crates/windows-core/0.62.1/download", + "sha256": "6844ee5416b285084d3d3fffd743b925a6c9385455f64f6d4fa3031c4c2749a9" } }, "targets": [ { "Library": { - "crate_name": "wasm_bindgen", + "crate_name": "windows_core", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18673,47 +17167,26 @@ ] } } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } } ], - "library_target_name": "wasm_bindgen", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "default", - "msrv", - "rustversion", - "std" - ], - "selects": {} - }, + "library_target_name": "windows_core", + "common_attrs": { + "compile_data_glob": [ + "**" + ], "deps": { "common": [ { - "id": "cfg-if 1.0.0", - "target": "cfg_if" + "id": "windows-link 0.2.0", + "target": "windows_link" }, { - "id": "once_cell 1.19.0", - "target": "once_cell" + "id": "windows-result 0.4.0", + "target": "windows_result" }, { - "id": "wasm-bindgen 0.2.100", - "target": "build_script_build" + "id": "windows-strings 0.5.0", + "target": "windows_strings" } ], "selects": {} @@ -18722,47 +17195,39 @@ "proc_macro_deps": { "common": [ { - "id": "rustversion 1.0.20", - "target": "rustversion" + "id": "windows-implement 0.60.1", + "target": "windows_implement" }, { - "id": "wasm-bindgen-macro 0.2.100", - "target": "wasm_bindgen_macro" + "id": "windows-interface 0.59.2", + "target": "windows_interface" } ], "selects": {} }, - "version": "0.2.100" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "data_glob": [ - "**" - ] + "version": "0.62.1" }, "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], - "license_file": "LICENSE-APACHE" + "license_file": "license-apache-2.0" }, - "wasm-bindgen-backend 0.2.100": { - "name": "wasm-bindgen-backend", - "version": "0.2.100", - "package_url": "https://github.com/rustwasm/wasm-bindgen/tree/master/crates/backend", + "windows-implement 0.60.1": { + "name": "windows-implement", + "version": "0.60.1", + "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/wasm-bindgen-backend/0.2.100/download", - "sha256": "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" + "url": "https://static.crates.io/crates/windows-implement/0.60.1/download", + "sha256": "edb307e42a74fb6de9bf3a02d9712678b22399c87e6fa869d6dfcd8c1b7754e0" } }, "targets": [ { - "Library": { - "crate_name": "wasm_bindgen_backend", + "ProcMacro": { + "crate_name": "windows_implement", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18773,7 +17238,7 @@ } } ], - "library_target_name": "wasm_bindgen_backend", + "library_target_name": "windows_implement", "common_attrs": { "compile_data_glob": [ "**" @@ -18781,56 +17246,44 @@ "deps": { "common": [ { - "id": "bumpalo 3.19.0", - "target": "bumpalo" - }, - { - "id": "log 0.4.27", - "target": "log" - }, - { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "syn 2.0.101", + "id": "syn 2.0.106", "target": "syn" - }, - { - "id": "wasm-bindgen-shared 0.2.100", - "target": "wasm_bindgen_shared" } ], "selects": {} }, "edition": "2021", - "version": "0.2.100" + "version": "0.60.1" }, "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], - "license_file": "LICENSE-APACHE" + "license_file": "license-apache-2.0" }, - "wasm-bindgen-futures 0.4.42": { - "name": "wasm-bindgen-futures", - "version": "0.4.42", - "package_url": "https://github.com/rustwasm/wasm-bindgen/tree/master/crates/futures", + "windows-interface 0.59.2": { + "name": "windows-interface", + "version": "0.59.2", + "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/wasm-bindgen-futures/0.4.42/download", - "sha256": "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" + "url": "https://static.crates.io/crates/windows-interface/0.59.2/download", + "sha256": "c0abd1ddbc6964ac14db11c7213d6532ef34bd9aa042c2e5935f59d7908b46a5" } }, "targets": [ { - "Library": { - "crate_name": "wasm_bindgen_futures", + "ProcMacro": { + "crate_name": "windows_interface", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18841,7 +17294,7 @@ } } ], - "library_target_name": "wasm_bindgen_futures", + "library_target_name": "windows_interface", "common_attrs": { "compile_data_glob": [ "**" @@ -18849,51 +17302,44 @@ "deps": { "common": [ { - "id": "cfg-if 1.0.0", - "target": "cfg_if" + "id": "proc-macro2 1.0.101", + "target": "proc_macro2" }, { - "id": "js-sys 0.3.77", - "target": "js_sys" + "id": "quote 1.0.41", + "target": "quote" }, { - "id": "wasm-bindgen 0.2.100", - "target": "wasm_bindgen" + "id": "syn 2.0.106", + "target": "syn" } ], - "selects": { - "cfg(target_feature = \"atomics\")": [ - { - "id": "web-sys 0.3.69", - "target": "web_sys" - } - ] - } + "selects": {} }, - "edition": "2018", - "version": "0.4.42" + "edition": "2021", + "version": "0.59.2" }, "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], - "license_file": "LICENSE-APACHE" + "license_file": "license-apache-2.0" }, - "wasm-bindgen-macro 0.2.100": { - "name": "wasm-bindgen-macro", - "version": "0.2.100", - "package_url": "https://github.com/rustwasm/wasm-bindgen/tree/master/crates/macro", + "windows-link 0.2.0": { + "name": "windows-link", + "version": "0.2.0", + "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/wasm-bindgen-macro/0.2.100/download", - "sha256": "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" + "url": "https://static.crates.io/crates/windows-link/0.2.0/download", + "sha256": "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" } }, "targets": [ { - "ProcMacro": { - "crate_name": "wasm_bindgen_macro", + "Library": { + "crate_name": "windows_link", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18904,48 +17350,35 @@ } } ], - "library_target_name": "wasm_bindgen_macro", + "library_target_name": "windows_link", "common_attrs": { "compile_data_glob": [ "**" ], - "deps": { - "common": [ - { - "id": "quote 1.0.40", - "target": "quote" - }, - { - "id": "wasm-bindgen-macro-support 0.2.100", - "target": "wasm_bindgen_macro_support" - } - ], - "selects": {} - }, "edition": "2021", - "version": "0.2.100" + "version": "0.2.0" }, "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], - "license_file": "LICENSE-APACHE" + "license_file": "license-apache-2.0" }, - "wasm-bindgen-macro-support 0.2.100": { - "name": "wasm-bindgen-macro-support", - "version": "0.2.100", - "package_url": "https://github.com/rustwasm/wasm-bindgen/tree/master/crates/macro-support", + "windows-result 0.4.0": { + "name": "windows-result", + "version": "0.4.0", + "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.100/download", - "sha256": "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" + "url": "https://static.crates.io/crates/windows-result/0.4.0/download", + "sha256": "7084dcc306f89883455a206237404d3eaf961e5bd7e0f312f7c91f57eb44167f" } }, "targets": [ { "Library": { - "crate_name": "wasm_bindgen_macro_support", + "crate_name": "windows_result", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -18956,7 +17389,7 @@ } } ], - "library_target_name": "wasm_bindgen_macro_support", + "library_target_name": "windows_result", "common_attrs": { "compile_data_glob": [ "**" @@ -18964,52 +17397,36 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", - "target": "proc_macro2" - }, - { - "id": "quote 1.0.40", - "target": "quote" - }, - { - "id": "syn 2.0.101", - "target": "syn" - }, - { - "id": "wasm-bindgen-backend 0.2.100", - "target": "wasm_bindgen_backend" - }, - { - "id": "wasm-bindgen-shared 0.2.100", - "target": "wasm_bindgen_shared" + "id": "windows-link 0.2.0", + "target": "windows_link" } ], "selects": {} }, "edition": "2021", - "version": "0.2.100" + "version": "0.4.0" }, "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], - "license_file": "LICENSE-APACHE" + "license_file": "license-apache-2.0" }, - "wasm-bindgen-shared 0.2.100": { - "name": "wasm-bindgen-shared", - "version": "0.2.100", - "package_url": "https://github.com/rustwasm/wasm-bindgen/tree/master/crates/shared", + "windows-strings 0.5.0": { + "name": "windows-strings", + "version": "0.5.0", + "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/wasm-bindgen-shared/0.2.100/download", - "sha256": "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" + "url": "https://static.crates.io/crates/windows-strings/0.5.0/download", + "sha256": "7218c655a553b0bed4426cf54b20d7ba363ef543b52d515b3e48d7fd55318dda" } }, "targets": [ { "Library": { - "crate_name": "wasm_bindgen_shared", + "crate_name": "windows_strings", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -19018,11 +17435,47 @@ ] } } + } + ], + "library_target_name": "windows_strings", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows-link 0.2.0", + "target": "windows_link" + } + ], + "selects": {} }, + "edition": "2021", + "version": "0.5.0" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows-sys 0.52.0": { + "name": "windows-sys", + "version": "0.52.0", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows-sys/0.52.0/download", + "sha256": "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" + } + }, + "targets": [ { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", + "Library": { + "crate_name": "windows_sys", + "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, "include": [ @@ -19032,57 +17485,54 @@ } } ], - "library_target_name": "wasm_bindgen_shared", + "library_target_name": "windows_sys", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "Win32", + "Win32_Foundation", + "Win32_Storage", + "Win32_Storage_FileSystem", + "default" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "unicode-ident 1.0.13", - "target": "unicode_ident" - }, - { - "id": "wasm-bindgen-shared 0.2.100", - "target": "build_script_build" + "id": "windows-targets 0.52.6", + "target": "windows_targets" } ], "selects": {} }, "edition": "2021", - "version": "0.2.100" - }, - "build_script_attrs": { - "compile_data_glob": [ - "**" - ], - "data_glob": [ - "**" - ], - "links": "wasm_bindgen" + "version": "0.52.0" }, "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], - "license_file": "LICENSE-APACHE" + "license_file": "license-apache-2.0" }, - "web-sys 0.3.69": { - "name": "web-sys", - "version": "0.3.69", - "package_url": "https://github.com/rustwasm/wasm-bindgen/tree/master/crates/web-sys", + "windows-sys 0.59.0": { + "name": "windows-sys", + "version": "0.59.0", + "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/web-sys/0.3.69/download", - "sha256": "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" + "url": "https://static.crates.io/crates/windows-sys/0.59.0/download", + "sha256": "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" } }, "targets": [ { "Library": { - "crate_name": "web_sys", + "crate_name": "windows_sys", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -19093,71 +17543,69 @@ } } ], - "library_target_name": "web_sys", + "library_target_name": "windows_sys", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "AbortController", - "AbortSignal", - "Blob", - "BlobPropertyBag", - "EventTarget", - "File", - "FormData", - "Headers", - "ReadableStream", - "Request", - "RequestCache", - "RequestCredentials", - "RequestInit", - "RequestMode", - "Response", - "ServiceWorkerGlobalScope", - "Window", - "WorkerGlobalScope" + "Wdk", + "Wdk_Foundation", + "Wdk_Storage", + "Wdk_Storage_FileSystem", + "Wdk_System", + "Wdk_System_IO", + "Win32", + "Win32_Foundation", + "Win32_Networking", + "Win32_Networking_WinSock", + "Win32_Security", + "Win32_Storage", + "Win32_Storage_FileSystem", + "Win32_System", + "Win32_System_IO", + "Win32_System_Pipes", + "Win32_System_SystemServices", + "Win32_System_Threading", + "Win32_System_WindowsProgramming", + "default" ], "selects": {} }, "deps": { "common": [ { - "id": "js-sys 0.3.77", - "target": "js_sys" - }, - { - "id": "wasm-bindgen 0.2.100", - "target": "wasm_bindgen" + "id": "windows-targets 0.52.6", + "target": "windows_targets" } ], "selects": {} }, - "edition": "2018", - "version": "0.3.69" + "edition": "2021", + "version": "0.59.0" }, "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], - "license_file": "LICENSE-APACHE" + "license_file": "license-apache-2.0" }, - "webpki-roots 0.26.1": { - "name": "webpki-roots", - "version": "0.26.1", - "package_url": "https://github.com/rustls/webpki-roots", + "windows-sys 0.60.2": { + "name": "windows-sys", + "version": "0.60.2", + "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/webpki-roots/0.26.1/download", - "sha256": "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" + "url": "https://static.crates.io/crates/windows-sys/0.60.2/download", + "sha256": "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" } }, "targets": [ { "Library": { - "crate_name": "webpki_roots", + "crate_name": "windows_sys", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -19168,44 +17616,56 @@ } } ], - "library_target_name": "webpki_roots", + "library_target_name": "windows_sys", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "Win32", + "Win32_Foundation", + "Win32_Storage", + "Win32_Storage_FileSystem", + "Win32_System", + "Win32_System_Console", + "default" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types", - "alias": "pki_types" + "id": "windows-targets 0.53.4", + "target": "windows_targets" } ], "selects": {} }, - "edition": "2018", - "version": "0.26.1" + "edition": "2021", + "version": "0.60.2" }, - "license": "MPL-2.0", + "license": "MIT OR Apache-2.0", "license_ids": [ - "MPL-2.0" + "Apache-2.0", + "MIT" ], - "license_file": "LICENSE" + "license_file": "license-apache-2.0" }, - "webpki-roots 1.0.1": { - "name": "webpki-roots", - "version": "1.0.1", - "package_url": "https://github.com/rustls/webpki-roots", + "windows-sys 0.61.1": { + "name": "windows-sys", + "version": "0.61.1", + "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/webpki-roots/1.0.1/download", - "sha256": "8782dd5a41a24eed3a4f40b606249b3e236ca61adf1f25ea4d45c73de122b502" + "url": "https://static.crates.io/crates/windows-sys/0.61.1/download", + "sha256": "6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f" } }, "targets": [ { "Library": { - "crate_name": "webpki_roots", + "crate_name": "windows_sys", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -19216,44 +17676,61 @@ } } ], - "library_target_name": "webpki_roots", + "library_target_name": "windows_sys", "common_attrs": { "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "Win32", + "Win32_Foundation", + "Win32_Globalization", + "Win32_Storage", + "Win32_Storage_FileSystem", + "Win32_System", + "Win32_System_Com", + "Win32_System_Console", + "Win32_System_SystemInformation", + "Win32_UI", + "Win32_UI_Shell", + "default" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "rustls-pki-types 1.12.0", - "target": "rustls_pki_types", - "alias": "pki_types" + "id": "windows-link 0.2.0", + "target": "windows_link" } ], "selects": {} }, "edition": "2021", - "version": "1.0.1" + "version": "0.61.1" }, - "license": "CDLA-Permissive-2.0", + "license": "MIT OR Apache-2.0", "license_ids": [ - "CDLA-Permissive-2.0" + "Apache-2.0", + "MIT" ], - "license_file": "LICENSE" + "license_file": "license-apache-2.0" }, - "which 8.0.0": { - "name": "which", - "version": "8.0.0", - "package_url": "https://github.com/harryfei/which-rs.git", + "windows-targets 0.52.6": { + "name": "windows-targets", + "version": "0.52.6", + "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/which/8.0.0/download", - "sha256": "d3fabb953106c3c8eea8306e4393700d7657561cb43122571b172bbfb7c7ba1d" + "url": "https://static.crates.io/crates/windows-targets/0.52.6/download", + "sha256": "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" } }, "targets": [ { "Library": { - "crate_name": "which", + "crate_name": "windows_targets", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -19264,322 +17741,186 @@ } } ], - "library_target_name": "which", + "library_target_name": "windows_targets", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "default", - "real-sys" - ], - "selects": {} - }, "deps": { "common": [], "selects": { - "aarch64-apple-darwin": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, - { - "id": "rustix 1.0.7", - "target": "rustix" - } - ], - "aarch64-apple-ios": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, - { - "id": "rustix 1.0.7", - "target": "rustix" - } - ], - "aarch64-apple-ios-sim": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, - { - "id": "rustix 1.0.7", - "target": "rustix" - } - ], - "aarch64-linux-android": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, - { - "id": "rustix 1.0.7", - "target": "rustix" - } - ], - "aarch64-pc-windows-msvc": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, - { - "id": "winsafe 0.0.19", - "target": "winsafe" - } - ], - "aarch64-unknown-fuchsia": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, - { - "id": "rustix 1.0.7", - "target": "rustix" - } - ], - "aarch64-unknown-linux-gnu": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, - { - "id": "rustix 1.0.7", - "target": "rustix" - } - ], - "aarch64-unknown-nixos-gnu": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, - { - "id": "rustix 1.0.7", - "target": "rustix" - } - ], - "aarch64-unknown-nto-qnx710": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, - { - "id": "rustix 1.0.7", - "target": "rustix" - } - ], - "arm-unknown-linux-gnueabi": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, - { - "id": "rustix 1.0.7", - "target": "rustix" - } - ], - "armv7-linux-androideabi": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, - { - "id": "rustix 1.0.7", - "target": "rustix" - } - ], - "armv7-unknown-linux-gnueabi": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "aarch64-pc-windows-gnullvm": [ { - "id": "rustix 1.0.7", - "target": "rustix" + "id": "windows_aarch64_gnullvm 0.52.6", + "target": "windows_aarch64_gnullvm" } ], - "i686-apple-darwin": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "cfg(all(any(target_arch = \"x86_64\", target_arch = \"arm64ec\"), target_env = \"msvc\", not(windows_raw_dylib)))": [ { - "id": "rustix 1.0.7", - "target": "rustix" + "id": "windows_x86_64_msvc 0.52.6", + "target": "windows_x86_64_msvc" } ], - "i686-linux-android": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": [ { - "id": "rustix 1.0.7", - "target": "rustix" + "id": "windows_aarch64_msvc 0.52.6", + "target": "windows_aarch64_msvc" } ], - "i686-pc-windows-msvc": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ { - "id": "winsafe 0.0.19", - "target": "winsafe" + "id": "windows_i686_gnu 0.52.6", + "target": "windows_i686_gnu" } ], - "i686-unknown-freebsd": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": [ { - "id": "rustix 1.0.7", - "target": "rustix" + "id": "windows_i686_msvc 0.52.6", + "target": "windows_i686_msvc" } ], - "i686-unknown-linux-gnu": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ { - "id": "rustix 1.0.7", - "target": "rustix" + "id": "windows_x86_64_gnu 0.52.6", + "target": "windows_x86_64_gnu" } ], - "powerpc-unknown-linux-gnu": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "i686-pc-windows-gnullvm": [ { - "id": "rustix 1.0.7", - "target": "rustix" + "id": "windows_i686_gnullvm 0.52.6", + "target": "windows_i686_gnullvm" } ], - "s390x-unknown-linux-gnu": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "x86_64-pc-windows-gnullvm": [ { - "id": "rustix 1.0.7", - "target": "rustix" + "id": "windows_x86_64_gnullvm 0.52.6", + "target": "windows_x86_64_gnullvm" } - ], - "wasm32-wasip1": [ + ] + } + }, + "edition": "2021", + "version": "0.52.6" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "license-apache-2.0" + }, + "windows-targets 0.53.4": { + "name": "windows-targets", + "version": "0.53.4", + "package_url": "https://github.com/microsoft/windows-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows-targets/0.53.4/download", + "sha256": "2d42b7b7f66d2a06854650af09cfdf8713e427a439c97ad65a6375318033ac4b" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_targets", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "windows_targets", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [], + "selects": { + "aarch64-pc-windows-gnullvm": [ { - "id": "rustix 1.0.7", - "target": "rustix" + "id": "windows_aarch64_gnullvm 0.53.0", + "target": "windows_aarch64_gnullvm" } ], - "x86_64-apple-darwin": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "cfg(all(any(target_arch = \"x86_64\", target_arch = \"arm64ec\"), target_env = \"msvc\", not(windows_raw_dylib)))": [ { - "id": "rustix 1.0.7", - "target": "rustix" + "id": "windows_x86_64_msvc 0.53.0", + "target": "windows_x86_64_msvc" } ], - "x86_64-apple-ios": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": [ { - "id": "rustix 1.0.7", - "target": "rustix" + "id": "windows_aarch64_msvc 0.53.0", + "target": "windows_aarch64_msvc" } ], - "x86_64-linux-android": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ { - "id": "rustix 1.0.7", - "target": "rustix" + "id": "windows_i686_gnu 0.53.0", + "target": "windows_i686_gnu" } ], - "x86_64-pc-windows-msvc": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": [ { - "id": "winsafe 0.0.19", - "target": "winsafe" + "id": "windows_i686_msvc 0.53.0", + "target": "windows_i686_msvc" } ], - "x86_64-unknown-freebsd": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ { - "id": "rustix 1.0.7", - "target": "rustix" + "id": "windows_x86_64_gnu 0.53.0", + "target": "windows_x86_64_gnu" } ], - "x86_64-unknown-fuchsia": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "cfg(windows_raw_dylib)": [ { - "id": "rustix 1.0.7", - "target": "rustix" + "id": "windows-link 0.2.0", + "target": "windows_link" } ], - "x86_64-unknown-linux-gnu": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "i686-pc-windows-gnullvm": [ { - "id": "rustix 1.0.7", - "target": "rustix" + "id": "windows_i686_gnullvm 0.53.0", + "target": "windows_i686_gnullvm" } ], - "x86_64-unknown-nixos-gnu": [ - { - "id": "env_home 0.1.0", - "target": "env_home" - }, + "x86_64-pc-windows-gnullvm": [ { - "id": "rustix 1.0.7", - "target": "rustix" + "id": "windows_x86_64_gnullvm 0.53.0", + "target": "windows_x86_64_gnullvm" } ] } }, "edition": "2021", - "version": "8.0.0" + "version": "0.53.4" }, - "license": "MIT", + "license": "MIT OR Apache-2.0", "license_ids": [ + "Apache-2.0", "MIT" ], - "license_file": "LICENSE.txt" + "license_file": "license-apache-2.0" }, - "winapi 0.3.9": { - "name": "winapi", - "version": "0.3.9", - "package_url": "https://github.com/retep998/winapi-rs", + "windows_aarch64_gnullvm 0.52.6": { + "name": "windows_aarch64_gnullvm", + "version": "0.52.6", + "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/winapi/0.3.9/download", - "sha256": "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" + "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download", + "sha256": "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" } }, "targets": [ { "Library": { - "crate_name": "winapi", + "crate_name": "windows_aarch64_gnullvm", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -19602,79 +17943,55 @@ } } ], - "library_target_name": "winapi", + "library_target_name": "windows_aarch64_gnullvm", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "fileapi", - "handleapi", - "processthreadsapi", - "std", - "sysinfoapi", - "winbase", - "winerror", - "winnt", - "winver" - ], - "selects": {} - }, "deps": { "common": [ { - "id": "winapi 0.3.9", + "id": "windows_aarch64_gnullvm 0.52.6", "target": "build_script_build" } ], - "selects": { - "i686-pc-windows-gnu": [ - { - "id": "winapi-i686-pc-windows-gnu 0.4.0", - "target": "winapi_i686_pc_windows_gnu" - } - ], - "x86_64-pc-windows-gnu": [ - { - "id": "winapi-x86_64-pc-windows-gnu 0.4.0", - "target": "winapi_x86_64_pc_windows_gnu" - } - ] - } + "selects": {} }, - "edition": "2015", - "version": "0.3.9" + "edition": "2021", + "version": "0.52.6" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] }, - "license": "MIT/Apache-2.0", + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], - "license_file": "LICENSE-APACHE" + "license_file": "license-apache-2.0" }, - "winapi-i686-pc-windows-gnu 0.4.0": { - "name": "winapi-i686-pc-windows-gnu", - "version": "0.4.0", - "package_url": "https://github.com/retep998/winapi-rs", + "windows_aarch64_gnullvm 0.53.0": { + "name": "windows_aarch64_gnullvm", + "version": "0.53.0", + "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download", - "sha256": "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/0.53.0/download", + "sha256": "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" } }, "targets": [ { "Library": { - "crate_name": "winapi_i686_pc_windows_gnu", + "crate_name": "windows_aarch64_gnullvm", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -19697,7 +18014,7 @@ } } ], - "library_target_name": "winapi_i686_pc_windows_gnu", + "library_target_name": "windows_aarch64_gnullvm", "common_attrs": { "compile_data_glob": [ "**" @@ -19705,44 +18022,47 @@ "deps": { "common": [ { - "id": "winapi-i686-pc-windows-gnu 0.4.0", + "id": "windows_aarch64_gnullvm 0.53.0", "target": "build_script_build" } ], "selects": {} }, - "edition": "2015", - "version": "0.4.0" + "edition": "2021", + "version": "0.53.0" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] }, - "license": "MIT/Apache-2.0", + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], - "license_file": null + "license_file": "license-apache-2.0" }, - "winapi-util 0.1.8": { - "name": "winapi-util", - "version": "0.1.8", - "package_url": "https://github.com/BurntSushi/winapi-util", + "windows_aarch64_msvc 0.52.6": { + "name": "windows_aarch64_msvc", + "version": "0.52.6", + "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/winapi-util/0.1.8/download", - "sha256": "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" + "url": "https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download", + "sha256": "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" } }, "targets": [ { "Library": { - "crate_name": "winapi_util", + "crate_name": "windows_aarch64_msvc", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -19751,48 +18071,69 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], - "library_target_name": "winapi_util", + "library_target_name": "windows_aarch64_msvc", "common_attrs": { "compile_data_glob": [ "**" ], "deps": { - "common": [], - "selects": { - "cfg(windows)": [ - { - "id": "windows-sys 0.52.0", - "target": "windows_sys" - } - ] - } + "common": [ + { + "id": "windows_aarch64_msvc 0.52.6", + "target": "build_script_build" + } + ], + "selects": {} }, "edition": "2021", - "version": "0.1.8" + "version": "0.52.6" }, - "license": "Unlicense OR MIT", + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", "license_ids": [ - "MIT", - "Unlicense" + "Apache-2.0", + "MIT" ], - "license_file": "LICENSE-MIT" + "license_file": "license-apache-2.0" }, - "winapi-x86_64-pc-windows-gnu 0.4.0": { - "name": "winapi-x86_64-pc-windows-gnu", - "version": "0.4.0", - "package_url": "https://github.com/retep998/winapi-rs", + "windows_aarch64_msvc 0.53.0": { + "name": "windows_aarch64_msvc", + "version": "0.53.0", + "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download", - "sha256": "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + "url": "https://static.crates.io/crates/windows_aarch64_msvc/0.53.0/download", + "sha256": "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" } }, "targets": [ { "Library": { - "crate_name": "winapi_x86_64_pc_windows_gnu", + "crate_name": "windows_aarch64_msvc", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -19815,7 +18156,7 @@ } } ], - "library_target_name": "winapi_x86_64_pc_windows_gnu", + "library_target_name": "windows_aarch64_msvc", "common_attrs": { "compile_data_glob": [ "**" @@ -19823,45 +18164,60 @@ "deps": { "common": [ { - "id": "winapi-x86_64-pc-windows-gnu 0.4.0", + "id": "windows_aarch64_msvc 0.53.0", "target": "build_script_build" } ], "selects": {} }, - "edition": "2015", - "version": "0.4.0" + "edition": "2021", + "version": "0.53.0" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] }, - "license": "MIT/Apache-2.0", + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], - "license_file": null + "license_file": "license-apache-2.0" }, - "windows-core 0.52.0": { - "name": "windows-core", - "version": "0.52.0", + "windows_i686_gnu 0.52.6": { + "name": "windows_i686_gnu", + "version": "0.52.6", "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows-core/0.52.0/download", - "sha256": "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" + "url": "https://static.crates.io/crates/windows_i686_gnu/0.52.6/download", + "sha256": "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" } }, "targets": [ { - "Library": { - "crate_name": "windows_core", - "crate_root": "src/lib.rs", + "Library": { + "crate_name": "windows_i686_gnu", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", "srcs": { "allow_empty": true, "include": [ @@ -19871,7 +18227,7 @@ } } ], - "library_target_name": "windows_core", + "library_target_name": "windows_i686_gnu", "common_attrs": { "compile_data_glob": [ "**" @@ -19879,14 +18235,25 @@ "deps": { "common": [ { - "id": "windows-targets 0.52.6", - "target": "windows_targets" + "id": "windows_i686_gnu 0.52.6", + "target": "build_script_build" } ], "selects": {} }, "edition": "2021", - "version": "0.52.0" + "version": "0.52.6" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -19895,20 +18262,20 @@ ], "license_file": "license-apache-2.0" }, - "windows-sys 0.52.0": { - "name": "windows-sys", - "version": "0.52.0", + "windows_i686_gnu 0.53.0": { + "name": "windows_i686_gnu", + "version": "0.53.0", "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows-sys/0.52.0/download", - "sha256": "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" + "url": "https://static.crates.io/crates/windows_i686_gnu/0.53.0/download", + "sha256": "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" } }, "targets": [ { "Library": { - "crate_name": "windows_sys", + "crate_name": "windows_i686_gnu", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -19917,50 +18284,47 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], - "library_target_name": "windows_sys", + "library_target_name": "windows_i686_gnu", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "Wdk", - "Wdk_Foundation", - "Wdk_Storage", - "Wdk_Storage_FileSystem", - "Wdk_System", - "Wdk_System_IO", - "Win32", - "Win32_Foundation", - "Win32_Networking", - "Win32_Networking_WinSock", - "Win32_Security", - "Win32_Storage", - "Win32_Storage_FileSystem", - "Win32_System", - "Win32_System_Console", - "Win32_System_IO", - "Win32_System_Pipes", - "Win32_System_SystemInformation", - "Win32_System_Threading", - "Win32_System_WindowsProgramming", - "default" - ], - "selects": {} - }, "deps": { "common": [ { - "id": "windows-targets 0.52.6", - "target": "windows_targets" + "id": "windows_i686_gnu 0.53.0", + "target": "build_script_build" } ], "selects": {} }, "edition": "2021", - "version": "0.52.0" + "version": "0.53.0" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -19969,20 +18333,20 @@ ], "license_file": "license-apache-2.0" }, - "windows-sys 0.59.0": { - "name": "windows-sys", - "version": "0.59.0", + "windows_i686_gnullvm 0.52.6": { + "name": "windows_i686_gnullvm", + "version": "0.52.6", "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows-sys/0.59.0/download", - "sha256": "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" + "url": "https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download", + "sha256": "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" } }, "targets": [ { "Library": { - "crate_name": "windows_sys", + "crate_name": "windows_i686_gnullvm", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -19991,47 +18355,47 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], - "library_target_name": "windows_sys", + "library_target_name": "windows_i686_gnullvm", "common_attrs": { "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "Win32", - "Win32_Foundation", - "Win32_Globalization", - "Win32_Networking", - "Win32_Networking_WinSock", - "Win32_Security", - "Win32_Storage", - "Win32_Storage_FileSystem", - "Win32_System", - "Win32_System_Com", - "Win32_System_IO", - "Win32_System_Pipes", - "Win32_System_SystemServices", - "Win32_System_Threading", - "Win32_System_WindowsProgramming", - "Win32_UI", - "Win32_UI_Shell", - "default" - ], - "selects": {} - }, "deps": { "common": [ { - "id": "windows-targets 0.52.6", - "target": "windows_targets" + "id": "windows_i686_gnullvm 0.52.6", + "target": "build_script_build" } ], "selects": {} }, "edition": "2021", - "version": "0.59.0" + "version": "0.52.6" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -20040,20 +18404,20 @@ ], "license_file": "license-apache-2.0" }, - "windows-targets 0.52.6": { - "name": "windows-targets", - "version": "0.52.6", + "windows_i686_gnullvm 0.53.0": { + "name": "windows_i686_gnullvm", + "version": "0.53.0", "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows-targets/0.52.6/download", - "sha256": "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" + "url": "https://static.crates.io/crates/windows_i686_gnullvm/0.53.0/download", + "sha256": "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" } }, "targets": [ { "Library": { - "crate_name": "windows_targets", + "crate_name": "windows_i686_gnullvm", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -20062,68 +18426,47 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], - "library_target_name": "windows_targets", + "library_target_name": "windows_i686_gnullvm", "common_attrs": { "compile_data_glob": [ "**" ], "deps": { - "common": [], - "selects": { - "aarch64-pc-windows-gnullvm": [ - { - "id": "windows_aarch64_gnullvm 0.52.6", - "target": "windows_aarch64_gnullvm" - } - ], - "cfg(all(any(target_arch = \"x86_64\", target_arch = \"arm64ec\"), target_env = \"msvc\", not(windows_raw_dylib)))": [ - { - "id": "windows_x86_64_msvc 0.52.6", - "target": "windows_x86_64_msvc" - } - ], - "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": [ - { - "id": "windows_aarch64_msvc 0.52.6", - "target": "windows_aarch64_msvc" - } - ], - "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ - { - "id": "windows_i686_gnu 0.52.6", - "target": "windows_i686_gnu" - } - ], - "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": [ - { - "id": "windows_i686_msvc 0.52.6", - "target": "windows_i686_msvc" - } - ], - "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ - { - "id": "windows_x86_64_gnu 0.52.6", - "target": "windows_x86_64_gnu" - } - ], - "i686-pc-windows-gnullvm": [ - { - "id": "windows_i686_gnullvm 0.52.6", - "target": "windows_i686_gnullvm" - } - ], - "x86_64-pc-windows-gnullvm": [ - { - "id": "windows_x86_64_gnullvm 0.52.6", - "target": "windows_x86_64_gnullvm" - } - ] - } + "common": [ + { + "id": "windows_i686_gnullvm 0.53.0", + "target": "build_script_build" + } + ], + "selects": {} }, "edition": "2021", - "version": "0.52.6" + "version": "0.53.0" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] }, "license": "MIT OR Apache-2.0", "license_ids": [ @@ -20132,20 +18475,20 @@ ], "license_file": "license-apache-2.0" }, - "windows_aarch64_gnullvm 0.52.6": { - "name": "windows_aarch64_gnullvm", + "windows_i686_msvc 0.52.6": { + "name": "windows_i686_msvc", "version": "0.52.6", "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download", - "sha256": "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + "url": "https://static.crates.io/crates/windows_i686_msvc/0.52.6/download", + "sha256": "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" } }, "targets": [ { "Library": { - "crate_name": "windows_aarch64_gnullvm", + "crate_name": "windows_i686_msvc", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -20168,7 +18511,7 @@ } } ], - "library_target_name": "windows_aarch64_gnullvm", + "library_target_name": "windows_i686_msvc", "common_attrs": { "compile_data_glob": [ "**" @@ -20176,7 +18519,7 @@ "deps": { "common": [ { - "id": "windows_aarch64_gnullvm 0.52.6", + "id": "windows_i686_msvc 0.52.6", "target": "build_script_build" } ], @@ -20189,6 +18532,9 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -20200,20 +18546,20 @@ ], "license_file": "license-apache-2.0" }, - "windows_aarch64_msvc 0.52.6": { - "name": "windows_aarch64_msvc", - "version": "0.52.6", + "windows_i686_msvc 0.53.0": { + "name": "windows_i686_msvc", + "version": "0.53.0", "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download", - "sha256": "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + "url": "https://static.crates.io/crates/windows_i686_msvc/0.53.0/download", + "sha256": "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" } }, "targets": [ { "Library": { - "crate_name": "windows_aarch64_msvc", + "crate_name": "windows_i686_msvc", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -20236,7 +18582,7 @@ } } ], - "library_target_name": "windows_aarch64_msvc", + "library_target_name": "windows_i686_msvc", "common_attrs": { "compile_data_glob": [ "**" @@ -20244,19 +18590,22 @@ "deps": { "common": [ { - "id": "windows_aarch64_msvc 0.52.6", + "id": "windows_i686_msvc 0.53.0", "target": "build_script_build" } ], "selects": {} }, "edition": "2021", - "version": "0.52.6" + "version": "0.53.0" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -20268,20 +18617,20 @@ ], "license_file": "license-apache-2.0" }, - "windows_i686_gnu 0.52.6": { - "name": "windows_i686_gnu", + "windows_x86_64_gnu 0.52.6": { + "name": "windows_x86_64_gnu", "version": "0.52.6", "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_i686_gnu/0.52.6/download", - "sha256": "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + "url": "https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download", + "sha256": "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" } }, "targets": [ { "Library": { - "crate_name": "windows_i686_gnu", + "crate_name": "windows_x86_64_gnu", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -20304,7 +18653,7 @@ } } ], - "library_target_name": "windows_i686_gnu", + "library_target_name": "windows_x86_64_gnu", "common_attrs": { "compile_data_glob": [ "**" @@ -20312,7 +18661,7 @@ "deps": { "common": [ { - "id": "windows_i686_gnu 0.52.6", + "id": "windows_x86_64_gnu 0.52.6", "target": "build_script_build" } ], @@ -20325,6 +18674,9 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -20336,20 +18688,20 @@ ], "license_file": "license-apache-2.0" }, - "windows_i686_gnullvm 0.52.6": { - "name": "windows_i686_gnullvm", - "version": "0.52.6", + "windows_x86_64_gnu 0.53.0": { + "name": "windows_x86_64_gnu", + "version": "0.53.0", "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download", - "sha256": "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + "url": "https://static.crates.io/crates/windows_x86_64_gnu/0.53.0/download", + "sha256": "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" } }, "targets": [ { "Library": { - "crate_name": "windows_i686_gnullvm", + "crate_name": "windows_x86_64_gnu", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -20372,7 +18724,7 @@ } } ], - "library_target_name": "windows_i686_gnullvm", + "library_target_name": "windows_x86_64_gnu", "common_attrs": { "compile_data_glob": [ "**" @@ -20380,19 +18732,22 @@ "deps": { "common": [ { - "id": "windows_i686_gnullvm 0.52.6", + "id": "windows_x86_64_gnu 0.53.0", "target": "build_script_build" } ], "selects": {} }, "edition": "2021", - "version": "0.52.6" + "version": "0.53.0" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -20404,20 +18759,20 @@ ], "license_file": "license-apache-2.0" }, - "windows_i686_msvc 0.52.6": { - "name": "windows_i686_msvc", + "windows_x86_64_gnullvm 0.52.6": { + "name": "windows_x86_64_gnullvm", "version": "0.52.6", "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_i686_msvc/0.52.6/download", - "sha256": "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + "url": "https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download", + "sha256": "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" } }, "targets": [ { "Library": { - "crate_name": "windows_i686_msvc", + "crate_name": "windows_x86_64_gnullvm", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -20440,7 +18795,7 @@ } } ], - "library_target_name": "windows_i686_msvc", + "library_target_name": "windows_x86_64_gnullvm", "common_attrs": { "compile_data_glob": [ "**" @@ -20448,7 +18803,7 @@ "deps": { "common": [ { - "id": "windows_i686_msvc 0.52.6", + "id": "windows_x86_64_gnullvm 0.52.6", "target": "build_script_build" } ], @@ -20461,6 +18816,9 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -20472,20 +18830,20 @@ ], "license_file": "license-apache-2.0" }, - "windows_x86_64_gnu 0.52.6": { - "name": "windows_x86_64_gnu", - "version": "0.52.6", + "windows_x86_64_gnullvm 0.53.0": { + "name": "windows_x86_64_gnullvm", + "version": "0.53.0", "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download", - "sha256": "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + "url": "https://static.crates.io/crates/windows_x86_64_gnullvm/0.53.0/download", + "sha256": "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" } }, "targets": [ { "Library": { - "crate_name": "windows_x86_64_gnu", + "crate_name": "windows_x86_64_gnullvm", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -20508,7 +18866,7 @@ } } ], - "library_target_name": "windows_x86_64_gnu", + "library_target_name": "windows_x86_64_gnullvm", "common_attrs": { "compile_data_glob": [ "**" @@ -20516,19 +18874,22 @@ "deps": { "common": [ { - "id": "windows_x86_64_gnu 0.52.6", + "id": "windows_x86_64_gnullvm 0.53.0", "target": "build_script_build" } ], "selects": {} }, "edition": "2021", - "version": "0.52.6" + "version": "0.53.0" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -20540,20 +18901,20 @@ ], "license_file": "license-apache-2.0" }, - "windows_x86_64_gnullvm 0.52.6": { - "name": "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.52.6": { + "name": "windows_x86_64_msvc", "version": "0.52.6", "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download", - "sha256": "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + "url": "https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download", + "sha256": "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" } }, "targets": [ { "Library": { - "crate_name": "windows_x86_64_gnullvm", + "crate_name": "windows_x86_64_msvc", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -20576,7 +18937,7 @@ } } ], - "library_target_name": "windows_x86_64_gnullvm", + "library_target_name": "windows_x86_64_msvc", "common_attrs": { "compile_data_glob": [ "**" @@ -20584,7 +18945,7 @@ "deps": { "common": [ { - "id": "windows_x86_64_gnullvm 0.52.6", + "id": "windows_x86_64_msvc 0.52.6", "target": "build_script_build" } ], @@ -20597,6 +18958,9 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -20608,14 +18972,14 @@ ], "license_file": "license-apache-2.0" }, - "windows_x86_64_msvc 0.52.6": { + "windows_x86_64_msvc 0.53.0": { "name": "windows_x86_64_msvc", - "version": "0.52.6", + "version": "0.53.0", "package_url": "https://github.com/microsoft/windows-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download", - "sha256": "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + "url": "https://static.crates.io/crates/windows_x86_64_msvc/0.53.0/download", + "sha256": "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" } }, "targets": [ @@ -20652,19 +19016,22 @@ "deps": { "common": [ { - "id": "windows_x86_64_msvc 0.52.6", + "id": "windows_x86_64_msvc 0.53.0", "target": "build_script_build" } ], "selects": {} }, "edition": "2021", - "version": "0.52.6" + "version": "0.53.0" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -20676,14 +19043,14 @@ ], "license_file": "license-apache-2.0" }, - "winnow 0.7.10": { + "winnow 0.7.13": { "name": "winnow", - "version": "0.7.10", + "version": "0.7.13", "package_url": "https://github.com/winnow-rs/winnow", "repository": { "Http": { - "url": "https://static.crates.io/crates/winnow/0.7.10/download", - "sha256": "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" + "url": "https://static.crates.io/crates/winnow/0.7.13/download", + "sha256": "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" } }, "targets": [ @@ -20706,7 +19073,7 @@ "**" ], "edition": "2021", - "version": "0.7.10" + "version": "0.7.13" }, "license": "MIT", "license_ids": [ @@ -20758,20 +19125,20 @@ ], "license_file": "LICENSE.md" }, - "wit-bindgen-rt 0.33.0": { - "name": "wit-bindgen-rt", - "version": "0.33.0", - "package_url": "https://github.com/bytecodealliance/wasi-rs", + "wit-bindgen 0.46.0": { + "name": "wit-bindgen", + "version": "0.46.0", + "package_url": "https://github.com/bytecodealliance/wit-bindgen", "repository": { "Http": { - "url": "https://static.crates.io/crates/wit-bindgen-rt/0.33.0/download", - "sha256": "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" + "url": "https://static.crates.io/crates/wit-bindgen/0.46.0/download", + "sha256": "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" } }, "targets": [ { "Library": { - "crate_name": "wit_bindgen_rt", + "crate_name": "wit_bindgen", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -20794,7 +19161,7 @@ } } ], - "library_target_name": "wit_bindgen_rt", + "library_target_name": "wit_bindgen", "common_attrs": { "compile_data_glob": [ "**" @@ -20802,19 +19169,22 @@ "deps": { "common": [ { - "id": "wit-bindgen-rt 0.33.0", + "id": "wit-bindgen 0.46.0", "target": "build_script_build" } ], "selects": {} }, "edition": "2021", - "version": "0.33.0" + "version": "0.46.0" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ] @@ -20824,61 +19194,16 @@ "Apache-2.0", "MIT" ], - "license_file": null - }, - "write16 1.0.0": { - "name": "write16", - "version": "1.0.0", - "package_url": "https://github.com/hsivonen/write16", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/write16/1.0.0/download", - "sha256": "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - } - }, - "targets": [ - { - "Library": { - "crate_name": "write16", - "crate_root": "src/lib.rs", - "srcs": { - "allow_empty": true, - "include": [ - "**/*.rs" - ] - } - } - } - ], - "library_target_name": "write16", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "alloc" - ], - "selects": {} - }, - "edition": "2021", - "version": "1.0.0" - }, - "license": "Apache-2.0 OR MIT", - "license_ids": [ - "Apache-2.0", - "MIT" - ], "license_file": "LICENSE-APACHE" }, - "writeable 0.5.5": { + "writeable 0.6.1": { "name": "writeable", - "version": "0.5.5", + "version": "0.6.1", "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/writeable/0.5.5/download", - "sha256": "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + "url": "https://static.crates.io/crates/writeable/0.6.1/download", + "sha256": "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" } }, "targets": [ @@ -20901,7 +19226,7 @@ "**" ], "edition": "2021", - "version": "0.5.5" + "version": "0.6.1" }, "license": "Unicode-3.0", "license_ids": [ @@ -20947,19 +19272,19 @@ "deps": { "common": [ { - "id": "bcder 0.7.4", + "id": "bcder 0.7.6", "target": "bcder" }, { - "id": "bytes 1.9.0", + "id": "bytes 1.10.1", "target": "bytes" }, { - "id": "chrono 0.4.38", + "id": "chrono 0.4.42", "target": "chrono" }, { - "id": "der 0.7.9", + "id": "der 0.7.10", "target": "der" }, { @@ -20967,11 +19292,11 @@ "target": "hex" }, { - "id": "pem 3.0.4", + "id": "pem 3.0.5", "target": "pem" }, { - "id": "ring 0.17.8", + "id": "ring 0.17.14", "target": "ring" }, { @@ -20987,7 +19312,7 @@ "target": "thiserror" }, { - "id": "zeroize 1.8.1", + "id": "zeroize 1.8.2", "target": "zeroize" } ], @@ -21002,14 +19327,14 @@ ], "license_file": "LICENSE" }, - "xattr 1.3.1": { + "xattr 1.6.1": { "name": "xattr", - "version": "1.3.1", + "version": "1.6.1", "package_url": "https://github.com/Stebalien/xattr", "repository": { "Http": { - "url": "https://static.crates.io/crates/xattr/1.3.1/download", - "sha256": "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" + "url": "https://static.crates.io/crates/xattr/1.6.1/download", + "sha256": "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" } }, "targets": [ @@ -21039,45 +19364,40 @@ "selects": {} }, "deps": { - "common": [ - { - "id": "rustix 0.38.42", - "target": "rustix" - } - ], + "common": [], "selects": { - "cfg(any(target_os = \"freebsd\", target_os = \"netbsd\"))": [ + "cfg(any(target_os = \"android\", target_os = \"linux\", target_os = \"macos\", target_os = \"hurd\"))": [ { - "id": "libc 0.2.174", - "target": "libc" + "id": "rustix 1.1.2", + "target": "rustix" } ], - "cfg(target_os = \"linux\")": [ + "cfg(any(target_os = \"freebsd\", target_os = \"netbsd\"))": [ { - "id": "linux-raw-sys 0.4.14", - "target": "linux_raw_sys" + "id": "libc 0.2.176", + "target": "libc" } ] } }, "edition": "2021", - "version": "1.3.1" + "version": "1.6.1" }, - "license": "MIT/Apache-2.0", + "license": "MIT OR Apache-2.0", "license_ids": [ "Apache-2.0", "MIT" ], "license_file": "LICENSE-APACHE" }, - "xml-rs 0.8.24": { + "xml-rs 0.8.27": { "name": "xml-rs", - "version": "0.8.24", + "version": "0.8.27", "package_url": "https://github.com/kornelski/xml-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/xml-rs/0.8.24/download", - "sha256": "ea8b391c9a790b496184c29f7f93b9ed5b16abb306c05415b68bcc16e4d06432" + "url": "https://static.crates.io/crates/xml-rs/0.8.27/download", + "sha256": "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7" } }, "targets": [ @@ -21100,7 +19420,7 @@ "**" ], "edition": "2021", - "version": "0.8.24" + "version": "0.8.27" }, "license": "MIT", "license_ids": [ @@ -21146,36 +19466,163 @@ "deps": { "common": [ { - "id": "lzma-sys 0.1.20", - "target": "lzma_sys" + "id": "lzma-sys 0.1.20", + "target": "lzma_sys" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.1.7" + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "yoke 0.8.0": { + "name": "yoke", + "version": "0.8.0", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/yoke/0.8.0/download", + "sha256": "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" + } + }, + "targets": [ + { + "Library": { + "crate_name": "yoke", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "yoke", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "derive", + "zerofrom" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "stable_deref_trait 1.2.0", + "target": "stable_deref_trait" + }, + { + "id": "zerofrom 0.1.6", + "target": "zerofrom" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "yoke-derive 0.8.0", + "target": "yoke_derive" + } + ], + "selects": {} + }, + "version": "0.8.0" + }, + "license": "Unicode-3.0", + "license_ids": [ + "Unicode-3.0" + ], + "license_file": "LICENSE" + }, + "yoke-derive 0.8.0": { + "name": "yoke-derive", + "version": "0.8.0", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/yoke-derive/0.8.0/download", + "sha256": "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" + } + }, + "targets": [ + { + "ProcMacro": { + "crate_name": "yoke_derive", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "yoke_derive", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "proc-macro2 1.0.101", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.41", + "target": "quote" + }, + { + "id": "syn 2.0.106", + "target": "syn" + }, + { + "id": "synstructure 0.13.2", + "target": "synstructure" } ], "selects": {} }, - "edition": "2018", - "version": "0.1.7" + "edition": "2021", + "version": "0.8.0" }, - "license": "MIT/Apache-2.0", + "license": "Unicode-3.0", "license_ids": [ - "Apache-2.0", - "MIT" + "Unicode-3.0" ], - "license_file": "LICENSE-APACHE" + "license_file": "LICENSE" }, - "yoke 0.7.5": { - "name": "yoke", - "version": "0.7.5", - "package_url": "https://github.com/unicode-org/icu4x", + "zerocopy 0.8.27": { + "name": "zerocopy", + "version": "0.8.27", + "package_url": "https://github.com/google/zerocopy", "repository": { "Http": { - "url": "https://static.crates.io/crates/yoke/0.7.5/download", - "sha256": "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" + "url": "https://static.crates.io/crates/zerocopy/0.8.27/download", + "sha256": "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" } }, "targets": [ { "Library": { - "crate_name": "yoke", + "crate_name": "zerocopy", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -21184,67 +19631,87 @@ ] } } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } } ], - "library_target_name": "yoke", + "library_target_name": "zerocopy", "common_attrs": { "compile_data_glob": [ "**" ], "crate_features": { "common": [ - "alloc", - "default", - "derive", - "zerofrom" + "simd" ], "selects": {} }, "deps": { "common": [ { - "id": "stable_deref_trait 1.2.0", - "target": "stable_deref_trait" - }, - { - "id": "zerofrom 0.1.5", - "target": "zerofrom" + "id": "zerocopy 0.8.27", + "target": "build_script_build" } ], "selects": {} }, "edition": "2021", "proc_macro_deps": { - "common": [ - { - "id": "yoke-derive 0.7.5", - "target": "yoke_derive" - } - ], - "selects": {} + "common": [], + "selects": { + "cfg(any())": [ + { + "id": "zerocopy-derive 0.8.27", + "target": "zerocopy_derive" + } + ] + } }, - "version": "0.7.5" + "version": "0.8.27" }, - "license": "Unicode-3.0", + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "BSD-2-Clause OR Apache-2.0 OR MIT", "license_ids": [ - "Unicode-3.0" + "Apache-2.0", + "BSD-2-Clause", + "MIT" ], - "license_file": "LICENSE" + "license_file": "LICENSE-APACHE" }, - "yoke-derive 0.7.5": { - "name": "yoke-derive", - "version": "0.7.5", - "package_url": "https://github.com/unicode-org/icu4x", + "zerocopy-derive 0.8.27": { + "name": "zerocopy-derive", + "version": "0.8.27", + "package_url": "https://github.com/google/zerocopy", "repository": { "Http": { - "url": "https://static.crates.io/crates/yoke-derive/0.7.5/download", - "sha256": "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" + "url": "https://static.crates.io/crates/zerocopy-derive/0.8.27/download", + "sha256": "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" } }, "targets": [ { "ProcMacro": { - "crate_name": "yoke_derive", + "crate_name": "zerocopy_derive", "crate_root": "src/lib.rs", "srcs": { "allow_empty": true, @@ -21255,7 +19722,7 @@ } } ], - "library_target_name": "yoke_derive", + "library_target_name": "zerocopy_derive", "common_attrs": { "compile_data_glob": [ "**" @@ -21263,41 +19730,39 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "syn 2.0.101", + "id": "syn 2.0.106", "target": "syn" - }, - { - "id": "synstructure 0.13.1", - "target": "synstructure" } ], "selects": {} }, "edition": "2021", - "version": "0.7.5" + "version": "0.8.27" }, - "license": "Unicode-3.0", + "license": "BSD-2-Clause OR Apache-2.0 OR MIT", "license_ids": [ - "Unicode-3.0" + "Apache-2.0", + "BSD-2-Clause", + "MIT" ], - "license_file": "LICENSE" + "license_file": "LICENSE-APACHE" }, - "zerofrom 0.1.5": { + "zerofrom 0.1.6": { "name": "zerofrom", - "version": "0.1.5", + "version": "0.1.6", "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/zerofrom/0.1.5/download", - "sha256": "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" + "url": "https://static.crates.io/crates/zerofrom/0.1.6/download", + "sha256": "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" } }, "targets": [ @@ -21330,13 +19795,13 @@ "proc_macro_deps": { "common": [ { - "id": "zerofrom-derive 0.1.5", + "id": "zerofrom-derive 0.1.6", "target": "zerofrom_derive" } ], "selects": {} }, - "version": "0.1.5" + "version": "0.1.6" }, "license": "Unicode-3.0", "license_ids": [ @@ -21344,14 +19809,14 @@ ], "license_file": "LICENSE" }, - "zerofrom-derive 0.1.5": { + "zerofrom-derive 0.1.6": { "name": "zerofrom-derive", - "version": "0.1.5", + "version": "0.1.6", "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/zerofrom-derive/0.1.5/download", - "sha256": "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" + "url": "https://static.crates.io/crates/zerofrom-derive/0.1.6/download", + "sha256": "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" } }, "targets": [ @@ -21376,26 +19841,26 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "syn 2.0.101", + "id": "syn 2.0.106", "target": "syn" }, { - "id": "synstructure 0.13.1", + "id": "synstructure 0.13.2", "target": "synstructure" } ], "selects": {} }, "edition": "2021", - "version": "0.1.5" + "version": "0.1.6" }, "license": "Unicode-3.0", "license_ids": [ @@ -21403,14 +19868,14 @@ ], "license_file": "LICENSE" }, - "zeroize 1.8.1": { + "zeroize 1.8.2": { "name": "zeroize", - "version": "1.8.1", - "package_url": "https://github.com/RustCrypto/utils/tree/master/zeroize", + "version": "1.8.2", + "package_url": "https://github.com/RustCrypto/utils", "repository": { "Http": { - "url": "https://static.crates.io/crates/zeroize/1.8.1/download", - "sha256": "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + "url": "https://static.crates.io/crates/zeroize/1.8.2/download", + "sha256": "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" } }, "targets": [ @@ -21451,7 +19916,7 @@ ], "selects": {} }, - "version": "1.8.1" + "version": "1.8.2" }, "license": "Apache-2.0 OR MIT", "license_ids": [ @@ -21492,15 +19957,15 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "syn 2.0.101", + "id": "syn 2.0.106", "target": "syn" } ], @@ -21516,14 +19981,81 @@ ], "license_file": "LICENSE-APACHE" }, - "zerovec 0.10.4": { + "zerotrie 0.2.2": { + "name": "zerotrie", + "version": "0.2.2", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/zerotrie/0.2.2/download", + "sha256": "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" + } + }, + "targets": [ + { + "Library": { + "crate_name": "zerotrie", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "zerotrie", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "yoke", + "zerofrom" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "yoke 0.8.0", + "target": "yoke" + }, + { + "id": "zerofrom 0.1.6", + "target": "zerofrom" + } + ], + "selects": {} + }, + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "displaydoc 0.2.5", + "target": "displaydoc" + } + ], + "selects": {} + }, + "version": "0.2.2" + }, + "license": "Unicode-3.0", + "license_ids": [ + "Unicode-3.0" + ], + "license_file": "LICENSE" + }, + "zerovec 0.11.4": { "name": "zerovec", - "version": "0.10.4", + "version": "0.11.4", "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/zerovec/0.10.4/download", - "sha256": "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" + "url": "https://static.crates.io/crates/zerovec/0.11.4/download", + "sha256": "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" } }, "targets": [ @@ -21547,6 +20079,7 @@ ], "crate_features": { "common": [ + "alloc", "derive", "yoke" ], @@ -21555,11 +20088,11 @@ "deps": { "common": [ { - "id": "yoke 0.7.5", + "id": "yoke 0.8.0", "target": "yoke" }, { - "id": "zerofrom 0.1.5", + "id": "zerofrom 0.1.6", "target": "zerofrom" } ], @@ -21569,13 +20102,13 @@ "proc_macro_deps": { "common": [ { - "id": "zerovec-derive 0.10.3", + "id": "zerovec-derive 0.11.1", "target": "zerovec_derive" } ], "selects": {} }, - "version": "0.10.4" + "version": "0.11.4" }, "license": "Unicode-3.0", "license_ids": [ @@ -21583,14 +20116,14 @@ ], "license_file": "LICENSE" }, - "zerovec-derive 0.10.3": { + "zerovec-derive 0.11.1": { "name": "zerovec-derive", - "version": "0.10.3", + "version": "0.11.1", "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "url": "https://static.crates.io/crates/zerovec-derive/0.10.3/download", - "sha256": "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" + "url": "https://static.crates.io/crates/zerovec-derive/0.11.1/download", + "sha256": "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" } }, "targets": [ @@ -21615,22 +20148,22 @@ "deps": { "common": [ { - "id": "proc-macro2 1.0.95", + "id": "proc-macro2 1.0.101", "target": "proc_macro2" }, { - "id": "quote 1.0.40", + "id": "quote 1.0.41", "target": "quote" }, { - "id": "syn 2.0.101", + "id": "syn 2.0.106", "target": "syn" } ], "selects": {} }, "edition": "2021", - "version": "0.10.3" + "version": "0.11.1" }, "license": "Unicode-3.0", "license_ids": [ @@ -21638,14 +20171,14 @@ ], "license_file": "LICENSE" }, - "zip 4.3.0": { + "zip 5.1.1": { "name": "zip", - "version": "4.3.0", + "version": "5.1.1", "package_url": "https://github.com/zip-rs/zip2.git", "repository": { "Http": { - "url": "https://static.crates.io/crates/zip/4.3.0/download", - "sha256": "9aed4ac33e8eb078c89e6cbb1d5c4c7703ec6d299fc3e7c3695af8f8b423468b" + "url": "https://static.crates.io/crates/zip/5.1.1/download", + "sha256": "2f852905151ac8d4d06fdca66520a661c09730a74c6d4e2b0f27b436b382e532" } }, "targets": [ @@ -21680,7 +20213,7 @@ "deps": { "common": [ { - "id": "crc32fast 1.4.2", + "id": "crc32fast 1.5.0", "target": "crc32fast" }, { @@ -21688,11 +20221,11 @@ "target": "flate2" }, { - "id": "indexmap 2.7.1", + "id": "indexmap 2.11.4", "target": "indexmap" }, { - "id": "memchr 2.7.4", + "id": "memchr 2.7.6", "target": "memchr" }, { @@ -21703,14 +20236,14 @@ "selects": { "cfg(fuzzing)": [ { - "id": "arbitrary 1.4.1", + "id": "arbitrary 1.4.2", "target": "arbitrary" } ] } }, "edition": "2021", - "version": "4.3.0" + "version": "5.1.1" }, "license": "MIT", "license_ids": [ @@ -21718,14 +20251,14 @@ ], "license_file": "LICENSE" }, - "zlib-rs 0.5.1": { + "zlib-rs 0.5.2": { "name": "zlib-rs", - "version": "0.5.1", + "version": "0.5.2", "package_url": "https://github.com/trifectatechfoundation/zlib-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/zlib-rs/0.5.1/download", - "sha256": "626bd9fa9734751fc50d6060752170984d7053f5a39061f524cda68023d4db8a" + "url": "https://static.crates.io/crates/zlib-rs/0.5.2/download", + "sha256": "2f06ae92f42f5e5c42443fd094f245eb656abf56dd7cce9b8b263236565e00f2" } }, "targets": [ @@ -21755,7 +20288,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.1" + "version": "0.5.2" }, "license": "Zlib", "license_ids": [ @@ -21808,11 +20341,11 @@ "target": "bumpalo" }, { - "id": "crc32fast 1.4.2", + "id": "crc32fast 1.5.0", "target": "crc32fast" }, { - "id": "log 0.4.27", + "id": "log 0.4.28", "target": "log" }, { @@ -21940,7 +20473,7 @@ "deps": { "common": [ { - "id": "libc 0.2.174", + "id": "libc 0.2.176", "target": "libc" }, { @@ -21948,7 +20481,7 @@ "target": "build_script_build" }, { - "id": "zstd-sys 2.0.10+zstd.1.5.6", + "id": "zstd-sys 2.0.16+zstd.1.5.7", "target": "zstd_sys" } ], @@ -21961,13 +20494,16 @@ "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ], "link_deps": { "common": [ { - "id": "zstd-sys 2.0.10+zstd.1.5.6", + "id": "zstd-sys 2.0.16+zstd.1.5.7", "target": "zstd_sys" } ], @@ -21981,14 +20517,14 @@ ], "license_file": "LICENSE" }, - "zstd-sys 2.0.10+zstd.1.5.6": { + "zstd-sys 2.0.16+zstd.1.5.7": { "name": "zstd-sys", - "version": "2.0.10+zstd.1.5.6", + "version": "2.0.16+zstd.1.5.7", "package_url": "https://github.com/gyscos/zstd-rs", "repository": { "Http": { - "url": "https://static.crates.io/crates/zstd-sys/2.0.10+zstd.1.5.6/download", - "sha256": "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" + "url": "https://static.crates.io/crates/zstd-sys/2.0.16+zstd.1.5.7/download", + "sha256": "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" } }, "targets": [ @@ -22033,30 +20569,33 @@ "deps": { "common": [ { - "id": "zstd-sys 2.0.10+zstd.1.5.6", + "id": "zstd-sys 2.0.16+zstd.1.5.7", "target": "build_script_build" } ], "selects": {} }, "edition": "2018", - "version": "2.0.10+zstd.1.5.6" + "version": "2.0.16+zstd.1.5.7" }, "build_script_attrs": { "compile_data_glob": [ "**" ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], "data_glob": [ "**" ], "deps": { "common": [ { - "id": "cc 1.1.30", + "id": "cc 1.2.39", "target": "cc" }, { - "id": "pkg-config 0.3.30", + "id": "pkg-config 0.3.32", "target": "pkg_config" } ], @@ -22080,418 +20619,131 @@ "aarch64-apple-darwin": [ "aarch64-apple-darwin" ], - "aarch64-apple-ios": [ - "aarch64-apple-ios" - ], - "aarch64-apple-ios-sim": [ - "aarch64-apple-ios-sim" - ], - "aarch64-linux-android": [ - "aarch64-linux-android" - ], + "aarch64-linux-android": [], "aarch64-pc-windows-gnullvm": [], - "aarch64-pc-windows-msvc": [ - "aarch64-pc-windows-msvc" - ], - "aarch64-unknown-fuchsia": [ - "aarch64-unknown-fuchsia" - ], "aarch64-unknown-linux-gnu": [ - "aarch64-unknown-linux-gnu", - "aarch64-unknown-nixos-gnu" - ], - "aarch64-unknown-nixos-gnu": [ - "aarch64-unknown-nixos-gnu" - ], - "aarch64-unknown-nto-qnx710": [ - "aarch64-unknown-nto-qnx710" - ], - "arm-unknown-linux-gnueabi": [ - "arm-unknown-linux-gnueabi" + "aarch64-unknown-linux-gnu" ], - "armv7-linux-androideabi": [ - "armv7-linux-androideabi" + "cfg(all(all(target_arch = \"aarch64\", target_endian = \"little\"), target_os = \"windows\"))": [], + "cfg(all(all(target_arch = \"aarch64\", target_endian = \"little\"), target_vendor = \"apple\", any(target_os = \"ios\", target_os = \"macos\", target_os = \"tvos\", target_os = \"visionos\", target_os = \"watchos\")))": [ + "aarch64-apple-darwin" ], - "armv7-unknown-linux-gnueabi": [ - "armv7-unknown-linux-gnueabi" + "cfg(all(any(all(target_arch = \"aarch64\", target_endian = \"little\"), all(target_arch = \"arm\", target_endian = \"little\")), any(target_os = \"android\", target_os = \"linux\")))": [ + "aarch64-unknown-linux-gnu" ], "cfg(all(any(target_arch = \"x86_64\", target_arch = \"arm64ec\"), target_env = \"msvc\", not(windows_raw_dylib)))": [ "x86_64-pc-windows-msvc" ], - "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))": [ - "aarch64-linux-android", - "armv7-linux-androideabi", - "i686-linux-android", - "powerpc-unknown-linux-gnu", - "s390x-unknown-linux-gnu", - "x86_64-linux-android" - ], - "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))": [ - "aarch64-linux-android", - "armv7-linux-androideabi", - "i686-linux-android", - "powerpc-unknown-linux-gnu", - "s390x-unknown-linux-gnu", - "x86_64-linux-android" - ], - "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(target_arch = \"aarch64\", target_arch = \"arm\")))": [ - "aarch64-linux-android", - "aarch64-unknown-linux-gnu", - "aarch64-unknown-nixos-gnu", - "arm-unknown-linux-gnueabi", - "armv7-linux-androideabi", - "armv7-unknown-linux-gnueabi" - ], - "cfg(all(any(target_os = \"linux\", target_os = \"android\"), not(any(getrandom_backend = \"custom\", getrandom_backend = \"rdrand\", getrandom_backend = \"rndr\"))))": [ - "aarch64-linux-android", + "cfg(all(any(target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))": [], + "cfg(all(any(target_os = \"linux\", target_os = \"android\"), not(any(all(target_os = \"linux\", target_env = \"\"), getrandom_backend = \"custom\", getrandom_backend = \"linux_raw\", getrandom_backend = \"rdrand\", getrandom_backend = \"rndr\"))))": [ "aarch64-unknown-linux-gnu", - "aarch64-unknown-nixos-gnu", - "arm-unknown-linux-gnueabi", - "armv7-linux-androideabi", - "armv7-unknown-linux-gnueabi", - "i686-linux-android", - "i686-unknown-linux-gnu", - "powerpc-unknown-linux-gnu", - "s390x-unknown-linux-gnu", - "x86_64-linux-android", "x86_64-unknown-linux-gnu", "x86_64-unknown-nixos-gnu" ], "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))": [ "aarch64-unknown-linux-gnu", - "aarch64-unknown-nixos-gnu", - "arm-unknown-linux-gnueabi", - "armv7-unknown-linux-gnueabi", - "i686-unknown-linux-gnu", - "x86_64-unknown-linux-gnu", - "x86_64-unknown-nixos-gnu" - ], - "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))": [ - "aarch64-unknown-linux-gnu", - "aarch64-unknown-nixos-gnu", - "arm-unknown-linux-gnueabi", - "armv7-unknown-linux-gnueabi", - "i686-unknown-linux-gnu", "x86_64-unknown-linux-gnu", "x86_64-unknown-nixos-gnu" ], "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))": [ "aarch64-apple-darwin", - "aarch64-apple-ios", - "aarch64-apple-ios-sim", - "aarch64-linux-android", - "aarch64-unknown-fuchsia", - "aarch64-unknown-nto-qnx710", - "armv7-linux-androideabi", - "i686-apple-darwin", - "i686-linux-android", - "i686-unknown-freebsd", - "powerpc-unknown-linux-gnu", - "riscv32imc-unknown-none-elf", - "riscv64gc-unknown-none-elf", - "s390x-unknown-linux-gnu", - "thumbv7em-none-eabi", - "thumbv8m.main-none-eabi", - "wasm32-unknown-unknown", - "wasm32-wasip1", - "x86_64-apple-darwin", - "x86_64-apple-ios", - "x86_64-linux-android", - "x86_64-unknown-freebsd", - "x86_64-unknown-fuchsia", - "x86_64-unknown-none" - ], - "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))": [ - "aarch64-apple-darwin", - "aarch64-apple-ios", - "aarch64-apple-ios-sim", - "aarch64-linux-android", - "aarch64-unknown-fuchsia", - "aarch64-unknown-nto-qnx710", - "armv7-linux-androideabi", - "i686-apple-darwin", - "i686-linux-android", - "i686-unknown-freebsd", - "powerpc-unknown-linux-gnu", - "riscv32imc-unknown-none-elf", - "riscv64gc-unknown-none-elf", - "s390x-unknown-linux-gnu", - "thumbv7em-none-eabi", - "thumbv8m.main-none-eabi", "wasm32-unknown-unknown", - "wasm32-wasip1", - "x86_64-apple-darwin", - "x86_64-apple-ios", - "x86_64-linux-android", - "x86_64-unknown-freebsd", - "x86_64-unknown-fuchsia", - "x86_64-unknown-none" - ], - "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": [ - "aarch64-pc-windows-msvc" + "wasm32-wasip1" ], + "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": [], "cfg(all(target_arch = \"aarch64\", target_os = \"linux\"))": [ - "aarch64-unknown-linux-gnu", - "aarch64-unknown-nixos-gnu" - ], - "cfg(all(target_arch = \"aarch64\", target_os = \"windows\"))": [ - "aarch64-pc-windows-msvc" + "aarch64-unknown-linux-gnu" ], "cfg(all(target_arch = \"aarch64\", target_vendor = \"apple\"))": [ - "aarch64-apple-darwin", - "aarch64-apple-ios", - "aarch64-apple-ios-sim" + "aarch64-apple-darwin" ], "cfg(all(target_arch = \"loongarch64\", target_os = \"linux\"))": [], - "cfg(all(target_arch = \"wasm32\", target_os = \"wasi\", target_env = \"p2\"))": [], - "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ - "i686-unknown-linux-gnu" - ], - "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": [ - "i686-pc-windows-msvc" + "cfg(all(target_arch = \"wasm32\", target_os = \"unknown\"))": [ + "wasm32-unknown-unknown" ], + "cfg(all(target_arch = \"wasm32\", target_os = \"wasi\", target_env = \"p2\"))": [], + "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [], + "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": [], "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ "x86_64-unknown-linux-gnu", "x86_64-unknown-nixos-gnu" ], - "cfg(all(tokio_uring, target_os = \"linux\"))": [], - "cfg(all(windows, not(target_vendor = \"win7\")))": [ - "aarch64-pc-windows-msvc", - "i686-pc-windows-msvc", - "x86_64-pc-windows-msvc" + "cfg(all(target_family = \"wasm\", target_os = \"unknown\"))": [ + "wasm32-unknown-unknown" ], + "cfg(all(target_os = \"uefi\", getrandom_backend = \"efi_rng\"))": [], + "cfg(all(tokio_uring, target_os = \"linux\"))": [], "cfg(any())": [], - "cfg(any(target_arch = \"aarch64\", target_arch = \"arm\", target_arch = \"x86\", target_arch = \"x86_64\"))": [ - "aarch64-apple-darwin", - "aarch64-apple-ios", - "aarch64-apple-ios-sim", - "aarch64-linux-android", - "aarch64-pc-windows-msvc", - "aarch64-unknown-fuchsia", - "aarch64-unknown-linux-gnu", - "aarch64-unknown-nixos-gnu", - "aarch64-unknown-nto-qnx710", - "arm-unknown-linux-gnueabi", - "armv7-linux-androideabi", - "armv7-unknown-linux-gnueabi", - "i686-apple-darwin", - "i686-linux-android", - "i686-pc-windows-msvc", - "i686-unknown-freebsd", - "i686-unknown-linux-gnu", - "thumbv7em-none-eabi", - "thumbv8m.main-none-eabi", - "x86_64-apple-darwin", - "x86_64-apple-ios", - "x86_64-linux-android", - "x86_64-pc-windows-msvc", - "x86_64-unknown-freebsd", - "x86_64-unknown-fuchsia", - "x86_64-unknown-linux-gnu", - "x86_64-unknown-nixos-gnu", - "x86_64-unknown-none" - ], "cfg(any(target_arch = \"aarch64\", target_arch = \"x86\", target_arch = \"x86_64\"))": [ "aarch64-apple-darwin", - "aarch64-apple-ios", - "aarch64-apple-ios-sim", - "aarch64-linux-android", - "aarch64-pc-windows-msvc", - "aarch64-unknown-fuchsia", "aarch64-unknown-linux-gnu", - "aarch64-unknown-nixos-gnu", - "aarch64-unknown-nto-qnx710", - "i686-apple-darwin", - "i686-linux-android", - "i686-pc-windows-msvc", - "i686-unknown-freebsd", - "i686-unknown-linux-gnu", - "x86_64-apple-darwin", - "x86_64-apple-ios", - "x86_64-linux-android", "x86_64-pc-windows-msvc", - "x86_64-unknown-freebsd", - "x86_64-unknown-fuchsia", "x86_64-unknown-linux-gnu", - "x86_64-unknown-nixos-gnu", - "x86_64-unknown-none" + "x86_64-unknown-nixos-gnu" ], "cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))": [ "aarch64-apple-darwin", - "aarch64-apple-ios", - "aarch64-apple-ios-sim", - "aarch64-linux-android", - "aarch64-pc-windows-msvc", - "aarch64-unknown-fuchsia", "aarch64-unknown-linux-gnu", - "aarch64-unknown-nixos-gnu", - "aarch64-unknown-nto-qnx710", - "i686-apple-darwin", - "i686-linux-android", - "i686-pc-windows-msvc", - "i686-unknown-freebsd", - "i686-unknown-linux-gnu", - "x86_64-apple-darwin", - "x86_64-apple-ios", - "x86_64-linux-android", "x86_64-pc-windows-msvc", - "x86_64-unknown-freebsd", - "x86_64-unknown-fuchsia", "x86_64-unknown-linux-gnu", - "x86_64-unknown-nixos-gnu", - "x86_64-unknown-none" - ], - "cfg(any(target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"hurd\", target_os = \"illumos\", all(target_os = \"horizon\", target_arch = \"arm\")))": [ - "i686-unknown-freebsd", - "x86_64-unknown-freebsd" - ], - "cfg(any(target_os = \"freebsd\", target_os = \"netbsd\"))": [ - "i686-unknown-freebsd", - "x86_64-unknown-freebsd" - ], - "cfg(any(target_os = \"haiku\", target_os = \"redox\", target_os = \"nto\", target_os = \"aix\"))": [ - "aarch64-unknown-nto-qnx710" - ], - "cfg(any(target_os = \"ios\", target_os = \"visionos\", target_os = \"watchos\", target_os = \"tvos\"))": [ - "aarch64-apple-ios", - "aarch64-apple-ios-sim", - "x86_64-apple-ios" + "x86_64-unknown-nixos-gnu" ], - "cfg(any(target_os = \"macos\", target_os = \"ios\"))": [ + "cfg(any(target_os = \"android\", target_os = \"linux\", target_os = \"macos\", target_os = \"hurd\"))": [ "aarch64-apple-darwin", - "aarch64-apple-ios", - "aarch64-apple-ios-sim", - "i686-apple-darwin", - "x86_64-apple-darwin", - "x86_64-apple-ios" + "aarch64-unknown-linux-gnu", + "x86_64-unknown-linux-gnu", + "x86_64-unknown-nixos-gnu" ], + "cfg(any(target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"hurd\", target_os = \"illumos\", target_os = \"cygwin\", all(target_os = \"horizon\", target_arch = \"arm\")))": [], + "cfg(any(target_os = \"freebsd\", target_os = \"netbsd\"))": [], + "cfg(any(target_os = \"haiku\", target_os = \"redox\", target_os = \"nto\", target_os = \"aix\"))": [], + "cfg(any(target_os = \"ios\", target_os = \"visionos\", target_os = \"watchos\", target_os = \"tvos\"))": [], "cfg(any(target_os = \"macos\", target_os = \"openbsd\", target_os = \"vita\", target_os = \"emscripten\"))": [ - "aarch64-apple-darwin", - "i686-apple-darwin", - "x86_64-apple-darwin" + "aarch64-apple-darwin" ], "cfg(any(unix, target_os = \"wasi\"))": [ "aarch64-apple-darwin", - "aarch64-apple-ios", - "aarch64-apple-ios-sim", - "aarch64-linux-android", - "aarch64-unknown-fuchsia", "aarch64-unknown-linux-gnu", - "aarch64-unknown-nixos-gnu", - "aarch64-unknown-nto-qnx710", - "arm-unknown-linux-gnueabi", - "armv7-linux-androideabi", - "armv7-unknown-linux-gnueabi", - "i686-apple-darwin", - "i686-linux-android", - "i686-unknown-freebsd", - "i686-unknown-linux-gnu", - "powerpc-unknown-linux-gnu", - "s390x-unknown-linux-gnu", "wasm32-wasip1", - "x86_64-apple-darwin", - "x86_64-apple-ios", - "x86_64-linux-android", - "x86_64-unknown-freebsd", - "x86_64-unknown-fuchsia", "x86_64-unknown-linux-gnu", "x86_64-unknown-nixos-gnu" ], + "cfg(any(windows, target_os = \"cygwin\"))": [ + "x86_64-pc-windows-msvc" + ], "cfg(fuzzing)": [], + "cfg(not(all(target_family = \"wasm\", target_os = \"unknown\")))": [ + "aarch64-apple-darwin", + "aarch64-unknown-linux-gnu", + "wasm32-wasip1", + "x86_64-pc-windows-msvc", + "x86_64-unknown-linux-gnu", + "x86_64-unknown-nixos-gnu" + ], "cfg(not(all(windows, target_env = \"msvc\", not(target_vendor = \"uwp\"))))": [ "aarch64-apple-darwin", - "aarch64-apple-ios", - "aarch64-apple-ios-sim", - "aarch64-linux-android", - "aarch64-unknown-fuchsia", "aarch64-unknown-linux-gnu", - "aarch64-unknown-nixos-gnu", - "aarch64-unknown-nto-qnx710", - "arm-unknown-linux-gnueabi", - "armv7-linux-androideabi", - "armv7-unknown-linux-gnueabi", - "i686-apple-darwin", - "i686-linux-android", - "i686-unknown-freebsd", - "i686-unknown-linux-gnu", - "powerpc-unknown-linux-gnu", - "riscv32imc-unknown-none-elf", - "riscv64gc-unknown-none-elf", - "s390x-unknown-linux-gnu", - "thumbv7em-none-eabi", - "thumbv8m.main-none-eabi", "wasm32-unknown-unknown", "wasm32-wasip1", - "x86_64-apple-darwin", - "x86_64-apple-ios", - "x86_64-linux-android", - "x86_64-unknown-freebsd", - "x86_64-unknown-fuchsia", "x86_64-unknown-linux-gnu", - "x86_64-unknown-nixos-gnu", - "x86_64-unknown-none" + "x86_64-unknown-nixos-gnu" ], "cfg(not(target_arch = \"wasm32\"))": [ "aarch64-apple-darwin", - "aarch64-apple-ios", - "aarch64-apple-ios-sim", - "aarch64-linux-android", - "aarch64-pc-windows-msvc", - "aarch64-unknown-fuchsia", "aarch64-unknown-linux-gnu", - "aarch64-unknown-nixos-gnu", - "aarch64-unknown-nto-qnx710", - "arm-unknown-linux-gnueabi", - "armv7-linux-androideabi", - "armv7-unknown-linux-gnueabi", - "i686-apple-darwin", - "i686-linux-android", - "i686-pc-windows-msvc", - "i686-unknown-freebsd", - "i686-unknown-linux-gnu", - "powerpc-unknown-linux-gnu", - "riscv32imc-unknown-none-elf", - "riscv64gc-unknown-none-elf", - "s390x-unknown-linux-gnu", - "thumbv7em-none-eabi", - "thumbv8m.main-none-eabi", - "x86_64-apple-darwin", - "x86_64-apple-ios", - "x86_64-linux-android", "x86_64-pc-windows-msvc", - "x86_64-unknown-freebsd", - "x86_64-unknown-fuchsia", "x86_64-unknown-linux-gnu", - "x86_64-unknown-nixos-gnu", - "x86_64-unknown-none" - ], - "cfg(not(target_has_atomic = \"ptr\"))": [ - "riscv32imc-unknown-none-elf" + "x86_64-unknown-nixos-gnu" ], + "cfg(not(target_has_atomic = \"ptr\"))": [], "cfg(target_arch = \"wasm32\")": [ "wasm32-unknown-unknown", "wasm32-wasip1" ], "cfg(target_feature = \"atomics\")": [], - "cfg(target_os = \"android\")": [ - "aarch64-linux-android", - "armv7-linux-androideabi", - "i686-linux-android", - "x86_64-linux-android" - ], + "cfg(target_os = \"android\")": [], "cfg(target_os = \"haiku\")": [], "cfg(target_os = \"hermit\")": [], - "cfg(target_os = \"linux\")": [ - "aarch64-unknown-linux-gnu", - "aarch64-unknown-nixos-gnu", - "arm-unknown-linux-gnueabi", - "armv7-unknown-linux-gnueabi", - "i686-unknown-linux-gnu", - "powerpc-unknown-linux-gnu", - "s390x-unknown-linux-gnu", - "x86_64-unknown-linux-gnu", - "x86_64-unknown-nixos-gnu" - ], "cfg(target_os = \"netbsd\")": [], "cfg(target_os = \"redox\")": [], "cfg(target_os = \"solaris\")": [], @@ -22500,119 +20752,48 @@ "wasm32-wasip1" ], "cfg(target_os = \"windows\")": [ - "aarch64-pc-windows-msvc", - "i686-pc-windows-msvc", "x86_64-pc-windows-msvc" ], + "cfg(target_vendor = \"apple\")": [ + "aarch64-apple-darwin" + ], "cfg(tokio_taskdump)": [], "cfg(unix)": [ "aarch64-apple-darwin", - "aarch64-apple-ios", - "aarch64-apple-ios-sim", - "aarch64-linux-android", - "aarch64-unknown-fuchsia", "aarch64-unknown-linux-gnu", - "aarch64-unknown-nixos-gnu", - "aarch64-unknown-nto-qnx710", - "arm-unknown-linux-gnueabi", - "armv7-linux-androideabi", - "armv7-unknown-linux-gnueabi", - "i686-apple-darwin", - "i686-linux-android", - "i686-unknown-freebsd", - "i686-unknown-linux-gnu", - "powerpc-unknown-linux-gnu", - "s390x-unknown-linux-gnu", - "x86_64-apple-darwin", - "x86_64-apple-ios", - "x86_64-linux-android", - "x86_64-unknown-freebsd", - "x86_64-unknown-fuchsia", "x86_64-unknown-linux-gnu", "x86_64-unknown-nixos-gnu" ], "cfg(windows)": [ - "aarch64-pc-windows-msvc", - "i686-pc-windows-msvc", "x86_64-pc-windows-msvc" ], - "i686-apple-darwin": [ - "i686-apple-darwin" - ], - "i686-linux-android": [ - "i686-linux-android" - ], + "cfg(windows_raw_dylib)": [], "i686-pc-windows-gnu": [], "i686-pc-windows-gnullvm": [], - "i686-pc-windows-msvc": [ - "i686-pc-windows-msvc" - ], - "i686-unknown-freebsd": [ - "i686-unknown-freebsd" - ], - "i686-unknown-linux-gnu": [ - "i686-unknown-linux-gnu" - ], - "powerpc-unknown-linux-gnu": [ - "powerpc-unknown-linux-gnu" - ], - "riscv32imc-unknown-none-elf": [ - "riscv32imc-unknown-none-elf" - ], - "riscv64gc-unknown-none-elf": [ - "riscv64gc-unknown-none-elf" - ], - "s390x-unknown-linux-gnu": [ - "s390x-unknown-linux-gnu" - ], - "thumbv7em-none-eabi": [ - "thumbv7em-none-eabi" - ], - "thumbv8m.main-none-eabi": [ - "thumbv8m.main-none-eabi" - ], "wasm32-unknown-unknown": [ "wasm32-unknown-unknown" ], "wasm32-wasip1": [ "wasm32-wasip1" ], - "x86_64-apple-darwin": [ - "x86_64-apple-darwin" - ], - "x86_64-apple-ios": [ - "x86_64-apple-ios" - ], - "x86_64-linux-android": [ - "x86_64-linux-android" - ], "x86_64-pc-windows-gnu": [], "x86_64-pc-windows-gnullvm": [], "x86_64-pc-windows-msvc": [ "x86_64-pc-windows-msvc" ], - "x86_64-unknown-freebsd": [ - "x86_64-unknown-freebsd" - ], - "x86_64-unknown-fuchsia": [ - "x86_64-unknown-fuchsia" - ], "x86_64-unknown-linux-gnu": [ "x86_64-unknown-linux-gnu", "x86_64-unknown-nixos-gnu" ], "x86_64-unknown-nixos-gnu": [ "x86_64-unknown-nixos-gnu" - ], - "x86_64-unknown-none": [ - "x86_64-unknown-none" ] }, "direct_deps": [ - "anyhow 1.0.99", + "anyhow 1.0.100", "apple-flat-package 0.20.0", "bzip2 0.6.0", - "clap 4.5.45", + "clap 4.5.48", "debpkg 0.6.0", "directories 6.0.0", "env_logger 0.11.8", @@ -22621,25 +20802,25 @@ "fs2 0.4.3", "fs_extra 1.3.0", "infer 0.19.0", - "log 0.4.27", - "regex 1.11.1", + "log 0.4.28", + "regex 1.11.3", "reqwest 0.12.23", - "serde 1.0.219", - "serde_json 1.0.142", + "serde 1.0.228", + "serde_json 1.0.145", "sevenz-rust 0.6.1", "tar 0.4.44", - "tempfile 3.20.0", + "tempfile 3.23.0", "tokio 1.47.1", - "toml 0.9.5", + "toml 0.9.7", "walkdir 2.5.0", "which 8.0.0", "winapi 0.3.9", "xz2 0.1.7", - "zip 4.3.0" + "zip 5.1.1" ], "direct_dev_deps": [ "assert_cmd 2.0.17", - "is_executable 1.0.4", + "is_executable 1.0.5", "rstest 0.26.1" ], "unused_patches": [] diff --git a/rust/Cargo.lock b/rust/Cargo.lock index ba54a9ea2c848..a43158912bd9a 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -4,24 +4,18 @@ version = 4 [[package]] name = "addr2line" -version = "0.21.0" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" dependencies = [ "gimli", ] -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aho-corasick" @@ -32,12 +26,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - [[package]] name = "android_system_properties" version = "0.1.5" @@ -49,9 +37,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.14" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" dependencies = [ "anstyle", "anstyle-parse", @@ -64,43 +52,44 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" +checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "once_cell_polyfill", + "windows-sys 0.60.2", ] [[package]] name = "anyhow" -version = "1.0.99" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" dependencies = [ "backtrace", ] @@ -117,7 +106,7 @@ dependencies = [ "scroll", "serde", "serde-xml-rs", - "thiserror 2.0.6", + "thiserror 2.0.17", ] [[package]] @@ -135,7 +124,7 @@ dependencies = [ "flate2", "log", "md-5", - "rand", + "rand 0.8.5", "reqwest", "scroll", "serde", @@ -143,7 +132,7 @@ dependencies = [ "sha1", "sha2", "signature", - "thiserror 2.0.6", + "thiserror 2.0.17", "url", "x509-certificate", "xml-rs", @@ -158,18 +147,18 @@ checksum = "d67af77d68a931ecd5cbd8a3b5987d63a1d1d1278f7f6a60ae33db485cdebb69" [[package]] name = "arbitrary" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" +checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" dependencies = [ "derive_arbitrary", ] [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "assert_cmd" @@ -187,25 +176,31 @@ dependencies = [ "wait-timeout", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "autocfg" -version = "1.3.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", - "miniz_oxide 0.7.2", + "miniz_oxide", "object", "rustc-demangle", + "windows-link", ] [[package]] @@ -216,15 +211,15 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "bcder" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627747a6774aab38beb35990d88309481378558875a41da1a4b2e373c906ef0" +checksum = "1f7c42c9913f68cf9390a225e81ad56a5c515347287eb98baa710090ca1de86d" dependencies = [ "bytes", "smallvec", @@ -247,15 +242,9 @@ checksum = "d2c54ff287cfc0a34f38a6b832ea1bd8e448a330b3e40a50859e6488bee07f22" [[package]] name = "bitflags" -version = "1.3.2" +version = "2.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" [[package]] name = "block-buffer" @@ -268,9 +257,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.9.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" +checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" dependencies = [ "memchr", "regex-automata", @@ -291,9 +280,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.9.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "bzip2" @@ -326,10 +315,11 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.30" +version = "1.2.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16803a61b81d9eabb7eae2588776c4c1e584b738ede45fdbb4c972cec1e9945" +checksum = "e1354349954c6fc9cb0deab020f27f783cf0b604e8bb754dc4658ecf0d29c35f" dependencies = [ + "find-msvc-tools", "jobserver", "libc", "shlex", @@ -348,30 +338,35 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" dependencies = [ - "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "serde", "wasm-bindgen", - "windows-targets", + "windows-link", ] [[package]] name = "clap" -version = "4.5.45" +version = "4.5.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc0e74a703892159f5ae7d3aac52c8e6c392f5ae5f359c70b5881d60aaac318" +checksum = "e2134bb3ea021b78629caa971416385309e0131b351b25e01dc16fb54e1b5fae" dependencies = [ "clap_builder", "clap_derive", @@ -379,9 +374,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.44" +version = "4.5.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e7f4214277f3c7aa526a59dd3fbe306a370daee1f8b7b8c987069cd8e888a8" +checksum = "c2ba64afa3c0a6df7fa517765e31314e983f51dda798ffba27b988194fb65dc9" dependencies = [ "anstream", "anstyle", @@ -391,9 +386,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.45" +version = "4.5.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6" +checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c" dependencies = [ "heck", "proc-macro2", @@ -403,15 +398,15 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "const-oid" @@ -421,9 +416,9 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpio-archive" @@ -439,18 +434,18 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] [[package]] name = "crc" -version = "3.2.1" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" dependencies = [ "crc-catalog", ] @@ -463,9 +458,9 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] @@ -517,9 +512,9 @@ dependencies = [ [[package]] name = "der" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ "const-oid", "zeroize", @@ -527,18 +522,18 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "a41953f86f8a05768a6cda24def994fd2f424b04ec5c719cf89989779f199071" dependencies = [ "powerfmt", ] [[package]] name = "derive_arbitrary" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" +checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" dependencies = [ "proc-macro2", "quote", @@ -579,7 +574,7 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.59.0", + "windows-sys 0.61.1", ] [[package]] @@ -601,9 +596,9 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" [[package]] name = "env_filter" -version = "0.1.0" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" dependencies = [ "log", "regex", @@ -630,18 +625,18 @@ dependencies = [ [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.10" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.1", ] [[package]] @@ -652,20 +647,20 @@ checksum = "de853764b47027c2e862a995c34978ffa63c1501f2e15f987ba11bd4f9bba193" [[package]] name = "fastrand" -version = "2.1.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "filetime" -version = "0.2.23" +version = "0.2.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" +checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed" dependencies = [ "cfg-if", "libc", - "redox_syscall", - "windows-sys 0.52.0", + "libredox", + "windows-sys 0.60.2", ] [[package]] @@ -679,6 +674,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "find-msvc-tools" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ced73b1dacfc750a6db6c0a0c3a3853c8b41997e2e2c563dc90804ae6867959" + [[package]] name = "flate2" version = "1.1.2" @@ -687,7 +688,7 @@ checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", "libz-rs-sys", - "miniz_oxide 0.8.5", + "miniz_oxide", ] [[package]] @@ -698,9 +699,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -723,9 +724,9 @@ checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -733,33 +734,33 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-core", "futures-io", @@ -783,38 +784,42 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", + "js-sys", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", + "js-sys", "libc", - "wasi 0.13.3+wasi-0.2.2", - "windows-targets", + "r-efi", + "wasi 0.14.7+wasi-0.2.4", + "wasm-bindgen", ] [[package]] name = "gimli" -version = "0.28.1" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" [[package]] name = "glob" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "hashbrown" @@ -824,9 +829,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" [[package]] name = "heck" @@ -834,12 +839,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - [[package]] name = "hex" version = "0.4.3" @@ -848,9 +847,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "http" -version = "1.1.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", "fnv", @@ -859,9 +858,9 @@ dependencies = [ [[package]] name = "http-body" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", "http", @@ -869,9 +868,9 @@ dependencies = [ [[package]] name = "http-body-util" -version = "0.1.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", @@ -888,18 +887,20 @@ checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "hyper" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" dependencies = [ + "atomic-waker", "bytes", "futures-channel", - "futures-util", + "futures-core", "http", "http-body", "httparse", "itoa", "pin-project-lite", + "pin-utils", "smallvec", "tokio", "want", @@ -907,11 +908,10 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.2" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "futures-util", "http", "hyper", "hyper-util", @@ -920,14 +920,14 @@ dependencies = [ "tokio", "tokio-rustls", "tower-service", - "webpki-roots 0.26.1", + "webpki-roots", ] [[package]] name = "hyper-util" -version = "0.1.14" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" +checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" dependencies = [ "base64", "bytes", @@ -941,7 +941,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.5.10", + "socket2", "tokio", "tower-service", "tracing", @@ -949,14 +949,15 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", "windows-core", ] @@ -972,21 +973,22 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" dependencies = [ "displaydoc", + "potential_utf", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" dependencies = [ "displaydoc", "litemap", @@ -995,31 +997,11 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" dependencies = [ "displaydoc", "icu_collections", @@ -1027,72 +1009,59 @@ dependencies = [ "icu_properties", "icu_provider", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" dependencies = [ "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "potential_utf", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", + "icu_locale_core", "stable_deref_trait", "tinystr", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -1101,9 +1070,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -1121,12 +1090,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.1" +version = "2.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" +checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.16.0", ] [[package]] @@ -1149,20 +1118,20 @@ dependencies = [ [[package]] name = "io-uring" -version = "0.7.8" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" +checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" dependencies = [ - "bitflags 2.5.0", + "bitflags", "cfg-if", "libc", ] [[package]] name = "ipnet" -version = "2.9.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "iri-string" @@ -1176,30 +1145,30 @@ dependencies = [ [[package]] name = "is_executable" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a1b5bad6f9072935961dfbf1cced2f3d129963d091b6f69f007fe04e758ae2" +checksum = "baabb8b4867b26294d818bf3f651a454b6901431711abb96e296245888d6e8c4" dependencies = [ - "winapi", + "windows-sys 0.60.2", ] [[package]] name = "is_terminal_polyfill" -version = "1.70.0" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "jiff" -version = "0.2.13" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f02000660d30638906021176af16b17498bd0d12813dbfe7b276d8bc7f3c0806" +checksum = "be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49" dependencies = [ "jiff-static", "log", @@ -1210,9 +1179,9 @@ dependencies = [ [[package]] name = "jiff-static" -version = "0.2.13" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c30758ddd7188629c6713fc45d1188af4f44c90582311d0c8d8c9907f60c48" +checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" dependencies = [ "proc-macro2", "quote", @@ -1221,18 +1190,19 @@ dependencies = [ [[package]] name = "jobserver" -version = "0.1.31" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ + "getrandom 0.3.3", "libc", ] [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305" dependencies = [ "once_cell", "wasm-bindgen", @@ -1240,58 +1210,59 @@ dependencies = [ [[package]] name = "libbz2-rs-sys" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775bf80d5878ab7c2b1080b5351a48b2f737d9f6f8b383574eebcc22be0dfccb" +checksum = "2c4a545a15244c7d945065b5d392b2d2d7f21526fba56ce51467b06ed445e8f7" [[package]] name = "libc" -version = "0.2.174" +version = "0.2.176" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" +checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" [[package]] name = "libredox" -version = "0.1.3" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" dependencies = [ - "bitflags 2.5.0", + "bitflags", "libc", + "redox_syscall", ] [[package]] name = "libz-rs-sys" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "172a788537a2221661b480fee8dc5f96c580eb34fa88764d3205dc356c7e4221" +checksum = "840db8cf39d9ec4dd794376f38acc40d0fc65eec2a8f484f7fd375b84602becd" dependencies = [ "zlib-rs", ] [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] -name = "linux-raw-sys" -version = "0.9.4" +name = "litemap" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] -name = "litemap" -version = "0.7.4" +name = "log" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" +checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" [[package]] -name = "log" -version = "0.4.27" +name = "lru-slab" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" [[package]] name = "lzma-rust" @@ -1325,38 +1296,28 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "miniz_oxide" -version = "0.7.2" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" -dependencies = [ - "adler", -] +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] name = "miniz_oxide" -version = "0.8.5" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] [[package]] name = "mio" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ - "hermit-abi", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.59.0", ] [[package]] @@ -1386,18 +1347,24 @@ dependencies = [ [[package]] name = "object" -version = "0.32.2" +version = "0.37.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.19.0" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" [[package]] name = "option-ext" @@ -1407,9 +1374,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "pem" -version = "3.0.4" +version = "3.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" +checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" dependencies = [ "base64", "serde", @@ -1417,15 +1384,15 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -1435,15 +1402,15 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "portable-atomic" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "portable-atomic-util" @@ -1454,6 +1421,15 @@ dependencies = [ "portable-atomic", ] +[[package]] +name = "potential_utf" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" +dependencies = [ + "zerovec", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -1462,15 +1438,18 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] [[package]] name = "predicates" -version = "3.1.0" +version = "3.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8" +checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573" dependencies = [ "anstyle", "difflib", @@ -1479,15 +1458,15 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" +checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" [[package]] name = "predicates-tree" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" dependencies = [ "predicates-core", "termtree", @@ -1495,70 +1474,83 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] [[package]] name = "quinn" -version = "0.11.3" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" dependencies = [ "bytes", + "cfg_aliases", "pin-project-lite", "quinn-proto", "quinn-udp", "rustc-hash", "rustls", - "socket2 0.5.10", - "thiserror 1.0.69", + "socket2", + "thiserror 2.0.17", "tokio", "tracing", + "web-time", ] [[package]] name = "quinn-proto" -version = "0.11.6" +version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba92fb39ec7ad06ca2582c0ca834dfeadcaf06ddfc8e635c80aa7e1c05315fdd" +checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" dependencies = [ "bytes", - "rand", + "getrandom 0.3.3", + "lru-slab", + "rand 0.9.2", "ring", "rustc-hash", "rustls", + "rustls-pki-types", "slab", - "thiserror 1.0.69", + "thiserror 2.0.17", "tinyvec", "tracing", + "web-time", ] [[package]] name = "quinn-udp" -version = "0.5.4" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" dependencies = [ + "cfg_aliases", "libc", "once_cell", - "socket2 0.5.10", + "socket2", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] [[package]] name = "quote" -version = "1.0.40" +version = "1.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + [[package]] name = "rand" version = "0.8.5" @@ -1566,8 +1558,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", ] [[package]] @@ -1577,7 +1579,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -1586,34 +1598,43 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.3", ] [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ - "bitflags 1.3.2", + "bitflags", ] [[package]] name = "redox_users" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "libredox", - "thiserror 2.0.6", + "thiserror 2.0.17", ] [[package]] name = "regex" -version = "1.11.1" +version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c" dependencies = [ "aho-corasick", "memchr", @@ -1623,9 +1644,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.8" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" +checksum = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad" dependencies = [ "aho-corasick", "memchr", @@ -1634,9 +1655,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" [[package]] name = "relative-path" @@ -1681,20 +1702,19 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots 1.0.1", + "webpki-roots", ] [[package]] name = "ring" -version = "0.17.8" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.16", "libc", - "spin", "untrusted", "windows-sys 0.52.0", ] @@ -1727,15 +1747,15 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" [[package]] name = "rustc-hash" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_version" @@ -1748,35 +1768,22 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" -dependencies = [ - "bitflags 2.5.0", - "errno", - "libc", - "linux-raw-sys 0.4.14", - "windows-sys 0.59.0", -] - -[[package]] -name = "rustix" -version = "1.0.7" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ - "bitflags 2.5.0", + "bitflags", "errno", "libc", - "linux-raw-sys 0.9.4", - "windows-sys 0.59.0", + "linux-raw-sys", + "windows-sys 0.61.1", ] [[package]] name = "rustls" -version = "0.23.12" +version = "0.23.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +checksum = "cd3c25631629d034ce7cd9940adc9d45762d46de2b0f57193c4443b92c6d4d40" dependencies = [ "once_cell", "ring", @@ -1792,14 +1799,15 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" dependencies = [ + "web-time", "zeroize", ] [[package]] name = "rustls-webpki" -version = "0.102.6" +version = "0.103.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" +checksum = "8572f3c2cb9934231157b45499fc41e1f58c589fdfb81a844ba873265e80f8eb" dependencies = [ "ring", "rustls-pki-types", @@ -1808,15 +1816,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "same-file" @@ -1838,9 +1846,9 @@ dependencies = [ [[package]] name = "scroll_derive" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932" +checksum = "1783eabc414609e28a5ba76aee5ddd52199f7107a0b24c2e9746a1ecc34a683d" dependencies = [ "proc-macro2", "quote", @@ -1885,16 +1893,17 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] @@ -1910,11 +1919,20 @@ dependencies = [ "xml-rs", ] +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -1923,23 +1941,24 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.142" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "itoa", "memchr", "ryu", "serde", + "serde_core", ] [[package]] name = "serde_spanned" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" +checksum = "5417783452c2be558477e104686f7de5dae53dba813c28435e0e70f82d9b04ee" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -1984,9 +2003,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -2005,7 +2024,7 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -2022,28 +2041,15 @@ checksum = "5dd19be0257552dd56d1bb6946f89f193c6e5b9f13cc9327c4bc84a357507c74" [[package]] name = "slab" -version = "0.4.9" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "smallvec" -version = "1.13.2" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "socket2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "socket2" @@ -2055,12 +2061,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - [[package]] name = "spki" version = "0.7.3" @@ -2085,15 +2085,15 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "subtle" -version = "2.5.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.101" +version = "2.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" dependencies = [ "proc-macro2", "quote", @@ -2102,18 +2102,18 @@ dependencies = [ [[package]] name = "sync_wrapper" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" dependencies = [ "futures-core", ] [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", @@ -2133,22 +2133,22 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.20.0" +version = "3.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" dependencies = [ "fastrand", - "getrandom 0.3.1", + "getrandom 0.3.3", "once_cell", - "rustix 1.0.7", - "windows-sys 0.59.0", + "rustix", + "windows-sys 0.61.1", ] [[package]] name = "termtree" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" +checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" [[package]] name = "thiserror" @@ -2161,11 +2161,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.6" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec2a1820ebd077e2b90c4df007bebf344cd394098a13c563957d0afc83ea47" +checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" dependencies = [ - "thiserror-impl 2.0.6", + "thiserror-impl 2.0.17", ] [[package]] @@ -2181,9 +2181,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.6" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d65750cab40f4ff1929fb1ba509e9914eb756131cef4210da8d5d700d26f6312" +checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", @@ -2192,9 +2192,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.36" +version = "0.3.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" dependencies = [ "deranged", "num-conv", @@ -2206,15 +2206,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" dependencies = [ "num-conv", "time-core", @@ -2222,9 +2222,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" dependencies = [ "displaydoc", "zerovec", @@ -2232,9 +2232,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" dependencies = [ "tinyvec_macros", ] @@ -2258,7 +2258,7 @@ dependencies = [ "mio", "pin-project-lite", "slab", - "socket2 0.6.0", + "socket2", "tokio-macros", "windows-sys 0.59.0", ] @@ -2276,23 +2276,22 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.0" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ "rustls", - "rustls-pki-types", "tokio", ] [[package]] name = "toml" -version = "0.9.5" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" +checksum = "00e5e5d9bf2475ac9d4f0d9edab68cc573dc2fd644b0dba36b0c30a92dd9eaa0" dependencies = [ - "indexmap 2.7.1", - "serde", + "indexmap 2.11.4", + "serde_core", "serde_spanned", "toml_datetime", "toml_parser", @@ -2302,27 +2301,27 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.7.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" +checksum = "32f1085dec27c2b6632b04c80b3bb1b4300d6495d1e129693bdda7d91e72eec1" dependencies = [ - "serde", + "serde_core", ] [[package]] name = "toml_parser" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" +checksum = "4cf893c33be71572e0e9aa6dd15e6677937abd686b066eac3f8cd3531688a627" dependencies = [ "winnow", ] [[package]] name = "toml_writer" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" +checksum = "d163a63c116ce562a22cda521fcc4d79152e7aba014456fb5eb442f6d6a10109" [[package]] name = "tower" @@ -2345,7 +2344,7 @@ version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" dependencies = [ - "bitflags 2.5.0", + "bitflags", "bytes", "futures-util", "http", @@ -2371,9 +2370,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "pin-project-lite", "tracing-core", @@ -2381,9 +2380,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", ] @@ -2396,15 +2395,15 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "unicode-ident" -version = "1.0.13" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" +checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" [[package]] name = "untrusted" @@ -2414,21 +2413,16 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.4" +version = "2.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -2437,27 +2431,31 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "utf8parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.8.0" +version = "1.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +dependencies = [ + "js-sys", + "wasm-bindgen", +] [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wait-timeout" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" dependencies = [ "libc", ] @@ -2483,36 +2481,46 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" -version = "0.13.3+wasi-0.2.2" +version = "0.14.7+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +checksum = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c" dependencies = [ - "wit-bindgen-rt", + "wasip2", +] + +[[package]] +name = "wasip2" +version = "1.0.1+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +dependencies = [ + "wit-bindgen", ] [[package]] name = "wasm-bindgen" -version = "0.2.100" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", + "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.100" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19" dependencies = [ "bumpalo", "log", @@ -2524,21 +2532,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2546,9 +2555,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" dependencies = [ "proc-macro2", "quote", @@ -2559,37 +2568,38 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1" dependencies = [ "unicode-ident", ] [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120" dependencies = [ "js-sys", "wasm-bindgen", ] [[package]] -name = "webpki-roots" -version = "0.26.1" +name = "web-time" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ - "rustls-pki-types", + "js-sys", + "wasm-bindgen", ] [[package]] name = "webpki-roots" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8782dd5a41a24eed3a4f40b606249b3e236ca61adf1f25ea4d45c73de122b502" +checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" dependencies = [ "rustls-pki-types", ] @@ -2601,7 +2611,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3fabb953106c3c8eea8306e4393700d7657561cb43122571b172bbfb7c7ba1d" dependencies = [ "env_home", - "rustix 1.0.7", + "rustix", "winsafe", ] @@ -2623,11 +2633,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.1", ] [[package]] @@ -2638,11 +2648,61 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.52.0" +version = "0.62.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6844ee5416b285084d3d3fffd743b925a6c9385455f64f6d4fa3031c4c2749a9" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-implement" +version = "0.60.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "edb307e42a74fb6de9bf3a02d9712678b22399c87e6fa869d6dfcd8c1b7754e0" dependencies = [ - "windows-targets", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-interface" +version = "0.59.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0abd1ddbc6964ac14db11c7213d6532ef34bd9aa042c2e5935f59d7908b46a5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-link" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" + +[[package]] +name = "windows-result" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7084dcc306f89883455a206237404d3eaf961e5bd7e0f312f7c91f57eb44167f" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7218c655a553b0bed4426cf54b20d7ba363ef543b52d515b3e48d7fd55318dda" +dependencies = [ + "windows-link", ] [[package]] @@ -2651,7 +2711,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -2660,7 +2720,25 @@ version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.4", +] + +[[package]] +name = "windows-sys" +version = "0.61.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f" +dependencies = [ + "windows-link", ] [[package]] @@ -2669,14 +2747,31 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d42b7b7f66d2a06854650af09cfdf8713e427a439c97ad65a6375318033ac4b" +dependencies = [ + "windows-link", + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", ] [[package]] @@ -2685,53 +2780,101 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + [[package]] name = "windows_i686_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + [[package]] name = "winnow" -version = "0.7.10" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" [[package]] name = "winsafe" @@ -2740,25 +2883,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" [[package]] -name = "wit-bindgen-rt" -version = "0.33.0" +name = "wit-bindgen" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" -dependencies = [ - "bitflags 2.5.0", -] - -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "x509-certificate" @@ -2781,20 +2915,19 @@ dependencies = [ [[package]] name = "xattr" -version = "1.3.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" +checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" dependencies = [ "libc", - "linux-raw-sys 0.4.14", - "rustix 0.38.42", + "rustix", ] [[package]] name = "xml-rs" -version = "0.8.24" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea8b391c9a790b496184c29f7f93b9ed5b16abb306c05415b68bcc16e4d06432" +checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7" [[package]] name = "xz2" @@ -2807,9 +2940,9 @@ dependencies = [ [[package]] name = "yoke" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ "serde", "stable_deref_trait", @@ -2819,9 +2952,9 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", @@ -2829,20 +2962,40 @@ dependencies = [ "synstructure", ] +[[package]] +name = "zerocopy" +version = "0.8.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "zerofrom" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", @@ -2852,9 +3005,9 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.8.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" dependencies = [ "zeroize_derive", ] @@ -2870,11 +3023,22 @@ dependencies = [ "syn", ] +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + [[package]] name = "zerovec" -version = "0.10.4" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" dependencies = [ "yoke", "zerofrom", @@ -2883,9 +3047,9 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", @@ -2894,23 +3058,23 @@ dependencies = [ [[package]] name = "zip" -version = "4.3.0" +version = "5.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aed4ac33e8eb078c89e6cbb1d5c4c7703ec6d299fc3e7c3695af8f8b423468b" +checksum = "2f852905151ac8d4d06fdca66520a661c09730a74c6d4e2b0f27b436b382e532" dependencies = [ "arbitrary", "crc32fast", "flate2", - "indexmap 2.7.1", + "indexmap 2.11.4", "memchr", "zopfli", ] [[package]] name = "zlib-rs" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "626bd9fa9734751fc50d6060752170984d7053f5a39061f524cda68023d4db8a" +checksum = "2f06ae92f42f5e5c42443fd094f245eb656abf56dd7cce9b8b263236565e00f2" [[package]] name = "zopfli" @@ -2945,9 +3109,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.10+zstd.1.5.6" +version = "2.0.16+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" dependencies = [ "cc", "pkg-config", diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 8aaf555f85c7c..4303a01b09369 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "selenium-manager" version = "0.4.36-nightly" # don't forget to update rust/BUILD.bazel -edition = "2021" +edition = "2024" authors = ["Selenium String { } pub fn get_binary_extension(os: &str) -> &str { - if WINDOWS.is(os) { - ".exe" - } else { - "" - } + if WINDOWS.is(os) { ".exe" } else { "" } } pub fn parse_version(version_text: String, log: &Logger) -> Result { diff --git a/rust/src/firefox.rs b/rust/src/firefox.rs index 17b95933f5ba5..8256c8a14e86b 100644 --- a/rust/src/firefox.rs +++ b/rust/src/firefox.rs @@ -15,21 +15,21 @@ // specific language governing permissions and limitations // under the License. -use crate::config::ManagerConfig; use crate::config::ARCH::{ARM64, X32}; +use crate::config::ManagerConfig; use crate::config::OS::{LINUX, MACOS, WINDOWS}; use crate::downloads::{parse_json_from_url, read_content_from_link, read_redirect_from_link}; -use crate::files::{compose_driver_path_in_cache, BrowserPath}; +use crate::files::{BrowserPath, compose_driver_path_in_cache}; use crate::metadata::{ create_driver_metadata, get_driver_version_from_metadata, get_metadata, write_metadata, }; use crate::{ - create_http_client, format_three_args, format_two_args, Logger, SeleniumManager, BETA, - DASH_VERSION, DEV, ESR, LATEST_RELEASE, NIGHTLY, OFFLINE_REQUEST_ERR_MSG, - REG_CURRENT_VERSION_ARG, STABLE, + BETA, DASH_VERSION, DEV, ESR, LATEST_RELEASE, Logger, NIGHTLY, OFFLINE_REQUEST_ERR_MSG, + REG_CURRENT_VERSION_ARG, STABLE, SeleniumManager, create_http_client, format_three_args, + format_two_args, }; -use anyhow::anyhow; use anyhow::Error; +use anyhow::anyhow; use reqwest::Client; use serde::Deserialize; use serde::Serialize; @@ -398,11 +398,7 @@ impl SeleniumManager for FirefoxManager { "win64" } } else if MACOS.is(os) { - if ARM64.is(arch) { - "mac-arm64" - } else { - "mac64" - } + if ARM64.is(arch) { "mac-arm64" } else { "mac64" } } else if X32.is(arch) { "linux32" } else if ARM64.is(arch) && minor_driver_version > 31 { @@ -666,26 +662,116 @@ mod unit_tests { fn test_driver_url() { let mut firefox_manager = FirefoxManager::new().unwrap(); - let data = vec!( - vec!("0.32.0", "linux", "x86", "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-linux32.tar.gz"), - vec!("0.32.0", "linux", "x86_64", "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-linux64.tar.gz"), - vec!("0.32.0", "linux", "aarch64", "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-linux-aarch64.tar.gz"), - vec!("0.32.0", "windows", "x86", "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-win32.zip"), - vec!("0.32.0", "windows", "x86_64", "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-win64.zip"), - vec!("0.32.0", "windows", "aarch64", "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-win-aarch64.zip"), - vec!("0.32.0", "macos", "x86", "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-macos.tar.gz"), - vec!("0.32.0", "macos", "x86_64", "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-macos.tar.gz"), - vec!("0.32.0", "macos", "aarch64", "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-macos-aarch64.tar.gz"), - vec!("0.31.0", "linux", "x86", "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-linux32.tar.gz"), - vec!("0.31.0", "linux", "x86_64", "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-linux64.tar.gz"), - vec!("0.31.0", "linux", "aarch64", "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-linux64.tar.gz"), - vec!("0.31.0", "windows", "x86", "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-win32.zip"), - vec!("0.31.0", "windows", "x86_64", "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-win64.zip"), - vec!("0.31.0", "windows", "aarch64", "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-win64.zip"), - vec!("0.31.0", "macos", "x86", "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-macos.tar.gz"), - vec!("0.31.0", "macos", "x86_64", "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-macos.tar.gz"), - vec!("0.31.0", "macos", "aarch64", "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-macos-aarch64.tar.gz"), - ); + let data = vec![ + vec![ + "0.32.0", + "linux", + "x86", + "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-linux32.tar.gz", + ], + vec![ + "0.32.0", + "linux", + "x86_64", + "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-linux64.tar.gz", + ], + vec![ + "0.32.0", + "linux", + "aarch64", + "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-linux-aarch64.tar.gz", + ], + vec![ + "0.32.0", + "windows", + "x86", + "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-win32.zip", + ], + vec![ + "0.32.0", + "windows", + "x86_64", + "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-win64.zip", + ], + vec![ + "0.32.0", + "windows", + "aarch64", + "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-win-aarch64.zip", + ], + vec![ + "0.32.0", + "macos", + "x86", + "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-macos.tar.gz", + ], + vec![ + "0.32.0", + "macos", + "x86_64", + "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-macos.tar.gz", + ], + vec![ + "0.32.0", + "macos", + "aarch64", + "https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-macos-aarch64.tar.gz", + ], + vec![ + "0.31.0", + "linux", + "x86", + "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-linux32.tar.gz", + ], + vec![ + "0.31.0", + "linux", + "x86_64", + "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-linux64.tar.gz", + ], + vec![ + "0.31.0", + "linux", + "aarch64", + "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-linux64.tar.gz", + ], + vec![ + "0.31.0", + "windows", + "x86", + "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-win32.zip", + ], + vec![ + "0.31.0", + "windows", + "x86_64", + "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-win64.zip", + ], + vec![ + "0.31.0", + "windows", + "aarch64", + "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-win64.zip", + ], + vec![ + "0.31.0", + "macos", + "x86", + "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-macos.tar.gz", + ], + vec![ + "0.31.0", + "macos", + "x86_64", + "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-macos.tar.gz", + ], + vec![ + "0.31.0", + "macos", + "aarch64", + "https://github.com/mozilla/geckodriver/releases/download/v0.31.0/geckodriver-v0.31.0-macos-aarch64.tar.gz", + ], + ]; data.iter().for_each(|d| { firefox_manager.set_driver_version(d.first().unwrap().to_string()); diff --git a/rust/src/grid.rs b/rust/src/grid.rs index 3cc16684b44ad..16c005f3b3b05 100644 --- a/rust/src/grid.rs +++ b/rust/src/grid.rs @@ -21,12 +21,12 @@ use crate::files::BrowserPath; use crate::metadata::{ create_driver_metadata, get_driver_version_from_metadata, get_metadata, write_metadata, }; -use crate::mirror::{Assets, SeleniumRelease, MIRROR_URL}; +use crate::mirror::{Assets, MIRROR_URL, SeleniumRelease}; use crate::{ - create_http_client, parse_version, Logger, SeleniumManager, OFFLINE_REQUEST_ERR_MSG, SNAPSHOT, + Logger, OFFLINE_REQUEST_ERR_MSG, SNAPSHOT, SeleniumManager, create_http_client, parse_version, }; -use anyhow::anyhow; use anyhow::Error; +use anyhow::anyhow; use reqwest::Client; use std::collections::HashMap; use std::path::PathBuf; diff --git a/rust/src/iexplorer.rs b/rust/src/iexplorer.rs index e9bee3f637a36..efe90a5e6e9fa 100644 --- a/rust/src/iexplorer.rs +++ b/rust/src/iexplorer.rs @@ -17,13 +17,13 @@ use crate::config::ManagerConfig; use crate::downloads::parse_json_from_url; -use crate::files::{compose_driver_path_in_cache, BrowserPath}; +use crate::files::{BrowserPath, compose_driver_path_in_cache}; use crate::{ - create_http_client, parse_version, Logger, SeleniumManager, OFFLINE_REQUEST_ERR_MSG, - REG_VERSION_ARG, STABLE, WINDOWS, + Logger, OFFLINE_REQUEST_ERR_MSG, REG_VERSION_ARG, STABLE, SeleniumManager, WINDOWS, + create_http_client, parse_version, }; -use anyhow::anyhow; use anyhow::Error; +use anyhow::anyhow; use reqwest::Client; use std::collections::HashMap; use std::path::PathBuf; @@ -33,7 +33,7 @@ use std::sync::mpsc::{Receiver, Sender}; use crate::metadata::{ create_driver_metadata, get_driver_version_from_metadata, get_metadata, write_metadata, }; -use crate::mirror::{Assets, SeleniumRelease, MIRROR_URL}; +use crate::mirror::{Assets, MIRROR_URL, SeleniumRelease}; pub const IE_NAMES: &[&str] = &[ "iexplorer", diff --git a/rust/src/lib.rs b/rust/src/lib.rs index d0eec848ceab2..6999b9352efa3 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -15,36 +15,36 @@ // specific language governing permissions and limitations // under the License. -use crate::chrome::{ChromeManager, CHROMEDRIVER_NAME, CHROME_NAME}; +use crate::chrome::{CHROME_NAME, CHROMEDRIVER_NAME, ChromeManager}; use crate::config::ARCH::{ARM64, ARMV7, X32, X64}; use crate::config::OS::{MACOS, WINDOWS}; -use crate::config::{str_to_os, ManagerConfig}; +use crate::config::{ManagerConfig, str_to_os}; use crate::downloads::download_to_tmp_folder; -use crate::edge::{EdgeManager, EDGEDRIVER_NAME, EDGE_NAMES, WEBVIEW2_NAME}; -use crate::electron::{ElectronManager, ELECTRON_NAME}; +use crate::edge::{EDGE_NAMES, EDGEDRIVER_NAME, EdgeManager, WEBVIEW2_NAME}; +use crate::electron::{ELECTRON_NAME, ElectronManager}; use crate::files::get_win_file_version; +use crate::files::{BrowserPath, parse_version, uncompress}; use crate::files::{ capitalize, collect_files_from_cache, create_path_if_not_exists, default_cache_folder, find_latest_from_cache, get_binary_extension, path_to_string, }; -use crate::files::{parse_version, uncompress, BrowserPath}; -use crate::firefox::{FirefoxManager, FIREFOX_NAME, GECKODRIVER_NAME}; +use crate::firefox::{FIREFOX_NAME, FirefoxManager, GECKODRIVER_NAME}; use crate::grid::GRID_NAME; -use crate::iexplorer::{IExplorerManager, IEDRIVER_NAME, IE_NAMES}; +use crate::iexplorer::{IE_NAMES, IEDRIVER_NAME, IExplorerManager}; use crate::lock::Lock; use crate::logger::Logger; use crate::metadata::{ create_browser_metadata, create_stats_metadata, get_browser_version_from_metadata, get_metadata, is_stats_in_metadata, write_metadata, }; -use crate::safari::{SafariManager, SAFARIDRIVER_NAME, SAFARI_NAME}; -use crate::safaritp::{SafariTPManager, SAFARITP_NAMES}; +use crate::safari::{SAFARI_NAME, SAFARIDRIVER_NAME, SafariManager}; +use crate::safaritp::{SAFARITP_NAMES, SafariTPManager}; use crate::shell::{ - run_shell_command, run_shell_command_by_os, run_shell_command_with_log, Command, + Command, run_shell_command, run_shell_command_by_os, run_shell_command_with_log, }; -use crate::stats::{send_stats_to_plausible, Props}; -use anyhow::anyhow; +use crate::stats::{Props, send_stats_to_plausible}; use anyhow::Error; +use anyhow::anyhow; use reqwest::{Client, Proxy}; use std::collections::HashMap; use std::path::{Path, PathBuf}; @@ -179,7 +179,7 @@ pub trait SeleniumManager { fn get_browser_url_for_download(&mut self, browser_version: &str) -> Result; fn get_browser_label_for_download(&self, _browser_version: &str) - -> Result, Error>; + -> Result, Error>; fn is_download_browser(&self) -> bool; @@ -676,11 +676,7 @@ pub trait SeleniumManager { return None; } let first = vector.first().unwrap().to_string(); - if first.is_empty() { - None - } else { - Some(first) - } + if first.is_empty() { None } else { Some(first) } } fn is_windows_admin(&self) -> bool { diff --git a/rust/src/lock.rs b/rust/src/lock.rs index 1806f0a2c1ea2..46b7f28d8d7bf 100644 --- a/rust/src/lock.rs +++ b/rust/src/lock.rs @@ -60,7 +60,7 @@ impl Lock { pub fn release(&mut self) { fs::remove_file(&self.path).unwrap_or_default(); - self.file.unlock().unwrap_or_default(); + FileExt::unlock(&self.file).unwrap_or_default(); set_lock_path(None); } diff --git a/rust/src/logger.rs b/rust/src/logger.rs index 72e7c4f541978..4d770cd288800 100644 --- a/rust/src/logger.rs +++ b/rust/src/logger.rs @@ -18,8 +18,8 @@ use crate::config::{BooleanKey, StringKey}; use crate::metadata::now_unix_timestamp; -use env_logger::Target::{Stderr, Stdout}; use env_logger::DEFAULT_FILTER_ENV; +use env_logger::Target::{Stderr, Stdout}; use log::LevelFilter::{Debug, Info, Trace}; use log::{Level, LevelFilter}; use serde::{Deserialize, Serialize}; diff --git a/rust/src/main.rs b/rust/src/main.rs index 1fc469302bb03..c2a2a406f83bc 100644 --- a/rust/src/main.rs +++ b/rust/src/main.rs @@ -20,16 +20,16 @@ use clap::Parser; use exitcode::DATAERR; use exitcode::OK; use exitcode::UNAVAILABLE; -use selenium_manager::config::{BooleanKey, StringKey, CACHE_PATH_KEY}; +use selenium_manager::TTL_SEC; +use selenium_manager::config::{BooleanKey, CACHE_PATH_KEY, StringKey}; use selenium_manager::grid::GridManager; use selenium_manager::lock::clear_lock_if_required; -use selenium_manager::logger::{Logger, BROWSER_PATH, DRIVER_PATH}; +use selenium_manager::logger::{BROWSER_PATH, DRIVER_PATH, Logger}; use selenium_manager::metadata::clear_metadata; -use selenium_manager::TTL_SEC; +use selenium_manager::{REQUEST_TIMEOUT_SEC, SM_BETA_LABEL}; use selenium_manager::{ - clear_cache, get_manager_by_browser, get_manager_by_driver, SeleniumManager, + SeleniumManager, clear_cache, get_manager_by_browser, get_manager_by_driver, }; -use selenium_manager::{REQUEST_TIMEOUT_SEC, SM_BETA_LABEL}; use std::backtrace::{Backtrace, BacktraceStatus}; use std::path::Path; use std::process::exit; diff --git a/rust/src/metadata.rs b/rust/src/metadata.rs index af62ddb05a3a4..5362b48fc0d5c 100644 --- a/rust/src/metadata.rs +++ b/rust/src/metadata.rs @@ -15,8 +15,8 @@ // specific language governing permissions and limitations // under the License. -use crate::stats::Props; use crate::Logger; +use crate::stats::Props; use serde::{Deserialize, Serialize}; use std::fs; use std::fs::File; diff --git a/rust/src/safari.rs b/rust/src/safari.rs index dc3987de3aa3e..0b6264fc11ca6 100644 --- a/rust/src/safari.rs +++ b/rust/src/safari.rs @@ -18,9 +18,9 @@ use crate::config::ManagerConfig; use crate::config::OS::MACOS; use crate::files::BrowserPath; -use crate::{create_http_client, Logger, SeleniumManager, STABLE}; -use anyhow::anyhow; +use crate::{Logger, STABLE, SeleniumManager, create_http_client}; use anyhow::Error; +use anyhow::anyhow; use reqwest::Client; use std::collections::HashMap; use std::path::PathBuf; diff --git a/rust/src/safaritp.rs b/rust/src/safaritp.rs index 85a936ef20604..3ae56ca0ea448 100644 --- a/rust/src/safaritp.rs +++ b/rust/src/safaritp.rs @@ -18,9 +18,9 @@ use crate::config::ManagerConfig; use crate::config::OS::MACOS; use crate::files::BrowserPath; -use crate::{create_http_client, Logger, SeleniumManager, STABLE}; -use anyhow::anyhow; +use crate::{Logger, STABLE, SeleniumManager, create_http_client}; use anyhow::Error; +use anyhow::anyhow; use reqwest::Client; use std::collections::HashMap; use std::path::PathBuf; diff --git a/rust/src/stats.rs b/rust/src/stats.rs index 8e747ec6c8465..f8ecca4ccd6ff 100644 --- a/rust/src/stats.rs +++ b/rust/src/stats.rs @@ -16,9 +16,9 @@ // under the License. use crate::format_one_arg; +use reqwest::Client; use reqwest::header::CONTENT_TYPE; use reqwest::header::USER_AGENT; -use reqwest::Client; use serde::{Deserialize, Serialize}; use std::sync::mpsc::Sender; use std::time::Duration; diff --git a/rust/tests/BUILD.bazel b/rust/tests/BUILD.bazel index e02d6023cb091..4e9fe58819bed 100644 --- a/rust/tests/BUILD.bazel +++ b/rust/tests/BUILD.bazel @@ -12,7 +12,7 @@ rust_test_suite( data = [ "//rust:selenium-manager", ], - edition = "2021", + edition = "2024", rustc_env = { "CARGO_BIN_EXE_selenium-manager": "rust/selenium-manager", }, diff --git a/rust/tests/browser_download_tests.rs b/rust/tests/browser_download_tests.rs index 4cb2b605041a1..ead72613c4d7b 100644 --- a/rust/tests/browser_download_tests.rs +++ b/rust/tests/browser_download_tests.rs @@ -58,7 +58,9 @@ fn browser_latest_download_test(#[case] browser: String) { #[case("edge", "beta")] fn browser_version_download_test(#[case] browser: String, #[case] browser_version: String) { if OS.eq("windows") && browser.eq("edge") { - println!("Skipping Edge download test on Windows since the installation requires admin privileges"); + println!( + "Skipping Edge download test on Windows since the installation requires admin privileges" + ); } else { let mut cmd = get_selenium_manager(); cmd.args([ diff --git a/rust/tests/browser_tests.rs b/rust/tests/browser_tests.rs index 13bf093a12564..91d21569d58ff 100644 --- a/rust/tests/browser_tests.rs +++ b/rust/tests/browser_tests.rs @@ -27,8 +27,8 @@ mod common; #[rstest] #[case("chrome", "chromedriver", "114", "114.0.5735.90")] #[case("chrome", "chromedriver", "115", "115.0.5790")] -#[case("edge", "msedgedriver", "105", "105.0")] -#[case("edge", "msedgedriver", "106", "106.0")] +#[case("edge", "msedgedriver", "140", "140.0")] +#[case("edge", "msedgedriver", "141", "141.0")] #[case("firefox", "geckodriver", "101", "0.31.0")] #[case("firefox", "geckodriver", "91", "0.31.0")] #[case("firefox", "geckodriver", "90", "0.30.0")] diff --git a/rust/tests/common.rs b/rust/tests/common.rs index ae8c820b1d4e6..fefa0364d6c39 100644 --- a/rust/tests/common.rs +++ b/rust/tests/common.rs @@ -15,8 +15,8 @@ // specific language governing permissions and limitations // under the License. -use assert_cmd::assert::AssertResult; use assert_cmd::Command; +use assert_cmd::assert::AssertResult; use is_executable::is_executable; use selenium_manager::files::path_to_string; use selenium_manager::logger::JsonOutput; @@ -112,10 +112,12 @@ pub fn assert_output( .iter() .for_each(|o| assert!(output.contains(o))); } else { - assert!(assert_result - .err() - .unwrap() - .to_string() - .contains(&error_code.to_string())); + assert!( + assert_result + .err() + .unwrap() + .to_string() + .contains(&error_code.to_string()) + ); } } diff --git a/rust/tests/output_tests.rs b/rust/tests/output_tests.rs index 96eb7104c5d21..9e03790b68565 100644 --- a/rust/tests/output_tests.rs +++ b/rust/tests/output_tests.rs @@ -17,7 +17,7 @@ use crate::common::{get_selenium_manager, get_stderr, get_stdout}; -use selenium_manager::logger::{JsonOutput, MinimalJson, DRIVER_PATH}; +use selenium_manager::logger::{DRIVER_PATH, JsonOutput, MinimalJson}; use std::path::Path; mod common; From 6061c87ca0f222e69ecd9e4cf16b04b8d516aed3 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Thu, 2 Oct 2025 00:31:48 +0700 Subject: [PATCH 115/118] [grid] UI Light/Dark Mode Toggle (#16364) * [grid] UI Light/Dark Mode Toggle * Fix review comment --------- Signed-off-by: Viet Nguyen Duc --- .../components/ThemeToggle/ThemeToggle.tsx | 54 ++++++++++++ .../grid-ui/src/components/TopBar/TopBar.tsx | 5 +- .../grid-ui/src/contexts/ThemeContext.tsx | 76 +++++++++++++++++ javascript/grid-ui/src/index.tsx | 10 +-- .../grid-ui/src/tests/__mocks__/useTheme.tsx | 25 ++++++ .../src/tests/components/ThemeToggle.test.tsx | 85 +++++++++++++++++++ .../src/tests/components/TopBar.test.tsx | 52 +++++++++--- javascript/grid-ui/src/theme/theme.tsx | 23 +---- javascript/grid-ui/src/theme/themes.tsx | 72 ++++++++++++++++ 9 files changed, 363 insertions(+), 39 deletions(-) create mode 100644 javascript/grid-ui/src/components/ThemeToggle/ThemeToggle.tsx create mode 100644 javascript/grid-ui/src/contexts/ThemeContext.tsx create mode 100644 javascript/grid-ui/src/tests/__mocks__/useTheme.tsx create mode 100644 javascript/grid-ui/src/tests/components/ThemeToggle.test.tsx create mode 100644 javascript/grid-ui/src/theme/themes.tsx diff --git a/javascript/grid-ui/src/components/ThemeToggle/ThemeToggle.tsx b/javascript/grid-ui/src/components/ThemeToggle/ThemeToggle.tsx new file mode 100644 index 0000000000000..7d4092c551ac4 --- /dev/null +++ b/javascript/grid-ui/src/components/ThemeToggle/ThemeToggle.tsx @@ -0,0 +1,54 @@ +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import React from 'react' +import { IconButton, Tooltip } from '@mui/material' +import { LightMode, DarkMode, AutoMode } from '@mui/icons-material' +import { useTheme } from '../../contexts/ThemeContext' + +export const ThemeToggle: React.FC = () => { + const { themeMode, setThemeMode } = useTheme() + + const handleClick = () => { + const nextMode = themeMode === 'light' ? 'dark' : themeMode === 'dark' ? 'system' : 'light' + setThemeMode(nextMode) + } + + const getIcon = () => { + if (themeMode === 'light') return + if (themeMode === 'dark') return + return + } + + const getTooltip = () => { + if (themeMode === 'light') return 'Switch to dark mode' + if (themeMode === 'dark') return 'Switch to system mode' + return 'Switch to light mode' + } + + return ( + + + {getIcon()} + + + ) +} \ No newline at end of file diff --git a/javascript/grid-ui/src/components/TopBar/TopBar.tsx b/javascript/grid-ui/src/components/TopBar/TopBar.tsx index dbfdccabc46e7..eb0afc32d0ec0 100644 --- a/javascript/grid-ui/src/components/TopBar/TopBar.tsx +++ b/javascript/grid-ui/src/components/TopBar/TopBar.tsx @@ -27,6 +27,7 @@ import { Menu as MenuIcon } from '@mui/icons-material' import { Help as HelpIcon } from '@mui/icons-material' import React from 'react' import seleniumGridLogo from '../../assets/selenium-grid-logo.svg' +import { ThemeToggle } from '../ThemeToggle/ThemeToggle' const AppBar = styled(MuiAppBar)(({ theme }) => ({ zIndex: theme.zIndex.drawer + 1, @@ -93,14 +94,16 @@ function TopBar (props): JSX.Element { component="h1" variant="h4" noWrap + sx={{ color: (theme) => theme.palette.mode === 'dark' ? 'primary.main' : 'inherit' }} > Selenium Grid - + theme.palette.mode === 'dark' ? 'primary.main' : 'inherit' }}> {subheader} + diff --git a/javascript/grid-ui/src/contexts/ThemeContext.tsx b/javascript/grid-ui/src/contexts/ThemeContext.tsx new file mode 100644 index 0000000000000..a6f37d9ad30cb --- /dev/null +++ b/javascript/grid-ui/src/contexts/ThemeContext.tsx @@ -0,0 +1,76 @@ +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + + +import React, { createContext, useContext, useState, useEffect } from 'react' +import { ThemeProvider } from '@mui/material/styles' +import { CssBaseline } from '@mui/material' +import { lightTheme, darkTheme } from '../theme/themes' + +type ThemeMode = 'light' | 'dark' | 'system' + +const ThemeContext = createContext<{ + themeMode: ThemeMode + setThemeMode: (mode: ThemeMode) => void +}>({ + themeMode: 'system', + setThemeMode: () => {} +}) + +export const useTheme = () => useContext(ThemeContext) + +export const CustomThemeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => { + const [themeMode, setThemeMode] = useState('system') + const [systemPrefersDark, setSystemPrefersDark] = useState(false) + + useEffect(() => { + if (typeof window !== 'undefined' && window.localStorage) { + const saved = localStorage.getItem('theme-mode') as ThemeMode + if (saved) setThemeMode(saved) + } + if (typeof window !== 'undefined' && window.matchMedia) { + setSystemPrefersDark(window.matchMedia('(prefers-color-scheme: dark)').matches) + } + }, []) + + useEffect(() => { + if (typeof window !== 'undefined' && window.localStorage) { + localStorage.setItem('theme-mode', themeMode) + } + }, [themeMode]) + + useEffect(() => { + if (typeof window !== 'undefined' && window.matchMedia) { + const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)') + const handler = (e: MediaQueryListEvent) => setSystemPrefersDark(e.matches) + mediaQuery.addEventListener('change', handler) + return () => mediaQuery.removeEventListener('change', handler) + } + }, []) + + const isDark = themeMode === 'dark' || (themeMode === 'system' && systemPrefersDark) + const currentTheme = isDark ? darkTheme : lightTheme + + return ( + + + + {children} + + + ) +} diff --git a/javascript/grid-ui/src/index.tsx b/javascript/grid-ui/src/index.tsx index 76a9e3efc4883..cb5511fbf4af5 100644 --- a/javascript/grid-ui/src/index.tsx +++ b/javascript/grid-ui/src/index.tsx @@ -15,14 +15,13 @@ // specific language governing permissions and limitations // under the License. -import { CssBaseline } from '@mui/material' -import { StyledEngineProvider, ThemeProvider } from '@mui/material/styles' +import { StyledEngineProvider } from '@mui/material/styles' import React from 'react' import ReactDOM from 'react-dom/client' import { HashRouter as Router } from 'react-router-dom' import App from './App' import * as serviceWorker from './serviceWorker' -import theme from './theme/theme' +import { CustomThemeProvider } from './contexts/ThemeContext' import './index.css' const root = ReactDOM.createRoot( @@ -32,12 +31,11 @@ const root = ReactDOM.createRoot( root.render( - - + - + ) diff --git a/javascript/grid-ui/src/tests/__mocks__/useTheme.tsx b/javascript/grid-ui/src/tests/__mocks__/useTheme.tsx new file mode 100644 index 0000000000000..82624489198a5 --- /dev/null +++ b/javascript/grid-ui/src/tests/__mocks__/useTheme.tsx @@ -0,0 +1,25 @@ +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import { lightTheme } from '../../theme/themes' + +export const useTheme = jest.fn(() => ({ + themeMode: 'light', + setThemeMode: jest.fn(), + currentTheme: lightTheme, + isDark: false +})) \ No newline at end of file diff --git a/javascript/grid-ui/src/tests/components/ThemeToggle.test.tsx b/javascript/grid-ui/src/tests/components/ThemeToggle.test.tsx new file mode 100644 index 0000000000000..6686817ce5214 --- /dev/null +++ b/javascript/grid-ui/src/tests/components/ThemeToggle.test.tsx @@ -0,0 +1,85 @@ +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import React from 'react' +import { render, screen, fireEvent } from '@testing-library/react' +import { ThemeToggle } from '../../components/ThemeToggle/ThemeToggle' +import { CustomThemeProvider } from '../../contexts/ThemeContext' + +const mockMatchMedia = (matches: boolean) => ({ + matches, + addEventListener: jest.fn(), + removeEventListener: jest.fn() +}) + +beforeEach(() => { + Object.defineProperty(window, 'matchMedia', { + writable: true, + value: jest.fn().mockImplementation(() => mockMatchMedia(false)) + }) +}) + +it('cycles through theme modes on click', () => { + render( + + + + ) + + const button = screen.getByRole('button') + + // Should start with system mode (AutoMode icon) + expect(button).toHaveAttribute('aria-label', 'Toggle theme') + expect(screen.getByTestId('AutoModeIcon')).toBeInTheDocument() + + // Click to light mode + fireEvent.click(button) + expect(screen.getByTestId('LightModeIcon')).toBeInTheDocument() + expect(screen.queryByTestId('AutoModeIcon')).not.toBeInTheDocument() + + // Click to dark mode + fireEvent.click(button) + expect(screen.getByTestId('DarkModeIcon')).toBeInTheDocument() + expect(screen.queryByTestId('LightModeIcon')).not.toBeInTheDocument() + + // Click back to system mode + fireEvent.click(button) + expect(screen.getByTestId('AutoModeIcon')).toBeInTheDocument() + expect(screen.queryByTestId('DarkModeIcon')).not.toBeInTheDocument() +}) + +it('responds to system preference changes', () => { + const listeners: Array<(e: any) => void> = [] + const mockMediaQuery = { + matches: false, + addEventListener: jest.fn((_, handler) => listeners.push(handler)), + removeEventListener: jest.fn() + } + + window.matchMedia = jest.fn(() => mockMediaQuery) + + render( + + + + ) + + // Simulate system preference change + listeners.forEach(listener => listener({ matches: true })) + + expect(mockMediaQuery.addEventListener).toHaveBeenCalledWith('change', expect.any(Function)) +}) \ No newline at end of file diff --git a/javascript/grid-ui/src/tests/components/TopBar.test.tsx b/javascript/grid-ui/src/tests/components/TopBar.test.tsx index a7d1c6324c925..196e9006cecec 100644 --- a/javascript/grid-ui/src/tests/components/TopBar.test.tsx +++ b/javascript/grid-ui/src/tests/components/TopBar.test.tsx @@ -19,14 +19,29 @@ import * as React from 'react' import TopBar from '../../components/TopBar/TopBar' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' +import { CustomThemeProvider } from '../../contexts/ThemeContext' const user = userEvent.setup() +beforeEach(() => { + Object.defineProperty(window, 'matchMedia', { + writable: true, + value: jest.fn().mockImplementation(() => ({ + matches: false, + addEventListener: jest.fn(), + removeEventListener: jest.fn() + })) + }) +}) + it('renders basic information', () => { const subheaderText = 'Hello, world!' const handleClick = jest.fn() - render() + render( + + + + ) expect(screen.getByText('Selenium Grid')).toBeInTheDocument() expect(screen.getByRole('img')).toHaveAttribute('alt', 'Selenium Grid Logo') expect(screen.getByText(subheaderText)).toBeInTheDocument() @@ -35,27 +50,40 @@ it('renders basic information', () => { it('can toggle drawer if error flag is not set and the drawer is open', async () => { const handleClick = jest.fn() - render() - const button = screen.getByRole('button') - expect(button.getAttribute('aria-label')).toBe('close drawer') - await user.click(button) + render( + + + + ) + const drawerButton = screen.getByLabelText('close drawer') + expect(drawerButton.getAttribute('aria-label')).toBe('close drawer') + await user.click(drawerButton) expect(handleClick).toHaveBeenCalledTimes(1) }) it('can toggle drawer if error flag is not set and the drawer is closed', async () => { const handleClick = jest.fn() - render() - const button = screen.getByRole('button') - expect(button.getAttribute('aria-label')).toBe('open drawer') - await user.click(button) + render( + + + + ) + const drawerButton = screen.getByLabelText('open drawer') + expect(drawerButton.getAttribute('aria-label')).toBe('open drawer') + await user.click(drawerButton) expect(handleClick).toHaveBeenCalledTimes(1) }) it('should not toggle drawer if error flag is set', async () => { const handleClick = jest.fn() - render() - expect(screen.queryByRole('button')).not.toBeInTheDocument() + render( + + + + ) + expect(screen.queryByLabelText('close drawer')).not.toBeInTheDocument() + expect(screen.queryByLabelText('open drawer')).not.toBeInTheDocument() const link = screen.getByRole('link') expect(link.getAttribute('href')).toBe('#help') await user.click(link) diff --git a/javascript/grid-ui/src/theme/theme.tsx b/javascript/grid-ui/src/theme/theme.tsx index 06453c3ef97b4..39194d1fcd53b 100644 --- a/javascript/grid-ui/src/theme/theme.tsx +++ b/javascript/grid-ui/src/theme/theme.tsx @@ -15,26 +15,9 @@ // specific language governing permissions and limitations // under the License. -import { createTheme, Theme } from '@mui/material/styles' -import typography from './typography' +import { lightTheme } from './themes' -// A custom theme for this app -const theme: Theme = createTheme({ - palette: { - primary: { - main: '#615E9B' - }, - secondary: { - main: '#F7F8F8' - }, - error: { - main: '#FF1744' - }, - background: { - default: '#F7F8F8' - } - }, - typography -}) +// Backward compatibility - export light theme as default +const theme = lightTheme export default theme diff --git a/javascript/grid-ui/src/theme/themes.tsx b/javascript/grid-ui/src/theme/themes.tsx new file mode 100644 index 0000000000000..f88fb80de987e --- /dev/null +++ b/javascript/grid-ui/src/theme/themes.tsx @@ -0,0 +1,72 @@ +// 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 +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import { createTheme, Theme } from '@mui/material/styles' +import typography from './typography' + +export const lightTheme: Theme = createTheme({ + palette: { + mode: 'light', + primary: { + main: '#615E9B' + }, + secondary: { + main: '#F7F8F8' + }, + error: { + main: '#FF1744' + }, + background: { + default: '#F7F8F8' + } + }, + typography +}) + +export const darkTheme: Theme = createTheme({ + palette: { + mode: 'dark', + primary: { + main: '#615E9B' + }, + secondary: { + main: '#36393F' + }, + error: { + main: '#F04747' + }, + background: { + default: '#0c1117', + paper: '#161B22' + }, + text: { + primary: '#F0F6FC', + secondary: '#8B949E' + } + }, + typography, + components: { + MuiAppBar: { + styleOverrides: { + root: { + backgroundColor: '#020408', + boxShadow: '0 1px 3px rgba(0,0,0,0.5)' + } + } + } + } +}) From 8e84f0d9bdb0e41836b62f92b2a94f594967a659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boni=20Garc=C3=ADa?= Date: Wed, 1 Oct 2025 20:26:19 +0200 Subject: [PATCH 116/118] [rust] Set Rust version to 1.89.0 in WORKSPACE (#16368) --- WORKSPACE | 2 +- rust/Cargo.Bazel.lock | 2 +- rust/src/downloads.rs | 2 +- rust/src/lib.rs | 21 ++++++++++---------- rust/src/lock.rs | 10 ++++------ rust/src/main.rs | 46 +++++++++++++++++++++---------------------- 6 files changed, 40 insertions(+), 43 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 5d04aa70c37fb..151d0438675ff 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -34,7 +34,7 @@ load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_regi rules_rust_dependencies() -rust_register_toolchains() +rust_register_toolchains(versions = ["1.89.0"]) load("@rules_rust//crate_universe:defs.bzl", "crates_repository") diff --git a/rust/Cargo.Bazel.lock b/rust/Cargo.Bazel.lock index 140afa73b714a..a95d1e2fd93f3 100644 --- a/rust/Cargo.Bazel.lock +++ b/rust/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "056872abd60303d8bce1e1a3108b098a6cb83bb21ce94a6c490cd177ed62b0dd", + "checksum": "638f6b3fe087406f8a272d384acf810030eab5b2e6cfb75c7ec6df0aafe69644", "crates": { "addr2line 0.25.1": { "name": "addr2line", diff --git a/rust/src/downloads.rs b/rust/src/downloads.rs index 3332be7c10017..71b723f04bd98 100644 --- a/rust/src/downloads.rs +++ b/rust/src/downloads.rs @@ -53,7 +53,7 @@ pub async fn download_to_tmp_folder( let target_name = response .url() .path_segments() - .and_then(|segments| segments.last()) + .and_then(|mut segments| segments.next_back()) .and_then(|name| if name.is_empty() { None } else { Some(name) }) .unwrap_or("tmp.bin"); diff --git a/rust/src/lib.rs b/rust/src/lib.rs index 6999b9352efa3..7d8a9a44fbf98 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -624,17 +624,16 @@ pub trait SeleniumManager { if let Some(path) = browser_path { self.get_logger() .debug(format!("Found {} in PATH: {}", browser_name, &path)); - if self.is_snap(&path) { - if let Some(snap_path) = self.get_snap_path() { - if snap_path.exists() { - self.get_logger().debug(format!( - "Using {} snap: {}", - browser_name, - path_to_string(snap_path.as_path()) - )); - return Some(snap_path); - } - } + if self.is_snap(&path) + && let Some(snap_path) = self.get_snap_path() + && snap_path.exists() + { + self.get_logger().debug(format!( + "Using {} snap: {}", + browser_name, + path_to_string(snap_path.as_path()) + )); + return Some(snap_path); } return Some(Path::new(&path).to_path_buf()); } diff --git a/rust/src/lock.rs b/rust/src/lock.rs index 46b7f28d8d7bf..fb06d18b3dbb8 100644 --- a/rust/src/lock.rs +++ b/rust/src/lock.rs @@ -70,12 +70,10 @@ impl Lock { } pub fn clear_lock_if_required() { - let lock_path = get_lock_path(); - if lock_path.is_some() { - let lock = lock_path.unwrap(); - if lock.exists() { - fs::remove_file(lock).unwrap_or_default(); - } + if let Some(lock) = get_lock_path() + && lock.exists() + { + fs::remove_file(lock).unwrap_or_default(); } } diff --git a/rust/src/main.rs b/rust/src/main.rs index c2a2a406f83bc..23f29707d9642 100644 --- a/rust/src/main.rs +++ b/rust/src/main.rs @@ -254,35 +254,35 @@ fn main() { }) .unwrap_or_else(|err| { let log = selenium_manager.get_logger(); - if selenium_manager.is_fallback_driver_from_cache() { - if let Some(best_driver_from_cache) = + if selenium_manager.is_fallback_driver_from_cache() + && let Some(best_driver_from_cache) = selenium_manager.find_best_driver_from_cache().unwrap() - { - log.debug_or_warn( - format!( - "There was an error managing {} ({}); using driver found in the cache", - selenium_manager.get_driver_name(), - err - ), - selenium_manager.is_offline(), - ); - log_driver_and_browser_path( - log, - &best_driver_from_cache, - &selenium_manager.get_browser_path_or_latest_from_cache(), - selenium_manager.get_receiver(), - ); - flush_and_exit(OK, log, Some(err)); - } + { + log.debug_or_warn( + format!( + "There was an error managing {} ({}); using driver found in the cache", + selenium_manager.get_driver_name(), + err + ), + selenium_manager.is_offline(), + ); + log_driver_and_browser_path( + log, + &best_driver_from_cache, + &selenium_manager.get_browser_path_or_latest_from_cache(), + selenium_manager.get_receiver(), + ); + flush_and_exit(OK, log, Some(err)); } if selenium_manager.is_offline() { log.warn(&err); flush_and_exit(OK, log, Some(err)); } else { - let error_msg = log - .is_debug_enabled() - .then(|| format!("{:?}", err)) - .unwrap_or_else(|| err.to_string()); + let error_msg = if log.is_debug_enabled() { + format!("{:?}", err) + } else { + err.to_string() + }; log.error(error_msg); flush_and_exit(DATAERR, log, Some(err)); } From 2eeadabc5250ea590f6f142df1ad8d9f23eb37ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boni=20Garc=C3=ADa?= Date: Thu, 2 Oct 2025 12:06:14 +0200 Subject: [PATCH 117/118] [rust] Log browser path also in offline mode (#16215) --- rust/src/main.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/rust/src/main.rs b/rust/src/main.rs index 23f29707d9642..fed02f42272db 100644 --- a/rust/src/main.rs +++ b/rust/src/main.rs @@ -254,6 +254,7 @@ fn main() { }) .unwrap_or_else(|err| { let log = selenium_manager.get_logger(); + let browser_path = selenium_manager.get_browser_path_or_latest_from_cache(); if selenium_manager.is_fallback_driver_from_cache() && let Some(best_driver_from_cache) = selenium_manager.find_best_driver_from_cache().unwrap() @@ -269,13 +270,14 @@ fn main() { log_driver_and_browser_path( log, &best_driver_from_cache, - &selenium_manager.get_browser_path_or_latest_from_cache(), + &browser_path, selenium_manager.get_receiver(), ); flush_and_exit(OK, log, Some(err)); } if selenium_manager.is_offline() { log.warn(&err); + log_browser_path(&log, &browser_path); flush_and_exit(OK, log, Some(err)); } else { let error_msg = if log.is_debug_enabled() { @@ -304,6 +306,10 @@ fn log_driver_and_browser_path( log.error(format!("Driver unavailable: {}", driver_path.display())); flush_and_exit(UNAVAILABLE, log, None); } + log_browser_path(log, browser_path); +} + +fn log_browser_path(log: &Logger, browser_path: &str) { if !browser_path.is_empty() { log.info(format!("{}{}", BROWSER_PATH, browser_path)); } From 6d115cfd877e1ba381c647fd08ba6450ae256624 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Thu, 2 Oct 2025 16:54:38 +0200 Subject: [PATCH 118/118] [build] Prepare for release of Selenium 4.36.0 (#16332) * update devtools versions * update selenium manager versions * update maven dependency versions * update authors file * bump versions in preparation for release * WIP - rough auto-update of changelog, please edit * Update sha256 for signed selenium-manager-windows.exe artifact * Updating tests and linting readme. * Updating Gemfile.lock * Rolling back json upgrade * Pinning rust lock * Pinning rust lock * Removing guards and switching to macOS [skip ci] * Removing guards --------- Co-authored-by: Selenium CI Bot Co-authored-by: Diego Molina Co-authored-by: Boni Garcia Co-authored-by: Diego Molina --- .github/ISSUE_TEMPLATE/bug-report.yml | 2 +- .github/workflows/ci-ruby.yml | 2 +- AUTHORS | 8 + MODULE.bazel | 104 +++-- Rakefile | 2 +- .../chromium/{v137 => v140}/BUILD.bazel | 0 .../{v137 => v140}/browser_protocol.pdl | 434 +++++++++++++++--- .../chromium/{v137 => v140}/js_protocol.pdl | 0 common/selenium_manager.bzl | 12 +- dotnet/CHANGELOG | 24 + dotnet/selenium-dotnet-version.bzl | 4 +- .../src/webdriver/DevTools/DevToolsDomains.cs | 4 +- .../V137Domains.cs => v140/V140Domains.cs} | 22 +- .../V140JavaScript.cs} | 16 +- .../{v137/V137Log.cs => v140/V140Log.cs} | 14 +- .../V137Network.cs => v140/V140Network.cs} | 24 +- .../V137Target.cs => v140/V140Target.cs} | 14 +- .../common/DevTools/DevToolsConsoleTest.cs | 2 +- .../test/common/DevTools/DevToolsLogTest.cs | 2 +- .../common/DevTools/DevToolsNetworkTest.cs | 2 +- .../DevTools/DevToolsPerformanceTest.cs | 2 +- .../common/DevTools/DevToolsProfilerTest.cs | 2 +- .../common/DevTools/DevToolsSecurityTest.cs | 2 +- .../test/common/DevTools/DevToolsTabsTest.cs | 2 +- .../common/DevTools/DevToolsTargetTest.cs | 4 +- java/CHANGELOG | 18 + java/maven_install.json | 343 +++++++------- .../devtools/{v137 => v140}/BUILD.bazel | 2 +- .../v140CdpInfo.java} | 8 +- .../v140Domains.java} | 26 +- .../v137Events.java => v140/v140Events.java} | 18 +- .../v140Javascript.java} | 14 +- .../{v137/v137Log.java => v140/v140Log.java} | 10 +- .../v140Network.java} | 20 +- .../v137Target.java => v140/v140Target.java} | 24 +- .../org/openqa/selenium/devtools/versions.bzl | 2 +- java/version.bzl | 2 +- javascript/selenium-webdriver/BUILD.bazel | 4 +- javascript/selenium-webdriver/CHANGES.md | 4 + javascript/selenium-webdriver/package.json | 2 +- py/BUILD.bazel | 4 +- py/CHANGES | 18 + py/docs/source/conf.py | 2 +- py/pyproject.toml | 2 +- py/selenium/__init__.py | 2 +- py/selenium/webdriver/__init__.py | 2 +- rb/CHANGES | 8 + rb/Gemfile.lock | 39 +- rb/lib/selenium/devtools/BUILD.bazel | 2 +- rb/lib/selenium/devtools/version.rb | 2 +- rb/lib/selenium/webdriver/version.rb | 2 +- rb/selenium-webdriver.gemspec | 1 + .../selenium/webdriver/firefox/driver_spec.rb | 4 +- .../webdriver/takes_screenshot_spec.rb | 4 +- .../selenium/webdriver/window_spec.rb | 4 +- rust/BUILD.bazel | 2 +- rust/CHANGELOG.md | 4 + rust/Cargo.Bazel.lock | 10 +- rust/Cargo.lock | 2 +- rust/Cargo.toml | 2 +- rust/tests/browser_tests.rs | 1 - 61 files changed, 844 insertions(+), 474 deletions(-) rename common/devtools/chromium/{v137 => v140}/BUILD.bazel (100%) rename common/devtools/chromium/{v137 => v140}/browser_protocol.pdl (97%) rename common/devtools/chromium/{v137 => v140}/js_protocol.pdl (100%) rename dotnet/src/webdriver/DevTools/{v137/V137Domains.cs => v140/V140Domains.cs} (78%) rename dotnet/src/webdriver/DevTools/{v137/V137JavaScript.cs => v140/V140JavaScript.cs} (94%) rename dotnet/src/webdriver/DevTools/{v137/V137Log.cs => v140/V140Log.cs} (88%) rename dotnet/src/webdriver/DevTools/{v137/V137Network.cs => v140/V140Network.cs} (95%) rename dotnet/src/webdriver/DevTools/{v137/V137Target.cs => v140/V140Target.cs} (94%) rename java/src/org/openqa/selenium/devtools/{v137 => v140}/BUILD.bazel (98%) rename java/src/org/openqa/selenium/devtools/{v137/v137CdpInfo.java => v140/v140CdpInfo.java} (86%) rename java/src/org/openqa/selenium/devtools/{v137/v137Domains.java => v140/v140Domains.java} (77%) rename java/src/org/openqa/selenium/devtools/{v137/v137Events.java => v140/v140Events.java} (86%) rename java/src/org/openqa/selenium/devtools/{v137/v137Javascript.java => v140/v140Javascript.java} (85%) rename java/src/org/openqa/selenium/devtools/{v137/v137Log.java => v140/v140Log.java} (89%) rename java/src/org/openqa/selenium/devtools/{v137/v137Network.java => v140/v140Network.java} (92%) rename java/src/org/openqa/selenium/devtools/{v137/v137Target.java => v140/v140Target.java} (83%) 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/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/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/MODULE.bazel b/MODULE.bazel index 9fa05793a9b8d..dd60b47797859 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -174,22 +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:3.25.5", + "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", @@ -208,11 +208,11 @@ maven.install( "io.opentelemetry:opentelemetry-sdk-trace", "it.ozimov:embedded-redis:0.7.3", "net.bytebuddy:byte-buddy:1.17.7", - "org.htmlunit:htmlunit-core-js:4.14.0", + "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", @@ -224,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", @@ -234,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.2.4.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 = [ @@ -273,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", @@ -297,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 ec93558514cb2..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 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 (,