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
- Fixed opening an unconfigured project from a git repository sub-directory skipping project setup
- Fixed the component testing setup wizard not reliably displaying the auto-detected framework and bundler
- Fixed interacting with an element inside a horizontally-scrollable container scrolling the element to the container's right edge instead of its top, leftmost point
- Fixed a regression where `cypress run --spec` printed a spurious warning for patterns that actually matched spec files
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 openorcypress run) and whenevercypress verifyis 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.focusorexpect($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 simulatedkeyupevent in the same turn askeydownandinput, sokeyuphandlers that read state updated asynchronously in aninputlistener could observe stale values.keyupis 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
devicePixelRatioinstead of a standard value of1. Headless WebKit now matches headless Chrome, so screenshots taken duringcypress runare 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 whenexperimentalWebKitSupportis enabled. Fixes #23808. Fixed in #34088. - Fixed an issue where the
userAgentconfiguration 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: stickyorposition: fixedelement 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 --specprinted a spuriousThe following --spec pattern did not match any spec files and will be ignoredwarning for patterns that actually did match spec files, such as patterns using regex-style alternation groups (for examplecypress/e2e/(a|b)/*.js). Fixes #34160.
Dependency Updates:
- Upgraded
esbuildfrom0.28.0to0.28.1to address a Resources Downloaded over Insecure Protocol vulnerability reported in security scans. Addressed in #34211.