Cypress v15.19.0

v15.19.0
Added 2
  • Added support for TypeScript 7 when preprocessing TypeScript spec and support files, and the component testing setup wizard now accepts TypeScript 7
  • Added support for additional assertion aliases: .exists (alias of .exist), .greaterThanOrEqual and .lessThanOrEqual (aliases of .least and .most), and .oneOf chained with .contain
Changed 1
  • Corrected the @default value in the TypeScript type definitions for the videoCompression configuration option from 32 to false
Fixed 6
  • Fixed an issue where the browser's renderer process could crash when the application under test triggered a ResizeObserver loop while the command log was visible
  • Fixed a regression where each message sent from the Cypress server to a Chromium-based browser leaked a small amount of browser memory until the end of the spec, which could crash the browser during long, command- or network-heavy specs
  • Fixed an issue where each cy.press() call in Chromium-based browsers retained a small amount of renderer memory for the remainder of the spec file, which could contribute to memory growth in specs with many cy.press() calls
  • Fixed an issue where chaining an assertion after .should('exist') on a raw DOM element failed with expected null to exist, because the existence assertion replaced the subject with null
  • Fixed an issue where on Windows, enhancing a test failure stack could throw a secondary TypeError and mask the original error
  • Fixed an issue where experimentalMemoryManagement could fail to prevent the browser from running out of memory and crashing when Cypress was running inside a memory-limited container

Performance:

  • Fixed an issue where the browser's renderer process could crash (We detected that the Chrome Renderer process just crashed) when the application under test triggered a ResizeObserver loop while the command log was visible. Fixes #33962 and #34218.
  • Fixed a regression in 14.0.0 where each message sent from the Cypress server to a Chromium-based browser (including Electron) leaked a small amount of browser memory until the end of the spec. During long, command- or network-heavy specs, this buildup could crash the browser (We detected that the Chrome Renderer process just crashed). Fixes #34226.
  • Fixed an issue where each cy.press() call in Chromium-based browsers retained a small amount of renderer memory for the remainder of the spec file, which could contribute to memory growth in specs with many cy.press() calls. Addressed in #34240.

Features:

  • Added support for TypeScript 7 when preprocessing TypeScript spec and support files. The component testing setup wizard now accepts TypeScript 7 as well. Addresses #34258. Addressed in #34277.
  • Added support for additional assertion aliases: .exists (alias of .exist), .greaterThanOrEqual and .lessThanOrEqual (aliases of .least and .most), and .oneOf chained with .contain (for example expect('Today is sunny').to.contain.oneOf(['sunny', 'cloudy'])). These can be used anywhere Cypress assertions are written, such as expect, assert, and cy.get(...).should(...). This comes from upgrading the bundled chai assertion library from 4.2.0 to 4.5.0; all existing assertions and their messages behave the same. Addressed in #34178.

Bugfixes:

  • Fixed an issue where chaining an assertion after .should('exist') on a raw DOM element (rather than a jQuery object) failed with expected null to exist, because the existence assertion replaced the subject with null. Chaining further assertions off .exist (or its .exists alias) for a raw DOM element now works as expected. Fixes #25491.
  • Fixed an issue where, on Windows, enhancing a test failure stack could throw a secondary TypeError: Cannot read properties of undefined (reading 'replaceAll') and mask the original error. Fixed in #34252.
  • Fixed an issue where experimentalMemoryManagement could fail to prevent the browser from running out of memory and crashing when Cypress was running inside a memory-limited container. Memory is now managed correctly in these environments. Fixes #34104. Addressed in #34123.

Misc:

  • Corrected the @default value in the TypeScript type definitions for the videoCompression configuration option from 32 to false. Addressed in #34198.
View original

Upgraded? How did it go?

Discussion