โ ๏ธ Breaking Change
Impact Score: 7/10
Cypress v9.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:** - The `nodeVersion` configuration option now defaults to `system`. The behavior
โก Executive Summary (TL;DR)
Cypress v9.0.0. Source highlight: _Released 11/10/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:** - The `nodeVersion` configuration option now defaults to `system`. The behavior
โจ New Features & Capabilities (1)
- Attempting to add an existing built-in Cypress command using
๐ง Bug Fixes & Patches (1)
- Sticky elements within a fixed container will now be able to be properly
๐ View Raw Release Notes (Original Developer Log)
_Released 11/10/2021_
**Breaking Changes:**
- The `nodeVersion` configuration option now defaults to `system`. The behavior
of the `system` option has changed to always use the Node.js binary/version
that launched Cypress. If Cypress was not launched via the terminal, Cypress
will use the `bundled` Node.js version. This could change the behavior of code
within your `pluginsFile` since it may be run in your `system` Node.js
version. Addresses
[#18684](https://github.com/cypress-io/cypress/issues/18684).
- Windows 32-bit is no longer supported in Cypress. Addresses
[#17962](https://github.com/cypress-io/cypress/issues/17962).
- An error will now be thrown if an invalid value is passed to `Cypress.config`.
Previously invalid values were ignored and could cause unexpected behavior.
Addresses [#18589](https://github.com/cypress-io/cypress/pull/18589).
- `cy.contains()` no longer yields the `<body>` element when it matches the
content of `<script>` or `<style>` tags. Addresses
[#14861](https://github.com/cypress-io/cypress/issues/14861).
- Attempting to add an existing built-in Cypress command using
`Cypress.Commands.add()` will now throw an error, indicating that
`Cypress.Commands.overwrite()` should be used instead to overwrite the
behavior of existing commands. Addresses
[#18572](https://github.com/cypress-io/cypress/issues/18572).
- Custom command implementations are now typed based on the declared custom
chainables. Addresses
[#17496](https://github.com/cypress-io/cypress/issues/17496).
- The bundled Node.js version was upgraded from `14.17.0` to `16.5.0`. This
could change the behavior of code within the `pluginsFile` when using the
bundled Node.js version of Cypress. Addressed in
[#18317](https://github.com/cypress-io/cypress/pull/18317).
**Deprecations:**
- The `nodeVersion` configuration option has been deprecated and will be removed
in a future release.
**Features:**
- When `null` is passed as the encoding to `cy.readFile()` or `cy.fixture()`,
the file is treated as binary and read as a Buffer. Similarly, `null` passed
as the encoding to `cy.writeFile()` allows direct writing of buffers. If the
encoding is unspecified, the default remains `utf8`, matching the current
behavior. Addresses
[#18534](https://github.com/cypress-io/cypress/issues/18534).
**Bugfixes:**
- Sticky elements within a fixed container will now be able to be properly
scrolled to during action commands. Fixes
[#4233](https://github.com/cypress-io/cypress/issues/4233).
- `document.referrer` will now correctly reflect the correct value from the
application under test after `cy.visit()`. Fixes
[#4295](https://github.com/cypress-io/cypress/issues/4295).
**Dependencies:**
- Upgraded Chrome browser version used during `cypress run` and when selecting
Electron browser in `cypress open` from `91` to `94`. Addressed in
[#15292](https://github.com/cypress-io/cypress/pull/18317).
- Upgraded bundled Node.js version from `14.17.0` to `16.5.0`. Addressed in
[#15292](https://github.com/cypress-io/cypress/pull/18317).
- Upgraded `electron` from `14.1.0` to `15.2.0`. Addressed in
[#15292](https://github.com/cypress-io/cypress/pull/18317).