Cypress v15.18.1

v15.18.1
Changed 1
  • Verifying that the Cypress binary can run now completes more quickly
Fixed 10
  • Fixed an issue where Cypress could hang until the spec timed out if the browser process crashed mid-run while video recording was disabled
  • Fixed a TypeScript error when asserting focus with Chai's property syntax such as `expect($el).to.have.focus` or `expect($el).to.be.focused`
  • Fixed `cy.type()` firing the simulated `keyup` event in the same turn as `keydown` and `input` by deferring `keyup` to the next microtask
  • Fixed headless WebKit using the host machine's `devicePixelRatio` instead of a standard value of 1
  • Fixed the `userAgent` configuration option not being applied when running tests in the experimental WebKit browser
  • Fixed a request to focus the browser window in the experimental WebKit browser being silently ignored
Security 1
  • Upgraded `esbuild` from 0.28.0 to 0.28.1 to address a Resources Downloaded over Insecure Protocol vulnerability

Performance:

  • Verifying that the Cypress binary can run, which happens the first time a newly installed version is used (before cypress open or cypress run) and whenever cypress verify is invoked, now completes more quickly. Addressed in #34133.

Bugfixes:

  • Fixed an issue where Cypress could hang until the spec timed out if the browser process crashed mid-run (for example, an out-of-memory or GPU crash) while video recording was disabled. The current spec now fails and the run continues to the next spec as expected. Fixed in #34126.
  • Fixed an issue where asserting focus with Chai's property syntax, such as expect($el).to.have.focus or expect($el).to.be.focused, raised a TypeScript error (Property 'focus' does not exist on type 'Assertion') even though the assertion works at runtime. Fixes #23905. Fixed in #34177.
  • Fixed an issue where cy.type() fired the simulated keyup event in the same turn as keydown and input, so keyup handlers that read state updated asynchronously in an input listener could observe stale values. keyup is now deferred to the next microtask, matching real browser event ordering. Fixes #14864. Fixed in #34068.
  • Fixed an issue where headless WebKit used the host machine's devicePixelRatio instead of a standard value of 1. Headless WebKit now matches headless Chrome, so screenshots taken during cypress run are consistent regardless of the host's DPI (for example 2x locally versus 1x in CI) and text is no longer fuzzy on high-DPI displays. Applies when experimentalWebKitSupport is enabled. Fixes #23808. Fixed in #34088.
  • Fixed an issue where the userAgent configuration option was not applied when running tests in the experimental WebKit browser. Fixes #33349.
  • Fixed an issue where, in the experimental WebKit browser, a request to focus the browser window was silently ignored, so the window could remain in the background. The active page is now correctly brought to the front. Addressed in #34137.
  • Fixed an issue where opening an unconfigured project from a git repository sub-directory (such as a monorepo package) skipped project setup. Additionally, the component testing setup wizard now reliably displays the auto-detected framework and bundler. Fixes #27410 and #29544. Fixed in #34129 and #34212.
  • Fixed an issue where interacting with an element inside a horizontally-scrollable container could scroll the element to the container's right edge, placing it underneath a right-floating position: sticky or position: fixed element and causing the action to fail or land on the wrong element. Elements are now scrolled to their top, leftmost point as documented. Fixes #33884. Fixed in #34108.
  • Fixed a regression in 15.17.0 where cypress run --spec printed a spurious The following --spec pattern did not match any spec files and will be ignored warning for patterns that actually did match spec files, such as patterns using regex-style alternation groups (for example cypress/e2e/(a|b)/*.js). Fixes #34160.

Dependency Updates:

View original

Upgraded? How did it go?

Discussion