Changelog
15.5.0​
Released 10/17/2025
Features:
- When
cypress runis used with both--recordand--posix-exit-codesenabled, Cypress will now exit with code112when it cannot determine which spec to run next due to network conditions. Addresses #32485. Addressed in #32635.
Bugfixes:
- An error is no longer thrown during command execution when the application under test overwrites the
window.$property with a non-function. Fixes #1502. Fixed in #32682. - When running
cypressin Cypress development environments, or whenELECTRON_ENABLE_LOGGINGis otherwise set to 1, certain messages written tostderrwill no longer be bracketed with verbose tags. Addresses #32569. Addressed in #32674. - Improve performance of time between specs by not resetting the
file_systemsStorageTypestate when executing the CDP commandStorage.clearDataForOrigin. Fixed in #32703.
Misc:
- Browser detection in Cypress now always prefers 64-bit browser installs to 32-bit browser installs. Addressed in #32656.
- Update code button styles and rename Get Code for Code on
cy.prompt(). Addressed in #32745.
Dependency Updates:
- Upgraded
tsxfrom4.20.5to4.20.6. Addressed in #32730.
15.4.0​
Released 10/7/2025
Features:
- Cypress Studio is now available by default. You no longer have to set the
experimentalStudioflag. Addresses #30997. Addressed in #32571. - An option is now available to 'Hide HTTP Requests' in the Cypress Command Log. This can be found in the new dropdown menu at the top of the Command Log. Addresses #7362. Addressed in #32658.
- Added the
--posix-exit-codesflag for theruncommand. When this flag is passed, Cypress will exit with 1 if any tests fail, rather than the number of failed tests. Addresses #32605 and #24695. Addressed in #32609. cy.prompt()is now a reserved Cypress command, currently gated behind a feature flag that requires an invite from Cypress. This means any custom commands named 'prompt' will no longer work. Stay tuned for updates on when this feature will become more widely available. Addresses #31826.
Bugfixes:
- Fixed a regression introduced in 15.0.0 where
dbusconnection error messages appear in Docker containers when launching Cypress. Fixes #32290. - Fixed code frames in
cy.origin()so that failed commands will show the correct line/column within the corresponding spec file. Addressed in #32597. - Fixed Cypress Cloud requests so that they properly verify SSL certificates. Addressed in #32629.
Misc:
- Added a dropdown menu in the Command Log that includes actions like Open in IDE and Add New Test in Studio, along with test preferences such as Auto-Scroll and Hide HTTP Requests. Addresses #32556 and #32558. Addressed in #32611.
- Updated the Studio test editing header to include a Back button. This change ensures the Specs button remains functional for expanding or collapsing the specs panel. Addresses #32556 and #32558. Addressed in #32611.
- Fixed the Studio panel resizing when dragging. Addressed in #32584.
- The Next button now maintains consistent visibility during stepping sessions when using
cy.pause, staying visible but disabled when no immediate next command is available, providing clear visual feedback to users about stepping state. Addresses #32476. Addressed in #32536.
Dependency Updates:
- Upgraded
electronfrom36.8.1to37.6.0. Addressed in #32607. - Upgraded bundled Node.js version from
22.18.0to22.19.0. Addressed in #32607. - Upgraded bundled Chromium version from
136.0.7103.177to138.0.7204.251. Addressed in #32607.
15.3.0​
Released 9/23/2025
Features:
- Added Escape key support to
cy.press(). Addresses #32429. Addressed in #32545.
Bugfixes:
- In development mode, Electron
stderris piped directly to Cypress'stderrto make it clear why Electron failed to start, if it fails to start. Fixes #32358. Addressed in #32468. - Fixed an issue where ESM Cypress configurations were not being interpreted correctly. Fixes #32493. Fixed in #32515.
Misc:
- Update the styles for command grouping 'line' so on expansion it is displayed correctly. Addressed in #32521.
- Test hook names now correctly display with a semi-bold font weight. Addresses #32477. Addressed in #32491.
- Updated the Cypress Studio panel to not show bottom border. Addresses #32478.
Dependency Updates:
- Upgraded
electronfrom36.4.0to36.8.1. Addressed in #32371. - Upgraded bundled Node.js version from
22.15.1to22.18.0. Addressed in #32371. - Upgraded bundled Chromium version from
136.0.7103.149to136.0.7103.177. Addressed in #32371.
15.2.0​
Released 9/9/2025
Features:
- Added support for using @cypress/grep with Cypress Studio. Addresses #32292.
Bugfixes:
- We now properly partition the
hostwithportwhen caching family DNS lookups. This resolves issues where somelocalhostURLs were not resolving incy.visit()in Cypress when they should have. Fixes #25397. Addressed in #32403.
Dependency Updates:
- Updated
better-sqlite3from11.9.1to11.10.0. Addressed in #32404.
15.1.0​
Released 09/02/2025
Features:
Bugfixes:
- Fixed an issue where OS distributions and releases were sometimes not properly populated for Module API results and Cloud recordings. Fixes #30533. Addressed in #32283.
- Fixed an issue where Cypress would fail to run on GNOME if GTK 4 and GTK 2/3 were detected in the Electron process. Addresses #32361.
- Fixed an issue where the open Studio button would incorrectly show for component tests. Addressed in #32315.
- Fixed an issue where the TypeScript compiler wasn't being resolved correctly when
@cypress/webpack-batteries-included-preprocessorwas used as a standalone package. Fixes #32338. - Fixed an issue where
tsxwas not being loaded correctly into the Cypress configuration process due to spaces being present in the path. Fixes #32398.
Misc:
- Updated the Cypress Studio panel to have a darker gray background. Addressed in #32333.
Dependency Updates:
- Upgraded
esbuildfrom0.15.3to0.25.2. Addressed in #32231. - Upgraded
image-sizefrom1.1.1to1.2.1. Addressed in #32232. - Upgraded
tarfrom6.1.5to6.2.1. Addressed in #32229. - Upgraded
axiosfrom1.8.3to1.11.0. Addresses #32347.
15.0.0​
Released 08/20/2025
Summary
This release prepares Cypress Studio for the next era of AI-assisted test creation. You can record interactions, add assertions by right-clicking, and now edit tests inline without leaving Cypress. Turn on experimentalStudio in your config to try it out and share your feedback. Read more about the foundation for what's next in our blog post.
Breaking Changes:
Refer to the v15 Migration Guide for help migrating your code.
- Removed support for Node.js 18 and Node.js 23. Addresses #31302.
- Removed support for Linux distributions with
glibcolder than2.31. This support is in-line with Node.js' support for Linux in Node v20+. Addressed in #31912. - Removed support for Chrome DevTools Protocol with the Firefox browser. Addresses #31189.
- Removed support of the deprecated 3 argument signature of
cy.stub. Usecy.stub(object, name).callsFake(fn)instead. Addresses #31346. @cypress/webpack-preprocessorno longer supportswebpackversion 4. Addresses #31344. If you still need to usewebpackversion 4, please see our migration guide.- In order to better align with best practices,
@cypress/webpack-batteries-included-preprocessorno longer includes certain browser built-ins that were automatically provided by Webpack 4. The removed built-ins areassert,constants,crypto,domain,events,http,https,punycode,querystring,string_decoder,sys,timers,tty,url,util,vm, andzlib. However, we know that certain built-ins are popular, given that many users have files that are shared between their Cypress tests and node context. Because of this,@cypress/webpack-batteries-included-preprocessorwill ship with built-in support forbuffer,path,process,os, andstream. If there is a built-in that isn't supported by default and you need to add support, please refer to the Webpack resolve.fallback documentation and the@cypress/webpack-batteries-included-preprocessorREADME. Addresses #31039. - The application under test's
pagehideevent in Chromium browsers will no longer trigger Cypress'swindow:unloadevent. Addressed in #31853. - The
Cypress.SelectorPlaygroundAPI has been renamed toCypress.ElementSelector. This API was renamed to accommodate its use for definingselectorPriorityin Cypress Studio and our futurecy.promptrelease. Additionally, thegetSelectormethod and theonElementoption ofdefaultswere removed from this API. Addresses #31801. Addressed in #31889 and #32098. - The direct download option for installing Cypress is no longer supported. Users should install via a package manager. Addressed in #32249.
- Updated
execafrom1.0.0to4.1.0. This changes thecodeproperty returned bycy.exec()toexitCode. Addressed in #32238. - Component Testing breaking changes:
- Removed support for Angular 17. The minimum supported version is now
18.0.0. Addresses #31303. @cypress/angularnow requires a minimum ofzone.js0.14.0. Addresses #31582.- The Cypress configuration wizard for Component Testing supports TypeScript 5.0 or greater. Addresses #31187.
@cypress/vite-dev-serveris now an ESM only package. You will no longer be able to use this package from a CommonJS context. Addresses #28373, #29557 and #31882.- Removed support for Vite 4 inside
@cypress/vite-dev-server. The minimum Vite version is5. Addresses #32038.
- Removed support for Vite 4 inside
@cypress/webpack-dev-serverno longer supportswebpack-dev-serverversion 4. Addresses #31605. If you still need to usewebpack-dev-serverversion 4, please see our migration guide.
- Removed support for Angular 17. The minimum supported version is now
Features:
cy.url(),cy.hash(),cy.go(),cy.reload(),cy.title(), andcy.location()now use the automation client (CDP for Chromium browsers and WebDriver BiDi for Firefox) to return the appropriate values from the commands to the user instead of the window object. This is to avoid cross origin issues withcy.origin()so these commands can be invoked anywhere inside a Cypress test without having to worry about origin access issues. Experimental WebKit still will use the window object to retrieve these values. Also,cy.window()will always return the current window object, regardless of origin restrictions. Not every property from the window object will be accessible depending on the origin context. Addresses #31196.- Selectors accepted in the
selectorPriorityof theSelectorPlayground(renamed toElementSelector) API have been expanded to acceptnameandattributes:*. Additionally, the default selector priority used by Cypress now includesname. Addresses #31801 and #6876. Addressed in #31889. tsxis now used in all cases to run the Cypress config, replacing ts-node for TypeScript and Node.js for CommonJS/ESM. This should allow for more interoperability for users who are using any variant of ES Modules. Addresses #8090, #15724, #21805, #22273, #22747, #23141, #25958, #25959, #26606, #27359, #27450, #28442, #28696, #29186, #30318, #30718, #30907, #30915, #30925, #30954, and #31185.- Component Testing features:
Bugfixes:
- Fixed an issue where Create from Component feature might not be able to parse React components from project files. Fixed in #31457.
- Fixed an issue where
isSecureContextwould befalseon localhost when testing with Cypress. Addresses #18217. - Fixed an issue where Angular legacy
Output()decorators were broken when making component instance field references safe. Fixes #32137. - Fixed an issue where
.fixture()would not return updated content after the underlying file was modified via.writeFile(). The fixture cache is now properly invalidated when the backing file is written to, ensuring updated content is returned in subsequent.fixture()calls. Fixes #4716. - Fixed an issue where
.fixture()calls with a specified encoding would sometimes still attempt to parse the file based on its extension. Files with an explicit encoding are now always treated as raw content. Fixes #32139. - Fixed an issue where
.fixture()calls with different encoding options would return inconsistent content based on execution order. Fixes #32138. - Filters content written to stderr to prevent Electron from spamming with inconsequential errors/warnings. This stderr content can be viewed by enabling the
cypress:internal-stderrdebug namespace. Fixes #32070 - Fixed an issue where Angular Component Testing was printing extraneous warnings to the console by default. By default, errors only will now print to the console. This can still be overridden by passing in a custom webpack config or setting the
verboseoption inside yourangular.json. Addresses #26456. - Fixed an issue where
ts-loaderwas improperly being detected inside@cypress/webpack-preprocessor. Fixes #32265. - Fixed an issue where
.fixture()calls withnullandundefinedencoding options would incorrectly share cache entries, causing unexpected content to be returned. Cache keys now properly distinguish between these encoding values. Fixes #32274.
Misc:
- The Cypress Command log has a new design when viewing a list of tests. Addresses #31677. Addressed in #31914.
- Migration helpers and related errors are no longer shown when upgrading from Cypress versions earlier than 10.0.0. To migrate from a pre-10.0.0 version, upgrade one major version at a time to receive the appropriate guidance. Addresses #31345. Addressed in https://github.com/cypress-io/cypress/pull/31629/.
Dependency Updates:
- Upgraded
electronfrom33.2.1to36.4.0. Addresses #31257. Addressed in #31912. - Upgraded bundled Node.js version from
20.18.1to22.15.1. Addresses #31257. Addressed in #31912. - Upgraded bundled Chromium version from
130.0.6723.137to136.0.7103.149. Addresses #31257. Addressed in #31912. - Upgraded
body-parserfrom1.20.2to1.20.3. This removes the SNYK-JS-BODYPARSER-7926860 vulnerability being reported in security scans. Addressed in #32225. - Upgraded
systeminformationfrom5.22.8to5.27.7. Addressed in #32234. - Upgraded
tmpfrom~0.2.3to~0.2.4. This removes the CVE-2025-54798 vulnerability being reported in security scans. Addresses #32176.
14.5.4​
Released 8/07/2025
Dependency Updates:
- Upgraded
tar-fsto2.1.3and3.1.0in places we can control, to resolve CVE-2024-12905.@puppeteer/browsersstill references3.0.4, but it is only used to download browsers which is not a feature ofpuppeteerthat we utilize. Addressed in #32160.
14.5.3​
Released 7/25/2025
Bugfixes:
- Fixed missing support for setting an absolute path for
component.indexHtmlFilein@cypress/webpack-dev-server. Fixes #31819. - Fixed an issue where TypeScript ESM projects using
.jsand.mjsextensions were not resolving correctly within@cypress/webpack-batteries-included-preprocessor. Addressed in #31994. Fixes #26827 and #28805. - Fixed an issue in
@cypress/angularwhere component instance fields were not reference safe and were being overwritten. Fixes #31238 and #31983. Fixed in #31993.
Dependency Updates:
- Upgraded
@cypress/requestto3.0.9, to resolve CVE-2025-7783 inform-data. Addresses #32091.
14.5.2​
Released 7/15/2025
Bugfixes:
- Fixed a regression introduced in 14.5.0 where the Stop button would not immediately stop the spec timer. Addresses #31920.
- Fixed an issue with the
CloudRequestwhere it used the wrong port forhttpsrequests. Addressed in #31992.
14.5.1​
Released 7/01/2025
Bugfixes:
- Fixed an issue where prerequests with Firefox BiDi were prematurely being removed or matched incorrectly. Addresses #31482.
Dependency Updates:
- Updated
pbkdf2from3.1.2to3.1.3. This removes the SNYK-JS-PBKDF2-10495498 vulnerability being reported in security scans. Addressed in #31941.
14.5.0​
Released 6/17/2025
Features:
- Install Cypress
win32-x64binary on Windowswin32-arm64systems. Cypress runs in emulation. Addresses #30252.
Bugfixes:
- Fixed an issue when using
Cypress.stop()where a run may be aborted prior to receiving the required runner events causing Test Replay to not be available. Addresses #31781.
14.4.1​
Released 6/3/2025
Bugfixes:
- Fixed an issue where
cy.session()may fail internally if navigating toabout:blanktakes longer than thedefaultCommandTimeout. Addresses #29496.
Misc:
- The design of commands that display as grouped (such as
.within()andcy.session()) has been updated to provide better clarity when collapsing groups. Addressed in #31739.
Dependency Updates:
- Updated
@sinonjs/fake-timersfrom10.3.0to11.3.1. Addressed in #31746.
14.4.0​
Released 5/20/2025
Features:
@cypress/webpack-dev-serverand@cypress/webpack-batteries-included-preprocessornow ship with webpack-bundle-analyzer as a diagnostic tool to determine bundle statistics, which can be enabled viaDEBUG=cypress-verbose:webpack-dev-server:bundle-analyzer(component tests using webpack) orDEBUG=cypress-verbose:webpack-batteries-included-preprocessor:bundle-analyzer(e2e tests using webpack, which is the default preprocessor), respectively. Addresses #30461.
Bugfixes:
- Fixed an issue where framebusting was occurring when
top.window.locationwas being set explicitly. This fix does not require theexperimentalModifyObstructiveThirdPartyCodeconfiguration option. Addresses #31687. cy.press()now has a return type ofChainable<null>instead ofvoidto match the convention of other commands that yieldnull. Addressed in #31698.- Fixed an issue with the experimental usage of WebKit where Cypress incorrectly displayed
0as the WebKit version. Addresses #31684.
Misc:
- Chrome 137+ no longer supports
--load-extensionin branded Chrome, breaking the@cypress/puppeteerplugin inopenmode and headedrunmode andlaunchOptions.extensions. We recommend using Electron, Chrome for Testing or Chromium to continue using these features. See Cypress Docker image examples for Chrome for Testing and Chromium. Addresses #31702 and #31703. - Cursor is now available as an IDE option for opening files in Cypress, if it is installed on your system. Addressed in #31691.
- The error shown when the
--recordflag is missing has been updated to be shorter. Addressed in #31676.
Dependency Updates:
- Upgraded
@sinonjs/fake-timersfrom8.1.0to10.3.0. Addressed in #31725 and #31737. - Upgraded
trashfrom5.2.0to7.2.0. Addressed in #31667. - Upgraded
webdriverfrom9.11.0to9.14.0. Addressed in #31689.
14.3.3​
Released 5/6/2025
Performance:
- Ensure the previous pausing event handlers are removed before new ones are added. Addressed in #31596.
Bugfixes:
- Fixed an issue where the configuration setting
trashAssetsBeforeRuns=falsewas ignored for assets in thevideosFolder. These assets were incorrectly deleted before running tests withcypress run. Addresses #8280. - Fixed a potential hang condition when
@cypress/grepwould match many files andstdout/stderrwas piped to a file. Fixes #31625. Addressed in #31631. - Fixed a potential hang condition when navigating to
about:blank. Addressed in #31634.
Misc:
- The Assertions menu when you right click in
experimentalStudiotests now displays in dark mode. Addresses #10621. Addressed in #31598. - The URL in the Cypress App no longer displays a white background when the URL is loading. Fixes #31556.
Dependency Updates:
- Downgraded
cli-table3to0.6.1. Addressed in #31631.
14.3.2​
Released 4/22/2025
Bugfixes:
- Fixed an issue where auto scroll in the Cypress Command Log was not scrolling correctly. Fixes #31530.
- Fixed an issue where a message pointing users to the Cypress Cloud was not displaying on runs with failures in CI. Fixes #31550.
14.3.1​
Released 4/17/2025
Performance:
- Reduced the initial timeout for the preflight API request to determine proxy conditions from sixty seconds to five, and made this timeout duration configurable with the
CYPRESS_INITIAL_PREFLIGHT_TIMEOUTenvironment variable. Addresses #28423. Addressed in #31283.
Bugfixes:
- The
cy.press()command no longer errors when used in specs subsequent to the first spec in run mode. Fixes #31466. - Fixed an issue where certain proxy conditions prevented test runs from being recorded. Fixes #31485.
Misc:
- Suppress benign warnings that reference OOM score of renderer. Addresses #29563. Addressed in #31521.
- The UI of the reporter and URL were updated to a darker gray background for better color contrast. Addressed in #31475.
- Fixed an issue where the error message output when attempting to install Cypress on an unsupported architecture included an outdated documentation link to Cypress system requirements. Fixes #31512.
14.3.0​
Released 4/8/2025
Features:
- The
cy.press()command is now available. It supports dispatching native Tab keyboard events to the browser. Addresses #31050. Addresses #299. Addressed in #31398.
Bugfixes:
- Allows for
babel-loaderversion 10 to be a peer dependency of@cypress/webpack-preprocessor. Fixed in #31218. - Fixed an issue where Firefox BiDi was prematurely removing prerequests on pending requests. Fixes #31376.
- Fixed an issue with Electron causing slow animations and increased test times by starting a CDP screencast with a noop configuration. Fixes #30980.
Misc:
- Added an automation command for dispatching key press events to CDP and BiDi automated browsers. Addressed in #31366.
- Updated error message around
injectDocumentDomainremoval to mention a future version of Cypress instead of Cypress 15. Addresses #31373. Addressed in #31375.
Dependency Updates:
- Upgraded
mochafrom7.0.1to7.2.0. Addressed in #31423 and #31432. - Upgraded
webdriverfrom9.7.3to9.11.0. Addressed in #31315. - Upgraded
win-version-infofrom5.0.1to6.0.1. Addressed in #31358.
14.2.1​
Released 3/26/2025
Bugfixes:
- Applies a fix from #30730 and #30099 related to Node.js turning on ESM flags by default in Node.js version
20.19.0. Fixed in #31308. - Fixed an issue where Firefox BiDi was not correctly removing prerequests on expected network request failures. Fixes #31325.
- Fixed an issue in
@cypress/webpack-batteries-included-preprocessorand@cypress/webpack-preprocessorwhere sourceMaps were not being set correctly in TypeScript 5. This should now make error code frames accurate for TypeScript 5 users. Fixes #29614.
Misc:
- The UI above the application under test now displays in dark mode. Addresses #31106. Addressed in #31360.
Dependency Updates:
- Upgraded
@cypress/requestfrom3.0.7to3.0.8. Addressed in #31311. - Upgraded
cross-fetchfrom3.1.8to4.1.0. Addressed in #31327. - Upgraded
micromatchfrom4.0.6to4.0.8. Addressed in #31330. - Upgraded
resolvefrom1.17.0to1.22.10. Addressed in #31333. - Upgraded
semverfrom7.5.3to7.7.1. Addressed in #31341. - Upgraded
systeminformationfrom5.21.7to5.22.8. Addressed in #31281.