cypress-io/cypress
### [`v6.0.0`](https://togithub.com/cypress-io/cypress/releases/v6.0.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v5.6.0...v6.0.0)
_Released 11/23/2020_
**Summary:**
Cypress now offers full network stubbing support with the introduction of the [`cy.intercept()`](https://on.cypress.io/intercept) command (previously `cy.route2()`). With [`cy.intercept()`](https://on.cypress.io/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](https://on.cypress.io/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](https://togithub.com/cypress-io/cypress/issues/205).
- DOM elements where the CSS style (or ancestors) are `opacity: 0` are no longer considered visible. However these are still considered [actionable](https://on.cypress.io/interacting-with-elements) 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](https://togithub.com/cypress-io/cypress/issues/4474).
- The type yielded by [`cy.wait(alias)`](https://on.cypress.io/wait) has changed in order to support use of [`cy.intercept()`](https://on.cypress.io/intercept). Addressed in [#9266](https://togithub.com/cypress-io/cypress/issues/9266).
- The `experimentalNetworkStubbing` option has been removed and made the default behavior. You can safely removed this configuration option. Addressed in [#9185](https://togithub.com/cypress-io/cypress/issues/9185).
- When using [`.type()`](https://on.cypress.io/type) and [`.click()`](https://on.cypress.io/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/8969).
- JSON request and response bodies captured by [`cy.intercept()`](https://on.cypress.io/intercept) are now automatically parsed, removing the need to manually do `JSON.parse`. Addressed in [#9280](https://togithub.com/cypress-io/cypress/issues/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()`](https://on.cypress.io/intercept) instead. Addressed in [#9185](https://togithub.com/cypress-io/cypress/issues/9185).
- `experimentalFetchPolyfill` has been deprecated. We encourage you to use [`cy.intercept()`](https://on.cypress.io/intercept) to intercept requests using the Fetch API instead.
- `cy.route2()` was renamed to [`cy.intercept()`](https://on.cypress.io/intercept). We encourage you to update usages of `cy.route2()` to use [`cy.intercept()`](https://on.cypress.io/intercept). Addressed in [#9182](https://togithub.com/cypress-io/cypress/issues/9182).
**Features:**
- The new [`cy.intercept()`](https://on.cypress.io/intercept) command can be used to manage the behavior of HTTP requests at the network layer. Addressed in [#9182](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/5336).
- A warning is now displayed when passing invalid configuration keys through the CLI. Addresses [#428](https://togithub.com/cypress-io/cypress/issues/428).
- The `cypress version` command now also displays the current Electron and bundled Node versions. Addresses [#9180](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/9214).
**Bugfixes:**
- We fixed a regression introduced in [3.5.0](https://on.cypress.io/changelog#3-5-0) that would cause [`.type()`](https://on.cypress.io/type) to not type the entire string when focus was called away from the target element. Fixes [#9254](https://togithub.com/cypress-io/cypress/issues/9254).
- [`.type()`](https://on.cypress.io/type) and [`.click()`](https://on.cypress.io/click) now properly work on elements inside a `contenteditable` element. Fixes [#2717](https://togithub.com/cypress-io/cypress/issues/2717) and [#7721](https://togithub.com/cypress-io/cypress/issues/7721).
- We fixed a regression introduced in [5.6.0](https://on.cypress.io/changelog#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](https://togithub.com/cypress-io/cypress/issues/9151).
- Fixed an issue where `Content-Length` for `cy.route2` request bodies could be incorrectly recalculated. Fixes [#9166](https://togithub.com/cypress-io/cypress/issues/9166).
**Documentation Changes:**
- Our [Migration Guide](https://on.cypress.io/migration-guide) has a new section for 6.0 migration.
- Many of our docs examples have been updated to use [`cy.intercept()`](https://on.cypress.io/intercept) in place of `cy.route()` including our [Network Requests](https://on.cypress.io/network-requests) doc.
**Misc:**
- Added the type of `redirects` and changed `redirectedToUrl` optional for Response types. Addresses [#9275](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/pull/9222).
- Upgraded bundled Node.js version from `12.16.3` to `12.18.3`. Addressed in [#9222](https://togithub.com/cypress-io/cypress/pull/9222).
- Upgraded `electron` from `10.1.5` to `11.0.2`. Addressed in [#9222](https://togithub.com/cypress-io/cypress/pull/9222).
Renovate configuration
:date: Schedule: "after 10pm every weekday,every weekend,before 5am every weekday" (UTC).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
: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.6.0
->6.0.0
Release Notes
cypress-io/cypress
### [`v6.0.0`](https://togithub.com/cypress-io/cypress/releases/v6.0.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v5.6.0...v6.0.0) _Released 11/23/2020_ **Summary:** Cypress now offers full network stubbing support with the introduction of the [`cy.intercept()`](https://on.cypress.io/intercept) command (previously `cy.route2()`). With [`cy.intercept()`](https://on.cypress.io/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](https://on.cypress.io/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](https://togithub.com/cypress-io/cypress/issues/205). - DOM elements where the CSS style (or ancestors) are `opacity: 0` are no longer considered visible. However these are still considered [actionable](https://on.cypress.io/interacting-with-elements) 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](https://togithub.com/cypress-io/cypress/issues/4474). - The type yielded by [`cy.wait(alias)`](https://on.cypress.io/wait) has changed in order to support use of [`cy.intercept()`](https://on.cypress.io/intercept). Addressed in [#9266](https://togithub.com/cypress-io/cypress/issues/9266). - The `experimentalNetworkStubbing` option has been removed and made the default behavior. You can safely removed this configuration option. Addressed in [#9185](https://togithub.com/cypress-io/cypress/issues/9185). - When using [`.type()`](https://on.cypress.io/type) and [`.click()`](https://on.cypress.io/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/8969). - JSON request and response bodies captured by [`cy.intercept()`](https://on.cypress.io/intercept) are now automatically parsed, removing the need to manually do `JSON.parse`. Addressed in [#9280](https://togithub.com/cypress-io/cypress/issues/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()`](https://on.cypress.io/intercept) instead. Addressed in [#9185](https://togithub.com/cypress-io/cypress/issues/9185). - `experimentalFetchPolyfill` has been deprecated. We encourage you to use [`cy.intercept()`](https://on.cypress.io/intercept) to intercept requests using the Fetch API instead. - `cy.route2()` was renamed to [`cy.intercept()`](https://on.cypress.io/intercept). We encourage you to update usages of `cy.route2()` to use [`cy.intercept()`](https://on.cypress.io/intercept). Addressed in [#9182](https://togithub.com/cypress-io/cypress/issues/9182). **Features:** - The new [`cy.intercept()`](https://on.cypress.io/intercept) command can be used to manage the behavior of HTTP requests at the network layer. Addressed in [#9182](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/5336). - A warning is now displayed when passing invalid configuration keys through the CLI. Addresses [#428](https://togithub.com/cypress-io/cypress/issues/428). - The `cypress version` command now also displays the current Electron and bundled Node versions. Addresses [#9180](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/9214). **Bugfixes:** - We fixed a regression introduced in [3.5.0](https://on.cypress.io/changelog#3-5-0) that would cause [`.type()`](https://on.cypress.io/type) to not type the entire string when focus was called away from the target element. Fixes [#9254](https://togithub.com/cypress-io/cypress/issues/9254). - [`.type()`](https://on.cypress.io/type) and [`.click()`](https://on.cypress.io/click) now properly work on elements inside a `contenteditable` element. Fixes [#2717](https://togithub.com/cypress-io/cypress/issues/2717) and [#7721](https://togithub.com/cypress-io/cypress/issues/7721). - We fixed a regression introduced in [5.6.0](https://on.cypress.io/changelog#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](https://togithub.com/cypress-io/cypress/issues/9151). - Fixed an issue where `Content-Length` for `cy.route2` request bodies could be incorrectly recalculated. Fixes [#9166](https://togithub.com/cypress-io/cypress/issues/9166). **Documentation Changes:** - Our [Migration Guide](https://on.cypress.io/migration-guide) has a new section for 6.0 migration. - Many of our docs examples have been updated to use [`cy.intercept()`](https://on.cypress.io/intercept) in place of `cy.route()` including our [Network Requests](https://on.cypress.io/network-requests) doc. **Misc:** - Added the type of `redirects` and changed `redirectedToUrl` optional for Response types. Addresses [#9275](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/pull/9222). - Upgraded bundled Node.js version from `12.16.3` to `12.18.3`. Addressed in [#9222](https://togithub.com/cypress-io/cypress/pull/9222). - Upgraded `electron` from `10.1.5` to `11.0.2`. Addressed in [#9222](https://togithub.com/cypress-io/cypress/pull/9222).Renovate configuration
:date: Schedule: "after 10pm every weekday,every weekend,before 5am every weekday" (UTC).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
: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.