Cypress v9.0.0stable Released Nov 10, 2021
โš ๏ธ 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
Read the original context โ†—
Source flags breaking changes โ€” review applicability
๐Ÿ“„ .MD
โšก 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).