From b6bf9de7cc2a492a8d1d26e418005996075c698f Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Mon, 19 Feb 2024 13:17:08 +0100 Subject: [PATCH] Release 4.18.0 (#13602) * update Rust version to 0.4.18 * Rust Changelog * Disabling test for firefox * [build] Prepare for release of Selenium 4.18.0 (#13597) * Update pinned browser versions * Update selenium manager version * Update Maven Dependencies * Update authors file Update versions and change logs to release Selenium 4.18.0 --------- Co-authored-by: Selenium CI Bot * Updating changelogs for 4.18.0 [skip ci] --------- Co-authored-by: Selenium CI Bot Co-authored-by: Selenium CI Bot --- AUTHORS | 4 + common/repositories.bzl | 46 +- common/selenium_manager.bzl | 12 +- dotnet/CHANGELOG | 13 + dotnet/selenium-dotnet-version.bzl | 2 +- java/CHANGELOG | 27 ++ java/maven_deps.bzl | 64 +-- java/maven_install.json | 253 +++++----- java/version.bzl | 2 +- javascript/node/selenium-webdriver/CHANGES.md | 432 ++++++++++-------- .../node/selenium-webdriver/package-lock.json | 18 +- .../node/selenium-webdriver/package.json | 2 +- .../test/bidi/network_commands_test.js | 2 +- py/BUILD.bazel | 2 +- py/CHANGES | 5 + py/docs/source/conf.py | 2 +- py/selenium/__init__.py | 2 +- py/selenium/webdriver/__init__.py | 2 +- py/setup.py | 2 +- rb/CHANGES | 6 + rb/Gemfile.lock | 41 +- rb/lib/selenium/webdriver/version.rb | 2 +- rust/BUILD.bazel | 2 +- rust/CHANGELOG.md | 12 + rust/Cargo.Bazel.lock | 10 +- rust/Cargo.lock | 2 +- rust/Cargo.toml | 2 +- 27 files changed, 539 insertions(+), 430 deletions(-) diff --git a/AUTHORS b/AUTHORS index c854b4ff26193..bf515309d08eb 100644 --- a/AUTHORS +++ b/AUTHORS @@ -257,6 +257,7 @@ Erik E. Beerepoot Erik Kuefler Evan Sangaline Evgeniy Roldukhin +EwaMarek Fan <1135611487@qq.com> Felipe Knorr Kuhn Fenil Mehta <42742240+fenilgmehta@users.noreply.github.com> @@ -634,6 +635,7 @@ no_author nvonop Oboleninov Anton Oleg Höfling +Oleg Ridchenko <73664101+oleg-rd@users.noreply.github.com> Oleksii Olivier SCHNEIDER Olle Jonsson @@ -754,6 +756,7 @@ Shreyan Avigyan <74560907+shreyanavigyan@users.noreply.github.com> Shubham Singh <41840111+singh811@users.noreply.github.com> Shuhai Shen Simon K +Simon Perepelitsa Simon Stewart skratchdot smhc @@ -819,6 +822,7 @@ trademark18 Trey Chadick Tricia Crichton TriciaCrichton <54917582+TriciaCrichton@users.noreply.github.com> +Trig Troy Walsh ttanaka tvataire diff --git a/common/repositories.bzl b/common/repositories.bzl index 08799b6ca7899..2ddaa83287fc3 100644 --- a/common/repositories.bzl +++ b/common/repositories.bzl @@ -34,8 +34,8 @@ exports_files( http_archive( name = "linux_beta_firefox", - url = "https://ftp.mozilla.org/pub/firefox/releases/123.0b7/linux-x86_64/en-US/firefox-123.0b7.tar.bz2", - sha256 = "05de0ab4a48c7a2c798172f68a11ba249785f60be97c6729b269dffa78328e12", + url = "https://ftp.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/en-US/firefox-123.0b9.tar.bz2", + sha256 = "c29d96875b8eb03d37e948e3f62cd4505300fce85f0e09dfae6a4443d3878607", build_file_content = """ filegroup( name = "files", @@ -51,15 +51,15 @@ exports_files( dmg_archive( name = "mac_beta_firefox", - url = "https://ftp.mozilla.org/pub/firefox/releases/123.0b7/mac/en-US/Firefox%20123.0b7.dmg", - sha256 = "f598649bae4035bcf5f003b2faf1810d972898da63fff27b13cff8f0fd9e50a7", + url = "https://ftp.mozilla.org/pub/firefox/releases/123.0b9/mac/en-US/Firefox%20123.0b9.dmg", + sha256 = "6addddfd288a16c08dc59a88c8f9fe252d7d608b83bc2458f139e77fda4ddab8", build_file_content = "exports_files([\"Firefox.app\"])", ) http_archive( name = "linux_dev_firefox", - url = "https://ftp.mozilla.org/pub/firefox/releases/123.0b7/linux-x86_64/en-US/firefox-123.0b7.tar.bz2", - sha256 = "05de0ab4a48c7a2c798172f68a11ba249785f60be97c6729b269dffa78328e12", + url = "https://ftp.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/en-US/firefox-123.0b9.tar.bz2", + sha256 = "c29d96875b8eb03d37e948e3f62cd4505300fce85f0e09dfae6a4443d3878607", build_file_content = """ filegroup( name = "files", @@ -75,8 +75,8 @@ exports_files( dmg_archive( name = "mac_dev_firefox", - url = "https://ftp.mozilla.org/pub/firefox/releases/123.0b7/mac/en-US/Firefox%20123.0b7.dmg", - sha256 = "f598649bae4035bcf5f003b2faf1810d972898da63fff27b13cff8f0fd9e50a7", + url = "https://ftp.mozilla.org/pub/firefox/releases/123.0b9/mac/en-US/Firefox%20123.0b9.dmg", + sha256 = "6addddfd288a16c08dc59a88c8f9fe252d7d608b83bc2458f139e77fda4ddab8", build_file_content = "exports_files([\"Firefox.app\"])", ) @@ -96,32 +96,32 @@ exports_files( pkg_archive( name = "mac_edge", - url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/d6fb84d9-f938-4de1-a97f-b3e346a924be/MicrosoftEdge-121.0.2277.106.pkg", - sha256 = "b295496582213abecc4f12e29162a5998d8f47881ba9d9e0927cfe5fc6c0c9cd", + url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/7d455fa7-376b-4ff4-a83c-e74664b24a02/MicrosoftEdge-121.0.2277.128.pkg", + sha256 = "a9b0e772ab1d5545349e312a94526bd3376b9deaa159f13dce070f713c793261", move = { - "MicrosoftEdge-121.0.2277.106.pkg/Payload/Microsoft Edge.app": "Edge.app", + "MicrosoftEdge-121.0.2277.128.pkg/Payload/Microsoft Edge.app": "Edge.app", }, build_file_content = "exports_files([\"Edge.app\"])", ) http_archive( name = "linux_edgedriver", - url = "https://msedgedriver.azureedge.net/121.0.2277.106/edgedriver_linux64.zip", - sha256 = "c842ab7c6b4013b7cf782186693dc52264b798124aabbf217aa6ef7564fe01f5", + url = "https://msedgedriver.azureedge.net/121.0.2277.128/edgedriver_linux64.zip", + sha256 = "9375569e62132ebf68bbe18af7415d572198bc027e15273e8d979c8083ae156a", build_file_content = "exports_files([\"msedgedriver\"])", ) http_archive( name = "mac_edgedriver", - url = "https://msedgedriver.azureedge.net/121.0.2277.106/edgedriver_mac64.zip", - sha256 = "80e872ad410e25f0eda90b22ccc190a87fbc95e13c76e86648932599185e7a8c", + url = "https://msedgedriver.azureedge.net/121.0.2277.128/edgedriver_mac64.zip", + sha256 = "bdf456bf444e2878a672f3eebb3211ca05a10a896ca57d70ccfe9d1dc3e90100", build_file_content = "exports_files([\"msedgedriver\"])", ) http_archive( name = "linux_chrome", - url = "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.85/linux64/chrome-linux64.zip", - sha256 = "0d4c2fbb4db86121bc72450cb9e8659335a72c1719c348e32331cf512ab1487c", + url = "https://storage.googleapis.com/chrome-for-testing-public/121.0.6167.184/linux64/chrome-linux64.zip", + sha256 = "f2496409f3f440c039c967751818480c6029da43b808db307fd2381cabc836ee", build_file_content = """ filegroup( name = "files", @@ -137,8 +137,8 @@ exports_files( http_archive( name = "mac_chrome", - url = "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.85/mac-x64/chrome-mac-x64.zip", - sha256 = "e150319a0fb5e13adbc703772545c7c9fa20b0474b56667f99f7967f5eefe0b8", + url = "https://storage.googleapis.com/chrome-for-testing-public/121.0.6167.184/mac-x64/chrome-mac-x64.zip", + sha256 = "2c228be3134ea66fd4e8648d6eb937fde5f7d2591e2f2c16966eb7edc72d9e17", strip_prefix = "chrome-mac-x64", patch_cmds = [ "mv 'Google Chrome for Testing.app' Chrome.app", @@ -149,16 +149,16 @@ exports_files( http_archive( name = "linux_chromedriver", - url = "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.85/linux64/chromedriver-linux64.zip", - sha256 = "3bc538a59efafcdeeaf5b57b77403ec2522aa9aa33e96c9f6503b87085760883", + url = "https://storage.googleapis.com/chrome-for-testing-public/121.0.6167.184/linux64/chromedriver-linux64.zip", + sha256 = "a1e864dd3b087733e5c654f57b93a241ee5f9dbf82c6b5a48e7c1768ea9e78e6", strip_prefix = "chromedriver-linux64", build_file_content = "exports_files([\"chromedriver\"])", ) http_archive( name = "mac_chromedriver", - url = "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/121.0.6167.85/mac-x64/chromedriver-mac-x64.zip", - sha256 = "2033dd8eadc5a4bcba63dc64475e66cdb21a97cc23790cf35ad5ae678b8a9b30", + url = "https://storage.googleapis.com/chrome-for-testing-public/121.0.6167.184/mac-x64/chromedriver-mac-x64.zip", + sha256 = "3d3f4a9575ff356258b6f12a9375d8c92f47cdff79f191b3faeff723a29bf308", strip_prefix = "chromedriver-mac-x64", build_file_content = "exports_files([\"chromedriver\"])", ) diff --git a/common/selenium_manager.bzl b/common/selenium_manager.bzl index 62026bb73f577..1e9cc60db6bb0 100644 --- a/common/selenium_manager.bzl +++ b/common/selenium_manager.bzl @@ -6,20 +6,20 @@ def selenium_manager(): http_file( name = "download_sm_linux", executable = True, - sha256 = "b417e4faad5ab781102f6ba83f0bfc39b60343fbc43455a2732cab82420dcd0e", - url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-03637c4/selenium-manager-linux", + sha256 = "ec6db2c8ea49cf4fafaf52e70ffcbcac3d49d07df7ca11dba49652b9d51d2d1a", + url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-8fab886/selenium-manager-linux", ) http_file( name = "download_sm_macos", executable = True, - sha256 = "f0990a97a24db5b0aa9d2fcbc7b69eaad11e96a4f3a75887f667b874bdc5e713", - url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-03637c4/selenium-manager-macos", + sha256 = "43168f3c79747b5dd86a6aeb5fc8fb642614899c4ce427e8dcd57737cf70be7f", + url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-8fab886/selenium-manager-macos", ) http_file( name = "download_sm_windows", executable = True, - sha256 = "cb6e0b5ca072038e7626f77263c4b443b1f3e6c550cf3ebf09bf7d2c237a7389", - url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-03637c4/selenium-manager-windows.exe", + sha256 = "c85785e6738ad1759c1e424b2a96f79f0f3ad3a5b5def8a7130dd98c290731c4", + url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-8fab886/selenium-manager-windows.exe", ) diff --git a/dotnet/CHANGELOG b/dotnet/CHANGELOG index ed8745347edef..e0a1b6b9055ac 100644 --- a/dotnet/CHANGELOG +++ b/dotnet/CHANGELOG @@ -1,3 +1,16 @@ +v4.18.0 +====== + +* update parameter name to allowedIpAddresses and make whitelistedIpAddresses obsolete +* remove download url parameter from driver service constructor +* mark UseVerboseLogging obsolete for Edge service in favor of EnableVerboseLogging +* explicitly support passing the full path to driver in Service constructor +* Fix protocol cdp version for remote webdriver (#13507) +* Move initialization of error codes to static ctor +* Add DetachedShadowRoot exception for error response handling +* Add InsecureCertificate exception for error response handling +* Fix network response data encoding (#13576) + v4.17.0 ====== diff --git a/dotnet/selenium-dotnet-version.bzl b/dotnet/selenium-dotnet-version.bzl index 8fe3291a4194e..e0dae4ffe4fa9 100644 --- a/dotnet/selenium-dotnet-version.bzl +++ b/dotnet/selenium-dotnet-version.bzl @@ -1,6 +1,6 @@ # BUILD FILE SYNTAX: STARLARK -SE_VERSION = "4.17.0" +SE_VERSION = "4.18.0" ASSEMBLY_VERSION = "4.0.0.0" SUPPORTED_NET_STANDARD_VERSIONS = ["netstandard2.0"] diff --git a/java/CHANGELOG b/java/CHANGELOG index f830df55253cf..2a522ce5a73fc 100644 --- a/java/CHANGELOG +++ b/java/CHANGELOG @@ -1,3 +1,30 @@ +v4.18.0 +====== + +* Recommitting self-signed certificate should not require certificate file +* [bidi] Add browsing context destroyed event +* Add missing support events for Web Driver Listener (#13210) +* [bidi] Add network intercept commands +* [bidi] Add command "continuewithAuth" +* [bidi] Add failRequest command +* use the W3C state to detect errors +* [grid] Fixing driver configuration parsing (Fixes #13531) +* [cdp] Ensure dom mutation listener calls to webdriver apis are thread safe (Fixes #13500) +* Fix typo in comment (#13549) +* Allow `null` input in `FluentWait` (#13558) +* Add missing event handlers for `TargetLocator` interface (#13559) +* shutdown the process of a failed driver server start +* ensure ExternalProcess.waitFor will not block +* fixed the format of DriverService +* use message templates in logger calls +* [bidi] Add 'fetchError' event +* Fixing NPE when "se:downloadsEnabled" not set (#13583) +* Make Rectangle fields final to enhance immutability (#13586) +* Use all provided options while merging them for Firefox (#13582) +* Fix access modifier for script module classes +* use the ErrorCodec to build the WebDriverException #13580 +* give the driver some time to terminate graceful + v4.17.0 ====== diff --git a/java/maven_deps.bzl b/java/maven_deps.bzl index 60b6ef0cfbc85..3e9c2c15d3763 100644 --- a/java/maven_deps.bzl +++ b/java/maven_deps.bzl @@ -16,48 +16,48 @@ def selenium_java_deps(): "com.graphql-java:graphql-java:20.2", "com.graphql-java:java-dataloader:3.2.0", "dev.failsafe:failsafe:3.3.2", - "io.grpc:grpc-context:1.61.0", + "io.grpc:grpc-context:1.61.1", "io.lettuce:lettuce-core:6.3.1.RELEASE", - "io.netty:netty-buffer:4.1.106.Final", - "io.netty:netty-codec-http:4.1.106.Final", - "io.netty:netty-codec-http2:4.1.106.Final", - "io.netty:netty-common:4.1.106.Final", - "io.netty:netty-handler:4.1.106.Final", - "io.netty:netty-handler-proxy:4.1.106.Final", - "io.netty:netty-transport:4.1.106.Final", - "io.opentelemetry:opentelemetry-api:1.34.1", - "io.opentelemetry:opentelemetry-context:1.34.1", - "io.opentelemetry:opentelemetry-exporter-logging:1.34.1", - "io.opentelemetry:opentelemetry-sdk:1.34.1", - "io.opentelemetry:opentelemetry-sdk-common:1.34.1", - "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:1.34.1", - "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:1.34.1", - "io.opentelemetry:opentelemetry-sdk-testing:1.34.1", - "io.opentelemetry:opentelemetry-sdk-trace:1.34.1", + "io.netty:netty-buffer:4.1.107.Final", + "io.netty:netty-codec-http:4.1.107.Final", + "io.netty:netty-codec-http2:4.1.107.Final", + "io.netty:netty-common:4.1.107.Final", + "io.netty:netty-handler:4.1.107.Final", + "io.netty:netty-handler-proxy:4.1.107.Final", + "io.netty:netty-transport:4.1.107.Final", + "io.opentelemetry:opentelemetry-api:1.35.0", + "io.opentelemetry:opentelemetry-context:1.35.0", + "io.opentelemetry:opentelemetry-exporter-logging:1.35.0", + "io.opentelemetry:opentelemetry-sdk:1.35.0", + "io.opentelemetry:opentelemetry-sdk-common:1.35.0", + "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:1.35.0", + "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:1.35.0", + "io.opentelemetry:opentelemetry-sdk-testing:1.35.0", + "io.opentelemetry:opentelemetry-sdk-trace:1.35.0", "io.opentelemetry.semconv:opentelemetry-semconv:1.23.1-alpha", "io.ous:jtoml:2.0.0", "it.ozimov:embedded-redis:0.7.3", - "net.bytebuddy:byte-buddy:1.14.11", - "org.htmlunit:htmlunit-core-js:3.10.0", + "net.bytebuddy:byte-buddy:1.14.12", + "org.htmlunit:htmlunit-core-js:3.11.0", "org.apache.commons:commons-exec:1.3", "org.apache.logging.log4j:log4j-core:2.22.1", - "org.assertj:assertj-core:3.25.1", + "org.assertj:assertj-core:3.25.3", "org.bouncycastle:bcpkix-jdk18on:1.77", "org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5", "org.hsqldb:hsqldb:2.7.2", - "org.junit.jupiter:junit-jupiter-api:5.10.1", - "org.junit.jupiter:junit-jupiter-engine:5.10.1", - "org.junit.jupiter:junit-jupiter-params:5.10.1", - "org.junit.platform:junit-platform-launcher:1.10.1", - "org.junit.platform:junit-platform-reporting:1.10.1", - "org.junit.platform:junit-platform-commons:1.10.1", - "org.junit.platform:junit-platform-engine:1.10.1", - "org.mockito:mockito-core:5.9.0", + "org.junit.jupiter:junit-jupiter-api:5.10.2", + "org.junit.jupiter:junit-jupiter-engine:5.10.2", + "org.junit.jupiter:junit-jupiter-params:5.10.2", + "org.junit.platform:junit-platform-launcher:1.10.2", + "org.junit.platform:junit-platform-reporting:1.10.2", + "org.junit.platform:junit-platform-commons:1.10.2", + "org.junit.platform:junit-platform-engine:1.10.2", + "org.mockito:mockito-core:5.10.0", "org.mockito:mockito-inline:5.2.0", - "org.redisson:redisson:3.26.0", - "org.slf4j:slf4j-api:2.0.11", - "org.slf4j:slf4j-jdk14:2.0.11", - "org.zeromq:jeromq:0.5.4", + "org.redisson:redisson:3.26.1", + "org.slf4j:slf4j-api:2.0.12", + "org.slf4j:slf4j-jdk14:2.0.12", + "org.zeromq:jeromq:0.6.0", ], excluded_artifacts = [ "org.hamcrest:hamcrest-all", # Replaced by hamcrest 2 diff --git a/java/maven_install.json b/java/maven_install.json index 5be19360e420c..de6e1558b64ca 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": 892178197, - "__RESOLVED_ARTIFACTS_HASH": -1231266529, + "__INPUT_ARTIFACTS_HASH": 589092532, + "__RESOLVED_ARTIFACTS_HASH": 1053491738, "artifacts": { "com.beust:jcommander": { "shasums": { @@ -215,17 +215,17 @@ }, "io.grpc:grpc-api": { "shasums": { - "jar": "30f314fd84e03053d07b4ddf84bcc5889cf30aac219bb1d08d8fc2f8c54f4255", - "sources": "857004e81fc269c60ccbe810fb9be529a957677785c676520bf1e1b42e28734a" + "jar": "98ef2ee2c3d7c6aba2fda2074afb307bbe7a64a2bc86258a07ec5fc0e99001f6", + "sources": "43c67ac16cd7cebaa0d5f9f298d23f0c817c1d33d1052b3cbb96df99b3b6b4a7" }, - "version": "1.61.0" + "version": "1.61.1" }, "io.grpc:grpc-context": { "shasums": { - "jar": "21f4ac4c5e9517a2d0282438fd83f0659e8cac226bf05e0860f84c899bceab61", - "sources": "8bede6b622dd0d7dd7c5a69e97e01c54eb0e1a4e2cdc2a67f3bf0b2e275c6fa4" + "jar": "3d717ab7b8872ab2c9356011efc96e86fbcbaf990231de42c2a6fcaa551510e9", + "sources": "dd338f353881b243e8394fc77cbc7dee21d6f21b36d290fd1c958f70efb9b07e" }, - "version": "1.61.0" + "version": "1.61.1" }, "io.lettuce:lettuce-core": { "shasums": { @@ -236,94 +236,94 @@ }, "io.netty:netty-buffer": { "shasums": { - "jar": "d5067bdbe476d63cb43293822832a749a7c38a38c1c516107c73d257c39bed21", - "sources": "3f372883eb88f27777870a55e02964fb84e3c474693e9c2213c04b6a246386ec" + "jar": "04eb1231c86a7011c48cd443a25dc2f397137e5ee0aac2f12f1c503f11f09e2a", + "sources": "ae50a44004296e0481f9910b3778e01ed9f0b063dbc34a7baae59bf4c7ac7810" }, - "version": "4.1.106.Final" + "version": "4.1.107.Final" }, "io.netty:netty-codec": { "shasums": { - "jar": "93863dfd690f7ace7c26e4c808fdc24780adad465b3cdcb7ce3fc73c422df76f", - "sources": "7a2fa3c3645023d7ff66a5784e18ca18c0019a18fa9b7eb77fcb8e97e358af4e" + "jar": "3a1f361b405f9ea30fe6aabe1907d719c0c99fe30c03932fee558214dbd638cc", + "sources": "41abc66c77a8595e0386a9da6f9d504a262fc093f789437e9a3ec995e8262db1" }, - "version": "4.1.106.Final" + "version": "4.1.107.Final" }, "io.netty:netty-codec-dns": { "shasums": { - "jar": "d174befa24f1259366d234a1f814260534a6a8ec57079bfa444db183ca83954b", - "sources": "797e1f5e56634384b742d9dfaf17061a417d14c17e82c33ddce04f112f79397e" + "jar": "9ca9e403a9bee24d53aa52704d23923c4c56b257c6ddce931bdbf19c3e7539f1", + "sources": "edcacafb9b8c5d7341932b760237251f419c667f89c7c0714dd233e59d600f3d" }, - "version": "4.1.104.Final" + "version": "4.1.106.Final" }, "io.netty:netty-codec-http": { "shasums": { - "jar": "ba177a03adc587fa63e96f1dbae9c46ff25f59397ea34d960b45e05d0296026e", - "sources": "0e6837b9333587132112dcaadd57944ce857629f3c3de83b1892be76290e0765" + "jar": "0f35f57ecc11e1227d0c65d65582adc1075474a30a8fd3cff0f6e9a66c9e2a74", + "sources": "0a3d015c1994070e87959832f0ebe3e1f742174b315d504bd508e79093c47715" }, - "version": "4.1.106.Final" + "version": "4.1.107.Final" }, "io.netty:netty-codec-http2": { "shasums": { - "jar": "c2b821d57a733cd671ea2ab0642002b17e0a2b89004ca026c6eae8f5381cf81e", - "sources": "c777aeac2033d0ab523c59a2c4415d29bc008d7a1521b12ab0954dc53fbadcea" + "jar": "5d83fe14a537ea6ddecc782df256da23ee49754044a4cacc2d8ec5225f338c72", + "sources": "9232a5d1e97d9630b84de9dabebd417f5b40990a6a426402293e311ca7fec911" }, - "version": "4.1.106.Final" + "version": "4.1.107.Final" }, "io.netty:netty-codec-socks": { "shasums": { - "jar": "9811f9bf20a6128518d92182527867e40a0dbc41ea5380d61e284ff9f4f488a3", - "sources": "a9087a65786fec2ed3acc2be70905718ece9fbc67967e9e543b88fd1a351ef5a" + "jar": "7974a03d949fcaf1996c83e5d58f76ec993a9a15b386a5c518114738ed209ab8", + "sources": "41a051af3d6310c82cf7f2a0f6f58746fafde36c2ebbcd3ebf8c778689d36381" }, - "version": "4.1.106.Final" + "version": "4.1.107.Final" }, "io.netty:netty-common": { "shasums": { - "jar": "5ffbe01bd845617a916de3613010d5fda57c5eb694147d38d04f791e9834d5c3", - "sources": "f4ab6ad6fbf4fde6614bbbde3dc2d9193759404e20b8dc13c366c8e34b91b64a" + "jar": "1231e7bd5f523d97280b89adefb3521132d45c22791318b9e0d462bd3ba1b8e9", + "sources": "9670d56708f14394201e1704ec4eb74ccf3fb1b0c5fd30f7bd346e6678b7b421" }, - "version": "4.1.106.Final" + "version": "4.1.107.Final" }, "io.netty:netty-handler": { "shasums": { - "jar": "5a919ad88b6d9e9f08c3069980bc656a62926a00e6ba2da5859aa0ee4e202e44", - "sources": "d0c62a058047fa34b2798adb766a968516f27897a6c81cc89a3f60a01a5554f0" + "jar": "ce135be15a4afe717db7c5a1d5bf1d10bdfdee50c8ce77a5a39e4694b97071db", + "sources": "f6426e8a148e23559da871f21afac1e63f87977b7fac2e7e16c4561d203c06a5" }, - "version": "4.1.106.Final" + "version": "4.1.107.Final" }, "io.netty:netty-handler-proxy": { "shasums": { - "jar": "829a9c49afe0cb72d8c27a067d6bd61afb698ffa0db8117411b7437ecd83db7a", - "sources": "67cfaa69d8af1f9aa26b5d7bafde6856c3eebc085b5f772f13fc0e30010153d5" + "jar": "4dc4cddca45536cd2666a56976c3b4e6f54efce856fdb08de566b7a700bbead9", + "sources": "976a4d3a56d4e5159a481a6adea7dc6221f84d3cb9e68922281a46fc88df7603" }, - "version": "4.1.106.Final" + "version": "4.1.107.Final" }, "io.netty:netty-resolver": { "shasums": { - "jar": "404958b8f0590ee526013d011cd2354dab78adbaad743d7d444db33a3f9eabac", - "sources": "ee95bd01f3c06cebb78ae1a8c09a96650f1be5f423e47d69bb3004010807a489" + "jar": "303244791c040229315845e2236bb7b75249cffb308f99d48b0bab199bc6be63", + "sources": "39f041fd6513ec00c49669dcb1177edc8db8eb0f60fed27f43bfa03149afc607" }, - "version": "4.1.106.Final" + "version": "4.1.107.Final" }, "io.netty:netty-resolver-dns": { "shasums": { - "jar": "f40076554db69eec20e0f8de5c92a540d3c50909e416d2c7d8f7e1b27d84b4a8", - "sources": "2f9b1e3f239f4ebebe6b314914aa6ae53c3eb173dbe4794db2730717e79e8a33" + "jar": "c2c1906c8134593b97c4920dce0ddddd3451cb4378c8d036b9e87420a53b7ee1", + "sources": "ea3648fd0208b0bf44520bc25d905377bf213603d1d1fd3c24512f8a586cb130" }, - "version": "4.1.104.Final" + "version": "4.1.106.Final" }, "io.netty:netty-transport": { "shasums": { - "jar": "23ea9a39009b41e9d0aa1515b3073af9ee4da4e16c2e869b5aa8aa9f109d4251", - "sources": "7e69c12c5a160af900ebba3aa00a7c41e9072fca5ee78ea41b4ddcdaf398b492" + "jar": "8b3107c684c5fcf53bc437e78db9f186008184210fdb96798efb835c073cfa86", + "sources": "4eddf82135f7ccfe287a22324e1556e9759e2b9ae4cbe086295115a24c341318" }, - "version": "4.1.106.Final" + "version": "4.1.107.Final" }, "io.netty:netty-transport-native-unix-common": { "shasums": { - "jar": "f52d4b38c571066bfaae964a7867fa937f0e54fb5ff467c576cb650a20a854e8", - "sources": "9e7893c3c8538d7f948a5aabae1f0eecd8ce8fb6ad22f48b09c9124058695ca7" + "jar": "40eb2e471d88f9e7d09d59284297d1d46de37fb1441215b1b73e9b8691061e27", + "sources": "4e8e2f8ef27856f8ef502c739cd10c1c38a4de519eb5eaa01ead8e52a3c91151" }, - "version": "4.1.106.Final" + "version": "4.1.107.Final" }, "io.opentelemetry.semconv:opentelemetry-semconv": { "shasums": { @@ -334,94 +334,94 @@ }, "io.opentelemetry:opentelemetry-api": { "shasums": { - "jar": "3820fbe846e9f3cad55f0fe1ba72467da9343d1a14cc7a7bd536d4040ab17df9", - "sources": "dad218a595d81790e6cff69a9fa5350e4252d4d35696c6a16deb08d74b220bd6" + "jar": "829fb1414188d1b7ecccc6d3fb0f42629f76c6b5019f7f219c0ef31d5a7c540f", + "sources": "8e8030fb2fb21e475667d48eb10d248366400c659b6d2276ba48f69520e22871" }, - "version": "1.34.1" + "version": "1.35.0" }, "io.opentelemetry:opentelemetry-api-events": { "shasums": { - "jar": "f79a27b8300ddb57eb21c7d662db469b34d9f86253529c720eb067ce55c1b345", - "sources": "004befb8e11373ece1d1e87ad2126479fd5e4b5ca99a097bdb27c4913aafe70c" + "jar": "96872b1ee7527e223e7a387b4bec1649acf9e9a60e21099a020f76f31bfabe5d", + "sources": "c7abd83e331215905958e162fe10dbae1c3ed15e0813c2f6444a14d5f3225df6" }, - "version": "1.34.1-alpha" + "version": "1.35.0-alpha" }, "io.opentelemetry:opentelemetry-context": { "shasums": { - "jar": "62d34f3dbf37783dc0223afe612bccecdccf404eb25cef95a3ab90fcaa689975", - "sources": "ff18ed9626cc2865963b4c248a83baebb3eade37eef902a9edac83096834f2e4" + "jar": "6a11b6639e48515ae78e010292758cbcd2467023b564465aa5a96c1501731464", + "sources": "4439c4f1231178df94849f02a8b300440a041217be19c3ca4e94d5dad89e5c16" }, - "version": "1.34.1" + "version": "1.35.0" }, "io.opentelemetry:opentelemetry-exporter-logging": { "shasums": { - "jar": "ebe441682652ad91cf4a6daf7d17974f31571dc21dc5d8c60b21d1c2986270f1", - "sources": "7128531aed3017840193e6c1fde8af5ded44b9b9ac1ef70c3d0b1680648024e2" + "jar": "f790acd24ba63ea5ced5f6eccd491790ffdaabaf5b12d5ddcf4b36f3ba94f2be", + "sources": "1433a601b901674f722b202375343055d40c7995a0ebd03e583fd4f2e0f43971" }, - "version": "1.34.1" + "version": "1.35.0" }, "io.opentelemetry:opentelemetry-extension-incubator": { "shasums": { - "jar": "63f7948e7d34b81b8adb11ac8cee5738a333e57954c7da28231eca168656514d", - "sources": "464fc29e010668b209e8754b30e6b9650a447c12aa2109f8a19899ce2a7612c1" + "jar": "5ca38a9ecdf2c93183069dae1d7d76ec12e9cf4feb3c2209d04566e82fc4df3c", + "sources": "2469ad678701e0871b39288de539915afa5d0f7c4c266d0f464677fec88fa3d1" }, - "version": "1.34.1-alpha" + "version": "1.35.0-alpha" }, "io.opentelemetry:opentelemetry-sdk": { "shasums": { - "jar": "de1f9ab3f1d0ddfcf6d698f3059352f6ecfbdff4318424eeca62e1eea6b745cd", - "sources": "5d96356bb6dfec674c72f4d627c1a539b357315d2e0a17fb109ae657f9b794e6" + "jar": "e045c5f881a3f40d80ef336ce2e482609a7877109b480a97e755ab7ac711835c", + "sources": "7f3a5bcf8fd6a9d783ec21a062989825343239a2d06323ef28bbe2630b3dafdd" }, - "version": "1.34.1" + "version": "1.35.0" }, "io.opentelemetry:opentelemetry-sdk-common": { "shasums": { - "jar": "bfe9c8efe2c397294527b9a347934187f9b0de805d2cad642017ec7d9b71afc5", - "sources": "3e66c9ef8c1eded8ddd9624d92a61310c2084c498d9a76d34a3a4f6f761ecf66" + "jar": "9290ccec42fe696ab0dba44d44996fcc3d978dbbb0d8f9f97e3778844a767c69", + "sources": "adad25c8d20580450ab1ba7f233b72a34797e7aeca22bdcc8a0dece5ba6ed285" }, - "version": "1.34.1" + "version": "1.35.0" }, "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure": { "shasums": { - "jar": "7332d834f3b35082550a22c99db52596b6d9d9b344076210e4a3bc0627704356", - "sources": "190f7e9246f3248f9880008fc5447399a3bb94e2c5cc3b75df1ce54605953a69" + "jar": "a5e6b3aecafecd25c2363e0b7107d718eaa605853dc05e2fe8220f9323f0a3b3", + "sources": "19928daf75e9aef485b1daa9fc350ef70b28993b9d02068cb850e3709b372be6" }, - "version": "1.34.1" + "version": "1.35.0" }, "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi": { "shasums": { - "jar": "5a3bc2619fa50f176c21abf08ecfa98dd8e8980f154cca2b74a0a74e7d1cf473", - "sources": "74408a88c497e4ed859ff2529fdfc353a0910e66d46d37c7adf59a70966abb0e" + "jar": "3309583cb0506f5f0f5b2df3ad903812c0abf55c92d48279414b57a9da2ba1d4", + "sources": "08e72524a80d979b45cf73359882a292bb24343c3ec51ddbbcabfd064bc9da78" }, - "version": "1.34.1" + "version": "1.35.0" }, "io.opentelemetry:opentelemetry-sdk-logs": { "shasums": { - "jar": "0bf40a630aa4115fd549fdd7dcf77eb1f6c079e0d02ab0d81a415d5fb0848f35", - "sources": "e6bcf41a857fe1ad43b84367f407b0df8ffbf34f8f6ab9c19356cad9c76e7bbe" + "jar": "1ac2e39563669095f2ef0269924c0df3bee76f143b3a577bc0559ca9a273aaab", + "sources": "ddb9421305bc45b3d07e5a6e503cb8048597491993a3e0adf41c596836e572d1" }, - "version": "1.34.1" + "version": "1.35.0" }, "io.opentelemetry:opentelemetry-sdk-metrics": { "shasums": { - "jar": "a983e742c26006ba08888a5fb89f085f92dd81c923febe3ac5c6259b7ec9935d", - "sources": "d94634ef319b19fc6701786c75100cacb057857cd614c9ec9d8b5becd6087ad9" + "jar": "1032f86dac2d44c1c32459356f6bd6428d89b2d62e369764ae1434665b571e40", + "sources": "3fe382b3c5037bf63589ccb71006627e47c52c83474a9f96d7c7cdf7e3fe38a2" }, - "version": "1.34.1" + "version": "1.35.0" }, "io.opentelemetry:opentelemetry-sdk-testing": { "shasums": { - "jar": "15cf6d948e3c7822b8c3ea97058115b3972da1909e8e954eab568d643c471ff5", - "sources": "785fe453db6b77fe748c910fd7e72a7ad47437853b3eee53b17356e51eb8eea8" + "jar": "4d324fd497b5367c39914cc15ceed1ee431bcd4cafcc44abe22937fdc50b9646", + "sources": "002b70421ebb5e53baf63d30e7f81fcc30e2ea6701fd739a2e6724de5ae5dd9d" }, - "version": "1.34.1" + "version": "1.35.0" }, "io.opentelemetry:opentelemetry-sdk-trace": { "shasums": { - "jar": "973b2d7b70cdd7a6ac122b1e2e7a756f18840b6bfddccb3710f59d5c18ec7b6c", - "sources": "0c5602581d96d7afc97d153ecef1b256e404ef005e42c39fc7a5e612d6769389" + "jar": "0c3715deed39924d0d4e67e74e43c25745b77ff27d3e15d548fa8729dab14ab6", + "sources": "78ce2fff445f29304ec874d5afef5e1181c1d4d6c9794a4fbf95e6a0b12da2d5" }, - "version": "1.34.1" + "version": "1.35.0" }, "io.ous:jtoml": { "shasums": { @@ -467,10 +467,10 @@ }, "net.bytebuddy:byte-buddy": { "shasums": { - "jar": "62ae28187ed2b062813da6a9d567bfee733c341582699b62dd980230729a0313", - "sources": "17a6bd3e51149baf144cc380d64445f95f0f6cff3bdeee644ca1a19c6a36f990" + "jar": "970636134d61c183b19f8f58fa631e30d2f2abca344b37848a393cac7863dd70", + "sources": "44eb695beef187be9a3b42f0a930d50dd1e91bcc1363e3565ccc17b15a20440c" }, - "version": "1.14.11" + "version": "1.14.12" }, "net.bytebuddy:byte-buddy-agent": { "shasums": { @@ -558,10 +558,10 @@ }, "org.assertj:assertj-core": { "shasums": { - "jar": "620da4e4de03108c2f412ec17a7ed44b0112dc65e181bd0732dc96fa3b65356f", - "sources": "511d810fd60b6d4874326354eff9e657bbe37fa3a2b8658f22c49a48fe5fa195" + "jar": "7fbdffa1996d43cc08e2576e01008b07e57bbad2b4741aa6c3ab73ce8511130e", + "sources": "cc238222c6191214beed0ca2b65107887b6ed9edc1bf10f09ab8ed7d7fac3dfb" }, - "version": "3.25.1" + "version": "3.25.3" }, "org.bouncycastle:bcpkix-jdk18on": { "shasums": { @@ -614,10 +614,10 @@ }, "org.htmlunit:htmlunit-core-js": { "shasums": { - "jar": "3c0a5b41e073fac91272bca9a252be88ef2a2bc33f0413c4b7adf5a71cf64e94", - "sources": "fd1757e62c918051000fb08702f30ef898b73baabcb06de23be84149941ad489" + "jar": "603930ffc407eece166f739bb3decb4573183264a66aff4bfb4f5d02be3b6862", + "sources": "6d6af31c83cca247f557496547db673950a922414770cec1131726a402715dee" }, - "version": "3.10.0" + "version": "3.11.0" }, "org.jboss.marshalling:jboss-marshalling": { "shasums": { @@ -649,59 +649,59 @@ }, "org.junit.jupiter:junit-jupiter-api": { "shasums": { - "jar": "60d5c398c32dc7039b99282514ad6064061d8417cf959a1f6bd2038cc907c913", + "jar": "afff77c186cd317275803872fa5133aa801fd6ac40bd91c78a6cf8009b4b17cc", "sources": "551e054c2e84b79d087f0410c8e6e3dd3e83ae54129593380d48550da441b5ef" }, - "version": "5.10.1" + "version": "5.10.2" }, "org.junit.jupiter:junit-jupiter-engine": { "shasums": { - "jar": "02930dfe495f93fe70b26550ace3a28f7e1b900c84426c2e4626ce020c7282d6", + "jar": "b6df35da750a546ae932376f11b3c0df841f0c90c7cb2944cd39adb432886e4b", "sources": "00ffb37a2d4a1f5ab224c4cf44b2d050b3d132ca650e9c4251605daf9cd6da9b" }, - "version": "5.10.1" + "version": "5.10.2" }, "org.junit.jupiter:junit-jupiter-params": { "shasums": { - "jar": "c8cf62debcbb354deefe1ffd0671eff785514907567d22a615ff8a8de4522b21", + "jar": "edb1e43ff0b8067626ffb55e5e9eeca1d9ab2478141a7c7f253d115b29cc7cf2", "sources": "532dce2ef436152405567ea75f076dc908c4d21641224ecc53913c9f09bfb131" }, - "version": "5.10.1" + "version": "5.10.2" }, "org.junit.platform:junit-platform-commons": { "shasums": { - "jar": "7d9855ee3f3f71f015eb1479559bf923783243c24fbfbd8b29bed8e8099b5672", - "sources": "8ae867cc64b5f6bbb73e7786e0ac2a69ddf6f1e460e08274feef84b249036e53" + "jar": "b56a5ec000a479df4973b18bba24c98fe0db8faa14c8907d3ef451d8c71fd8ae", + "sources": "e1435cf8f4843619a16c2c1393d39a5170db1376af048a76cdcd7bf9aad72ad6" }, - "version": "1.10.1" + "version": "1.10.2" }, "org.junit.platform:junit-platform-engine": { "shasums": { - "jar": "baa48e470d6dee7369a0a8820c51da89c1463279eda6e13a304d11f45922c760", + "jar": "905cba9b4998ccc29d1239085a7fb1fe0e28024d7526152356d810edec0a49a3", "sources": "17ac74964fcd82c57130623afe72a99105ca107fc96cb53f169b3a8c9c444c83" }, - "version": "1.10.1" + "version": "1.10.2" }, "org.junit.platform:junit-platform-launcher": { "shasums": { - "jar": "ded414c504e88d02270331071969084e1b2fd9bcf8443f35d44da2c6e3301bc2", - "sources": "f98514c156fe6a257659e2c4e964193ffc1d68df1e003d0d0470b24b9055787e" + "jar": "aed4f42fb90ada9b347c231f13656fc09121ba20dab6dc646a6bd9d4da31e4aa", + "sources": "d3c84fbec86b224e0d2bd49e9335978bdeb6aead9f17cbee4f0e2e8885c7ab89" }, - "version": "1.10.1" + "version": "1.10.2" }, "org.junit.platform:junit-platform-reporting": { "shasums": { - "jar": "222245aba7091f6660aa72d491e8c621faf19146a58126d058249aa8abf151df", + "jar": "ea8f781f69b2205f5b70947eaa2182db5e7436e4abc9deae0277324ab258312d", "sources": "3da58799df48f4a280f4e4ea7a92d5e97d2e357ac1b98885afc04a4445457713" }, - "version": "1.10.1" + "version": "1.10.2" }, "org.mockito:mockito-core": { "shasums": { - "jar": "bbad9185ed734965fac7e367f0e51596f69531e51d8b2cbcec1048dd6fb41f2c", - "sources": "3da5c463fe8daeec00829a9d6eaaea59e552fca3114be918cfcb01d52fd2c6a1" + "jar": "0323f591b04d3a0d7ca9ebeebb9e9f34a07c0ec9169b7444ee3951b71d4cad56", + "sources": "de416c7c3f519da04575bfc5587aada7cf8ad1c4ea40e00d5999273941fde309" }, - "version": "5.9.0" + "version": "5.10.0" }, "org.mockito:mockito-inline": { "shasums": { @@ -768,24 +768,24 @@ }, "org.redisson:redisson": { "shasums": { - "jar": "20ad8dbd0a55d0d0f41b0d91aaed5b08dcb8fe41a698df58bd52763db1a2653b", - "sources": "c39037b2195417b347eb3463e6ed7f80510a389ad65d8648211000a151b20bea" + "jar": "329bcc2f6cffd3d01c5537128932c8584db79e0e77f3aff5b9e64e56f6554b22", + "sources": "c219b6fd5f8c891d3360c522494d8dfbddad80cada2489d8ec80c746a2448408" }, - "version": "3.26.0" + "version": "3.26.1" }, "org.slf4j:slf4j-api": { "shasums": { - "jar": "ce0e71d673acb9036bb55d0244b261cf033f8e4c1245f14f931dfb1937dd4c95", - "sources": "3c1357260d1c649aa747bc6ba7b78fb6ea1bd2f7e6fabd9c6412e9d5c6e2ea0c" + "jar": "a79502b8abdfbd722846a27691226a4088682d6d35654f9b80e2a9ccacf7ed47", + "sources": "f05052e5924887edee5ba8228d210e763f85032e2b58245a37fa71e049950787" }, - "version": "2.0.11" + "version": "2.0.12" }, "org.slf4j:slf4j-jdk14": { "shasums": { - "jar": "1ce8ae1f20dec00a0ac08bb92a773168a57651bac69869a457285a5a7c8c7097", - "sources": "66146380abf8465c53599d76b480167476ae2f5ce795ef82109c5cdb83d6bea3" + "jar": "26468d004a9cb8575703024e20b29a3839194f0abf1f4f79ee0b21c5d4900efd", + "sources": "a4bea624bea280720dc11094deb6ff405ac4e7554d1b5299ea9eaf9609df04b0" }, - "version": "2.0.11" + "version": "2.0.12" }, "org.slf4j:slf4j-simple": { "shasums": { @@ -811,10 +811,10 @@ }, "org.zeromq:jeromq": { "shasums": { - "jar": "59eea0fc6c1bbce8a3c01902570f3d33327f71b44555b6c1bd447cd4115ad900", - "sources": "d9c1388b5f49092413eb769a28cf3e54142844c499d55c46bf56f6c4e3120162" + "jar": "4784ff6d6e91b8eecd917b73d07b161c19a808ef870a5bdb760515bb67e208d3", + "sources": "c20e579710d385869496d25217a7820665f7687dc1499b21be6e0ac7e9485a03" }, - "version": "0.5.4" + "version": "0.6.0" } }, "dependencies": { @@ -1010,6 +1010,7 @@ ], "io.opentelemetry:opentelemetry-sdk-trace": [ "io.opentelemetry:opentelemetry-api", + "io.opentelemetry:opentelemetry-extension-incubator", "io.opentelemetry:opentelemetry-sdk-common" ], "io.projectreactor:reactor-core": [ diff --git a/java/version.bzl b/java/version.bzl index 579d06445b01e..d541a133e7159 100644 --- a/java/version.bzl +++ b/java/version.bzl @@ -1,2 +1,2 @@ -SE_VERSION = "4.18.0-SNAPSHOT" +SE_VERSION = "4.18.0" TOOLS_JAVA_VERSION = "17" diff --git a/javascript/node/selenium-webdriver/CHANGES.md b/javascript/node/selenium-webdriver/CHANGES.md index 1a29c8a37a7c5..ba8f2747e4d72 100644 --- a/javascript/node/selenium-webdriver/CHANGES.md +++ b/javascript/node/selenium-webdriver/CHANGES.md @@ -1,3 +1,16 @@ +## 4.18.0 + +* Fix running the casting related methods in chromium (#13479) +* [bidi] Add browsing context destroyed event +* [bidi] Add realm destroyed event +* [bidi] Add locate node command (#13489) +* [bidi] Deprecate NetworkInspector in favor of Network +* Make `npm run lint` pass for javascript/node/selenium-webdriver (#13560) +* [bidi] Add "addintercept" and "removeintercept" commands (#13564) +* [bidi] Add auth related commands (#13572) +* [bidi] Add 'continueWithAuth' command +* [bidi] Add 'fetchError' command + ## 4.17.0 * Add javascript to Selenium Manager input for tracking (see #13288) @@ -26,7 +39,6 @@ * Add CDP v120 and remove v117 - ## 4.15.0 #### :bug: Bug fix @@ -54,7 +66,7 @@ #### :nail_care: Polish * Adding CDP v117 and removing v114 -* Added file location to exception message for Selenium Manager +* Added file location to exception message for Selenium Manager #### :rocket: New Feature @@ -248,15 +260,15 @@ fix: iedriver download with selenium-manager #11579 #### :rocket: New Feature * Adds 'Select' support package - * selectByIndex - * selectByValue - * selectByVisibleText - * getAllSelectedOptions - * getFirstSelectedOption - * deselectAll - * deselectByVisibleText - * deselectByIndex - * deselectByValue + * selectByIndex + * selectByValue + * selectByVisibleText + * getAllSelectedOptions + * getFirstSelectedOption + * deselectAll + * deselectByVisibleText + * deselectByIndex + * deselectByValue * Add support for Actions API sendKeys to designated element * Adds mouse button enum for forward and backward navigation @@ -264,7 +276,8 @@ fix: iedriver download with selenium-manager #11579 * Set min node support to 14.x.x (issue 1 in #10970) * fix: geckodriver session with node 18.x.x (issue 2 in #10970) -* fix: JS firefox driver crashes on setting a profile (fixed with [commit](https://github.com/SeleniumHQ/selenium/commit/fa6deeea6bda1e73317157845772e114bd569b7d)) +* fix: JS firefox driver crashes on setting a profile (fixed + with [commit](https://github.com/SeleniumHQ/selenium/commit/fa6deeea6bda1e73317157845772e114bd569b7d)) * fix: "SetExperimental" option is not available in webdriverjs (Javascript/Typescript) (#10959) * fix: Do not allow Select class to select disabled options (#10812) @@ -334,7 +347,8 @@ fix: iedriver download with selenium-manager #11579 * ignore errors arising from trying to use file detector fixes #6343 * Added RelativeBy class on the main api (#10148) * Code cleanup and minor improvements -* Implements 'getDomAttribute' to get attribute value as defined by w3c spec and removes legacy command usages +* Implements 'getDomAttribute' to get attribute value as defined by w3c spec and removes legacy + command usages * Remove legacy JWP support and w3c switch (#10095) * update map/filter clean up to common format (#10094) @@ -417,7 +431,7 @@ fix: iedriver download with selenium-manager #11579 ## v4.0.0-beta.1 * JS Binding support for WebDriver Bidi in Firefox - * This requires Firefox 87 and Geckodriver 0.29 to be able to work + * This requires Firefox 87 and Geckodriver 0.29 to be able to work * Update the supported CDP versions * Update tmp package version (#9155) * Adding support for /computedlabel (getAccessibleName) (#9073) @@ -431,11 +445,12 @@ fix: iedriver download with selenium-manager #11579 * Rolling back native support for Opera Browser * Added new ieOptions capabilities: - * fileUploadDialogTimeout - * setEdgePath - * setEdgeChromium - * setScrollBehavior - * For consistent naming, deprecating `addArguments(...args)` in favor of `addBrowserCommandSwitches(...args)` + * fileUploadDialogTimeout + * setEdgePath + * setEdgeChromium + * setScrollBehavior + * For consistent naming, deprecating `addArguments(...args)` in favor + of `addBrowserCommandSwitches(...args)` * Added relative locators * Added Chrome DevTools Protocol (CDP) support @@ -491,28 +506,32 @@ mode (see `example/headless.js`) ### Changes for W3C WebDriver Spec Compliance * Revamped the actions API to conform with the WebDriver Spec: - . For details, refer to the JS doc on the `lib/input.Actions` class. + . For details, refer to the JS doc on + the `lib/input.Actions` class. As of January, 2018, only Firefox natively supports this new API. You can put the `Actions` class into "bridge mode" and it will attempt to translate mouse and keyboard actions to the legacy API ( - see class docs). Alternatively, you may continue to use the legacy API directly via the `lib/actions` module. + see class docs). Alternatively, you may continue to use the legacy API directly via + the `lib/actions` module. __NOTE:__ The legacy API is considered strongly deprecated and will be removed in a minor release once Google's Chrome and Microsoft's Edge browsers support the new API. * All window manipulation commands are now supported. * Added `driver.switchTo().parentFrame()` -* When a named cookie is requested, attempt to fetch it directly using the W3C endpoint, `GET /session/{session id}/cookie/{name}`. If this command is not recognized by the +* When a named cookie is requested, attempt to fetch it directly using the W3C + endpoint, `GET /session/{session id}/cookie/{name}`. If this command is not recognized by the remote end, fallback to fetching all cookies and then searching for the desired name. -* Replaced `WebElement.getSize()` and `WebElement.getLocation()` with a single method, `WebElement.getRect()`. +* Replaced `WebElement.getSize()` and `WebElement.getLocation()` with a single + method, `WebElement.getRect()`. ### API Changes * The core WebDriver API no longer uses promise manager - * Removed `index.Builder#setControlFlow()` - * The following thenable types no longer have a `cancel()` method: - * The dynamically generated thenable WebDrivers created by `index.Builder` - * `lib/webdriver.AlertPromise` - * `lib/webdriver.WebElementPromise` + * Removed `index.Builder#setControlFlow()` + * The following thenable types no longer have a `cancel()` method: + * The dynamically generated thenable WebDrivers created by `index.Builder` + * `lib/webdriver.AlertPromise` + * `lib/webdriver.WebElementPromise` * Removed `remote/index.DriverService.prototype.stop()` (use `#kill()` instead) * Removed the `lib/actions` module * Removed the `lib/events` module @@ -520,124 +539,127 @@ mode (see `example/headless.js`) * Removed the 'opera' module * Removed the promise manager from `lib/promise`, which includes the removal of the following exported names (replacements, if any, in parentheses): - * CancellableThenable - * CancellationError - * ControlFlow - * Deferred - * LONG_STACK_TRACES - * MultipleUnhandledRejectionError - * Promise (use native Promises) - * Resolver - * Scheduler - * Thenable - * USE_PROMISE_MANAGER - * all (use Promise.all) - * asap (use Promise.resolve) - * captureStackTrace (use Error.captureStackTrace) - * consume (use async functions) - * controlFlow - * createPromise (use new Promise) - * defer - * fulfilled (use Promise.resolve) - * isGenerator - * rejected (use Promise.reject) - * setDefaultFlow - * when (use Promise.resolve) + * CancellableThenable + * CancellationError + * ControlFlow + * Deferred + * LONG_STACK_TRACES + * MultipleUnhandledRejectionError + * Promise (use native Promises) + * Resolver + * Scheduler + * Thenable + * USE_PROMISE_MANAGER + * all (use Promise.all) + * asap (use Promise.resolve) + * captureStackTrace (use Error.captureStackTrace) + * consume (use async functions) + * controlFlow + * createPromise (use new Promise) + * defer + * fulfilled (use Promise.resolve) + * isGenerator + * rejected (use Promise.reject) + * setDefaultFlow + * when (use Promise.resolve) * Changes to the `Builder` class: - * Added setChromeService, setEdgeService, & setFirefoxService - * Removed setEnableNativeEvents - * Removed setScrollBehavior + * Added setChromeService, setEdgeService, & setFirefoxService + * Removed setEnableNativeEvents + * Removed setScrollBehavior * Changes to `chrome.Driver` - * Added sendDevToolsCommand - * Added setDownloadPath + * Added sendDevToolsCommand + * Added setDownloadPath * Changes to `chrome.Options` - * Now extends the `Capabilities` class - * Removed from/toCapabilities + * Now extends the `Capabilities` class + * Removed from/toCapabilities * Changes to `edge.Options` - * Now extends the `Capabilities` class - * Removed from/toCapabilities + * Now extends the `Capabilities` class + * Removed from/toCapabilities * Changes to `ie.Options` - * Now extends the `Capabilities` class - * Removed from/toCapabilities -* Removed the `firefox.Binary` class. Custom binaries can still be selected using `firefox.Options#setBinary()`. Likewise, custom binary arguments can be specified + * Now extends the `Capabilities` class + * Removed from/toCapabilities +* Removed the `firefox.Binary` class. Custom binaries can still be selected + using `firefox.Options#setBinary()`. Likewise, custom binary arguments can be specified with `firefox.Options#addArguments()`. * Changes to `firefox.Driver` - * Added installAddon(path) - * Added uninstallAddon(id) + * Added installAddon(path) + * Added uninstallAddon(id) * Changes to `firefox.Options` - * Now extends the `Capabilities` class - * Removed from/toCapabilities - * Removed setLoggingPreferences (was a no-op) - * setProfile now only accepts a path to an existing profile - * Added addExtensions - * Added setPreference -* Removed the `firefox.Profile` class. All of its functionality is now provided directly by `firefox.Options` + * Now extends the `Capabilities` class + * Removed from/toCapabilities + * Removed setLoggingPreferences (was a no-op) + * setProfile now only accepts a path to an existing profile + * Added addExtensions + * Added setPreference +* Removed the `firefox.Profile` class. All of its functionality is now provided directly + by `firefox.Options` * Removed the `firefox/binary` module * Removed the `firefox/profile` module * Changes to `safari.Options` - * Now extends the `Capabilities` class - * Removed from/toCapabilities - * Removed setCleanSession (was a no-op) + * Now extends the `Capabilities` class + * Removed from/toCapabilities + * Removed setCleanSession (was a no-op) * Changes to `lib/capabilities.Browser`: - * Removed several enum values. - * ANDROID (use Chrome for Android; see docs on the chrome module) - * IPAD (no support available) - * IPHONE (no support available) - * OPERA (use Chrome) - * PHANTOM_JS (use Chrome or Firefox in headless mode) - * HTMLUNIT (use Chrome or Firefox in headless mode) + * Removed several enum values. + * ANDROID (use Chrome for Android; see docs on the chrome module) + * IPAD (no support available) + * IPHONE (no support available) + * OPERA (use Chrome) + * PHANTOM_JS (use Chrome or Firefox in headless mode) + * HTMLUNIT (use Chrome or Firefox in headless mode) * Changes to `lib/capabilities.Capabilities`: - * Removed static factory methods android(), ipad(), iphone(), opera(), phantomjs(), htmlunit(), - and htmlunitwithjs(). Users can still manually configure capabilities for these, but their use - is not recommended and they will no longer be surfaced in the API. + * Removed static factory methods android(), ipad(), iphone(), opera(), phantomjs(), htmlunit(), + and htmlunitwithjs(). Users can still manually configure capabilities for these, but their use + is not recommended and they will no longer be surfaced in the API. * Changes to `lib/error`: - * Added - * ElementClickInterceptedError - * InsecureCertificateError - * InvalidCoordinatesError - * NoSuchCookieError - * Removed - * ElementNotVisibleError - * InvalidElementCoordinatesError + * Added + * ElementClickInterceptedError + * InsecureCertificateError + * InvalidCoordinatesError + * NoSuchCookieError + * Removed + * ElementNotVisibleError + * InvalidElementCoordinatesError * Changes to `lib/webdriver.WebDriver`: - * Dropped support for "requiredCapabilities" from WebDriver.createSession - * actions() now returns the new `lib/input.Actions` class - * Removed touchActions - * Renamed schedule to execute - * Removed the `WebDriver.attachToSession()` factory method. Users can just the `WebDriver` - constructor directly instead. - * Removed the `call()` method. This was used to inject custom function calls into the control - flow. Now that the promise manager is no longer used, this method is no longer necessary. Users are now responsible for coordinating actions (ideally with async functions) and can just - call functions directly instead of through `driver.call()`. + * Dropped support for "requiredCapabilities" from WebDriver.createSession + * actions() now returns the new `lib/input.Actions` class + * Removed touchActions + * Renamed schedule to execute + * Removed the `WebDriver.attachToSession()` factory method. Users can just the `WebDriver` + constructor directly instead. + * Removed the `call()` method. This was used to inject custom function calls into the control + flow. Now that the promise manager is no longer used, this method is no longer necessary. + Users are now responsible for coordinating actions (ideally with async functions) and can just + call functions directly instead of through `driver.call()`. * Changes to `lib/webdriver.WebElement`: - * Replaced getSize & getLocation with getRect + * Replaced getSize & getLocation with getRect * Changes to `lib/webdriver.Alert`: - * Removed authenticateAs + * Removed authenticateAs * Changes to `lib/webdriver.Options` (`driver.manage()`): - * Removed timeouts (use get/setTimeouts) + * Removed timeouts (use get/setTimeouts) * Changes to `lib/webdriver.Window` (`driver.manage().window()`): - * Added - * getRect - * setRect - * fullscreen - * minimize - * Removed (use the getRect/setRect methods) - * getPosition - * setPosition - * getSize - * setSize + * Added + * getRect + * setRect + * fullscreen + * minimize + * Removed (use the getRect/setRect methods) + * getPosition + * setPosition + * getSize + * setSize * Removed the `testing/assert` module * Changes to `testing/index` - * Since the promise manager has been removed, it is no longer necessary to wrap the Mocha test - hooks; instead, users can simply use async functions. The following have all been removed: - * describe - * before - * beforeEach - * after - * afterEach - * it - * Added the `suite` function. For details, refer to the jsdoc or - `example/google_search_test.js` + * Since the promise manager has been removed, it is no longer necessary to wrap the Mocha test + hooks; instead, users can simply use async functions. The following have all been removed: + * describe + * before + * beforeEach + * after + * afterEach + * it + * Added the `suite` function. For details, refer to the jsdoc or + `example/google_search_test.js` ## v3.6.0 @@ -653,18 +675,18 @@ mode (see `example/headless.js`) ### API Changes * Added new methods to `selenium-webdriver/firefox.Options`: - * addArguments() - * headless() - * windowSize() + * addArguments() + * headless() + * windowSize() * Deprecated `selenium-webdriver/firefox/binary.Binary` * Removed `selenium-webdriver/firefox.Options#useGeckoDriver()` * Removed the unused `selenium-webdriver/firefox/profile.decode()` * Removed methods from `selenium-webdriver/firefox/profile.Profile` that had no effect since support for the legacy FirefoxDriver was dropped in 3.5.0: - * setNativeEventsEnabled - * nativeEventsEnabled - * getPort - * setPort + * setNativeEventsEnabled + * nativeEventsEnabled + * getPort + * setPort * Removed `selenium-webdriver/firefox.ServiceBuilder#setFirefoxBinary()`; custom binaries should be configured through the `firefox.Options` class. * Removed `selenium-webdriver/firefox.Capability`. These hold overs from the legacy FirefoxDriver @@ -686,11 +708,12 @@ to a remote Selenium server that supports Firefox 45. ### Changes * Removed native support for Firefox 46 and older. - * The `SELENIUM_MARIONETTE` enviornment variable no longer has an effect. - * `selenium-webdriver/firefox.Capability.MARIONETTE` is deprecated. - * `selenium-webdriver/firefox.Options#useGeckoDriver()` is deprecated and now a no-op. + * The `SELENIUM_MARIONETTE` enviornment variable no longer has an effect. + * `selenium-webdriver/firefox.Capability.MARIONETTE` is deprecated. + * `selenium-webdriver/firefox.Options#useGeckoDriver()` is deprecated and now a no-op. * `firefox.Options` will no longer discard the `"moz:firefoxOptions"` set in user provided - capabilities (via `Builder.withCapabilities({})`). When both are used, the settings in `firefox.Options` will be applied _last_. + capabilities (via `Builder.withCapabilities({})`). When both are used, the settings + in `firefox.Options` will be applied _last_. * Added `chrome.Options#headless()` and `chrome.Options#windowSize()`, which may be used to start Chrome in headless mode (requires Chrome 59+) and to set the initial window size, respectively. @@ -704,7 +727,8 @@ to a remote Selenium server that supports Firefox 45. ### Notice -This release requires [geckodriver 0.15.0](https://github.com/mozilla/geckodriver/releases/tag/v0.15.0) or newer. +This release +requires [geckodriver 0.15.0](https://github.com/mozilla/geckodriver/releases/tag/v0.15.0) or newer. ### API Changes @@ -743,7 +767,8 @@ This release requires [geckodriver 0.15.0](https://github.com/mozilla/geckodrive ## v3.1.0 * The `lib` package is once again platform agnostic (excluding `lib/devmode`). -* Deprecated `promise.when(value, callback, errback)`. Use `promise.fulfilled(value).then(callback, errback)` +* Deprecated `promise.when(value, callback, errback)`. + Use `promise.fulfilled(value).then(callback, errback)` * Changed `promise.fulfilled(value)`, `promise.rejected(reason)` and `promise.defer()` to all use native promises when the promise manager is disabled. * Properly handle W3C error responses to new session commands. @@ -760,9 +785,10 @@ This release requires [geckodriver 0.15.0](https://github.com/mozilla/geckodrive ## v3.0.1 * More API adjustments to align with native Promises - * Deprecated `promise.fulfilled(value)`, use `promise.Promise#resolve(value)` - * Deprecated `promise.rejected(reason)`, use `promise.Promise#reject(reason)` -* When a `wait()` condition times out, the returned promise will now be rejected with an `error.TimeoutError` instead of a generic `Error` object. + * Deprecated `promise.fulfilled(value)`, use `promise.Promise#resolve(value)` + * Deprecated `promise.rejected(reason)`, use `promise.Promise#reject(reason)` +* When a `wait()` condition times out, the returned promise will now be rejected with + an `error.TimeoutError` instead of a generic `Error` object. * `WebDriver#wait()` will now throw a TypeError if an invalid wait condition is provided. * Properly catch unhandled promise rejections with an action sequence (only impacts when the promise manager is disabled). @@ -789,17 +815,19 @@ This release requires [geckodriver 0.15.0](https://github.com/mozilla/geckodrive `SELENIUM_PROMISE_MANAGER=0`. This is part of a larger plan to remove the promise manager, as documented at -* When communicating with a W3C-compliant remote end, use the atoms library for the `WebElement.getAttribute()` and `WebElement.isDisplayed()` commands. This behavior is +* When communicating with a W3C-compliant remote end, use the atoms library for + the `WebElement.getAttribute()` and `WebElement.isDisplayed()` commands. This behavior is consistent with the java, .net, python, and ruby clients. ### API Changes * Removed `safari.Options#useLegacyDriver()` * Reduced the API on `promise.Thenable` for compatibility with native promises: - * Removed `#isPending()` - * Removed `#cancel()` - * Removed `#finally()` -* Changed all subclasses of `webdriver.WebDriver` to overload the static function `WebDriver.createSession()` instead of doing work in the constructor. All constructors + * Removed `#isPending()` + * Removed `#cancel()` + * Removed `#finally()` +* Changed all subclasses of `webdriver.WebDriver` to overload the static + function `WebDriver.createSession()` instead of doing work in the constructor. All constructors now inherit the base class' function signature. Users are still encouraged to use the `Builder` class instead of creating drivers directly. * `Builder#build()` now returns a "thenable" WebDriver instance, allowing users to immediately @@ -812,8 +840,10 @@ This release requires [geckodriver 0.15.0](https://github.com/mozilla/geckodrive * Fixed a bug where the promise manager would silently drop callbacks after recovering from an unhandled promise rejection. -* Added the `firefox.ServiceBuilder` class, which may be used to customize the geckodriver used for `firefox.Driver` instances. -* Added support for Safari 10 safaridriver. safaridriver may be disabled via tha API, `safari.Options#useLegacyDriver`, to use the safari extension driver. +* Added the `firefox.ServiceBuilder` class, which may be used to customize the geckodriver used + for `firefox.Driver` instances. +* Added support for Safari 10 safaridriver. safaridriver may be disabled via tha + API, `safari.Options#useLegacyDriver`, to use the safari extension driver. * Updated the `lib/proxy` module to support configuring a SOCKS proxy. * For the `promise.ControlFlow`, fire the "uncaughtException" event in a new turn of the JS event loop. As a result of this change, any errors thrown by an event listener will propagate to the @@ -837,7 +867,8 @@ This release requires [geckodriver 0.15.0](https://github.com/mozilla/geckodrive ### Changes for W3C WebDriver Spec Compliance -* Updated command mappings for [getting](https://w3c.github.io/webdriver/webdriver-spec.html#get-window-position) +* Updated command mappings + for [getting](https://w3c.github.io/webdriver/webdriver-spec.html#get-window-position) and [setting](https://w3c.github.io/webdriver/webdriver-spec.html#set-window-position) the window position. @@ -864,7 +895,8 @@ This release requires [geckodriver 0.15.0](https://github.com/mozilla/geckodrive * Properly configure proxies when using the geckodriver * `http.Executor` now accepts a promised client. The `builder.Builder` class will now use this instead of a `command.DeferredExecutor` when creating WebDriver instances. -* For Chrome and Firefox, the `builder.Builder` class will always return an instanceof `chrome.Driver` and `firefox.Driver`, respectively, even when configured to use a +* For Chrome and Firefox, the `builder.Builder` class will always return an + instanceof `chrome.Driver` and `firefox.Driver`, respectively, even when configured to use a remote server (from `builder.Builder#usingServer(url)`, `SELENIUM_REMOTE_URL`, etc). @@ -877,32 +909,32 @@ This release requires [geckodriver 0.15.0](https://github.com/mozilla/geckodrive _seconds_ since epoch. When retrieving cookies, the expiration is always returned in seconds. * Renamed `firefox.Options#useMarionette` to `firefox.Options#useGeckoDriver` * Removed deprecated modules: - * `selenium-webdriver/error` (use `selenium-webdriver/lib/error`,\ - or the `error` property exported by `selenium-webdriver`) - * `selenium-webdriver/executors` — this was not previously deprecated, but is no longer used. + * `selenium-webdriver/error` (use `selenium-webdriver/lib/error`,\ + or the `error` property exported by `selenium-webdriver`) + * `selenium-webdriver/executors` — this was not previously deprecated, but is no longer used. * Removed deprecated types: - * `command.DeferredExecutor` — this was not previously deprecated, but is no longer used. It can - be trivially implemented by clients should it be needed. - * `error.InvalidSessionIdError` (use `error.NoSuchSessionError`) - * `executors.DeferredExecutor` - * `until.Condition` (use `webdriver.Condition`) - * `until.WebElementCondition` (use `webdriver.WebElementCondition`) - * `webdriver.UnhandledAlertError` (use `error.UnexpectedAlertOpenError`) + * `command.DeferredExecutor` — this was not previously deprecated, but is no longer used. It can + be trivially implemented by clients should it be needed. + * `error.InvalidSessionIdError` (use `error.NoSuchSessionError`) + * `executors.DeferredExecutor` + * `until.Condition` (use `webdriver.Condition`) + * `until.WebElementCondition` (use `webdriver.WebElementCondition`) + * `webdriver.UnhandledAlertError` (use `error.UnexpectedAlertOpenError`) * Removed deprecated functions: - * `Deferred#cancel()` - * `Deferred#catch()` - * `Deferred#finally()` - * `Deferred#isPending()` - * `Deferred#then()` - * `Promise#thenCatch()` - * `Promise#thenFinally()` - * `WebDriver#isElementPresent()` - * `WebElement#getInnerHtml()` - * `WebElement#getOuterHtml()` - * `WebElement#getRawId()` - * `WebElement#isElementPresent()` + * `Deferred#cancel()` + * `Deferred#catch()` + * `Deferred#finally()` + * `Deferred#isPending()` + * `Deferred#then()` + * `Promise#thenCatch()` + * `Promise#thenFinally()` + * `WebDriver#isElementPresent()` + * `WebElement#getInnerHtml()` + * `WebElement#getOuterHtml()` + * `WebElement#getRawId()` + * `WebElement#isElementPresent()` * Removed deprecated properties: - * `WebDriverError#code` + * `WebDriverError#code` ## v2.53.2 @@ -926,7 +958,8 @@ This release requires [geckodriver 0.15.0](https://github.com/mozilla/geckodrive Marionette may be enabled via the API, `firefox.Options#useMarionette`, or by setting the `SELENIUM_MARIONETTE` environment variable. -* Moved all logic for parsing and interpreting responses from the remote end into the individual `command.Executor` implementations. +* Moved all logic for parsing and interpreting responses from the remote end into the + individual `command.Executor` implementations. * For consistency with the other Selenium language bindings, `WebDriver#isElementPresent()` and `WebElement#isElementPresent()` have been deprecated. These methods will be removed in v3.0. Use the findElements command to test for the presence of an @@ -948,7 +981,8 @@ This release requires [geckodriver 0.15.0](https://github.com/mozilla/geckodrive * FIXED: `io.findInPath()` will no longer match against directories that have the same basename as the target file. * FIXED: `phantomjs.Driver` now takes a third argument that defines the path to a log file to use - for the phantomjs executable's output. This may be quickly set at runtime with the `SELENIUM_PHANTOMJS_LOG` environment variable. + for the phantomjs executable's output. This may be quickly set at runtime with + the `SELENIUM_PHANTOMJS_LOG` environment variable. ### Changes for W3C WebDriver Spec Compliance @@ -986,8 +1020,10 @@ the selenium-webdriver package README. (Map semantics). To check whether the value is true, use `get(key)`. * Deprecated `executors.DeferredExecutor` in favor of `lib/command.DeferredExecutor`. -* API documentation is no longer distributed with the npm package, but remains available at -* Rewrote the `error` module to export an Error subtype for each type of error defined in the [W3C WebDriver spec](https://w3c.github.io/webdriver/webdriver-spec.html#handling-errors). +* API documentation is no longer distributed with the npm package, but remains available + at +* Rewrote the `error` module to export an Error subtype for each type of error defined in + the [W3C WebDriver spec](https://w3c.github.io/webdriver/webdriver-spec.html#handling-errors). * Changed the `http.Request` and `http.Response` classes to store headers in maps instead of object literals. * Updated `ws` dependency to version `1.0.1`. @@ -1000,7 +1036,8 @@ the selenium-webdriver package README. ### Changes for W3C WebDriver Spec Compliance -* Updated the `By` locators that are not in the W3C spec to delegated to using CSS selectors: `By.className`, `By.id`, `By.name`, and `By.tagName`. +* Updated the `By` locators that are not in the W3C spec to delegated to using CSS + selectors: `By.className`, `By.id`, `By.name`, and `By.tagName`. ## v2.49-51 @@ -1024,7 +1061,8 @@ the selenium-webdriver package README. version `2.1.1`. * FIXED: the `webdriver.promise.ControlFlow` now has a consistent execution order for - tasks/callbacks scheduled in different turns of the JS event loop. Refer to the `webdriver.promise` documentation for more details. + tasks/callbacks scheduled in different turns of the JS event loop. Refer to + the `webdriver.promise` documentation for more details. * FIXED: do not drop user auth from the WebDriver server URL. * FIXED: a single `firefox.Binary` instance may be used to configure and launch multiple FirefoxDriver sessions. @@ -1054,7 +1092,7 @@ continue to be supported, but will require setting the `--harmony` flag. ### Change Summary * Add support for [Node v4.0.0](https://nodejs.org/en/blog/release/v4.0.0/) - * Updated `ws` dependency from `0.7.1` to `0.8.0` + * Updated `ws` dependency from `0.7.1` to `0.8.0` * Bumped the minimum supported version of Node from `0.10.x` to `0.12.x`. This is in accordance with the Node support policy established in `v2.45.0`. @@ -1071,14 +1109,14 @@ continue to be supported, but will require setting the `--harmony` flag. * Added support for using a proxy server for WebDriver commands. See `Builder#usingWebDriverProxy()` for more info. * Removed deprecated functions: - * Capabilities#toJSON() - * UnhandledAlertError#getAlert() - * chrome.createDriver() - * phantomjs.createDriver() - * promise.ControlFlow#annotateError() - * promise.ControlFlow#await() - * promise.ControlFlow#clearHistory() - * promise.ControlFlow#getHistory() + * Capabilities#toJSON() + * UnhandledAlertError#getAlert() + * chrome.createDriver() + * phantomjs.createDriver() + * promise.ControlFlow#annotateError() + * promise.ControlFlow#await() + * promise.ControlFlow#clearHistory() + * promise.ControlFlow#getHistory() * Removed deprecated enum values: `ErrorCode.NO_MODAL_DIALOG_OPEN` and `ErrorCode.MODAL_DIALOG_OPENED`. Use `ErrorCode.NO_SUCH_ALERT` and `ErrorCode.UNEXPECTED_ALERT_OPEN`, respectively. @@ -1102,7 +1140,8 @@ continue to be supported, but will require setting the `--harmony` flag. * FIXED: 8548: Task callbacks are once again dropped if the task was cancelled due to a previously uncaught error within the frame. * FIXED: 8496: Extended the `chrome.Options` API to cover all configuration options (e.g. mobile - emulation and performance logging) documented on the ChromeDriver [project site](https://chromedriver.chromium.org/capabilities). + emulation and performance logging) documented on the + ChromeDriver [project site](https://chromedriver.chromium.org/capabilities). ## v2.45.0 @@ -1177,7 +1216,8 @@ major version release (i.e. 1.0.0). * Expanded the interactions API to include touch actions. See `WebDriver.touchActions()`. * FIXED: 8380: `firefox.Driver` will delete its temporary profile on `quit`. * FIXED: 8306: Stack overflow in promise callbacks eliminated. -* FIXED: 8221: Added support for defining custom command mappings. Includes support for PhantomJS's `executePhantomJS` (requires PhantomJS 1.9.7 or GhostDriver 1.1.0). +* FIXED: 8221: Added support for defining custom command mappings. Includes support for + PhantomJS's `executePhantomJS` (requires PhantomJS 1.9.7 or GhostDriver 1.1.0). * FIXED: 8128: When the FirefoxDriver marshals an object to the page for `executeScript`, it defines additional properties (required by the driver's implementation). These properties will no longer be enumerable and should be omitted (i.e. they won't show up in @@ -1380,14 +1420,14 @@ major version release (i.e. 1.0.0). * For Promises/A+ compatibility, backing out the change in 2.30.0 that ensured rejections were always Error objects. Rejection reasons are now left as is. * Removed deprecated functions originally scheduled for removal in 2.31.0 - * promise.Application.getInstance() - * promise.ControlFlow#schedule() - * promise.ControlFlow#scheduleTimeout() - * promise.ControlFlow#scheduleWait() + * promise.Application.getInstance() + * promise.ControlFlow#schedule() + * promise.ControlFlow#scheduleTimeout() + * promise.ControlFlow#scheduleWait() * Renamed some functions for consistency with Promises/A+ terminology. The original functions have been deprecated and will be removed in 2.34.0: - * promise.resolved() -> promise.fulfilled() - * promise.Deferred#resolve() -> promise.Deferred#fulfill() + * promise.resolved() -> promise.fulfilled() + * promise.Deferred#resolve() -> promise.Deferred#fulfill() * FIXED: remote.SeleniumServer#stop now shuts down within the active control flow, allowing scripts to finish. Use #kill to shutdown immediately. * FIXED: 5321: cookie deletion commands diff --git a/javascript/node/selenium-webdriver/package-lock.json b/javascript/node/selenium-webdriver/package-lock.json index dc503a74f3bf5..131336edafac4 100644 --- a/javascript/node/selenium-webdriver/package-lock.json +++ b/javascript/node/selenium-webdriver/package-lock.json @@ -1,12 +1,12 @@ { "name": "selenium-webdriver", - "version": "4.17.0", + "version": "4.18.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "selenium-webdriver", - "version": "4.17.0", + "version": "4.18.0", "license": "Apache-2.0", "dependencies": { "jszip": "^3.10.1", @@ -48,7 +48,7 @@ "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.22.0 || ^14.18.0 || >=16.0.0" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" @@ -80,7 +80,7 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.22.0 || ^14.18.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -92,7 +92,7 @@ "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.22.0 || ^14.18.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { @@ -893,7 +893,7 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.22.0 || ^14.18.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -998,7 +998,7 @@ "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.22.0 || ^14.18.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -1034,7 +1034,7 @@ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.22.0 || ^14.18.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -1124,7 +1124,7 @@ "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.22.0 || ^14.18.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" diff --git a/javascript/node/selenium-webdriver/package.json b/javascript/node/selenium-webdriver/package.json index dca186207645d..1794b91b09420 100644 --- a/javascript/node/selenium-webdriver/package.json +++ b/javascript/node/selenium-webdriver/package.json @@ -1,6 +1,6 @@ { "name": "selenium-webdriver", - "version": "4.17.0", + "version": "4.18.0", "description": "The official WebDriver JavaScript bindings from the Selenium project", "license": "Apache-2.0", "keywords": [ diff --git a/javascript/node/selenium-webdriver/test/bidi/network_commands_test.js b/javascript/node/selenium-webdriver/test/bidi/network_commands_test.js index 9373c79c6712d..3138ae9b14fbf 100644 --- a/javascript/node/selenium-webdriver/test/bidi/network_commands_test.js +++ b/javascript/node/selenium-webdriver/test/bidi/network_commands_test.js @@ -72,7 +72,7 @@ suite( assert.equal(source.includes('Access granted'), true) }) - it('can continue without auth credentials ', async function () { + xit('can continue without auth credentials ', async function () { await network.addIntercept(new AddInterceptParameters(InterceptPhase.AUTH_REQUIRED)) await network.authRequired(async (event) => { diff --git a/py/BUILD.bazel b/py/BUILD.bazel index 9554198b649a2..f7118e21f473e 100644 --- a/py/BUILD.bazel +++ b/py/BUILD.bazel @@ -36,7 +36,7 @@ compile_pip_requirements( ], ) -SE_VERSION = "4.18.0.nightly" +SE_VERSION = "4.18.0" BROWSER_VERSIONS = [ "v85", diff --git a/py/CHANGES b/py/CHANGES index a65f89ee8002d..713b5a41a83a2 100644 --- a/py/CHANGES +++ b/py/CHANGES @@ -1,3 +1,8 @@ +Selenium 4.18.0 + +* Update linting dependencies +* Setting Python for nightly releases - https://test.pypi.org/project/selenium/ + Selenium 4.17.2 * [py] Correct typing_extension dependency for wheel generation diff --git a/py/docs/source/conf.py b/py/docs/source/conf.py index 501f3a05977b8..584dc8d3adaa9 100644 --- a/py/docs/source/conf.py +++ b/py/docs/source/conf.py @@ -58,7 +58,7 @@ # The short X.Y version. version = '4.18' # The full version, including alpha/beta/rc tags. -release = '4.18.0.nightly' +release = '4.18.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/py/selenium/__init__.py b/py/selenium/__init__.py index 77a8609e65e19..1cf7c5a4f9841 100644 --- a/py/selenium/__init__.py +++ b/py/selenium/__init__.py @@ -16,4 +16,4 @@ # under the License. -__version__ = "4.18.0.nightly" +__version__ = "4.18.0" diff --git a/py/selenium/webdriver/__init__.py b/py/selenium/webdriver/__init__.py index 4d042960c124c..ce84c019c9963 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.18.0.nightly" +__version__ = "4.18.0" # We need an explicit __all__ because the above won't otherwise be exported. __all__ = [ diff --git a/py/setup.py b/py/setup.py index b3c788019987e..a203a695acd33 100755 --- a/py/setup.py +++ b/py/setup.py @@ -27,7 +27,7 @@ setup_args = { 'cmdclass': {'install': install}, 'name': 'selenium', - 'version': "4.18.0.nightly", + 'version': "4.18.0", 'license': 'Apache 2.0', 'description': 'Python bindings for Selenium', 'long_description': open(join(abspath(dirname(__file__)), "README.rst")).read(), diff --git a/rb/CHANGES b/rb/CHANGES index 2f1d68def8897..2b7c22e99c19e 100644 --- a/rb/CHANGES +++ b/rb/CHANGES @@ -1,3 +1,9 @@ +4.18.0 (2024-02-19) +========================= + +* Update documentation link in readme (#13570) +* make suggested updates from rubocop + 4.17.0 (2024-01-22) ========================= diff --git a/rb/Gemfile.lock b/rb/Gemfile.lock index 36708379c9b3e..4def5459cc7ee 100644 --- a/rb/Gemfile.lock +++ b/rb/Gemfile.lock @@ -3,7 +3,7 @@ PATH specs: selenium-devtools (0.121.0) selenium-webdriver (~> 4.2) - selenium-webdriver (4.18.0.nightly) + selenium-webdriver (4.18.0) base64 (~> 0.2) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) @@ -28,19 +28,20 @@ GEM ast (2.4.2) base64 (0.2.0) bigdecimal (3.1.6) + bigdecimal (3.1.6-java) concurrent-ruby (1.2.3) connection_pool (2.4.1) - crack (0.4.5) + crack (1.0.0) + bigdecimal rexml csv (3.2.8) debug (1.9.1) irb (~> 1.10) reline (>= 0.3.8) - diff-lcs (1.5.0) + diff-lcs (1.5.1) drb (2.2.0) ruby2_keywords ffi (1.16.3) - ffi (1.16.3-x64-mingw32) fileutils (1.7.2) git (1.19.1) addressable (~> 2.8) @@ -49,7 +50,7 @@ GEM i18n (1.14.1) concurrent-ruby (~> 1.0) io-console (0.7.2) - irb (1.11.1) + irb (1.11.2) rdoc reline (>= 0.4.2) json (2.7.1) @@ -59,7 +60,7 @@ GEM rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) logger (1.6.0) - minitest (5.21.2) + minitest (5.22.2) mutex_m (0.2.0) parallel (1.24.0) parser (3.3.0.5) @@ -76,7 +77,7 @@ GEM rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - rbs (3.4.2) + rbs (3.4.4) abbrev rchardet (1.8.0) rdoc (6.6.2) @@ -85,19 +86,19 @@ GEM reline (0.4.2) io-console (~> 0.5) rexml (3.2.6) - rspec (3.12.0) - rspec-core (~> 3.12.0) - rspec-expectations (~> 3.12.0) - rspec-mocks (~> 3.12.0) - rspec-core (3.12.2) - rspec-support (~> 3.12.0) - rspec-expectations (3.12.3) + rspec (3.13.0) + rspec-core (~> 3.13.0) + rspec-expectations (~> 3.13.0) + rspec-mocks (~> 3.13.0) + rspec-core (3.13.0) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) - rspec-mocks (3.12.6) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) - rspec-support (3.12.1) + rspec-support (~> 3.13.0) + rspec-support (3.13.0) rubocop (1.60.2) json (~> 2.3) language_server-protocol (>= 3.17.0) @@ -142,13 +143,13 @@ GEM strscan (>= 1.0.0) terminal-table (>= 2, < 4) stringio (3.1.0) - strscan (3.0.9) + strscan (3.1.0) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (2.5.0) - webmock (3.19.1) + webmock (3.20.0) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) diff --git a/rb/lib/selenium/webdriver/version.rb b/rb/lib/selenium/webdriver/version.rb index 0fdff5de07409..7904acc8b3d40 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.18.0.nightly' + VERSION = '4.18.0' end # WebDriver end # Selenium diff --git a/rust/BUILD.bazel b/rust/BUILD.bazel index 64def296fbbfd..aa4665314df34 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.18-nightly", + version = "0.4.18", visibility = ["//visibility:public"], deps = [ ":selenium_manager", diff --git a/rust/CHANGELOG.md b/rust/CHANGELOG.md index c63b7b25c7a55..cbd5e35d6a8b9 100644 --- a/rust/CHANGELOG.md +++ b/rust/CHANGELOG.md @@ -1,3 +1,10 @@ +0.4.18 +====== + +* Add timestamps to Selenium Manager logs (#13554) +* Selenium Manager decrease frequency of statistics reporting (#13555) +* Selenium Manager log level (#13566) + 0.4.17 ====== @@ -7,6 +14,7 @@ 0.4.16 ====== + * Use online mapping to discover proper geckodriver version (#11671) (#13133) * Refactor logic to discover driver version in Firefox module using match * Refactor logic to discover driver version and download browser if necessary @@ -18,6 +26,7 @@ 0.4.15 ====== + * Include mirror arguments to change default online repository URLs (#11687) * Support for automatic management of Firefox ESR (#12946) * Fix webview2 support (#12966) @@ -30,6 +39,7 @@ 0.4.14 ====== + * Use original browser version in Firefox management logic * Clean logic for checking driver version * Avoids resolving symbolic links and consider the cache might not be writable (#12877) @@ -40,6 +50,7 @@ 0.4.13 ====== + * Ensure logger is set first so other setters can use it (#12720) * Avoid using robocopy to move extracted files from sfx in windows (#12690) * Make sure offline sets associated flags (#12718) @@ -50,6 +61,7 @@ 0.4.12 ====== + * Build universal macOS Selenium-Manager on CI (#12455) * Fix bug in condition to check stable label (#12472) * Implement browser path discovery for iexplorer (#12489) diff --git a/rust/Cargo.Bazel.lock b/rust/Cargo.Bazel.lock index eeae8d7999194..53d486e27b80b 100644 --- a/rust/Cargo.Bazel.lock +++ b/rust/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "ad267a0333530eb61d0ea10db85a17c0e6f840129e28760ba621b3a71d3a6ba9", + "checksum": "2aba38966441201afd0855ab9112e742ce367dab8e7145cb0fee37ce9798a484", "crates": { "addr2line 0.19.0": { "name": "addr2line", @@ -7690,9 +7690,9 @@ }, "license": "Apache-2.0/ISC/MIT" }, - "selenium-manager 0.4.18-nightly": { + "selenium-manager 0.4.18": { "name": "selenium-manager", - "version": "0.4.18-nightly", + "version": "0.4.18", "repository": null, "targets": [ { @@ -7817,7 +7817,7 @@ "selects": {} }, "edition": "2021", - "version": "0.4.18-nightly" + "version": "0.4.18" }, "license": "Apache-2.0" }, @@ -12714,7 +12714,7 @@ }, "binary_crates": [], "workspace_members": { - "selenium-manager 0.4.18-nightly": "rust" + "selenium-manager 0.4.18": "rust" }, "conditions": { "aarch64-apple-darwin": [ diff --git a/rust/Cargo.lock b/rust/Cargo.lock index b80ad1cfd61ee..8f147792a7850 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -1444,7 +1444,7 @@ dependencies = [ [[package]] name = "selenium-manager" -version = "0.4.18-nightly" +version = "0.4.18" dependencies = [ "anyhow", "assert_cmd", diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 74d4e45e7b8d2..e11528db16baf 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "selenium-manager" -version = "0.4.18-nightly" # don't forget to update rust/BUILD.bazel +version = "0.4.18" # don't forget to update rust/BUILD.bazel edition = "2021" authors = ["Selenium