โ ๏ธ Breaking Change
Impact Score: 7/10
Cypress v8.0.0 โ Release Notes & Engineering Impact
Source available โ automated, not human-reviewed
Component: cypress ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
Breaking-change evidence from the source
Breaking Changes:** **<Icon name="exclamation-triangle" color="red"></Icon> Please read our
โก Executive Summary (TL;DR)
Cypress v8.0.0. Source highlight: _Released 07/19/2021_
Who Does This Impact? (Role-Based Analysis)
๐ป Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
๐ Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
โ๏ธ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
โ ๏ธ Breaking Changes & Deprecations (1)
- Breaking Changes:** **<Icon name="exclamation-triangle" color="red"></Icon> Please read our
๐ง Bug Fixes & Patches (3)
- There are several fixes for `cy.intercept()`
- The `times` option now works correctly with `req.continue`. Fixes
- `delay` now works correctly with a `statusCode` of 204. Fixes
๐ View Raw Release Notes (Original Developer Log)
_Released 07/19/2021_
**Summary:**
We've made some updates to ensure a consistent run experience across browsers.
Now all browsers run via `cypress run` run headlessly, with a device pixel ratio
of 1, and a screen size of 1280x720 by default.
**Breaking Changes:**
**<Icon name="exclamation-triangle" color="red"></Icon> Please read our
[Migration Guide](https://docs.cypress.io/guides/references/migration-guide) which explains the changes
in more detail and how to change your code to migrate to Cypress 8.0.**
- When running `cypress run` previous to 8.0, some browsers would launch headed
while others were launched headless by default. Cypress now runs all browsers
during `cypress run` as headless by default. Addresses
[#16832](https://github.com/cypress-io/cypress/issues/16832).
- The default screen size when running a headless browser has been reverted back
to 1280x720 pixels (pre 7.0 behavior). Addresses
[#16853](https://github.com/cypress-io/cypress/issues/16853).
- When running the `--headless` Chrome browser via `cypress run`, the device
pixel ratio will now be 1 by default, matching the behavior of all other
browsers. This behavior can be overridden through the
[browser launch API](https://docs.cypress.io/api/plugins/browser-launch-api#Override-the-device-pixel-ratio).
Addresses [#17375](https://github.com/cypress-io/cypress/issues/17375).
- Cypress now enforces version checks for browser launching and will error
during `cypress run` and not allow opening the browser in `cypress open` when
attempting to open unsupported browser versions. Cypress supports Chrome >=
64, Firefox >= 86, and Edge >= 79. Addressed in
[#17355](https://github.com/cypress-io/cypress/pull/17355).
- Arguments returned from a chained function will no longer incorrectly be of
type `jQuery` and instead have an `any` type. Fixes
[#16669](https://github.com/cypress-io/cypress/issues/16669).
- The `Cypress.ConfigOptions`, `Cypress.ResolvedConfigOptions` and
`Cypress.RuntimeConfigOption` types have been updated so that `ConfigOptions`
match the JSON schema. Addressed in
[#17251](https://github.com/cypress-io/cypress/pull/17251).
**Features:**
- You can now configure certificate authority (CA) and client certificates to
use within tests on a per-URL basis via a `clientCertificates` configuration
option. See [Client certificates](https://docs.cypress.io/guides/references/client-certificates) for
more detail.
- Setting the environment variable `ELECTRON_RUN_AS_NODE` now starts Cypress as
a normal Node.js process rather than an Electron process. See
[Running headless tests without Xvfb](https://docs.cypress.io/guides/continuous-integration/introduction#Running-headless-tests-without-Xvfb)
for more details. Addresses
[#16505](https://github.com/cypress-io/cypress/issues/16505).
**Bugfixes:**
- `console.log` and `console.error` called within the
[plugins file](https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests.html#Plugin-files)
will now be captured in the `stdout` sent to the Cypress Dashboard, making it
visible in Output logs in the Dashboard. Fixes
[#7434](https://github.com/cypress-io/cypress/issues/7434).
- There are several fixes for [`cy.intercept()`](/api/commands/intercept)
including:
- The `times` option now works correctly with `req.continue`. Fixes
[#16821](https://github.com/cypress-io/cypress/issues/16821).
- `localhost` is now accepted as a valid `hostname` in the `RouteMatcher`.
Fixes [#17015](https://github.com/cypress-io/cypress/issues/17015).
- `delay` now works correctly with a `statusCode` of 204. Fixes
[#15188](https://github.com/cypress-io/cypress/issues/15188).
- When using the experimental
[Cypress Studio](https://docs.cypress.io/guides/core-concepts/cypress-studio), there should be a
reduced occurrence of "Studio failed to save commands" error messages. Fixes
[#14767](https://github.com/cypress-io/cypress/issues/14767).
- [`cy.invoke()`](/api/commands/invoke) now retains the proper `this` context on
nested object methods. Fixes
[#3871](https://github.com/cypress-io/cypress/issues/3871).
- We no longer trigger unnecessary snapshot re-renders when hovering over the
Command Log. Fixes
[#17257](https://github.com/cypress-io/cypress/issues/17257).