From 674e8f83d82c166064fe2b6c4c59f9e1f101eab5 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Thu, 19 Sep 2024 14:58:34 +0000 Subject: [PATCH 1/6] Update pinned browser versions --- common/repositories.bzl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/common/repositories.bzl b/common/repositories.bzl index 2b68a39f8cd05..e0073ceb12f95 100644 --- a/common/repositories.bzl +++ b/common/repositories.bzl @@ -165,8 +165,8 @@ js_library( http_archive( name = "linux_edgedriver", - url = "https://msedgedriver.azureedge.net/128.0.2739.81/edgedriver_linux64.zip", - sha256 = "66a7b7fca41920c813263642ee5be105bb3b18f89fa09319a3b681ccf608aeb5", + url = "https://msedgedriver.azureedge.net/128.0.2739.79/edgedriver_linux64.zip", + sha256 = "b12548106e48d5b80f003bac5255d75310aebb353c21e0253a05367aab2ca6d3", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) @@ -182,8 +182,8 @@ js_library( http_archive( name = "mac_edgedriver", - url = "https://msedgedriver.azureedge.net/128.0.2739.81/edgedriver_mac64.zip", - sha256 = "554b60f5863f13db237bbba75fa8bac52517c364104dc859df0b457804ed10c9", + url = "https://msedgedriver.azureedge.net/128.0.2739.79/edgedriver_mac64.zip", + sha256 = "5285ac87cd12fe094e017b44d74c8c81c4613ff3c0d54bdc3e55d2add00be15b", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) From eae1b124c93ad6b8d5f0b1982a3e769c570da284 Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Thu, 19 Sep 2024 14:59:23 +0000 Subject: [PATCH 2/6] Update selenium manager version --- common/selenium_manager.bzl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/common/selenium_manager.bzl b/common/selenium_manager.bzl index e1ca91ef0a5cd..bb0133c12e949 100644 --- a/common/selenium_manager.bzl +++ b/common/selenium_manager.bzl @@ -7,21 +7,21 @@ def selenium_manager(): name = "download_sm_linux", executable = True, sha256 = "d4d775c38f5403d4a719e69903e6f70d15d2454d03da80ad6b82515a4ebfb986", - url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-3769be1/selenium-manager-linux", + url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-dffb534/selenium-manager-linux", ) http_file( name = "download_sm_macos", executable = True, sha256 = "2d6b20c603c4ca913423b3725cdc7ffa7e6a1554c9c161e3da226b186ba71054", - url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-3769be1/selenium-manager-macos", + url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-dffb534/selenium-manager-macos", ) http_file( name = "download_sm_windows", executable = True, - sha256 = "cd182eeb12e6ecbac95c9cede7f2d5652a7dd56047b4a7a28fb9b3cbabdb72f8", - url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-3769be1/selenium-manager-windows.exe", + sha256 = "58c47a131fd4323c647a95cb37baeafc5a14a536885ccc152457e87a4fd2188d", + url = "https://github.com/SeleniumHQ/selenium_manager_artifacts/releases/download/selenium-manager-dffb534/selenium-manager-windows.exe", ) def _selenium_manager_artifacts_impl(_ctx): From f5727a5e8f13c9598152326ab11005decdeaffcd Mon Sep 17 00:00:00 2001 From: Selenium CI Bot Date: Thu, 19 Sep 2024 14:59:52 +0000 Subject: [PATCH 3/6] FIX CHANGELOGS BEFORE MERGING! Update versions and change logs to release Selenium 4.25.0 --- dotnet/CHANGELOG | 46 +++++++++++++++++++ java/CHANGELOG | 14 ++++++ javascript/node/selenium-webdriver/CHANGES.md | 16 +++++++ py/CHANGES | 22 +++++++++ rb/CHANGES | 19 ++++++++ rust/CHANGELOG.md | 16 +++++++ 6 files changed, 133 insertions(+) diff --git a/dotnet/CHANGELOG b/dotnet/CHANGELOG index a237ec48e7f02..235f8f9302631 100644 --- a/dotnet/CHANGELOG +++ b/dotnet/CHANGELOG @@ -1,3 +1,49 @@ +v4.25.0 +====== +--> [dotnet] BiDi implementation (#14318) +* Migrate +* Use CLS compliant long instead of ulong +* Use null instead of default for optional arguments +* Use internal logging in websockettransport +* Use internal logger in broker +* Even with error log level +* Simplify AsBidirectionalContextAsync +* Fix ConfigureAwait in network module +* Hide direct network interception +* Rework public adding interception +* Simplify network interception +* Don't end session when disposing bidi driver +--> [dotnet] Add BiDi OriginalOpener in browsing context info +--> [dotnet] Forward subscription options in browser context for log module +--> [dotnet] Adjust exception message when bidi is not enabled +--> [dotnet] [bidi] Get tree from browsing context as root (#14495) +--> [dotnet] [bidi] Enable implicit ways to specify page ranges for printing +--> [dotnet] Fix formatting files content globally +--> [dotnet] [bidi] Hide context from command options in contextual env +--> [dotnet] Workaround using pre-processor directive (#14499) +* [dotnet] Workaround using pre-processor directive +* Fix formatting? +* Fix formatting +--> [dotnet] [bidi] Rename method of screenshot result to ToByteArray +--> [dotnet] [bidi] Simplify browsing context to be just context +Following to spec, it is implicitly clear that Context is exactly BrowsingCoontext. For RealmContext and UserContext we use fully qualified name. +--> [dotnet] [bidi] Simplify browsing context type enumeration +--> [dotnet] [bidi] Expose BiDi associated reference in browsing context +--> [dotnet] [bidi] Rename entry point AsBidirectional to AsBiDirectional +To keep aligned with naming and with other bindings +--> [dotnet] [bidi] Consistent naming for main BiDi itself +--> [build] Prepare for release of Selenium 4.25.0 (#14516) +* Update pinned browser versions +* Update supported versions for Chrome DevTools +* Update selenium manager version +* Update authors file +* FIX CHANGELOGS BEFORE MERGING! +Update versions and change logs to release Selenium 4.25.0 +* [create-pull-request] automated change +* [ci] Using an existing EdgeDriver binary +* [rb] Run format script +* Updating change logs + v4.25.0 ====== * Add CDP for Chrome 129 and remove 126 diff --git a/java/CHANGELOG b/java/CHANGELOG index 9daf9573fc362..2e175324a23eb 100644 --- a/java/CHANGELOG +++ b/java/CHANGELOG @@ -1,3 +1,17 @@ +v4.25.0 +====== +--> [build] Prepare for release of Selenium 4.25.0 (#14516) +* Update pinned browser versions +* Update supported versions for Chrome DevTools +* Update selenium manager version +* Update authors file +* FIX CHANGELOGS BEFORE MERGING! +Update versions and change logs to release Selenium 4.25.0 +* [create-pull-request] automated change +* [ci] Using an existing EdgeDriver binary +* [rb] Run format script +* Updating change logs + v4.25.0 ====== * Add CDP for Chrome 129 and remove 126 diff --git a/javascript/node/selenium-webdriver/CHANGES.md b/javascript/node/selenium-webdriver/CHANGES.md index 765a6a53a8cb3..cbe31d39a071d 100644 --- a/javascript/node/selenium-webdriver/CHANGES.md +++ b/javascript/node/selenium-webdriver/CHANGES.md @@ -1,3 +1,19 @@ +## 4.25.0 +--> [js] Updating version to nightly +--> Fix formatting +--> [js][bidi] Fix flaky test for network event +--> [build] Prepare for release of Selenium 4.25.0 (#14516) +* Update pinned browser versions +* Update supported versions for Chrome DevTools +* Update selenium manager version +* Update authors file +* FIX CHANGELOGS BEFORE MERGING! +Update versions and change logs to release Selenium 4.25.0 +* [create-pull-request] automated change +* [ci] Using an existing EdgeDriver binary +* [rb] Run format script +* Updating change logs + ## 4.25.0 - Add CDP for Chrome 129 and remove 126 diff --git a/py/CHANGES b/py/CHANGES index a4e6fd42cb226..ad5155bdba334 100644 --- a/py/CHANGES +++ b/py/CHANGES @@ -1,3 +1,25 @@ +Selenium 4.25.0 +--> Setting nightly version +--> fix type errors for `service.py`, `cdp.py`, `webelement.py` and `remote_connection.py` (#14448) +* fix type errors for `service.py`, `cdp.py`, `webelement.py` and `remote_connection.py` +* remove raise error +--> fix type errors for `input_device` and `file_detector` (#14459) +--> fix type errors for `pointer_input.py`, `wheel_input.py` and `firefox/options.py` (#14476) +* fix type errors fro `firefox/options.py` +* fix more mypy errors +--> firefox_profile.py: use `with` statement in zipfile as Python 2.x support is dropped (#14489) +--> [build] Prepare for release of Selenium 4.25.0 (#14516) +* Update pinned browser versions +* Update supported versions for Chrome DevTools +* Update selenium manager version +* Update authors file +* FIX CHANGELOGS BEFORE MERGING! +Update versions and change logs to release Selenium 4.25.0 +* [create-pull-request] automated change +* [ci] Using an existing EdgeDriver binary +* [rb] Run format script +* Updating change logs + Selenium 4.25.0 * Add CDP for Chrome 129 and remove 126 * fix type errors for `service.py`, `cdp.py`, `webelement.py` and `remote_connection.py` (#14448) diff --git a/rb/CHANGES b/rb/CHANGES index 2711e0ada7c2d..7bbe0692b2726 100644 --- a/rb/CHANGES +++ b/rb/CHANGES @@ -1,3 +1,22 @@ +4.25.0 (2024-09-19) +========================= +--> Setting nightly version +--> [rb] Fix add_cause method not being able to process an array of hashes (#14433) +--> replace `fedcm` links with new ones (#14478) +replace all fedcm links with new ones +--> [rb] Allow driver path to be set using ENV variables (#14287) +--> [build] Prepare for release of Selenium 4.25.0 (#14516) +* Update pinned browser versions +* Update supported versions for Chrome DevTools +* Update selenium manager version +* Update authors file +* FIX CHANGELOGS BEFORE MERGING! +Update versions and change logs to release Selenium 4.25.0 +* [create-pull-request] automated change +* [ci] Using an existing EdgeDriver binary +* [rb] Run format script +* Updating change logs + 4.25.0 (2024-09-19) ========================= * Add CDP for Chrome 129 and remove 126 diff --git a/rust/CHANGELOG.md b/rust/CHANGELOG.md index b56d9cf5b207f..d1bf038d371bc 100644 --- a/rust/CHANGELOG.md +++ b/rust/CHANGELOG.md @@ -1,3 +1,19 @@ +0.4.25 +====== +--> [rust] Reuse driver mirror URL (when available) to discover Firefox versions (#13941) (#14493) +--> [rust] Selenium Manager errors when browser-path is wrong (#13352) (#14381) +* [rust] Selenium Manager errors when browser-path is wrong (#13352) +* [rust] Remove test data with incorrect browser path in macOS +* Revert "[rust] Remove test data with incorrect browser path in macOS" +This reverts commit 79c22d63c9823c9b6ccc9c8a8145426c6978b45e. +* [rust] Escape browser path before checking existence +* Revert "[rust] Escape browser path before checking existence" +This reverts commit b876e2233ace321a41303a60cd1906aa071ed617. +* [rust] Remove test data with incorrect browser path in macOS +* [rust] Force window-sys crate version in Windows +* Revert "[rust] Force window-sys crate version in Windows" +This reverts commit a968a40e5afdd6d9de90cc190e2d2e380b5b9ee7. + 0.4.25 ====== From 019f0410617f60d271c46a312e66ffebdf2af764 Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Thu, 19 Sep 2024 17:07:50 +0200 Subject: [PATCH 4/6] [ci] Using an existing EdgeDriver binary --- common/repositories.bzl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/common/repositories.bzl b/common/repositories.bzl index e0073ceb12f95..2b68a39f8cd05 100644 --- a/common/repositories.bzl +++ b/common/repositories.bzl @@ -165,8 +165,8 @@ js_library( http_archive( name = "linux_edgedriver", - url = "https://msedgedriver.azureedge.net/128.0.2739.79/edgedriver_linux64.zip", - sha256 = "b12548106e48d5b80f003bac5255d75310aebb353c21e0253a05367aab2ca6d3", + url = "https://msedgedriver.azureedge.net/128.0.2739.81/edgedriver_linux64.zip", + sha256 = "66a7b7fca41920c813263642ee5be105bb3b18f89fa09319a3b681ccf608aeb5", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) @@ -182,8 +182,8 @@ js_library( http_archive( name = "mac_edgedriver", - url = "https://msedgedriver.azureedge.net/128.0.2739.79/edgedriver_mac64.zip", - sha256 = "5285ac87cd12fe094e017b44d74c8c81c4613ff3c0d54bdc3e55d2add00be15b", + url = "https://msedgedriver.azureedge.net/128.0.2739.81/edgedriver_mac64.zip", + sha256 = "554b60f5863f13db237bbba75fa8bac52517c364104dc859df0b457804ed10c9", build_file_content = """ load("@aspect_rules_js//js:defs.bzl", "js_library") package(default_visibility = ["//visibility:public"]) From 254a8d436196d16ee3b57b1150f8d4e21350ab7f Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Thu, 19 Sep 2024 17:08:09 +0200 Subject: [PATCH 5/6] Updating change logs --- dotnet/CHANGELOG | 46 --- java/CHANGELOG | 14 - javascript/node/selenium-webdriver/CHANGES.md | 384 +++++++++--------- py/CHANGES | 22 - rb/CHANGES | 19 - rust/CHANGELOG.md | 16 - 6 files changed, 184 insertions(+), 317 deletions(-) diff --git a/dotnet/CHANGELOG b/dotnet/CHANGELOG index 235f8f9302631..a237ec48e7f02 100644 --- a/dotnet/CHANGELOG +++ b/dotnet/CHANGELOG @@ -1,49 +1,3 @@ -v4.25.0 -====== ---> [dotnet] BiDi implementation (#14318) -* Migrate -* Use CLS compliant long instead of ulong -* Use null instead of default for optional arguments -* Use internal logging in websockettransport -* Use internal logger in broker -* Even with error log level -* Simplify AsBidirectionalContextAsync -* Fix ConfigureAwait in network module -* Hide direct network interception -* Rework public adding interception -* Simplify network interception -* Don't end session when disposing bidi driver ---> [dotnet] Add BiDi OriginalOpener in browsing context info ---> [dotnet] Forward subscription options in browser context for log module ---> [dotnet] Adjust exception message when bidi is not enabled ---> [dotnet] [bidi] Get tree from browsing context as root (#14495) ---> [dotnet] [bidi] Enable implicit ways to specify page ranges for printing ---> [dotnet] Fix formatting files content globally ---> [dotnet] [bidi] Hide context from command options in contextual env ---> [dotnet] Workaround using pre-processor directive (#14499) -* [dotnet] Workaround using pre-processor directive -* Fix formatting? -* Fix formatting ---> [dotnet] [bidi] Rename method of screenshot result to ToByteArray ---> [dotnet] [bidi] Simplify browsing context to be just context -Following to spec, it is implicitly clear that Context is exactly BrowsingCoontext. For RealmContext and UserContext we use fully qualified name. ---> [dotnet] [bidi] Simplify browsing context type enumeration ---> [dotnet] [bidi] Expose BiDi associated reference in browsing context ---> [dotnet] [bidi] Rename entry point AsBidirectional to AsBiDirectional -To keep aligned with naming and with other bindings ---> [dotnet] [bidi] Consistent naming for main BiDi itself ---> [build] Prepare for release of Selenium 4.25.0 (#14516) -* Update pinned browser versions -* Update supported versions for Chrome DevTools -* Update selenium manager version -* Update authors file -* FIX CHANGELOGS BEFORE MERGING! -Update versions and change logs to release Selenium 4.25.0 -* [create-pull-request] automated change -* [ci] Using an existing EdgeDriver binary -* [rb] Run format script -* Updating change logs - v4.25.0 ====== * Add CDP for Chrome 129 and remove 126 diff --git a/java/CHANGELOG b/java/CHANGELOG index 2e175324a23eb..9daf9573fc362 100644 --- a/java/CHANGELOG +++ b/java/CHANGELOG @@ -1,17 +1,3 @@ -v4.25.0 -====== ---> [build] Prepare for release of Selenium 4.25.0 (#14516) -* Update pinned browser versions -* Update supported versions for Chrome DevTools -* Update selenium manager version -* Update authors file -* FIX CHANGELOGS BEFORE MERGING! -Update versions and change logs to release Selenium 4.25.0 -* [create-pull-request] automated change -* [ci] Using an existing EdgeDriver binary -* [rb] Run format script -* Updating change logs - v4.25.0 ====== * Add CDP for Chrome 129 and remove 126 diff --git a/javascript/node/selenium-webdriver/CHANGES.md b/javascript/node/selenium-webdriver/CHANGES.md index cbe31d39a071d..086546730f532 100644 --- a/javascript/node/selenium-webdriver/CHANGES.md +++ b/javascript/node/selenium-webdriver/CHANGES.md @@ -1,19 +1,3 @@ -## 4.25.0 ---> [js] Updating version to nightly ---> Fix formatting ---> [js][bidi] Fix flaky test for network event ---> [build] Prepare for release of Selenium 4.25.0 (#14516) -* Update pinned browser versions -* Update supported versions for Chrome DevTools -* Update selenium manager version -* Update authors file -* FIX CHANGELOGS BEFORE MERGING! -Update versions and change logs to release Selenium 4.25.0 -* [create-pull-request] automated change -* [ci] Using an existing EdgeDriver binary -* [rb] Run format script -* Updating change logs - ## 4.25.0 - Add CDP for Chrome 129 and remove 126 @@ -70,9 +54,9 @@ Update versions and change logs to release Selenium 4.25.0 - Implement fullPageScreenshot functionality for Firefox (#13301) - Nightly JS builds are now pushed to GitHub packages - Making Selenium Manager a thin wrapper (#13853) - - This change has been made to make it easier to maintain and improve, the interface has - changed and if users were invoking it, they might experience issues. Selenium Manager is - still in beta and these type of changes are expected. + - This change has been made to make it easier to maintain and improve, the interface has + changed and if users were invoking it, they might experience issues. Selenium Manager is + still in beta and these type of changes are expected. - [bidi] Update browsing context create method (#13766) ## 4.19.0 @@ -355,15 +339,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 @@ -535,7 +519,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) @@ -550,12 +534,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 @@ -639,11 +623,11 @@ mode (see `example/headless.js`) ### 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 @@ -652,137 +636,137 @@ mode (see `example/headless.js`) - 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 + - 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 + - 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 @@ -801,19 +785,19 @@ 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. @@ -837,10 +821,10 @@ 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 @@ -931,8 +915,8 @@ or newer. ## 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)` + - 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. @@ -978,9 +962,9 @@ or newer. - Removed `safari.Options#useLegacyDriver()` - Reduced the API on `promise.Thenable` for compatibility with native promises: - - Removed `#isPending()` - - Removed `#cancel()` - - Removed `#finally()` + - 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 @@ -1080,34 +1064,34 @@ or newer. 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 @@ -1303,7 +1287,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`. @@ -1322,14 +1306,14 @@ continue to be supported, but will require setting the `--harmony` flag. 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. @@ -1695,15 +1679,15 @@ major version release (i.e. 1.0.0). 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. diff --git a/py/CHANGES b/py/CHANGES index ad5155bdba334..a4e6fd42cb226 100644 --- a/py/CHANGES +++ b/py/CHANGES @@ -1,25 +1,3 @@ -Selenium 4.25.0 ---> Setting nightly version ---> fix type errors for `service.py`, `cdp.py`, `webelement.py` and `remote_connection.py` (#14448) -* fix type errors for `service.py`, `cdp.py`, `webelement.py` and `remote_connection.py` -* remove raise error ---> fix type errors for `input_device` and `file_detector` (#14459) ---> fix type errors for `pointer_input.py`, `wheel_input.py` and `firefox/options.py` (#14476) -* fix type errors fro `firefox/options.py` -* fix more mypy errors ---> firefox_profile.py: use `with` statement in zipfile as Python 2.x support is dropped (#14489) ---> [build] Prepare for release of Selenium 4.25.0 (#14516) -* Update pinned browser versions -* Update supported versions for Chrome DevTools -* Update selenium manager version -* Update authors file -* FIX CHANGELOGS BEFORE MERGING! -Update versions and change logs to release Selenium 4.25.0 -* [create-pull-request] automated change -* [ci] Using an existing EdgeDriver binary -* [rb] Run format script -* Updating change logs - Selenium 4.25.0 * Add CDP for Chrome 129 and remove 126 * fix type errors for `service.py`, `cdp.py`, `webelement.py` and `remote_connection.py` (#14448) diff --git a/rb/CHANGES b/rb/CHANGES index 7bbe0692b2726..2711e0ada7c2d 100644 --- a/rb/CHANGES +++ b/rb/CHANGES @@ -1,22 +1,3 @@ -4.25.0 (2024-09-19) -========================= ---> Setting nightly version ---> [rb] Fix add_cause method not being able to process an array of hashes (#14433) ---> replace `fedcm` links with new ones (#14478) -replace all fedcm links with new ones ---> [rb] Allow driver path to be set using ENV variables (#14287) ---> [build] Prepare for release of Selenium 4.25.0 (#14516) -* Update pinned browser versions -* Update supported versions for Chrome DevTools -* Update selenium manager version -* Update authors file -* FIX CHANGELOGS BEFORE MERGING! -Update versions and change logs to release Selenium 4.25.0 -* [create-pull-request] automated change -* [ci] Using an existing EdgeDriver binary -* [rb] Run format script -* Updating change logs - 4.25.0 (2024-09-19) ========================= * Add CDP for Chrome 129 and remove 126 diff --git a/rust/CHANGELOG.md b/rust/CHANGELOG.md index d1bf038d371bc..b56d9cf5b207f 100644 --- a/rust/CHANGELOG.md +++ b/rust/CHANGELOG.md @@ -1,19 +1,3 @@ -0.4.25 -====== ---> [rust] Reuse driver mirror URL (when available) to discover Firefox versions (#13941) (#14493) ---> [rust] Selenium Manager errors when browser-path is wrong (#13352) (#14381) -* [rust] Selenium Manager errors when browser-path is wrong (#13352) -* [rust] Remove test data with incorrect browser path in macOS -* Revert "[rust] Remove test data with incorrect browser path in macOS" -This reverts commit 79c22d63c9823c9b6ccc9c8a8145426c6978b45e. -* [rust] Escape browser path before checking existence -* Revert "[rust] Escape browser path before checking existence" -This reverts commit b876e2233ace321a41303a60cd1906aa071ed617. -* [rust] Remove test data with incorrect browser path in macOS -* [rust] Force window-sys crate version in Windows -* Revert "[rust] Force window-sys crate version in Windows" -This reverts commit a968a40e5afdd6d9de90cc190e2d2e380b5b9ee7. - 0.4.25 ====== From 5507c02e6ea6ff201f4a381908871af613b4ad63 Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Thu, 19 Sep 2024 17:19:51 +0200 Subject: [PATCH 6/6] [ci] Run format script --- javascript/node/selenium-webdriver/CHANGES.md | 368 +++++++++--------- 1 file changed, 184 insertions(+), 184 deletions(-) diff --git a/javascript/node/selenium-webdriver/CHANGES.md b/javascript/node/selenium-webdriver/CHANGES.md index 086546730f532..765a6a53a8cb3 100644 --- a/javascript/node/selenium-webdriver/CHANGES.md +++ b/javascript/node/selenium-webdriver/CHANGES.md @@ -54,9 +54,9 @@ - Implement fullPageScreenshot functionality for Firefox (#13301) - Nightly JS builds are now pushed to GitHub packages - Making Selenium Manager a thin wrapper (#13853) - - This change has been made to make it easier to maintain and improve, the interface has - changed and if users were invoking it, they might experience issues. Selenium Manager is - still in beta and these type of changes are expected. + - This change has been made to make it easier to maintain and improve, the interface has + changed and if users were invoking it, they might experience issues. Selenium Manager is + still in beta and these type of changes are expected. - [bidi] Update browsing context create method (#13766) ## 4.19.0 @@ -339,15 +339,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 @@ -519,7 +519,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) @@ -534,12 +534,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 @@ -623,11 +623,11 @@ mode (see `example/headless.js`) ### 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 @@ -636,137 +636,137 @@ mode (see `example/headless.js`) - 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 + - 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 + - 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 @@ -785,19 +785,19 @@ 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. @@ -821,10 +821,10 @@ 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 @@ -915,8 +915,8 @@ or newer. ## 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)` + - 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. @@ -962,9 +962,9 @@ or newer. - Removed `safari.Options#useLegacyDriver()` - Reduced the API on `promise.Thenable` for compatibility with native promises: - - Removed `#isPending()` - - Removed `#cancel()` - - Removed `#finally()` + - 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 @@ -1064,34 +1064,34 @@ or newer. 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 @@ -1287,7 +1287,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`. @@ -1306,14 +1306,14 @@ continue to be supported, but will require setting the `--harmony` flag. 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. @@ -1679,15 +1679,15 @@ major version release (i.e. 1.0.0). 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.