Changelog
14.0.1​
Released 1/28/2025
Bugfixes:
- Fixed an issue where Cypress would incorrectly navigate to
about:blank
when test isolation was disabled and the last test would fail and then retry. Fixes #28527. - Fixed a regression introduced in
14.0.0
where an element would not return the correct visibility if its offset parent was within the clipping element. Fixes #30922. - Fixed a regression introduced in
14.0.0
where the incorrect visiblity would be returned when eitheroverflow-x
oroverflow-y
was visible but the other one was clipping. Fixed in #30934. - Fixed an issue where an
option
element would not return the correct visibility if its parent element has a clipping overflow. Fixed in #30934. - Fixed an issue where non-HTMLElement(s) may fail during assertions. Fixes #30944.
Misc:
- Corrected the broken documentation links displayed in Cypress 14.0.0. Addresses #30951. Addressed in #30953.
- Benign Mesa/GLX related warnings are now hidden in the terminal output when running Cypress in certain Linux environments or containers. Addresses #29521 and #29554.
14.0.0​
Released 1/16/2025
Summary:
Cypress v14.0.0 improves performance of component testing and adds support for new framework and dev server versions.
v14.0.0 also includes breaking changes to cy.origin
that are necessary to handle
Chrome's deprecation of document.domain
injection, which should fix issues for some users in recent Chrome versions. Support for older versions of Node.js, Linux distributions, browsers and component testing frameworks and dev servers is removed.
Overall, we don't anticipate this release to be too disruptive for most users. We recommend bumping your version to see if your tests still run as expected. As always, open any issues you find here.
Breaking Changes:
Refer to the v14 Migration Guide for help migrating your code.
- Removed support for Node.js 16 and Node.js 21. Addresses #29930.
- Upgraded bundled Node.js version from
18.17.0
to20.18.1
. Addresses #29547. - Prebuilt binaries for Linux are no longer compatible with Linux distributions based on glibc
<2.28
, for example: Ubuntu 14-18, RHEL 7, CentOS 7, Amazon Linux 2. Addresses #29601. - Cypress now only officially supports the latest 3 major versions of Chrome, Firefox, and Edge - older browser versions may still work, but we recommend keeping your browsers up to date to ensure compatibility with Cypress. A warning will no longer be displayed on browser selection in the Launchpad for any 'unsupported' browser versions. Additionally, the undocumented
minSupportedVersion
property has been removed fromCypress.browser
. Addressed in #30462. - The
cy.origin()
command must now be used when navigating between subdomains. Because this is a fairly disruptive change for users who frequently navigate between subdomains, a new configuration option is being introduced.injectDocumentDomain
can be set totrue
in order to re-enable the injection ofdocument.domain
setters in Cypress. This configuration option is marked as deprecated and you'll receive a warning when Cypress is launched with this option set totrue
. It will be removed in Cypress 15. Addressed in #30770. - The
experimentalSkipDomainInjection
configuration has been removed and replaced with aninjectDocumentDomain
configuration. Addressed in #30770. - It is no longer possible to make a
fetch
orXMLHttpRequest
request from theabout:blank
page in Electron (i.e.cy.window().then((win) => win.fetch('<some-url>'))
). You must usecy.request
instead or perform some form of initial navigation viacy.visit()
. Addressed in #30394. - The
experimentalJustInTimeCompile
configuration option for component testing has been replaced with ajustInTimeCompile
option that istrue
by default. This option will only compile resources directly related to your spec, compiling them 'just-in-time' before spec execution. This should result in improved memory management and performance for component tests incypress open
andcypress run
modes, in particular for large component testing suites.justInTimeCompile
is now only supported forwebpack
. Addresses #30234. Addressed in #30641. - Cypress Component Testing no longer supports:
create-react-app
. Addresses #30028.@vue/cli-service
. Addresses #30481.Angular
versions 13, 14, 15, and 16. The minimum supported version is now17.2.0
in order to fully support Angular signals. Addresses #29582. Addressed in #30539.Next.js
versions 10, 11, 12, and 13. Addresses #29583.Nuxt.js
version 2. Addresses #30468.React
versions 16 and 17. Addresses #29607.Svelte
versions 3 and 4. Addresses #30492 and #30692.Vue
version 2. Addresses #30295.
- The
cypress/react18
test harness is no longer included in the Cypress binary. Instead, React 18 support is now shipped withcypress/react
! Addresses #29607. - The
cypress/angular-signals
test harness is no longer included in the Cypress binary. Instead, signals support is now shipped withcypress/angular
! This requiresrxjs
to be installed as apeerDependency
. Addresses #29606. - The Cypress configuration wizard for Component Testing supports TypeScript 4.0 or greater. Addresses #30493.
@cypress/webpack-dev-server
no longer supportswebpack-dev-server
version 3. Additionally,@cypress/webpack-dev-server
now ships withwebpack-dev-server
version 5 by default.webpack-dev-server
version 4 will need to be installed alongside Cypress if you are still usingwebpack
version 4. Addresses #29308, #30347, and #30141.@cypress/vite-dev-server
no longer supportsvite
versions 2 and 3. Addresses #29377 and #29378.- The
delayMs
option ofcy.intercept()
has been removed. This option was deprecated in Cypress 6.4.0. Please use thedelay
option instead. Addressed in #30463. - The
experimentalFetchPolyfill
configuration option was removed. This option was deprecated in Cypress 6.0.0. We recommend usingcy.intercept()
for handling fetch requests. Addressed in #30466. - We removed yielding the second argument of
before:browser:launch
as an array of browser arguments. This behavior has been deprecated since Cypress 4.0.0. Addressed in #30460. - The
cypress open-ct
andcypress run-ct
CLI commands were removed. Please usecypress open --component
orcypress run --component
respectively instead. Addressed in #30456 - The undocumented methods
Cypress.backend('firefox:force:gc')
andCypress.backend('log:memory:pressure')
were removed. Addresses #30222.
Deprecations:
- The
resourceType
option oncy.intercept
has been deprecated. We anticipate the resource types to change or be completely removed in the future. Our intention is to replace essential functionality dependent on theresourceType
within Cypress in a future version (like hiding network logs that are not fetch/xhr). Please leave feedback on any essential uses ofresourceType
in this GitHub issue. Addresses #30433. - The new
injectDocumentDomain
configuration option is released as deprecated. It will be removed in Cypress 15. Addressed in #30770.
Features:
injectDocumentDomain
, a new configuration option, can be set totrue
in order to re-enable the injection ofdocument.domain
setters in Cypress. Addressed in #30770.- Cypress Component Testing now supports:
React
version 19. Addresses #29470.Angular
version 19. Addresses #30175.Next.js
version >=15.0.4. Versions 15.0.0 - 15.0.3 depend on the React 19 Release Candidate and are not officially supported by Cypress, but should still work. Addresses #30445.Svelte
version 5. Addresses #29641.Vite
version 6. Addresses #30591.
Bugfixes:
- Elements with
display: contents
will no longer use box model calculations for visibility, and correctly show as visible when they are visible. Fixed in #29680. Fixes #29605. - Fixed a visibility issue when the element is positioned
static
orrelative
and the element's offset parent is positionedabsolute
, a descendent of the ancestor, and has no clippable overflow. Fixed in #29689. Fixes #28638. - Fixed a visibility issue for elements with
textContent
but without a width or height. Fixed in #29688. Fixes #29687. - Elements whose parent elements has
overflow: clip
and no height/width will now correctly show as hidden. Fixed in #29778. Fixes #23852. - The CSS pseudo-class
:dir()
is now supported when testing in Electron. Addresses #29766. - Fixed an issue where the spec filename was not updating correctly when changing specs in
open
mode. Fixes #30852. cy.origin()
now correctly errors when thecy.window()
,cy.document()
,cy.title()
,cy.url()
,cy.location()
,cy.hash()
,cy.go()
,cy.reload()
, andcy.scrollTo()
commands are used outside of thecy.origin()
command after the AUT has navigated away from the primary origin. Fixes #30848. Fixed in #30858.
Misc:
- Removed some component testing API stubs that were removed in Cypress v11.0.0. Addressed in #30696. Addresses #30623.
Dependency Updates:
- Upgraded
electron
from27.3.10
to33.2.1
. Addresses #29547 and #30561. - Upgraded
@electron/rebuild
from3.2.10
to3.7.1
. Addresses #28766 and #30632. - Upgraded bundled Chromium version from
118.0.5993.159
to130.0.6723.137
. Addresses #29547 and #30561. - Updated
jQuery
from3.4.1
to3.7.1
. Addressed in #30345. - Updated
react
from17.0.2
to18.3.1
andreact-dom
from17.0.2
to18.3.1
. Addresses #30511. - Upgraded
@vue/test-utils
from2.3.2
to2.4.6
. Addresses #26628.
13.17.0​
Released 12/17/2024
Features:
- Added official support for the Google Chrome for Testing browser. Assuming the browser is in a location where it can be auto-detected, it can be launched by providing the
--browser chrome-for-testing
option. If it can't be auto-detected, the path to the browser can also be provided. Previously customizing the available browsers was required. Addresses #28123 and #28554.
Bugfixes:
- Fixed an issue where targets may hang if
Network.enable
is not implemented for the target. Addresses #29876. - Updated Firefox
userChrome.css
to correctly hide the toolbox during headless mode. Addresses #30721. - Fixed an issue loading the
cypress.config.ts
file with Node.js version22.12.0
if it is loaded as an ESM. Addresses #30715.
Misc:
- Removed a comment from the scaffolded
supportFile
for component tests around CommonJS syntax. Addresses #23287.
Dependency Updates:
- Updated
chai
from4.2.0
to4.5.0
. Addressed in #30737.
13.16.1​
Released 12/04/2024
Bugfixes:
- During recorded or parallel runs, execution will fail if Cypress is unable to confirm the creation of an instance instead of skipping the spec. Addresses #30628.
13.16.0​
Released 11/19/2024
Features:
- Added new
defaultBrowser
configuration option to specify the default browser to launch. This option only affects the first browser launch; changing this option after the browser is already launched will have no effect. Addresses #6646.
Bugfixes:
- Fixed an issue where some JS assets were not properly getting sourcemaps included with the vite dev server if they had a cache busting query parameter in the URL. Fixed some scenarios to ensure that the sourcemaps that were included by the vite dev server were inlined. Addressed in #30606.
Misc:
- Updated the protocol to be able to flex logic based on project config. Addresses #30560.
13.15.2​
13.15.2​
Released 11/5/2024
Bugfixes:
- Fixed an issue where the Cypress runner could hang in
after
orafterEach
hooks that run Cypress commands after a page load timeout error occurs. Addresses #30238.
Misc:
- Fixed a typo in CLI
global
option help text. Addresses #30531.
Dependency Updates:
- Updated
mobx
from5.15.4
to6.13.5
andmobx-react
from6.1.8
to9.1.1
. Addresses #30509. - Updated
@cypress/request
from3.0.4
to3.0.6
. Addressed in #30488.
13.15.1​
Released 10/24/2024
Bugfixes:
- Patched find-process to fix an issue where trying to clean up browser profiles can throw an error on Windows. Addresses #30378.
- Fixed an issue where requests to the same resource in rapid succession may not have the appropriate static response intercept applied if there are multiple intercepts that apply for that resource. Addresses #30375.
Misc:
- Cypress now consumes geckodriver to help automate the Firefox browser instead of marionette-client. Addresses #30217.
- Cypress now consumes webdriver to help automate the Firefox browser and firefox-profile to create a firefox profile and convert it to Base64 to save user screen preferences via
xulstore.json
. Addresses #30300 and #30301. - Spec information is now passed to protocol's
beforeSpec
to improve troubleshooting when reporting on errors. Addressed in #30316.
Dependency Updates:
- Updated
simple-git
from3.16.0
to3.25.0
. Addressed in #30076.
13.15.0​
Released 9/25/2024
Features:
- Cypress now displays more actionable errors when a Test Replay upload takes too long, and more verbose messages when uncategorized errors occur during the upload process. Addressed in #30235.
Bugfixes:
- Fixed an issue where Firefox was incorrectly mutating the state of click events on checkboxes after Firefox version
129
and up. Addressed in #30245. - Fixed a regression introduced in 13.13.0 where 'Open in IDE' would not work for filepaths containing spaces and various other characters on Windows. Addresses #29820.
Misc:
- Pass along the related log to the
createSnapshot
function for protocol usage. Addressed in #30244.
Dependency Updates:
- Update
@cypress/request
from3.0.1
to3.0.4
. Addressed in #30194. - Updated
express
from4.19.2
to4.21.0
. This removes the CVE-2024-43796, CVE-2024-45590, and CVE-2024-43800 vulnerabilities being reported in security scans. Addresses #30241. - Update
launch-editor
from2.8.0
to2.9.1
. Addressed in #30247. - Updated
loader-utils
from1.4.0
to1.4.2
. This removes the CVE-2022-37601 vulnerability being reported in security scans. Addresses #28208. - Updated
send
from0.17.1
to0.19.0
. This removes the CVE-2024-43799 vulnerability being reported in security scans. Addressed in #30241.
13.14.2​
Released 9/4/2024
Bugfixes:
- Fixed an issue where Cypress could crash with a
WebSocket Connection Closed
error. Fixes #30100. - Fixed an issue where
cy.screenshot()
was timing out and Cypress was failing to start due toGLib-GIO-ERROR
error. Reverts #30109, the change to allow HiDPI screen for Wayland users. Fixes #30172 and #30160.
13.14.1​
Released 8/29/2024
Bugfixes:
- Fixed an issue where no description was available for the
experimentalJustInTimeCompile
feature inside the Cypress application settings page. Addresses #30126.
13.14.0​
Released 8/27/2024
Performance:
- Fixed a potential memory leak in the Cypress server when re-connecting to an unintentionally disconnected CDP connection. Fixes #29744. Addressed in #29988.
Features:
- Added new
experimentalJustInTimeCompile
configuration option for component testing. This option will only compile resources directly related to your spec, compiling them 'just-in-time' before spec execution. This should result in improved memory management and performance for component tests incypress open
andcypress run
modes, in particular for large component testing suites.experimentalJustInTimeCompile
is currently supported forwebpack
andvite
. Addresses #29244. .type({upArrow})
and.type({downArrow})
now also works for date, month, week, time, datetime-local and range input types. Addresses #29665.- Added a
CYPRESS_SKIP_VERIFY
flag to enable suppressing Cypress verification checks. Addresses #22243. - Updated the protocol to allow making Cloud API requests. Addressed in #30066.
- Passing
--browser
flag alone will automatically launch browser after being guided through project and/or testing type selection. Addressed in #28538.
Bugfixes:
- Fixed an issue where files outside the Cypress project directory were not calculating the bundle output path correctly for the
file:preprocessor
. Addresses #8599. - Fixed an issue where Cypress would not run if Node.js version
22.7.0
was being used with TypeScript and ES Modules. Fixes #30084. - Correctly determines current browser family when choosing between
unload
andpagehide
options in App Runner. Fixes #29880.
Misc:
- Allow HiDPI screen running Wayland to use Cypress window/browser by adding
--ozone-platform-hint=auto
flag to Electron's runtime argument. Addresses #20891.
Dependency Updates:
- Updated
detect-port
from1.3.0
to1.6.1
. Addressed in #30038.
13.13.3​
Released 8/14/2024
Bugfixes:
- A console error will no longer display in Chrome about a deprecated unload call originating from jQuery. Addressed in #29944.
- Fixed an issue where certain Test Replay upload error messages were too vague. Connection failures now report the precise system error, and the stall error message is reported rather than the vague, "The user aborted a request." Addressed in #29959.
Misc:
- Updated
cypress open
hints displayed after Cypress binary install. Addresses #29935.
Dependency Updates:
- Updated
image-size
from0.8.3
to1.1.1
. Addressed in #30023.