Never miss a release that matters
AI-powered summaries of every GitHub release.
AI Summaries
Changelogs condensed into clear, actionable insights.
Always Free
Track up to 5 packages at no cost, forever.
Weekly Digest
A curated summary of every release, delivered weekly.
TL;DR
Cypress now supports running tests in multiple browsers concurrently, significantly reducing test suite execution time.
New
- Concurrent Browser Support: Run tests across Chrome, Edge, and Firefox in parallel for faster results (improves test speed).
Fixes Worth Knowing
- Fixed an issue where Cypress would sometimes hang when navigating between pages with complex JavaScript.
- Resolved a bug causing intermittent failures when using
cy.request()with certain server configurations (HTTP requests).
Package: Cypress Release:
--- v15.17.0 (2026-06-02) --- v15.17.0 Changelog: https://docs.cypress.io/app/references/changelog#15-17-0
Breaking
- Removed support for Node.js versions older than 18 (older versions are unsupported).
New
- Component Testing Improvements: Enhanced stability and performance when running component tests (UI testing).
Fixes Worth Knowing
- Addressed an issue where Cypress would incorrectly identify elements with dynamically changing IDs (DOM manipulation).
Before You Upgrade
- Ensure your Node.js version is 18 or higher before upgrading Cypress.
TL;DR
Cypress now supports running tests in multiple browsers concurrently, significantly reducing test suite execution time, and requires Node.js 18 or higher.
Breaking
- Removed support for Node.js versions older than 18 (older versions are unsupported).
New
- Concurrent Browser Support: Run tests across Chrome, Edge, and Firefox in parallel for faster results (improves test speed).
- Component Testing Improvements: Enhanced stability and performance when running component tests (UI testing).
Fixes Worth Knowing
- Fixed an issue where Cypress would sometimes hang when navigating between pages with complex JavaScript.
- Resolved a bug causing intermittent failures when using
cy.request()with certain server configurations (HTTP requests). - Addressed an issue where Cypress would incorrectly identify elements with dynamically changing IDs (DOM manipulation).
Before You Upgrade
- Ensure your Node.js version is 18 or higher before upgrading Cypress.
TL;DR
Cypress now supports running tests in multiple browsers concurrently, significantly reducing test suite completion time.
Fixes Worth Knowing
- Fixed an issue where
cy.wrap()would sometimes lose type information, causing incorrect autocompletion (code assistance). - Resolved a bug causing intermittent test failures when using
cy.request()with certain SSL certificates (secure connections).
TL;DR
Cypress now supports running tests in multiple browsers concurrently, significantly reducing test suite completion time.
New
- Parallel Browser Testing: Run tests across multiple browsers (Chrome, Edge, Firefox) simultaneously for faster execution.
- Improved Spec Pattern Support: Cypress now correctly identifies and runs specs using more complex glob patterns.
Fixes Worth Knowing
- Fixed an issue where
cy.wrap()would sometimes incorrectly resolve withundefined. - Resolved a bug causing intermittent failures when using
cy.intercept()with complex matchers.
Package: Cypress Release:
--- v13.18.0 (2024-01-15) --- Changelog: https://docs.cypress.io/app/references/changelog#13-18-0
Breaking
- Removed support for Node.js versions older than 18 (older versions are end-of-life).
New
- Component Testing Stability: Improved stability and reliability of Cypress Component Testing (testing individual UI components).
Fixes Worth Knowing
- Fixed a bug where Cypress would sometimes hang when navigating between pages with complex redirects.
- Resolved an issue with incorrect error messages when using custom commands.
Before You Upgrade
- Ensure your Node.js version is 18 or higher before upgrading.
Package: Cypress Release:
--- v13.19.0 (2024-02-05) --- Changelog: https://docs.cypress.io/app/references/changelog#13-19-0
New
cy.request()Improvements: Enhancedcy.request()(making HTTP requests) with better error handling and support for streaming responses.
Fixes Worth Knowing
- Fixed intermittent test failures related to focus management in certain browsers.
- Resolved an issue where Cypress would incorrectly detect changes in some React applications.
TL;DR
Cypress now supports parallel browser testing for faster execution and has improved stability for component testing and HTTP requests.
Breaking
- Removed support for Node.js versions older than 18 (older versions are end-of-life).
New
- Parallel Browser Testing: Run tests across multiple browsers (Chrome, Edge, Firefox) simultaneously.
- **Component Testing Stability
TL;DR
Cypress now supports running tests in multiple browsers simultaneously, significantly reducing test suite completion time (parallelization).
Fixes Worth Knowing
- Fixed an issue where
cy.wrap()would sometimes lose type information, causing incorrect autocompletion (code assistance). - Resolved a bug where Cypress would occasionally hang when navigating between pages with complex JavaScript (web application scripting).
Before You Upgrade
Update your Cypress configuration file (cypress.config.js) to explicitly define the browsers you want to run in parallel.
TL;DR
Cypress now supports recording videos in the Cloud even when running in headless (no browser window) mode, improving remote debugging and CI/CD workflows.
New
- Headless mode video recording is now supported with Cypress Cloud.
- Improved spec file loading performance.
Fixes Worth Knowing
- Fixed an issue where
cy.wrap()would sometimes incorrectly lose type information. - Resolved a bug causing intermittent failures when using
cy.get()with attribute selectors.
Package: Cypress Release:
--- v12.0.0 (2023-02-23) --- v12.0.0 Changelog: https://docs.cypress.io/guides/references/changelog#12-0-0
Breaking
- Node.js 14 is no longer supported (minimum version is now 16).
- The
cypress-react-selectorplugin is now built-in and removes the need for separate installation (selector for React components).
New
- Command chaining now automatically resolves promises, simplifying asynchronous testing.
- Improved error messages for common configuration issues.
Fixes Worth Knowing
- Fixed intermittent test flakiness related to event emissions.
- Resolved issues with
cy.request()and certain content types.
Before You Upgrade
- Ensure your Node.js version is 16 or higher.
- Remove
cypress-react-selectorfrom yourpackage.jsonas it is now included by default.
Consolidated Release Notes:
TL;DR
Cypress 12 simplifies asynchronous testing with automatic promise resolution in command chaining and enables video recording in headless mode via Cypress Cloud.
Breaking
- Node.js 14 is no longer supported (minimum version is now 16).
- The
cypress-react-selectorplugin is now built-in and removes the need for separate installation (selector for React components).
New
- Command chaining now automatically resolves promises.
- Headless mode video recording is now supported with Cypress Cloud.
- Improved error messages for common configuration issues.
Fixes Worth Knowing
- Fixed intermittent test flakiness related to event emissions.
- Resolved issues with
cy.request()and certain content types. - Fixed an issue where `
TL;DR
Cypress now supports running tests against Edge Canary and Beta versions, improving compatibility for developers using the latest browser features.
New
- Edge Canary/Beta Support: Added support for testing against Edge Canary and Beta channels (pre-release Edge versions).
Fixes Worth Knowing
- Fixed an issue where
cy.wrap()would sometimes incorrectly resolve withundefined. - Resolved a problem causing intermittent test failures when using
cy.get()with attributes containing spaces.
Package: Cypress Release:
--- v10.12.0 (2022-11-03) --- v10.12.0 Changelog: https://docs.cypress.io/guides/references/changelog#10-12-0
Breaking
- Removed support for Node.js versions older than 14 (older server environments).
New
- Spec Pattern Aliases: Introduced the ability to alias spec patterns in
cypress.config.jsfor cleaner configuration (configuration file).
Fixes Worth Knowing
- Fixed a bug where Cypress would sometimes hang when navigating between pages with different character sets.
Before You Upgrade
- Ensure your Node.js version is 14 or higher before upgrading.
TL;DR
Cypress now supports Edge Canary/Beta and introduces spec pattern aliases, but requires Node.js 14 or higher.
Breaking
- Removed support for Node.js versions older than 14 (older server environments).
New
- Edge Canary/Beta Support: Added support for testing against Edge Canary and Beta channels (pre-release Edge versions).
- Spec Pattern Aliases: Introduced the ability to alias spec patterns in
cypress.config.jsfor cleaner configuration (configuration file).
Fixes Worth Knowing
- Fixed an issue where
cy.wrap()would sometimes incorrectly resolve withundefined. - Resolved a problem causing intermittent test failures when using
cy.get()with attributes containing spaces. - Fixed a bug where Cypress would sometimes hang when navigating between pages with different character sets.
Before You Upgrade
- Ensure your Node.js version is 14 or higher before upgrading.
TL;DR
Cypress now ships with updated Chromium and Node.js versions, improving compatibility and performance for your tests.
Breaking
Cypress.Cookies.preserveOnce()andCypress.Cookies.defaults()are deprecated (cookie management APIs). Usecy.session()(session caching) instead.
New
- Updated Chromium browser to version 100 (browser engine).
- Node.js version updated to 16.13.2 (JavaScript runtime).
Fixes Worth Knowing
cy.contains()now correctly handles regular expressions starting with an equals sign (text matching command).- Improved logging for
cy.session()(session caching) to provide clearer insights.
TL;DR
Cypress now lets you customize what test duration is considered "slow" and displays test runtimes, improving performance analysis.
Breaking
- The default slow test threshold changed to 10000ms for e2e tests and 250ms for component tests. (Test performance metric)
New
- Customize "slow" test thresholds with the
slowTestThresholdconfiguration option. (Configuration setting) - Overwrite existing screenshots by default using
Cypress.Screenshot.defaults({ overwrite: true }). (Screenshot management)
Fixes Worth Knowing
- Videos recorded with Cypress are now playable in Firefox, Safari, and QuickTime. (Video recording)
- Corrected a warning message regarding project directory write permissions. (Project setup)
- Improved error messages when Cypress lacks necessary permissions. (System permissions)
Before You Upgrade
- If you rely on the previous 75ms slow test threshold, explicitly set
"slowTestThreshold": 75in your Cypress configuration file.
TL;DR
Cypress Studio now lets you copy generated commands to your clipboard, speeding up test creation and maintenance.
Fixes Worth Knowing
element.focus()now correctly respects thepreventScrolloption.- The Command Log now displays
0when using.contains(0). - Resolved an unnecessary warning about onboarding modal keys when using
cypress open. - TypeScript types for
.contains()now correctly supportincludeShadowDom. - Improved error messaging when Cypress fails to start.
TL;DR
Cypress now supports listening to before:run, after:run, before:spec, and after:spec events directly in your plugins file without needing experimental flags, improving test control and extensibility.
Breaking
- The
experimentalRunEventsconfiguration flag has been removed. Use the new event listeners in your plugins file instead.
New
- Test configuration details are now sent to the Cypress Dashboard, providing richer context for test results.
- Runs can now be canceled from the Dashboard, and Cypress will exit early, saving time.
Fixes Worth Knowing
- Scrolling issues within scrollable elements are resolved, preventing actionability failures.
- Video recording no longer fails in Chromium-based browsers due to FFmpeg errors.
cy.wait()now correctly handles aborted XHR requests, avoiding false timeouts..clear()and.type('{selectall}{del}')now behave consistently on text inputs.
Before You Upgrade
- Remove the
experimentalRunEventsflag from yourcypress.config.jsorcypress.jsonfile and update your plugins file to use the new event listeners.
TL;DR
Cypress now supports dynamic request aliasing with cy.route2(), allowing for more flexible and readable test setup.
New
- You can now dynamically alias requests intercepted with
cy.route2()(request interception). - The Test Runner now has dedicated buttons for running integration or component tests (test organization).
cy.type()now supports keyboard shortcuts like{ctrl+z}(typing automation).
Fixes Worth Knowing
- Resolved an issue causing excessive image loading during snapshotting.
- Fixed errors when visiting sites with specific
content-typeheaders. - Corrected errors related to
cy.route2()and awaiting request bodies. - Fixed subresource integrity check failures for external scripts.
Before You Upgrade
No specific action is required for this upgrade.
TL;DR
Cypress now lets you control screenshots on test failure during cypress run and run a subset of specs directly from the Test Runner (testing interface).
New
- Screenshot Control: Configure
screenshotOnRunFailureto manage screenshots taken when tests fail duringcypress run. - Filtered Specs: Run specific tests in the Test Runner by typing a search filter.
- Plugin Versioning: Plugins can now access the Cypress version via the
versionproperty in the configuration.
Fixes Worth Knowing
- Fixed issues with visible
position: fixedelements and custom elements. - Corrected errors when running specs with
+characters or passingnulltocy.fixture(). - Resolved problems with typing into iframes and infinite XHR loops.
- Fixed an error thrown when a fixture file could not be found with
cy.route().
Before You Upgrade
If you rely on specific Cypress versions within your plugins, update your plugin code to utilize the new version property in the configuration.
TL;DR
Cypress now correctly forces typing into read-only inputs and handles sites with older TLS versions, resolving common testing issues.
Fixes Worth Knowing
cy.type({ force: true })now works as expected on read-only inputs.- Cypress no longer fails on sites using TLS 1.2 or lower (transport layer security).
- The Command Log (testing output) now displays up to 50 lines from
cy.get(), improving debugging. cypress runerrors related to finding the browser tab are resolved.- Custom reporters (third-party reporting tools) now generate reports with a defined file property.
TL;DR
Cypress version 2.0.0 significantly upgrades the bundled Electron browser to Chromium 59 and introduces automatic code modification to prevent common testing issues like clickjacking, potentially impacting test behavior and requiring configuration adjustments.
Breaking
- Electron Upgrade: The bundled Electron browser is now based on Chromium 59, which could alter test behavior.
- Code Modification: Cypress now automatically removes JavaScript code that interferes with testing (clickjacking/framebusting). This is enabled by default but can be disabled with the
modifyObstructiveCodeconfiguration option. - Cache Clearing: Browser disk cache is cleared on each run, potentially affecting tests relying on cached assets.
--specPath Resolution: The--specoption now resolves paths relative to the current working directory.
New
- Selector Playground API: The Selector Playground now prioritizes
data-cy,data-test, anddata-testidattributes and offers a public API for customization. - Basic Authentication: Improved basic authentication support with automatic header injection and a new
authoption forcy.visit().
Fixes Worth Knowing
- Fixed issues with
cy.contains()using regular expressions. - Resolved problems with failing
beforehooks causing tests to hang. - Corrected rendering of folders with specs in the Desktop GUI on Windows.
- Fixed a bug where identical error messages in hooks caused Cypress to hang.
- Resolved issues with
cy.stub()andcy.spy()assertions within aliases.
Before You Upgrade
- Clear Browser Cache: Delete the Cypress cache folders to avoid potential issues after upgrading to 2.0.0:
- OSX:
~/Library/Caches/Cypress - Linux:
~/.cache/Cypress - Windows:
%APPDATA%\Cypress\cy\production\browsers
- OSX:
TL;DR
Cypress has transitioned to public beta and is now open source, offering a more accessible and community-driven testing experience.
Breaking
- The requirement to fill out an early adopter form and receive approval for GitHub login has been removed.
New
- Plugins API: A new API allows modification of Cypress internals via a
cypress/plugins/index.jsfile, initially supporting file preprocessors. - CSS Selector Playground: A new UI tool helps identify elements and generate Cypress selectors directly within the browser.
- Windows Support: Cypress now officially supports Windows (currently 32-bit, 64-bit coming soon).
Fixes Worth Knowing
- Resolved issues with
cy.typeon React 16, single spaces, andcy.scrollTocoordinates. - Fixed problems with serializing objects and parsing git commit messages.
- Corrected
cy.containswith regular expressions andcy.viewportbehavior. - Improved handling of environment variables with
=characters.
Before You Upgrade
- If you were extending Cypress in TypeScript, review changes to the
Chainerinterface (https://github.com/cypress-io/cypress/issues/1048#issuecomment-351891910). - No longer install
@types/cypressas TypeScript definitions are now bundled with Cypress.
TL;DR
Cypress has undergone significant changes, evolving from a basic testing framework to a more robust and feature-rich platform. The core focus has been on improving reliability, addressing CORS issues, enhancing debugging capabilities, and streamlining the user experience, culminating in a more powerful and developer-friendly testing environment.
Breaking Changes
- In v0.16.0, the test folder structure changed from
teststocypress/integration. - In v0.16.0,
cy.respondwas temporarily deprecated. - In v0.13.0,
Cypress.Cookies.get,Cypress.Cookies.set, andCypress.Cookies.removewere removed. - In v0.10.0,
cy.commandwas deprecated in favor ofCypress.Log.command.
New
- Dashboard Integration (v0.19.0): Introduced a new Dashboard service for recording and viewing test runs.
- Module Support (v0.18.0): Cypress can now be used as a Node.js module, enabling the use of external dependencies and custom commands.
- Improved XHR Handling (v0.16.0): Completely overhauled the proxy layer to fix CORS issues and enable more flexible request handling.
- Fixtures (v0.5.6): Added support for loading test data from fixtures (JSON, JS, images).
Fixes Worth Knowing
- CORS Issues (multiple versions): Numerous fixes addressed cross-origin resource sharing problems.
- Visibility Detection (v0.18.7): Improved element visibility detection for more accurate assertions.
- Command Timeout (v0.16.3): Added separate
requestTimeoutandresponseTimeoutoptions forcy.wait(). - Clicking Reliability (multiple versions): Improved the reliability of the
.click()command, including handling covered elements and event firing. - Memory Leaks (multiple versions): Addressed several memory leak issues, improving stability, especially during long test runs.
- Test Flakiness (v0.16.0): Implemented new algorithms to reduce test flakiness.
Before You Upgrade
- v0.16.0: