Impact Score: 5/10
Cypress v4.1.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.
โก Executive Summary (TL;DR)
Cypress v4.1.0. Source highlight: *Released 2/28/2020*
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.
๐ง Bug Fixes & Patches (6)
- Fixed a regression where Cypress could throw a "Maximum call stack size exceeded" error when transmitting a circular object over the internal WebSocket. Fixes #6582.
- We fixed an issue where using Chromium-family browsers could cause Cypress to throw a "WebSocket is not open: readyState 3" error under certain conditions. Fixes #5685.
- We now more thoroughly ensure the parent of an element exists when recursively calling visibility and existence checks in order to prevent some maximum call stack errors. Fixes #4373.
- We fixed an issue where a maximum call stack error would throw in some circumstances when `xhr.onreadystatechange` is accessed. Fixes #5864.
- We fixed a regression in 3.5.0 where typing into an iframe with a body element with the contenteditable attribute would throw an error. Fixes #5930.
- We now set the default window size when running Chrome headlessly to 1280x720. Fixes #6210.
๐ View Raw Release Notes (Original Developer Log)
*Released 2/28/2020*
**Features:**
- There is a new `cypress info` command to see the locally detected browsers and other information related to Cypress. Addresses [#4540](https://github.com/cypress-io/cypress/issues/4540).
- You can now click a 'Try Again' button to recheck if the server at the designated `baseUrl` is running within the warning message during `cypress open`. Addresses [#3284](https://github.com/cypress-io/cypress/issues/3284).
- There are "collapse all" and "expand all" links in the Test Runner's "Tests" tab to collapse or expand all folders within the "Integration Tests". Addresses [#6282](https://github.com/cypress-io/cypress/issues/6282).
- The plugins file function's `config` argument now includes `projectRoot` (absolute path to the root of the project) and `configFile` (absolute path to the configuration file). Addresses [#5941](https://github.com/cypress-io/cypress/issues/5941).
**Bugfixes:**
- Fixed a regression where Cypress could throw a "Maximum call stack size exceeded" error when transmitting a circular object over the internal WebSocket. Fixes [#6582](https://github.com/cypress-io/cypress/issues/6582).
- We fixed an issue where using Chromium-family browsers could cause Cypress to throw a "WebSocket is not open: readyState 3" error under certain conditions. Fixes [#5685](https://github.com/cypress-io/cypress/issues/5685).
- We now more thoroughly ensure the parent of an element exists when recursively calling visibility and existence checks in order to prevent some maximum call stack errors. Fixes [#4373](https://github.com/cypress-io/cypress/issues/4373).
- We fixed an issue where a maximum call stack error would throw in some circumstances when `xhr.onreadystatechange` is accessed. Fixes [#5864](https://github.com/cypress-io/cypress/issues/5864).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where typing into an iframe with a body element with the contenteditable attribute would throw an error. Fixes [#5930](https://github.com/cypress-io/cypress/issues/5930).
- We now set the default window size when running Chrome headlessly to 1280x720. Fixes [#6210](https://github.com/cypress-io/cypress/issues/6210).
- We fixed an issue where `cypress install` would not complete on Node.js 8.0.0. Fixes [#6512](https://github.com/cypress-io/cypress/issues/6512) and [#6568](https://github.com/cypress-io/cypress/issues/6568).
- {% url "`cy.clearLocalStorage()`" clearlocalstorage now properly accepts the `log` option to disable logging. Fixes [#6342](https://github.com/cypress-io/cypress/issues/6342).
**Misc:**
- The error messages displayed when rerouting to a non same-origin domain has been updated to more accurately reflect the rules around same-origin policy. Addresses [#6048](https://github.com/cypress-io/cypress/issues/6048).
- We fixed an error message that would display the wrong available browser families during validation. Addressed in [#6517](https://github.com/cypress-io/cypress/pull/6517).
- We fixed some typos in some of our error messages. Addressed in [#6508](https://github.com/cypress-io/cypress/pull/6508).
- We're collecting more environment variables when running Cypress with GitLab CI. Addresses [#6231](https://github.com/cypress-io/cypress/issues/6231).
- The typing of `cy.$$` has been updated to distinguish differences between it and `Cypress.$`. "More info here" $#Cypress-vs-cy Addresses [#2027](https://github.com/cypress-io/cypress/issues/2027).
- We're continuing to make progress in converting our codebase from CoffeeScript to JavaScript. Addresses [#2690](https://github.com/cypress-io/cypress/issues/2690) in [#6552](https://github.com/cypress-io/cypress/pull/6552), [#6523](https://github.com/cypress-io/cypress/pull/6523), and [#6545](https://github.com/cypress-io/cypress/pull/6545).
**Dependency Updates**
- Upgraded `electron` from `7.1.10` to `7.1.13`. Addressed in [#6566](https://github.com/cypress-io/cypress/pull/6566).