Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency cypress to v6 #133

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dimagwhitesourceapp[bot]
Copy link

@dimagwhitesourceapp dimagwhitesourceapp bot commented Dec 5, 2023

This PR contains the following updates:

Package Type Update Change
cypress (source) devDependencies major 3.3.1 -> 6.6.0

By merging this PR, the issue #115 will be automatically resolved and closed:

Severity CVSS Score CVE
Critical Critical 9.8 CVE-2023-26136
Critical Critical 9.1 CVE-2019-10744
Critical Critical 9.1 CVE-2021-42581
High High 7.8 CVE-2021-43138
High High 7.5 CVE-2022-24785
High High 7.5 CVE-2022-24999
High High 7.5 CVE-2022-31129
High High 7.4 CVE-2020-8203
High High 7.2 CVE-2021-23337
Medium Medium 5.6 CVE-2020-15366
Medium Medium 5.3 CVE-2020-28500
Low Low 3.7 CVE-2017-16137

Release Notes

cypress-io/cypress (cypress)

v6.6.0: 6.6.0

Compare Source

Released 2/18/2021

Features:

  • Cypress now extracts and sends CodeFresh CI default variables when recording to the Dashboard. Addresses #​4609

Dependency Updates:

  • Upgraded ramda to version 0.27.1. Addressed in #​14958.

v6.5.0: 6.5.0

Compare Source

Released 2/15/2021

Performance:

  • Improved the startup time of cypress open and cypress run. Addresses #​15075.

Bugfixes:

  • Fixed an issue where tests would display as failed if an event (such as an XHR request) failed after the test was already completed. This only affects the display of the test and not what was reported in run mode, so it would not have had an effect on suites running in CI. Addresses #​14978.
  • Fixed a regression introduced in 6.4.0 that caused Electron to crash when opening outside links in the Command Log. Addresses #​14912.
  • Fixed an issue where browser paths with double backslashes would not work as expected on Windows. Addresses #​14719.
  • Fixed Microsoft Edge browser detection when passing a path on Windows. Addresses #​14716.
  • Fixed an issue where the types for Cypress.on did not support chaining. Addresses #​14991.
  • Fixed an issue where, when installing two Cypress instances simulataneously, the downloaded .zip could become corrupted and break the install process. Addresses #​4595.

Misc:

  • Expanded search bar in desktop GUI to fill the entire width. Addresses #​14830.
  • Added autoEnd to the types for LogConfig. Addresses #​9590.
  • We collect more variables from Bitbucket pipelines to correctly display the pull request information in the Dashboard. Addresses #​15081.

Dependency Updates:

  • Upgraded electron to version 11.2.3. Addresses #​15056.

v6.4.0: 6.4.0

Compare Source

Released 2/1/2021

Features:

  • Added a command log entry for when a file is donwloaded. Addresses #​14749.
  • The delayMs option for cy.intercept() has been renamed to delay. delayMs will still work, but it is deprecated and will be removed in a future release. Addresses #​14822.

Bugfixes:

  • Fixed an issue with handling spec paths containing special characters. Addresses #​14659.
  • Fixed an issue where Cypress Studio would not prompt to start adding commands after visiting an inputted url. Addresses #​14688.
  • Fixed an issue where Cypress Studio could generate empty cy.type() commands. Addresses #​14684.
  • Fixed an issue where Cypress Studio prompts user to enter a URL even if an error has already occured. Addresses #​14686.
  • Fixed an issue where Cypress Studio would not reload tests with watchForFileChanges: false. Addresses #​14744.
  • Fixed an issue where Cypress studio would add a cy.click() before cy.type(). Addresses #​14685.
  • Fixed an issue where Cypress Studio could use the wrong selector for a click event. Addresses #​14658.
  • Fixed multi-select support for Cypress Studio. Addresses #​14743.
  • Improved the UI for command failures within Cypress Studio. Addresses #​14691.
  • The Selector Playground is now closed automatically when Cypress Studio is opened. #​14689.
  • Fixed an issue with cy.intercept where aliases set via req.alias containing a period character would not work as expected. Addresses #​14444.
  • Fixed an issue where delays set using cy.intercept would not work as expected. Addresses #​14446 and #​14511.
  • Reverted a change to how the Chrome DevTools Protocol is established. Instead of using stdio and then falling back to TCP, Cypress now only uses TCP to try to connect to Chrome DevTools Protocol. Addresses #​14819.
  • Fixed an issue causing a webpack compilation error when a browserslist is present in project root. Addresses #​8864.

Misc:

  • Added more details to the "no specs found" error. Addresses #​14532.
  • Added more resolved config property types. Addresses #​14392.
  • Added UTM parameters to external links. Addresses #​14741.

Dependency Updates:

  • Upgraded recast to version 0.20.4. Addresses #​14623.
  • Upgraded registry-js to version 1.13.0. Addresses #​14668.
  • Upgraded @cypress/get-windows-proxy to version 1.6.2. Addresses #​14711.
  • Upgraded systeminformation to version 4.31.1. Addresses #​14715.
  • Upgraded semantic-release to version 17.2.3. Addresses #​14713.
  • Upgraded electron to version 11.2.1`. Addresses #​14764.

v6.3.0: 6.3.0

Compare Source

Released 1/19/2021

Features:

  • Cypress Studio provides a visual way to generate tests within the Test Runner, by recording interactions against the application under test. Cypress Studio is an experimental feature that can be enabled by adding the experimentalStudio attribute to your configuration, cypress.json by default. Address #​73.
  • You can now test file downloads in Cypress without the download prompt displaying. Any files downloaded while testing file downloads will be stored in the downloadsFolder which is set to cypress/downloads by default. The downloadsFolder will be deleted before each run unless trashAssetsBeforeRuns is set to false. Addresses #​949.

Bugfixes:

  • When an uncaught exception is thrown outside a suite with an .only, the error will now correctly display in the Command Log. Fixes #​14455.
  • Cypress will no longer crash when no record key is provided to the --key flag when followed by other CLI flags. Fixed #​14593.
  • Extra screenshots will no longer be taken when tests are retried when there is a failure in an afterEach hook. Fixes #​9209.
  • Having waitForAnimations set to false no longer affects whether Cypress fires actions on inner elements. Fixes #​14370.
  • We fixed a regression in 5.0.0 that would cause string CYPRESS_ prefixed env variables containing commas to be parsed as multiple values. Fixes #​8818.
  • We fixed a regression in 4.9.0 where asserting have.value on an undefined subject would throw an error. Fixes #​14359.
  • We updated the CDP connection to attempt to use the stdio transport first with Chrome 72 and above, before falling back to using TCP. This should remediate issues causing sporadic "Cypress failed to make a connection to the Chrome DevTools Protocol after retrying" errors. Fixes #​6540, #​7450, #​8674, and #​8986.

Misc:

  • We removed several Chrome flags that are no longer supported. Addressed in #​14582.

Dependency Updates:

  • Replaced deprecated node-sass with sass. Addressed in #​14415.
  • Upgraded debug from 4.1.1 to 4.3.1. Addressed in #​14583.
  • Upgraded electron from 11.0.3 to 11.2.0. Addressed in #​14567.
  • Upgraded electron-builder from 22.8.0 to 22.9.1. Addressed in #​14493.
  • Upgraded shell-env from 3.0.0 to 3.0.1. Addressed in #​14622.
  • Upgraded uuid from 8.2.0 to 8.3.2. Addressed in #​14170.

v6.2.1: 6.2.1

Compare Source

Released 1/4/2021

Bugfixes:

  • Test retries, when retrying on several failed tests, will no longer cause hanging during cypress run. Fixes #​9040.
  • multipart/form-data is no longer wrongly encoded when using cy.intercept(). This should prevent Unexpected end of multipart data errors on the back end service where the request was pointing to. Fixes #​9359.
  • cy.contains() no longer throws an error when a single quote is used inside its argument when RegExp. Fixes #​8626.
  • Passing capture: 'runner' to a cy.screenshot() command inside .within() now screenshots the entire Test Runner as expected. Fixes #​14253.
  • Cypress.dom.isJquery() now always returns a boolean instead of undefined sometimes. Fixes #​14278.
  • calledOnceWith and calledOnceWithExactly sinon matchers no longer throw an error when used within Cypress. Fixes #​9644.
  • We now pass --disable-backgrounding-occluded-windows as a default flag to Chrome to prevent backgrounding rendering when the Cypress window is occluded. Fixes #​9604.

Misc:

  • After login, if a name is undefined on your profile, the Test Runner will show the profile's email and link to instructions to update the name. Addresses #​14288.

Dependency Updates:

  • Upgraded devtools-protocol from 0.0.734984 to 0.0.839267. Addressed in #​14353.
  • Upgraded electron from 11.0.3 to 11.1.1. Addressed in #​14352.

v6.2.0: 6.2.0

Compare Source

Released 12/21/2020

Features:

  • You can now listen to before:run and after:run events in the plugins file. See the before:run and after:run docs for more information. Addressed in #​14238 and #​14263.
  • You can now listen to before:spec and after:spec events in the plugins file. See the before:spec and after:spec docs for more information. Addressed in #​9646 and #​14178.
  • The Timed out retrying error message now displays the amount of time Cypress retried. Addresses #​5781.

Bugfixes:

Misc:

  • scrollBehavior is now an allowed type when passed as test configuration. Addresses #​9643.
  • The FileObject type for the file argument of the file:preprocessor event now includes the EventEmitter type. Addresses #​9276.

Dependency Updates:

  • Upgraded electron from 11.0.2 to 11.0.3. Addressed in #​9409.

v6.1.0: 6.1.0

Compare Source

Released 12/07/2020

Features:

  • There's a new scrollBehavior configuration option that controls the viewport position when an element is scrolled prior to action commands. Possible values are 'top', 'bottom', 'center', 'nearest', and false, with 'top' being the default. scrollBehavior: false disables scrolling altogether. scrollBehavior can be specified in global configuration, test configuration or individual action commands via options. Addresses #​871 and #​4356.
  • The Tests tab in the Test Runner now orders folders before files. This matches the ordering of most IDEs' file explorers. Addresses #​7334.

Bugfixes:

  • Responses stubbed from cy.intercept() will now automatically set Access-Control-Allow-Origin and Access-Control-Allow-Credentials to permissive values unless explicitly overridden. Fixes #​9264.
  • The Cannot read property "fireChangeEvent" of undefined error will no longer throw during a race condition when using cy.intercept(). https://github.com/cypress-io/cypress/issues/9170
  • HTTP responses that cannot have a body (like HTTP 304 and HTTP 204) can now be awaited using cy.intercept(). Fixes #​8934 and #​8999.
  • We fixed an issue where HTTP redirects could not be awaited using cy.intercept() unless dynamically intercepted. Addressed in #​9097.
  • Tests will no longer hang in certain situations when there's an error in a before() hook. Fixes #​9162.
  • We no longer strip / from URLs when they are explicitly passed with query paramaters. Fixes #​9360.
  • Fixed the regression in Cypress.dom.isVisible behavior for elements with position: fixed, addresses #​8998 and #​9031.

Deprecations:

Deprecations still work as before but will be removed from Cypress in a future release. We encourage you to update your code now to remove uses of deprecations.

  • Cypress.moment has been deprecated and will be replaced in a future release. Consider migrating to a different datetime formatter. Addresses #​8714.

Misc:

  • We collect more environment variables from Bitbucket to better detect reruns. Addresses #​9309.
  • waitForAnimations and animationDistanceThreshold types are now included for all actionable commands. Addresses #​8854.

Dependency Updates:

  • Upgraded mocha-junit-reporter from 1.23.1 to 2.0.0. Addressed in #​9528.

v6.0.1: 6.0.1

Compare Source

Released 11/30/2020

Bugfixes:

  • Chromium based browsers on version 87 will no longer show recorded videos as frozen or blank. Fixes #​9265.
  • We fixed a regression introduced in 5.0.0 that would cause an Option 'sourceMap' cannot be specified with option 'inlineSourceMap' error to throw when setting sourceMap in your tsconfig. Fixes #​8477.
  • cy.screenshot() no longer throws an "offset" is out of range error when Cypress attempts to crop the image. Fixes #​2034.
  • cy.screenshot() types won't mistakenly display the command as deprecated. Fixes #​9303.
  • Lower-cased HTTP methods can now be used with cy.intercept(). Fixes #​9313.

v6.0.0: 6.0.0

Compare Source

Released 11/23/2020

Summary:

Cypress now offers full network stubbing support with the introduction of the cy.intercept() command (previously cy.route2()). With cy.intercept() your tests can intercept, modify and wait on any type of HTTP request originating from your app.

Breaking Changes:

Please read our Migration Guide which explains the changes in more detail and how to change your code to migrate to Cypress 6.0.

  • Cypress now always throws an error when asserting on an element that doesn't exist in the DOM (unless you're asserting that the element should not.exist). Assertions such as not.visible, not.contains, not.have.class, etc will now fail when used on non-existent DOM elements. Addresses #​205.
  • DOM elements where the CSS style (or ancestors) are opacity: 0 are no longer considered visible. However these are still considered actionable and "any action commands" interacting-with-elements#Actionability used to interact with the element will perform the action. This matches browser's implementation on how they regard elements with opacity: 0. Addresses #​4474.
  • The type yielded by cy.wait(alias) has changed in order to support use of cy.intercept(). Addressed in #​9266.
  • The experimentalNetworkStubbing option has been removed and made the default behavior. You can safely removed this configuration option. Addressed in #​9185.
  • When using .type() and .click() on elements inside a contenteditable element, the events are now properly triggered on the inside elements. This may cause unintended consequences if you were relying on the previous behavior. Addressed in #​9066.
  • We removed several deprecation errors around APIs that were removed in versions of Cypress prior to 4.0.0. This will not cause any changes for anyone upgrading from a 4.0+ version of Cypress. For a full list of all APIs affected see #​8946.
  • We updated our HTTP status codes and reason phrases to match Node.js http.STATUS_CODES. If you have code that relies on a reason phrase, then this could affect you. Addressed in #​8969.
  • JSON request and response bodies captured by cy.intercept() are now automatically parsed, removing the need to manually do JSON.parse. Addressed in #​9280.

Deprecations:

Deprecations still work as before but will be removed from Cypress in a future release. We encourage you to update your code now to remove uses of deprecations.

  • cy.server() and cy.route() have been deprecated. In a future release, support for cy.server() and cy.route() will be moved to a plugin. We encourage you to use cy.intercept() instead. Addressed in #​9185.
  • experimentalFetchPolyfill has been deprecated. We encourage you to use cy.intercept() to intercept requests using the Fetch API instead.
  • cy.route2() was renamed to cy.intercept(). We encourage you to update usages of cy.route2() to use cy.intercept(). Addressed in #​9182.

Features:

  • The new cy.intercept() command can be used to manage the behavior of HTTP requests at the network layer. Addressed in #​9182.
  • We now pass —disable-dev-shm-usage to the Chrome browser flags by default. This will write shared memory files into /tmp instead of /dev/shm. If you're passing this flag in your plugins file, you can now remove this code. Addresses #​5336.
  • A warning is now displayed when passing invalid configuration keys through the CLI. Addresses #​428.
  • The cypress version command now also displays the current Electron and bundled Node versions. Addresses #​9180.
  • The cypress version command now accepts a --component flag that allows you to print the version of specific components of Cypress. ie Electron, Node, etc. Addresses #​9214.

Bugfixes:

  • We fixed a regression introduced in 3.5.0 that would cause .type() to not type the entire string when focus was called away from the target element. Fixes #​9254.
  • .type() and .click() now properly work on elements inside a contenteditable element. Fixes #​2717 and #​7721.
  • We fixed a regression introduced in 5.6.0 that would cause the Test Runner to crashes and display a white page when switching tabs while tests are running. Fixes #​9151.
  • Fixed an issue where Content-Length for cy.route2 request bodies could be incorrectly recalculated. Fixes #​9166.

Documentation Changes:

Misc:

  • Added the type of redirects and changed redirectedToUrl optional for Response types. Addresses #​9275.

Dependency Updates

  • Upgraded Chrome browser version used during cypress run and when selecting Electron browser in cypress open from 85 to 87. Addressed in #​9222.
  • Upgraded bundled Node.js version from 12.16.3 to 12.18.3. Addressed in #​9222.
  • Upgraded electron from 10.1.5 to 11.0.2. Addressed in #​9222.

v5.6.0: 5.6.0

Compare Source

Released 11/09/2020

Features:

  • You can now dynamically add aliases for requests intercepted via cy.route2(). See an example. Addresses #​387.
  • You can now run all integration specs or all component specs separately (or a filtered list of specs) by clicking the appropriate button in the Test Runner in the Tests tab. Addresses #​8203.
  • Added a new modifier syntax to cy.type(). You can now type shortcuts like {ctrl+z}. Addressed in #​5694.
  • We now show a modal with release notes when available when there is a new version of Cypress. Addressed in #​9006.
  • In the Test Runner's Settings and Runs tab you can now quickly copy the project id configuration and record key using a copy to clipboard icon. Addresses #​9002.

Bugfixes:

  • Fixed a regression introduced in 4.12.0 where snapshotting caused images to load too many times. Fixes #​8679.
  • Using cy.visit() on sites with content-type of text-html followed by parameters (like text/html;charset=utf-8) will no longer throw an error about visiting a site with an invalid content-type. Fixes #​8506
  • The Cannot access 'continueSent' before initialization error will no longer throw when using cy.route2(). Fixes #​8926.
  • Awaiting a request body when providing a static response stub in cy.route2() should now work properly. Addressed in #​9059.
  • The way that intercepted cy.route2() requests are displayed in the Command Log has been improved, including showing the progress bar correctly. Addresses #​9053.
  • The Cannot read property 'replace' of undefined error will no longer throw when attempting to generate the stack trace from an error thrown in the application. Fixes #​7915.
  • Stack traces in the Command Log originating from application errors where the location is unavailable will no longer show as a clickable link to open in IDE. Fixes #​9106.
  • When using the fixture: prefix as a stubbed response to cy.route(), JSON fixtures containing only a number or boolean will no longer throw an error. Fixes #​4899.
  • Fixed an issue causing failed subresource integrity checks for external scripts. Fixes #​8983, #​9049, and #​8992.

Misc:

  • Typings for .invoke() and .its() now allow for a timeout option. Addresses #​9079.
  • Typings for cy.task() now allow for parameterizing the task return type. Addresses #​7136.
  • A clearer error is printed during cypress cache list when no cached versions are found. Addresses #​6303.

Dependency Updates:

  • Upgraded commander from ^4.1.1 to ^5.1.0. Addressed in #​8979.
  • Upgraded semver from 6.3.0 to 7.3.2. Addressed in #​9068.
  • Upgraded systeminformation from 4.26.9 to 4.27.11. Addressed in #​8979.
  • Removed node-webkit-updater. This should remove some security warnings that were shown during install. Addresses #​8314.

v5.5.0: 5.5.0

Compare Source

Released 10/26/2020

Features:

  • cy.viewport() has a new macbook-16 preset. Addresses #​8889.
  • .type() now fires the beforeInput event during typing. Note: Firefox does not support the beforeinput event. Addresses #​7088.

Bugfixes:

  • Updated the Cypress proxy layer to proxy HTTPS traffic from non-AUT origins. Addressed in #​8827.
    • This fixed an issue with cy.route2 where HTTPS requests to a non-AUT origin would not be intercepted as expected.
  • cy.route2() now properly handles passing a method as its first argument. Fixes #​8729.
  • Fixed an issue with cy.route2() where a "Cannot set property response of undefined" error would occasionally occur. Fixes #​8858.
  • Headers field names passed to `cy.route2() now case-insensitively match against the field names of incoming HTTP requests. Fixes #​8921.
  • Routes that stub fixtures for binary resources (including images) made with cy.route2() now serve the correct mime-type and content. Fixes #​8623.
  • When experimentalNetworkStubbing is enabled, using cy.visit() to URLs that redirect and set Transfer-Encoding: chunked will no longer fail in Cypress with a "Parse Error". Fixes #​8497.
  • cypress.run() through the Module API now has a status property in the results matching the correct CLI types ("failed" or "finished"). Addresses #​8798.
  • When a value containing an e character is passed to the --ci-build-id flag, Cypress now properly reads it as a string. Fixes #​8874.

Misc:

  • Updated type definitions to allow for passed either runMode or openMode to retries alone. Addresses #​8869.

Dependency Updates:

  • Upgraded electron from 10.1.3 to 10.1.5. Addresses #​8927, #​8975.
  • Upgraded color-string from 1.5.3 to 1.5.4. Addresses #​8945.
  • Upgraded pretty-bytes from ^5.3.0 to ^5.4.1. Addresses #​8964.

v5.4.0: 5.4.0

Compare Source

Released 10/14/2020

Features:

  • You can now run cypress cache prune to delete all installed Cypress versions from the cache except for the currently-installed version. Addresses #​5972.
  • There's a new --size option for the cypress cache list command that prints the sizes of the Cypress cache folders. Addresses #​6404.
  • For video recordings of runs, there is now a video chapter key for each test. If your video player supports chapters, you can move to the start of each test right away. Addresses #​3626.
  • In Windows, you can now append the browser type to the end of the path passed to the --browser flag, like cypress open --browser C:/User/App/browser.exe:chrome, to help detect the browser type. Addresses #​6389.
  • cy.viewport() has new iphone-7, iphone-8, and iphone-se2 presets. Addressed in #​8624
  • When there is a new version of Cypress available, the update modal has a new design with 'copy to clipboard' buttons to copy the upgrade commands. Addressed in #​8751.
  • The Command Log can be hidden by passing the CYPRESS_NO_COMMAND_LOG=1 environment variable during cypress open or cypress run to be used as a tool to debug performance issues. Addressed in #​8689.

Bugfixes:

  • We fixed a regression in 5.0.0 where the chromeWebSecurity option had no effect in Electron. Fixes #​8399.
  • Tests will no longer hang and now properly throw when there is an error thrown from a test:after:run event listener. Fixes #​2271 and #​8701.
  • When a command is chained after .within() and "cy.get()" is called inside it, the scope will no longer permanently change. Fixes #​2106, #​4672, #​4757, and #​5183.
  • Dual commands like cy.contains() when used after an .each() commands now query as expected. Fixes #​4921.
  • / is no longer added to the URL when baseUrl has param(s). Fixes #​2101.
  • When using cy.route2() the route handler timeouts will no longer leak into other tests and cause random failures. Addressed in #​8727.
  • Re-running failed build steps in Bitbucket will no longer create a new run on the Cypress Dashboard. Fixes #​8720.
  • The forced garbage collection timer will no longer display when using a version of Firefox newer than 80. Fixes #​8725.
  • The browser dropdown is no longer covered when opened from the Runs tab in the Test Runner. Fixed in #​8745.
  • Fixed an issue where preprocessor-related plugins would cause tests not to run and a duplicate instance of Cypress to be spawned. Fixes #​8634.

Misc:

  • Improved type definitions for cy.route2(). Addresses #​8694 and #​8782.
  • The Test Runner now shows an indicator in the footer and a toast notification if there is a new version available. Addressed in #​8702 and #​8803.

Dependency Updates:

  • Upgraded Chrome browser version used during cypress run and when selecting Electron browser in cypress open from 83 to 85. Addressed in #​8406.
  • Upgraded bundled Node.js version from 12.14.1 to 12.16.3. Addressed in #​8406.
  • Upgraded electron from 9.2.1 to 10.1.3. Addressed in #​8406.
  • Upgraded firefox-profile from 2.0.0 to 4.0.0. Addressed in #​8786.
  • Upgraded node-forge from 0.9.0 to 0.10.0. Addressed in #​8800.

v5.3.0: 5.3.0

Compare Source

Released 9/28/2020

Features:

  • Firefox support is now out of beta! 🎉 Firefox 80 and newer are now officially stable when used with Cypress. Addresses #​8241.
    • Versions of Firefox older than 80 can still be used, but will be subject to the firefoxGcInterval workaround. The desktop GUI will display a warning if such versions are used.

Bugfixes:

  • Fixed a bug where cy.route2 would not automatically JSONify an empty array handler. Addresses #​8532.
  • Fixed a bug where objects yielded by using cy.wait on a cy.route2 alias would not always have a response property. Addresses #​8536.
  • Fixed an issue where cy.route2 routes would not be able to intercept requests to HTTPS destinations on a different origin. Addresses #​8487.
  • Fixed an issue where subjects became undefined after certain assertion failures. Addresses #​5763.
  • Fixed an issue where a cy.task with no arguments passed would receive null as the first argument instead of undefined. Addresses #​5913.
  • Fixed an issue preventing users from passing the config-file argument when starting cypress through the node module API. Addresses #​8632.
  • Fixed an issue where cy.visit()s to a relative URL containing .. would not work. Addresses #​5090.
  • Fixed an issue where Mocha hooks could still be triggered after the Test Runner was manually stopped. Addresses #​8621.
  • Fixed an issue where cy.setCookie failed when given a cookie name with a __Host- prefix. Addresses #​8261.
  • Fixed an issue where a misleading error was displayed when test code threw an exception with a non-Error object. Addresses #​7870.

Misc:

  • The proxy now omits the Content-Security-Policy-Report-Only header the same way that it does for Content-Security-Policy. Addresses #​7936.
  • Added a status property to CypressRunResult objects. Addresses #​8580.
  • Updated types to no longer use deprecated Mocha interfaces. Addresses #​5795.
  • Passing an empty string to CYPRESS_INSTALL_BINARY now takes precedence over npm config. Addresses #​8488.

v5.2.0: 5.2.0

Compare Source

Released 9/15/2020

Features:

  • Added the configuration option includeShadowDom for enabling shadow DOM querying globally, per-suite, per-test, or programmatically. Addresses #​8442.
  • Added a followRedirect option to request interception with cy.route2(), allowing redirects to be followed before continuing to response interception. Addresses #​7967.
  • Added the capability to specify delayMs and throttleKbps when stubbing static responses with cy.route2(). Addresses #​7661.
  • Installing Cypress pre-releases no longer requires setting the CYPRESS_BINARY_INSTALL environment variable. Addresses #​8482.

Performance Improvements:

  • Fixed a performance issue which led to CPU bottlenecking during Cypress runs. Addresses #​8012 and #​8297.

Bugfixes:

  • Fixed an issue where using TypeScript path aliases in the plugins file would error. Addresses #​8555.
  • Fixed an issue where using cy.contains() within a shadow root would not yield the correct element. Addresses #​8494.
  • Fixed an issue where querying the shadow DOM in a cy.within() callback would throw the error root.getRootNode is not a function. Addresses #​8478.
  • Fixed an issue with cy.type() {moveToStart}/{moveToEnd} special characters moving the cursor to the current line instead of the entire text editable when typing in a contenteditable element. Addresses #​8465.
  • Fixed an issue where typing into a manually-focused number input would prepend the number instead of appending it. Addresses #​7170.
  • cy.type() now fires a KeyboardEvent event instead of an Event event. Addresses #​6125 and #​5650.
  • Fixed long selectors in the selector playground text input overflowing other page elements. Addresses #​8247 and #​4184.
  • Fixed an issue where assertions on cy.getCookie() would be called twice. Addresses #​6672.
  • Fixed an issue that caused the "Open in IDE" button on hooks and tests not to appear in Firefox. Addresses #​8257.
  • Fixed an issue causing Cypress to hang on test retry in run mode with certain assertions. Addresses #​8363.

Documentation Changes:

  • Fixed examples of delaying and throttling responses with cy.route2(). Addresses #​8489.
  • Added examples of using a response function with cy.route2(). Addresses #​8468.
  • Removed unmaintained languages. English docs is the only supported language by the Cypress team. We greatly appreciate the contributions from the community for other languages, but these docs are largely stale, unmaintained, and partial. The Cypress team will seek out more scalable docs internalization implementation in the future.

Misc:

  • The experimentalShadowDomSupport configuration flag has been removed. It is no longer necessary to enable shadow DOM testing.
  • Improved the error message when the subject provided to cy.shadow() is not a shadow host. Addresses #​8530.
  • Improved the error message when the Cypress binary is not executable. It now recommends trying to clear the cache and re-install. Addresses #​8397.
  • Added missing type declarations for the cy.route2() command.
  • Updated the type declaration for Cypress.Commands.add(), adding Promise to the list of allowed return types. Addresses #​7807.

v5.1.0: 5.1.0

Compare Source

Released 9/1/2020

Features:

  • Introducing experimental full network stubbing support 🎉.
    • With experimentalNetworkStubbing enabled, the cy.route2 command is available.
    • By using cy.route2(), your tests can intercept, modify, and wait on any type of HTTP request originating from your app, including XMLHttpRequests, fetch requests, beacons, and subresources (like iframes and scripts).
    • Outgoing HTTP requests can be modified before reaching the destination server, and the HTTP response can be intercepted as well before it reaches the browser.
    • See the cy.route2() docs for more information on how to enable this experiment.
  • cy.trigger() now accepts an eventConstructor option for specifying the constructor with which to create the event to trigger. Addresses #​5650.

Bugfixes:

  • Improved warnings for when user is exceeding test limits of the free Dashboard plan. Addresses #​8409.
  • Added retries to TestOptions types. Addresses #​8405.
  • Added types for specType field on Cypress.spec. Addresses #​8256.
  • Fixed a typo in type definitions. Addresses #​8417.
  • Cypress now resolves and loads tsconfig.json for TypeScript projects starting from the plugins directory. Addresses #​8359.
  • Fixed an issue where, if npm config's noproxy is set, unexpected behavior could occur. Addresses #​8287.
  • Fixed an issue where nesting hooks within other hooks caused the test to never finish. Addresses #​8350.
  • Fixed an issue in where tests would unexpectedly fail with a "Can't resolve 'async_hooks'" error. Addresses #​8375.
  • Fixed an issue where return values from blob utils were mistaken for promises and could cause errors. Addresses #​8365.
  • Fixed an issue with loading .mjs files. Addresses #​8361.
  • Fixed an issue causing tests to run slowly in Electron. Addresses #​7930.
  • Using .should with only chainer assertions will now throw an error. Addresses #​883.
  • cy.trigger() now includes the view property in the event object when appropriate. Addresses #​3686.
  • Fixed an issue where Cypress would not detect newer 64-bit installations of Chrome on Windows. Addresses #​8425.
  • Fixed an issue where Cypress would not detect per-user Firefox installations on Windows. Addresses #​8432.

Dependency Updates:

  • Updated dependency iconv-lite to version 0.6.2. Addresses #​8387.
  • Updated dependency command-exists to version 1.2.9. Addresses #​8388.
  • Updated dependency electron to version 9.2.1. Addresses #​8436.

v5.0.0: 5.0.0

Compare Source

Released 8/19/2020

Summary:

Cypress now includes support for test retries! Similar to how Cypress will retry assertions when they fail, test retries will allow you to automatically retry a failed test prior to marking it as failed. Read our new guide on Test Retries for more details.

Breaking Changes:

Please read our Migration Guide which explains the changes in more detail and how to change your code to migrate to Cypress 5.0.

  • The cypress-plugin-retries plugin has been deprecated in favor of test retries built into Cypress. Addresses #​1313.
  • The Cypress.Cookies.defaults() whitelist option has been renamed to preserve to more closely reflect its behavior. Addressed in #​7782.
  • The blacklistHosts configuration has been renamed to blockHosts to more closely reflect its behavior. Addressed in #​7622.
  • The cy.server() whitelist option has been renamed to ignore to more closely reflect its be

@dimagwhitesourceapp dimagwhitesourceapp bot added the security fix Security fix generated by Mend label Dec 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
security fix Security fix generated by Mend
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants