---
title: "6.0.0"
url: "https://www.cypress.io/releases/6-0-0"
description: "Summary: Cypress now offers full network stubbing support with the introduction of the cy.intercept() command (previously cy.route2()). With cy.intercept()…"
---

# 6.0.0

ReleasedReleased on November 22, 2020

**Summary:**

Cypress now offers full network stubbing support with the introduction of the [cy.intercept()](/api/commands/intercept) command (previously `cy.route2()`). With [cy.intercept()](/api/commands/intercept) your tests can intercept, modify and wait on any type of HTTP request originating from your app. See our guide on [Migrating `cy.route()` to `cy.intercept()`](/app/references/migration-guide).

**Breaking Changes:**

Please read our [Migration Guide](/app/references/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://github.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](/app/core-concepts/interacting-with-elements) and [any action commands](/app/core-concepts/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://github.com/cypress-io/cypress/issues/4474).
    
-   The type yielded by [cy.wait(alias)](/api/commands/wait) has changed in order to support use of [cy.intercept()](/api/commands/intercept). Addressed in [#9266](https://github.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://github.com/cypress-io/cypress/issues/9185).
    
-   When using [.type()](/api/commands/type) and [.click()](/api/commands/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://github.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](#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://github.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://github.com/cypress-io/cypress/issues/8969).
    
-   JSON request and response bodies captured by [cy.intercept()](/api/commands/intercept) are now automatically parsed, removing the need to manually do `JSON.parse`. Addressed in [#9280](https://github.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 removed. We encourage you to use [cy.intercept()](/api/commands/intercept) instead. See our guide on [Migrating `cy.route()` to `cy.intercept()`](/app/references/migration-guide). Addressed in [#9185](https://github.com/cypress-io/cypress/pull/9185).
    
-   `experimentalFetchPolyfill` has been deprecated. We encourage you to use [cy.intercept()](/api/commands/intercept) to intercept requests using the Fetch API instead.
    
-   `cy.route2()` was renamed to [cy.intercept()](/api/commands/intercept). We encourage you to update usages of `cy.route2()` to use [cy.intercept()](/api/commands/intercept). Addressed in [#9182](https://github.com/cypress-io/cypress/issues/9182).
    

**Features:**

-   The new [cy.intercept()](/api/commands/intercept) command can be used to manage the behavior of HTTP requests at the network layer. Addressed in [#9182](https://github.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://github.com/cypress-io/cypress/issues/5336).
    
-   A warning is now displayed when passing invalid configuration keys through the CLI. Addresses [#428](https://github.com/cypress-io/cypress/issues/428).
    
-   The `cypress version` command now also displays the current Electron and bundled Node versions. Addresses [#9180](https://github.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://github.com/cypress-io/cypress/issues/9214).
    

**Bugfixes:**

-   We fixed a regression introduced in [3.5.0](#3-5-0) that would cause [.type()](/api/commands/type) to not type the entire string when focus was called away from the target element. Fixes [#9254](https://github.com/cypress-io/cypress/issues/9254).
    
-   [.type()](/api/commands/type) and [.click()](/api/commands/click) now properly work on elements inside a `contenteditable` element. Fixes [#2717](https://github.com/cypress-io/cypress/issues/2717) and [#7721](https://github.com/cypress-io/cypress/issues/7721).
    
-   We fixed a regression introduced in [5.6.0](#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://github.com/cypress-io/cypress/issues/9151).
    
-   Fixed an issue where `Content-Length` for `cy.route2` request bodies could be incorrectly recalculated. Fixes [#9166](https://github.com/cypress-io/cypress/issues/9166).
    

**Documentation Changes:**

-   Our [Migration Guide](/app/references/migration-guide) has a new section for 6.0 migration.
    
-   Many of our docs examples have been updated to use [cy.intercept()](/api/commands/intercept) in place of `cy.route()` including our [Network Requests](/app/guides/network-requests) doc.
    

**Misc:**

-   Added the type of `redirects` and changed `redirectedToUrl` optional for Response types. Addresses [#9275](https://github.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://github.com/cypress-io/cypress/pull/9222).
    
-   Upgraded bundled Node.js version from `12.16.3` to `12.18.3`. Addressed in [#9222](https://github.com/cypress-io/cypress/pull/9222).
    
-   Upgraded `electron` from `10.1.5` to `11.0.2`. Addressed in [#9222](https://github.com/cypress-io/cypress/pull/9222).