cypress-io/cypress
### [`v5.6.0`](https://togithub.com/cypress-io/cypress/releases/v5.6.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v5.5.0...v5.6.0)
_Released 11/09/2020_
**Features:**
- You can now dynamically add aliases for requests intercepted via [`cy.route2()`](https://on.cypress.io/route2). [See an example](https://on.cypress.io/route2#Aliasing-individual-requests). Addresses [#387](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/8203).
- Added a new modifier syntax to [`cy.type()`](https://on.cypress.io/type). You can now type shortcuts like `{ctrl+z}`. Addressed in [#5694](https://togithub.com/cypress-io/cypress/issues/5694).
- We now show a modal with release notes when available when there is a new version of Cypress. Addressed in [#9006](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/9002).
**Bugfixes:**
- Fixed a regression introduced in [4.12.0](https://on.cypress.io/changelog#4-12-0) where snapshotting caused images to load too many times. Fixes [#8679](https://togithub.com/cypress-io/cypress/issues/8679).
- Using [`cy.visit()`](https://on.cypress.io/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](https://togithub.com/cypress-io/cypress/issues/8506)
- The `Cannot access 'continueSent' before initialization` error will no longer throw when using [`cy.route2()`](https://on.cypress.io/route2). Fixes [#8926](https://togithub.com/cypress-io/cypress/issues/8926).
- Awaiting a request body when providing a static response stub in [`cy.route2()`](https://on.cypress.io/route2) should now work properly. Addressed in [#9059](https://togithub.com/cypress-io/cypress/issues/9059).
- The way that intercepted [`cy.route2()`](https://on.cypress.io/route2) requests are displayed in the Command Log has been improved, including showing the progress bar correctly. Addresses [#9053](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/9106).
- When using the `fixture:` prefix as a stubbed response to [`cy.route()`](https://on.cypress.io/route), JSON fixtures containing only a number or boolean will no longer throw an error. Fixes [#4899](https://togithub.com/cypress-io/cypress/issues/4899).
- Fixed an issue causing failed subresource integrity checks for external scripts. Fixes [#8983](https://togithub.com/cypress-io/cypress/issues/8983), [#9049](https://togithub.com/cypress-io/cypress/issues/9049), and [#8992](https://togithub.com/cypress-io/cypress/issues/8992).
**Misc:**
- Typings for [`.invoke()`](https://on.cypress.io/invoke) and [`.its()`](https://on.cypress.io/its) now allow for a `timeout` option. Addresses [#9079](https://togithub.com/cypress-io/cypress/issues/9079).
- Typings for `cy.task()` now allow for parameterizing the task return type. Addresses [#7136](https://togithub.com/cypress-io/cypress/issues/7136).
- A clearer error is printed during `cypress cache list` when no cached versions are found. Addresses [#6303](https://togithub.com/cypress-io/cypress/issues/6303).
**Dependency Updates:**
- Upgraded `commander` from `^4.1.1` to `^5.1.0`. Addressed in [#8979](https://togithub.com/cypress-io/cypress/issues/8979).
- Upgraded `semver` from `6.3.0` to `7.3.2`. Addressed in [#9068](https://togithub.com/cypress-io/cypress/issues/9068).
- Upgraded `systeminformation` from `4.26.9` to `4.27.11`. Addressed in [#8979](https://togithub.com/cypress-io/cypress/issues/8979).
- Removed `node-webkit-updater`. This should remove some security warnings that were shown during install. Addresses [#8314](https://togithub.com/cypress-io/cypress/issues/8314).
### [`v5.5.0`](https://togithub.com/cypress-io/cypress/releases/v5.5.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v5.4.0...v5.5.0)
_Released 10/26/2020_
**Features:**
- [`cy.viewport()`](https://on.cypress.io/viewport) has a new `macbook-16` preset. Addresses [#8889](https://togithub.com/cypress-io/cypress/issues/8889).
- [`.type()`](https://on.cypress.io/type) now fires the `beforeInput` event during typing. _Note: Firefox does not support the `beforeinput` event_. Addresses [#7088](https://togithub.com/cypress-io/cypress/issues/7088).
**Bugfixes:**
- Updated the Cypress proxy layer to proxy HTTPS traffic from non-AUT origins. Addressed in [#8827](https://togithub.com/cypress-io/cypress/issues/8827).
- This fixed an issue with [`cy.route2`](https://on.cypress.io/route2) where HTTPS requests to a non-AUT origin would not be intercepted as expected.
- [`cy.route2()`](https://on.cypress.io/route2) now properly handles passing a method as its first argument. Fixes [#8729](https://togithub.com/cypress-io/cypress/issues/8729).
- Fixed an issue with [`cy.route2()`](https://on.cypress.io/route2) where a "Cannot set property response of undefined" error would occasionally occur. Fixes [#8858](https://togithub.com/cypress-io/cypress/issues/8858).
- Headers field names passed to [\`cy.route2()](https://on.cypress.io/route2) now case-insensitively match against the field names of incoming HTTP requests. Fixes [#8921](https://togithub.com/cypress-io/cypress/issues/8921).
- Routes that stub fixtures for binary resources (including images) made with [`cy.route2()`](https://on.cypress.io/route2) now serve the correct mime-type and content. Fixes [#8623](https://togithub.com/cypress-io/cypress/issues/8623).
- When [`experimentalNetworkStubbing`](https://on.cypress.io/experiments) is enabled, using [`cy.visit()`](https://on.cypress.io/visit) to URLs that redirect and set Transfer-Encoding: chunked will no longer fail in Cypress with a "Parse Error". Fixes [#8497](https://togithub.com/cypress-io/cypress/issues/8497).
- `cypress.run()` through the [Module API](https://on.cypress.io/module-api) now has a `status` property in the results matching the correct CLI types (`"failed"` or `"finished"`). Addresses [#8799](https://togithub.com/cypress-io/cypress/issues/8799).
- 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](https://togithub.com/cypress-io/cypress/issues/8874).
**Misc:**
- Updated type definitions to allow for passed either `runMode` or `openMode` to `retries` alone. Addresses [#8869](https://togithub.com/cypress-io/cypress/issues/8869).
**Dependency Updates:**
- Upgraded `electron` from `10.1.3` to `10.1.5`. Addresses [#8927](https://togithub.com/cypress-io/cypress/issues/8927), [#8975](https://togithub.com/cypress-io/cypress/issues/8975).
- This addresses a Chrome security issue, CVE-2020-15999. Addresses [#8922](https://togithub.com/cypress-io/cypress/issues/8922).
- Upgraded `color-string` from `1.5.3` to `1.5.4`. Addresses [#8945](https://togithub.com/cypress-io/cypress/issues/8945).
- Upgraded `pretty-bytes` from `^5.3.0` to `^5.4.1`. Addresses [#8964](https://togithub.com/cypress-io/cypress/issues/8964).
### [`v5.4.0`](https://togithub.com/cypress-io/cypress/releases/v5.4.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v5.3.0...v5.4.0)
_Released 10/14/2020_
**Features:**
- You can now run [`cypress cache prune`](https://on.cypress.io/command-line#cypress-cache-prune) to delete all installed Cypress versions from the cache except for the currently-installed version. Addresses [#5972](https://togithub.com/cypress-io/cypress/issues/5972).
- There's a new `--size` option for the [`cypress cache list`](https://on.cypress.io/command-line#cypress-cache-list) command that prints the sizes of the Cypress cache folders. Addresses [#6404](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/6389).
- [`cy.viewport()`](https://on.cypress.io/viewport) has new `iphone-7`, `iphone-8`, and `iphone-se2` presets. Addressed in [#8624](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/8751).
- The [Command Log](https://on.cypress.io/test-runner#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](https://togithub.com/cypress-io/cypress/issues/8689).
**Bugfixes:**
- We fixed a regression in [5.0.0](https://on.cypress.io/changelog-5-8-0) where the `chromeWebSecurity` option had no effect in Electron. Fixes [#8399](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/2271) and [#8701](https://togithub.com/cypress-io/cypress/issues/8701).
- When a command is chained after [`.within()`](https://on.cypress.io/within) and "`cy.get()`" is called inside it, the scope will no longer permanently change. Fixes [#2106](https://togithub.com/cypress-io/cypress/issues/2106), [#4672](https://togithub.com/cypress-io/cypress/issues/4672), [#4757](https://togithub.com/cypress-io/cypress/issues/4757), and [#5183](https://togithub.com/cypress-io/cypress/issues/5183).
- Dual commands like [`cy.contains()`](https://on.cypress.io/contains) when used after an [`.each()`](https://on.cypress.io/each) commands now query as expected. Fixes [#4921](https://togithub.com/cypress-io/cypress/issues/4921).
- `/` is no longer added to the URL when `baseUrl` has param(s). Fixes [#2101](https://togithub.com/cypress-io/cypress/issues/2101).
- When using [`cy.route2()`](https://on.cypress.io/route2) the route handler timeouts will no longer leak into other tests and cause random failures. Addressed in [#8727](https://togithub.com/cypress-io/cypress/issues/8727).
- Re-running failed build steps in Bitbucket will no longer create a new run on the Cypress Dashboard. Fixes [#8720](https://togithub.com/cypress-io/cypress/issues/8720).
- The forced garbage collection timer will no longer display when using a version of Firefox newer than 80. Fixes [#8725](https://togithub.com/cypress-io/cypress/issues/8725).
- The browser dropdown is no longer covered when opened from the Runs tab in the Test Runner. Fixed in [#8745](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/8634).
**Misc:**
- Improved type definitions for [`cy.route2()`](https://on.cypress.io/route2). Addresses [#8694](https://togithub.com/cypress-io/cypress/issues/8694) and [#8782](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/8702) and [#8803](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/pull/8406).
- Upgraded bundled Node.js version from `12.14.1` to `12.16.3`. Addressed in [#8406](https://togithub.com/cypress-io/cypress/pull/8406).
- Upgraded `electron` from `9.2.1` to `10.1.3`. Addressed in [#8406](https://togithub.com/cypress-io/cypress/pull/8406).
- Upgraded `firefox-profile` from `2.0.0` to `4.0.0`. Addressed in [#8786](https://togithub.com/cypress-io/cypress/pull/8786).
- Upgraded `node-forge` from `0.9.0` to `0.10.0`. Addressed in [#8800](https://togithub.com/cypress-io/cypress/pull/8800).
### [`v5.3.0`](https://togithub.com/cypress-io/cypress/releases/v5.3.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v5.2.0...v5.3.0)
_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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/8536).
- Fixed an issue where `cy.route2` routes would not be able to intercept requests to HTTPS destinations on a different origin. Addresses [#8487](https://togithub.com/cypress-io/cypress/issues/8487).
- Fixed an issue where subjects became `undefined` after certain assertion failures. Addresses [#5763](https://togithub.com/cypress-io/cypress/issues/5763).
- Fixed an issue where a `cy.task` with no arguments passed would receive `null` as the first argument instead of `undefined`. Addresses [#5913](https://togithub.com/cypress-io/cypress/issues/5913).
- Fixed an issue preventing users from passing the config-file argument when starting cypress through the node module API. Addresses [#8632](https://togithub.com/cypress-io/cypress/issues/8632).
- Fixed an issue where `cy.visit()`s to a relative URL containing `..` would not work. Addresses [#5090](https://togithub.com/cypress-io/cypress/issues/5090).
- Fixed an issue where Mocha hooks could still be triggered after the Test Runner was manually stopped. Addresses [#8621](https://togithub.com/cypress-io/cypress/issues/8621).
- Fixed an issue where `cy.setCookie` failed when given a cookie name with a `__Host-` prefix. Addresses [#8261](https://togithub.com/cypress-io/cypress/issues/8261).
- Fixed an issue where a misleading error was displayed when test code threw an exception with a non-`Error` object. Addresses [#7870](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/7936).
- Added a `status` property to `CypressRunResult` objects. Addresses [#8580](https://togithub.com/cypress-io/cypress/issues/8580).
- Updated types to no longer use deprecated Mocha interfaces. Addresses [#5795](https://togithub.com/cypress-io/cypress/issues/5795).
- Passing an empty string to `CYPRESS_INSTALL_BINARY` now takes precedence over npm config. Addresses [#8488](https://togithub.com/cypress-io/cypress/issues/8488).
### [`v5.2.0`](https://togithub.com/cypress-io/cypress/releases/v5.2.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v5.1.0...v5.2.0)
_Released 9/15/2020_
**Features:**
- Added the configuration option `includeShadowDom` for enabling shadow DOM querying globally, per-suite, per-test, or programmatically. Addresses [#8442](https://togithub.com/cypress-io/cypress/issues/8442).
- Added a `followRedirect` option to request interception with `cy.route2()`, allowing redirects to be followed before continuing to response interception. Addresses [#7967](https://togithub.com/cypress-io/cypress/issues/7967).
- Added the capability to specify `delayMs` and `throttleKbps` when stubbing static responses with `cy.route2()`. Addresses [#7661](https://togithub.com/cypress-io/cypress/issues/7661).
- Installing Cypress pre-releases no longer requires setting the `CYPRESS_BINARY_INSTALL` environment variable. Addresses [#8482](https://togithub.com/cypress-io/cypress/issues/8482).
**Performance Improvements:**
- Fixed a performance issue which led to CPU bottlenecking during Cypress runs. Addresses [#8012](https://togithub.com/cypress-io/cypress/issues/8012) and [#8297](https://togithub.com/cypress-io/cypress/issues/8297).
**Bugfixes:**
- Fixed an issue where using TypeScript path aliases in the plugins file would error. Addresses [#8555](https://togithub.com/cypress-io/cypress/issues/8555).
- Fixed an issue where using `cy.contains()` within a shadow root would not yield the correct element. Addresses [#8494](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/8465).
- Fixed an issue where typing into a manually-focused number input would prepend the number instead of appending it. Addresses [#7170](https://togithub.com/cypress-io/cypress/issues/7170).
- `cy.type()` now fires a `KeyboardEvent` event instead of an `Event` event. Addresses [#6125](https://togithub.com/cypress-io/cypress/issues/6125) and [#5650](https://togithub.com/cypress-io/cypress/issues/5650).
- Fixed long selectors in the selector playground text input overflowing other page elements. Addresses [#8247](https://togithub.com/cypress-io/cypress/issues/8247) and [#4184](https://togithub.com/cypress-io/cypress/issues/4184).
- Fixed an issue where assertions on `cy.getCookie()` would be called twice. Addresses [#6672](https://togithub.com/cypress-io/cypress/issues/6672).
- Fixed an issue that caused the "Open in IDE" button on hooks and tests not to appear in Firefox. Addresses [#8257](https://togithub.com/cypress-io/cypress/issues/8257).
- Fixed an issue causing Cypress to hang on test retry in run mode with certain assertions. Addresses [#8363](https://togithub.com/cypress-io/cypress/issues/8363).
**Documentation Changes:**
- Fixed examples of delaying and throttling responses with `cy.route2()`. Addresses [#8489](https://togithub.com/cypress-io/cypress/issues/8489).
- Added examples of using a response function with `cy.route2()`. Addresses [#8468](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/7807).
### [`v5.1.0`](https://togithub.com/cypress-io/cypress/releases/v5.1.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v5.0.0...v5.1.0)
_Released 9/1/2020_
**Features:**
- Introducing _experimental_ full network stubbing support š.
- With `experimentalNetworkStubbing` enabled, the `cy.route2` command is available.
- By using [cy.route2()](https://on.cypress.io/route2), your tests can intercept, modify, and wait on any type of HTTP request originating from your app, including `XMLHttpRequest`s, `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()](https://on.cypress.io/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](https://togithub.com/cypress-io/cypress/issues/5650).
**Bugfixes:**
- Improved warnings for when user is exceeding test limits of the free Dashboard plan. Addresses [#8409](https://togithub.com/cypress-io/cypress/issues/8409).
- Added `retries` to `TestOptions` types. Addresses [#8405](https://togithub.com/cypress-io/cypress/issues/8405).
- Added types for `specType` field on `Cypress.spec`. Addresses [#8256](https://togithub.com/cypress-io/cypress/issues/8256).
- Fixed a typo in type definitions. Addresses [#8417](https://togithub.com/cypress-io/cypress/issues/8417).
- Cypress now resolves and loads tsconfig.json for TypeScript projects starting from the plugins directory. Addresses [#8359](https://togithub.com/cypress-io/cypress/issues/8359).
- Fixed an issue where, if npm config's `noproxy` is set, unexpected behavior could occur. Addresses [#8287](https://togithub.com/cypress-io/cypress/issues/8287).
- Fixed an issue where nesting hooks within other hooks caused the test to never finish. Addresses [#8350](https://togithub.com/cypress-io/cypress/issues/8350).
- Fixed an issue in where tests would unexpectedly fail with a "Can't resolve 'async_hooks'" error. Addresses [#8375](https://togithub.com/cypress-io/cypress/issues/8375).
- Fixed an issue where return values from blob utils were mistaken for promises and could cause errors. Addresses [#8365](https://togithub.com/cypress-io/cypress/issues/8365).
- Fixed an issue with loading `.mjs` files. Addresses [#8361](https://togithub.com/cypress-io/cypress/issues/8361).
- Fixed an issue causing tests to run slowly in Electron. Addresses [#7930](https://togithub.com/cypress-io/cypress/issues/7930).
- Using `.should` with only chainer assertions will now throw an error. Addresses [#883](https://togithub.com/cypress-io/cypress/issues/883).
- `cy.trigger()` now includes the `view` property in the event object when appropriate. Addresses [#3686](https://togithub.com/cypress-io/cypress/issues/3686).
- Fixed an issue where Cypress would not detect newer 64-bit installations of Chrome on Windows. Addresses [#8425](https://togithub.com/cypress-io/cypress/issues/8425).
- Fixed an issue where Cypress would not detect per-user Firefox installations on Windows. Addresses [#8432](https://togithub.com/cypress-io/cypress/issues/8432).
**Dependency Updates:**
- Updated dependency `iconv-lite` to version `0.6.2`. Addresses [#8387](https://togithub.com/cypress-io/cypress/issues/8387).
- Updated dependency `command-exists` to version `1.2.9`. Addresses [#8388](https://togithub.com/cypress-io/cypress/issues/8388).
- Updated dependency `electron` to version `9.2.1`. Addresses [#8436](https://togithub.com/cypress-io/cypress/issues/8436).
Renovate configuration
:date: Schedule: "every weekend" in timezone America/New_York.
:vertical_traffic_light: Automerge: Disabled due to failing status checks.
:recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
5.0.0
->5.6.0
Release Notes
cypress-io/cypress
### [`v5.6.0`](https://togithub.com/cypress-io/cypress/releases/v5.6.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v5.5.0...v5.6.0) _Released 11/09/2020_ **Features:** - You can now dynamically add aliases for requests intercepted via [`cy.route2()`](https://on.cypress.io/route2). [See an example](https://on.cypress.io/route2#Aliasing-individual-requests). Addresses [#387](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/8203). - Added a new modifier syntax to [`cy.type()`](https://on.cypress.io/type). You can now type shortcuts like `{ctrl+z}`. Addressed in [#5694](https://togithub.com/cypress-io/cypress/issues/5694). - We now show a modal with release notes when available when there is a new version of Cypress. Addressed in [#9006](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/9002). **Bugfixes:** - Fixed a regression introduced in [4.12.0](https://on.cypress.io/changelog#4-12-0) where snapshotting caused images to load too many times. Fixes [#8679](https://togithub.com/cypress-io/cypress/issues/8679). - Using [`cy.visit()`](https://on.cypress.io/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](https://togithub.com/cypress-io/cypress/issues/8506) - The `Cannot access 'continueSent' before initialization` error will no longer throw when using [`cy.route2()`](https://on.cypress.io/route2). Fixes [#8926](https://togithub.com/cypress-io/cypress/issues/8926). - Awaiting a request body when providing a static response stub in [`cy.route2()`](https://on.cypress.io/route2) should now work properly. Addressed in [#9059](https://togithub.com/cypress-io/cypress/issues/9059). - The way that intercepted [`cy.route2()`](https://on.cypress.io/route2) requests are displayed in the Command Log has been improved, including showing the progress bar correctly. Addresses [#9053](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/9106). - When using the `fixture:` prefix as a stubbed response to [`cy.route()`](https://on.cypress.io/route), JSON fixtures containing only a number or boolean will no longer throw an error. Fixes [#4899](https://togithub.com/cypress-io/cypress/issues/4899). - Fixed an issue causing failed subresource integrity checks for external scripts. Fixes [#8983](https://togithub.com/cypress-io/cypress/issues/8983), [#9049](https://togithub.com/cypress-io/cypress/issues/9049), and [#8992](https://togithub.com/cypress-io/cypress/issues/8992). **Misc:** - Typings for [`.invoke()`](https://on.cypress.io/invoke) and [`.its()`](https://on.cypress.io/its) now allow for a `timeout` option. Addresses [#9079](https://togithub.com/cypress-io/cypress/issues/9079). - Typings for `cy.task()` now allow for parameterizing the task return type. Addresses [#7136](https://togithub.com/cypress-io/cypress/issues/7136). - A clearer error is printed during `cypress cache list` when no cached versions are found. Addresses [#6303](https://togithub.com/cypress-io/cypress/issues/6303). **Dependency Updates:** - Upgraded `commander` from `^4.1.1` to `^5.1.0`. Addressed in [#8979](https://togithub.com/cypress-io/cypress/issues/8979). - Upgraded `semver` from `6.3.0` to `7.3.2`. Addressed in [#9068](https://togithub.com/cypress-io/cypress/issues/9068). - Upgraded `systeminformation` from `4.26.9` to `4.27.11`. Addressed in [#8979](https://togithub.com/cypress-io/cypress/issues/8979). - Removed `node-webkit-updater`. This should remove some security warnings that were shown during install. Addresses [#8314](https://togithub.com/cypress-io/cypress/issues/8314). ### [`v5.5.0`](https://togithub.com/cypress-io/cypress/releases/v5.5.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v5.4.0...v5.5.0) _Released 10/26/2020_ **Features:** - [`cy.viewport()`](https://on.cypress.io/viewport) has a new `macbook-16` preset. Addresses [#8889](https://togithub.com/cypress-io/cypress/issues/8889). - [`.type()`](https://on.cypress.io/type) now fires the `beforeInput` event during typing. _Note: Firefox does not support the `beforeinput` event_. Addresses [#7088](https://togithub.com/cypress-io/cypress/issues/7088). **Bugfixes:** - Updated the Cypress proxy layer to proxy HTTPS traffic from non-AUT origins. Addressed in [#8827](https://togithub.com/cypress-io/cypress/issues/8827). - This fixed an issue with [`cy.route2`](https://on.cypress.io/route2) where HTTPS requests to a non-AUT origin would not be intercepted as expected. - [`cy.route2()`](https://on.cypress.io/route2) now properly handles passing a method as its first argument. Fixes [#8729](https://togithub.com/cypress-io/cypress/issues/8729). - Fixed an issue with [`cy.route2()`](https://on.cypress.io/route2) where a "Cannot set property response of undefined" error would occasionally occur. Fixes [#8858](https://togithub.com/cypress-io/cypress/issues/8858). - Headers field names passed to [\`cy.route2()](https://on.cypress.io/route2) now case-insensitively match against the field names of incoming HTTP requests. Fixes [#8921](https://togithub.com/cypress-io/cypress/issues/8921). - Routes that stub fixtures for binary resources (including images) made with [`cy.route2()`](https://on.cypress.io/route2) now serve the correct mime-type and content. Fixes [#8623](https://togithub.com/cypress-io/cypress/issues/8623). - When [`experimentalNetworkStubbing`](https://on.cypress.io/experiments) is enabled, using [`cy.visit()`](https://on.cypress.io/visit) to URLs that redirect and set Transfer-Encoding: chunked will no longer fail in Cypress with a "Parse Error". Fixes [#8497](https://togithub.com/cypress-io/cypress/issues/8497). - `cypress.run()` through the [Module API](https://on.cypress.io/module-api) now has a `status` property in the results matching the correct CLI types (`"failed"` or `"finished"`). Addresses [#8799](https://togithub.com/cypress-io/cypress/issues/8799). - 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](https://togithub.com/cypress-io/cypress/issues/8874). **Misc:** - Updated type definitions to allow for passed either `runMode` or `openMode` to `retries` alone. Addresses [#8869](https://togithub.com/cypress-io/cypress/issues/8869). **Dependency Updates:** - Upgraded `electron` from `10.1.3` to `10.1.5`. Addresses [#8927](https://togithub.com/cypress-io/cypress/issues/8927), [#8975](https://togithub.com/cypress-io/cypress/issues/8975). - This addresses a Chrome security issue, CVE-2020-15999. Addresses [#8922](https://togithub.com/cypress-io/cypress/issues/8922). - Upgraded `color-string` from `1.5.3` to `1.5.4`. Addresses [#8945](https://togithub.com/cypress-io/cypress/issues/8945). - Upgraded `pretty-bytes` from `^5.3.0` to `^5.4.1`. Addresses [#8964](https://togithub.com/cypress-io/cypress/issues/8964). ### [`v5.4.0`](https://togithub.com/cypress-io/cypress/releases/v5.4.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v5.3.0...v5.4.0) _Released 10/14/2020_ **Features:** - You can now run [`cypress cache prune`](https://on.cypress.io/command-line#cypress-cache-prune) to delete all installed Cypress versions from the cache except for the currently-installed version. Addresses [#5972](https://togithub.com/cypress-io/cypress/issues/5972). - There's a new `--size` option for the [`cypress cache list`](https://on.cypress.io/command-line#cypress-cache-list) command that prints the sizes of the Cypress cache folders. Addresses [#6404](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/6389). - [`cy.viewport()`](https://on.cypress.io/viewport) has new `iphone-7`, `iphone-8`, and `iphone-se2` presets. Addressed in [#8624](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/8751). - The [Command Log](https://on.cypress.io/test-runner#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](https://togithub.com/cypress-io/cypress/issues/8689). **Bugfixes:** - We fixed a regression in [5.0.0](https://on.cypress.io/changelog-5-8-0) where the `chromeWebSecurity` option had no effect in Electron. Fixes [#8399](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/2271) and [#8701](https://togithub.com/cypress-io/cypress/issues/8701). - When a command is chained after [`.within()`](https://on.cypress.io/within) and "`cy.get()`" is called inside it, the scope will no longer permanently change. Fixes [#2106](https://togithub.com/cypress-io/cypress/issues/2106), [#4672](https://togithub.com/cypress-io/cypress/issues/4672), [#4757](https://togithub.com/cypress-io/cypress/issues/4757), and [#5183](https://togithub.com/cypress-io/cypress/issues/5183). - Dual commands like [`cy.contains()`](https://on.cypress.io/contains) when used after an [`.each()`](https://on.cypress.io/each) commands now query as expected. Fixes [#4921](https://togithub.com/cypress-io/cypress/issues/4921). - `/` is no longer added to the URL when `baseUrl` has param(s). Fixes [#2101](https://togithub.com/cypress-io/cypress/issues/2101). - When using [`cy.route2()`](https://on.cypress.io/route2) the route handler timeouts will no longer leak into other tests and cause random failures. Addressed in [#8727](https://togithub.com/cypress-io/cypress/issues/8727). - Re-running failed build steps in Bitbucket will no longer create a new run on the Cypress Dashboard. Fixes [#8720](https://togithub.com/cypress-io/cypress/issues/8720). - The forced garbage collection timer will no longer display when using a version of Firefox newer than 80. Fixes [#8725](https://togithub.com/cypress-io/cypress/issues/8725). - The browser dropdown is no longer covered when opened from the Runs tab in the Test Runner. Fixed in [#8745](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/8634). **Misc:** - Improved type definitions for [`cy.route2()`](https://on.cypress.io/route2). Addresses [#8694](https://togithub.com/cypress-io/cypress/issues/8694) and [#8782](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/8702) and [#8803](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/pull/8406). - Upgraded bundled Node.js version from `12.14.1` to `12.16.3`. Addressed in [#8406](https://togithub.com/cypress-io/cypress/pull/8406). - Upgraded `electron` from `9.2.1` to `10.1.3`. Addressed in [#8406](https://togithub.com/cypress-io/cypress/pull/8406). - Upgraded `firefox-profile` from `2.0.0` to `4.0.0`. Addressed in [#8786](https://togithub.com/cypress-io/cypress/pull/8786). - Upgraded `node-forge` from `0.9.0` to `0.10.0`. Addressed in [#8800](https://togithub.com/cypress-io/cypress/pull/8800). ### [`v5.3.0`](https://togithub.com/cypress-io/cypress/releases/v5.3.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v5.2.0...v5.3.0) _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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/8536). - Fixed an issue where `cy.route2` routes would not be able to intercept requests to HTTPS destinations on a different origin. Addresses [#8487](https://togithub.com/cypress-io/cypress/issues/8487). - Fixed an issue where subjects became `undefined` after certain assertion failures. Addresses [#5763](https://togithub.com/cypress-io/cypress/issues/5763). - Fixed an issue where a `cy.task` with no arguments passed would receive `null` as the first argument instead of `undefined`. Addresses [#5913](https://togithub.com/cypress-io/cypress/issues/5913). - Fixed an issue preventing users from passing the config-file argument when starting cypress through the node module API. Addresses [#8632](https://togithub.com/cypress-io/cypress/issues/8632). - Fixed an issue where `cy.visit()`s to a relative URL containing `..` would not work. Addresses [#5090](https://togithub.com/cypress-io/cypress/issues/5090). - Fixed an issue where Mocha hooks could still be triggered after the Test Runner was manually stopped. Addresses [#8621](https://togithub.com/cypress-io/cypress/issues/8621). - Fixed an issue where `cy.setCookie` failed when given a cookie name with a `__Host-` prefix. Addresses [#8261](https://togithub.com/cypress-io/cypress/issues/8261). - Fixed an issue where a misleading error was displayed when test code threw an exception with a non-`Error` object. Addresses [#7870](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/7936). - Added a `status` property to `CypressRunResult` objects. Addresses [#8580](https://togithub.com/cypress-io/cypress/issues/8580). - Updated types to no longer use deprecated Mocha interfaces. Addresses [#5795](https://togithub.com/cypress-io/cypress/issues/5795). - Passing an empty string to `CYPRESS_INSTALL_BINARY` now takes precedence over npm config. Addresses [#8488](https://togithub.com/cypress-io/cypress/issues/8488). ### [`v5.2.0`](https://togithub.com/cypress-io/cypress/releases/v5.2.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v5.1.0...v5.2.0) _Released 9/15/2020_ **Features:** - Added the configuration option `includeShadowDom` for enabling shadow DOM querying globally, per-suite, per-test, or programmatically. Addresses [#8442](https://togithub.com/cypress-io/cypress/issues/8442). - Added a `followRedirect` option to request interception with `cy.route2()`, allowing redirects to be followed before continuing to response interception. Addresses [#7967](https://togithub.com/cypress-io/cypress/issues/7967). - Added the capability to specify `delayMs` and `throttleKbps` when stubbing static responses with `cy.route2()`. Addresses [#7661](https://togithub.com/cypress-io/cypress/issues/7661). - Installing Cypress pre-releases no longer requires setting the `CYPRESS_BINARY_INSTALL` environment variable. Addresses [#8482](https://togithub.com/cypress-io/cypress/issues/8482). **Performance Improvements:** - Fixed a performance issue which led to CPU bottlenecking during Cypress runs. Addresses [#8012](https://togithub.com/cypress-io/cypress/issues/8012) and [#8297](https://togithub.com/cypress-io/cypress/issues/8297). **Bugfixes:** - Fixed an issue where using TypeScript path aliases in the plugins file would error. Addresses [#8555](https://togithub.com/cypress-io/cypress/issues/8555). - Fixed an issue where using `cy.contains()` within a shadow root would not yield the correct element. Addresses [#8494](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/8465). - Fixed an issue where typing into a manually-focused number input would prepend the number instead of appending it. Addresses [#7170](https://togithub.com/cypress-io/cypress/issues/7170). - `cy.type()` now fires a `KeyboardEvent` event instead of an `Event` event. Addresses [#6125](https://togithub.com/cypress-io/cypress/issues/6125) and [#5650](https://togithub.com/cypress-io/cypress/issues/5650). - Fixed long selectors in the selector playground text input overflowing other page elements. Addresses [#8247](https://togithub.com/cypress-io/cypress/issues/8247) and [#4184](https://togithub.com/cypress-io/cypress/issues/4184). - Fixed an issue where assertions on `cy.getCookie()` would be called twice. Addresses [#6672](https://togithub.com/cypress-io/cypress/issues/6672). - Fixed an issue that caused the "Open in IDE" button on hooks and tests not to appear in Firefox. Addresses [#8257](https://togithub.com/cypress-io/cypress/issues/8257). - Fixed an issue causing Cypress to hang on test retry in run mode with certain assertions. Addresses [#8363](https://togithub.com/cypress-io/cypress/issues/8363). **Documentation Changes:** - Fixed examples of delaying and throttling responses with `cy.route2()`. Addresses [#8489](https://togithub.com/cypress-io/cypress/issues/8489). - Added examples of using a response function with `cy.route2()`. Addresses [#8468](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/7807). ### [`v5.1.0`](https://togithub.com/cypress-io/cypress/releases/v5.1.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v5.0.0...v5.1.0) _Released 9/1/2020_ **Features:** - Introducing _experimental_ full network stubbing support š. - With `experimentalNetworkStubbing` enabled, the `cy.route2` command is available. - By using [cy.route2()](https://on.cypress.io/route2), your tests can intercept, modify, and wait on any type of HTTP request originating from your app, including `XMLHttpRequest`s, `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()](https://on.cypress.io/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](https://togithub.com/cypress-io/cypress/issues/5650). **Bugfixes:** - Improved warnings for when user is exceeding test limits of the free Dashboard plan. Addresses [#8409](https://togithub.com/cypress-io/cypress/issues/8409). - Added `retries` to `TestOptions` types. Addresses [#8405](https://togithub.com/cypress-io/cypress/issues/8405). - Added types for `specType` field on `Cypress.spec`. Addresses [#8256](https://togithub.com/cypress-io/cypress/issues/8256). - Fixed a typo in type definitions. Addresses [#8417](https://togithub.com/cypress-io/cypress/issues/8417). - Cypress now resolves and loads tsconfig.json for TypeScript projects starting from the plugins directory. Addresses [#8359](https://togithub.com/cypress-io/cypress/issues/8359). - Fixed an issue where, if npm config's `noproxy` is set, unexpected behavior could occur. Addresses [#8287](https://togithub.com/cypress-io/cypress/issues/8287). - Fixed an issue where nesting hooks within other hooks caused the test to never finish. Addresses [#8350](https://togithub.com/cypress-io/cypress/issues/8350). - Fixed an issue in where tests would unexpectedly fail with a "Can't resolve 'async_hooks'" error. Addresses [#8375](https://togithub.com/cypress-io/cypress/issues/8375). - Fixed an issue where return values from blob utils were mistaken for promises and could cause errors. Addresses [#8365](https://togithub.com/cypress-io/cypress/issues/8365). - Fixed an issue with loading `.mjs` files. Addresses [#8361](https://togithub.com/cypress-io/cypress/issues/8361). - Fixed an issue causing tests to run slowly in Electron. Addresses [#7930](https://togithub.com/cypress-io/cypress/issues/7930). - Using `.should` with only chainer assertions will now throw an error. Addresses [#883](https://togithub.com/cypress-io/cypress/issues/883). - `cy.trigger()` now includes the `view` property in the event object when appropriate. Addresses [#3686](https://togithub.com/cypress-io/cypress/issues/3686). - Fixed an issue where Cypress would not detect newer 64-bit installations of Chrome on Windows. Addresses [#8425](https://togithub.com/cypress-io/cypress/issues/8425). - Fixed an issue where Cypress would not detect per-user Firefox installations on Windows. Addresses [#8432](https://togithub.com/cypress-io/cypress/issues/8432). **Dependency Updates:** - Updated dependency `iconv-lite` to version `0.6.2`. Addresses [#8387](https://togithub.com/cypress-io/cypress/issues/8387). - Updated dependency `command-exists` to version `1.2.9`. Addresses [#8388](https://togithub.com/cypress-io/cypress/issues/8388). - Updated dependency `electron` to version `9.2.1`. Addresses [#8436](https://togithub.com/cypress-io/cypress/issues/8436).Renovate configuration
:date: Schedule: "every weekend" in timezone America/New_York.
:vertical_traffic_light: Automerge: Disabled due to failing status checks.
:recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.