Impact Score: 5/10
Cypress: 4.12.0
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.12.0. Source highlight: Now you can control whether screenshots are automatically taken on test failure during `cypress run` by setting screenshotOnRunFailure in your configuration. Addresses #5029.
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.
โจ New Features & Capabilities (1)
- We added more type definitions for the `.should()` command. Addresses #5573.
โก Performance & Enhancements (1)
- There are some minor visual improvements to the Test Runner's Command Log when hovering, focusing and clicking on hook titles and pending tests. Addressed in #8153.
๐ง Bug Fixes & Patches (6)
- `position: fixed` elements that have a parent with `pointer-events: none` will now correctly evaluate as visible. Fixes #6675.
- Applications using custom elements will no longer trigger infinite XHR request loops. Fixes #1068.
- When snapshotting the DOM, Cypress no longer causes `attributeChangedCallback` to be triggered on custom elements. Fixes #7187.
- Spec files containing `+` characters now properly run in Cypress. Fixes #5909.
- When using the `fx` shortcut in `cy.route()`, an error is now thrown when the fixture file cannot be found. Fixes #7818.
- Cypress no longer thrown `Cannot read property '__error' of null` error when passing a file containing `null` content to `cy.fixture()`. Fixes #8010.
๐ View Raw Release Notes (Original Developer Log)
*Released 8/3/2020*
**Features:**
- Now you can control whether screenshots are automatically taken on test failure during `cypress run` by setting [screenshotOnRunFailure](https://on.cypress.io/configuration#Screenshots) in your configuration. Addresses [#5029](https://github.com/cypress-io/cypress/issues/5029).
- The `pluginsFile` now has access to a readonly `version` property within the `config` object that returns the current Cypress version being run. This will allow plugins to better target specific Cypress versions. Addresses [#6352](https://github.com/cypress-io/cypress/issues/6352).
- During `cypress open`, you can now run a subset of all specs by [entering a text search filter and clicking 'Run n tests'](https://on.cypress.io/writing-and-organizing-tests#Run-filtered-specs). Addresses [#6581](https://github.com/cypress-io/cypress/issues/6581).
**Bugfixes:**
- `position: fixed` elements that have a parent with `pointer-events: none` will now correctly evaluate as visible. Fixes [#6675](https://github.com/cypress-io/cypress/issues/6675).
- Applications using custom elements will no longer trigger infinite XHR request loops. Fixes [#1068](https://github.com/cypress-io/cypress/issues/1068).
- When snapshotting the DOM, Cypress no longer causes `attributeChangedCallback` to be triggered on custom elements. Fixes [#7187](https://github.com/cypress-io/cypress/issues/7187).
- Spec files containing `+` characters now properly run in Cypress. Fixes [#5909](https://github.com/cypress-io/cypress/issues/5909).
- When using the `fx` shortcut in [`cy.route()`](https://on.cypress.io/route), an error is now thrown when the fixture file cannot be found. Fixes [#7818](https://github.com/cypress-io/cypress/issues/7818).
- Cypress no longer thrown `Cannot read property '__error' of null` error when passing a file containing `null` content to [`cy.fixture()`](https://on.cypress.io/fixture). Fixes [#8010](https://github.com/cypress-io/cypress/issues/8010).
- Values containing exponential operators passed to `--env` via the command line are now properly read. Fixes [#6891](https://github.com/cypress-io/cypress/issues/6891).
- The "Open in IDE" button no longer disappears from hooks when the tests are manually rerun. Fixes [#8094](https://github.com/cypress-io/cypress/issues/8094).
- When [`experimentalSourceRewriting`](https://on.cypress.io/experiments) is enabled, AST rewriting will no longer return an output before the body is done being written. This would happen when the response body was too large and the response would be sent while the body was still being modified. Fixes [#8043](https://github.com/cypress-io/cypress/issues/8043).
- When using [`.type()`](https://on.cypress.io/type), Cypress now properly types into an input within an iframe that auto focuses the input. Fixes [#8111](https://github.com/cypress-io/cypress/issues/8111).
**Misc:**
- Dependencies for our `cypress` npm package are no longer pinned to a specific version. This allows the use of `npm audit fix` to fix security vulnerabilities without needing a patch release from Cypress. Addresses [#8046](https://github.com/cypress-io/cypress/issues/8046).
- We now collect environment variables for AWS CodeBuild when recording to the Dashboard. Addressed [#8101](https://github.com/cypress-io/cypress/issues/8101).
- Types inside Module API are now accessible via the `CypressCommandLine` namespace. Addresses [#7309](https://github.com/cypress-io/cypress/issues/7309).
- We added more type definitions for the [`.should()`](https://on.cypress.io/should) command. Addresses [#5573](https://github.com/cypress-io/cypress/issues/5573).
- Cookie command's `expiry` property type is now a Number instead of a String. Addresses [#8144](https://github.com/cypress-io/cypress/issues/8144).
- There are some minor visual improvements to the Test Runner's Command Log when hovering, focusing and clicking on hook titles and pending tests. Addressed in [#8153](https://github.com/cypress-io/cypress/pull/8153).
**Dependency Updates:**
- Upgraded `jimp` from `0.13.0` to `0.14.0`. Addressed in [#8102](https://github.com/cypress-io/cypress/pull/8102).
- Upgraded `moment` from `2.26.0` to `2.27.0`. Addressed in [#8122](https://github.com/cypress-io/cypress/pull/8122).