Changelog History
Page 4
-
v4.4.0 Changes
April 13, 2020๐ Released 4/13/2020
๐ Features:
- โ TypeScript test files are now supported without using special preprocessors plugins. Addresses #1859.
๐ Bugfixes:
- โ
We fixed an issue where Cypress could crash with a
This socket has been ended by the other party
error when testing applications that make use of WebSockets. Fixes #6458. - โ Uncaught errors thrown from within application or test code now display their proper stack trace. Fixes #6964.
- ๐ Assertion errors now include a stack trace that includes the calling code. Fixes #6969.
- ๐ฏ We now clone the
options
object passed into Cypress commands so that they're not mutated and receive the properoptions
. Fixes #3171. - ๐ We fixed an issue where invalid
Set-Cookie
values could cause requests to fail with acannot read property key of undefined
error. Now, invalidSet-Cookie
values will be ignored. Fixes #6890.
Misc:
- ๐ฒ Cypress no longer hides output from
cypress --version
,cypress version
,cypress cache path
, orcypress cache list
commands when npm log level issilent
orwarn
. Addresses #2705. - The
cy.task()
error message is now more specific about the promise resolution value required. Addresses #6241.
โก๏ธ Dependency Updates:
- โฌ๏ธ Upgraded
http-proxy
from1.17.0
to1.18.0
. Addressed in #6934.
-
v4.3.0 Changes
March 30, 2020๐ Released 3/30/2020
๐ Features:
- ๐ Errors shown in the Test Runner have a new design including an expandable stack trace, better highlighting of code elements, and 'Learn more' links that link to relevant Cypress documentation. This is part of our larger improvements to error display with more exciting features to come. Addresses #3762.
- When you open a Cypress project, clicking on the Settings tab and clicking into the Experiments panel will display the experimental features that are available and whether they are enabled for your project.
- โ Added support for setting cookie
sameSite
values viacy.setCookie()
. Addresses #2437. - โ Added experimental support for adding
sameSite
values to the objects yielded fromcy.setCookie()
,cy.getCookie()
, andcy.getCookies()
. Users can enable this by setting theexperimentalGetCookiesSameSite
configuration value totrue
. In Cypress 5, this will be the default. Addresses #2437. - โ Added support for the
SameSite
cookie attribute incy.request()
,cy.visit()
, and proxied HTTP requests. Addresses #6757. - When an assertion is retried (using
.should()
) and fails, it now shows the diff in thestdout
. Addresses #6722.
๐ Bugfixes:
- ๐ Fixed a regression in 4.2.0 where cypress installation could fail if Git is not installed. Fixes #6752.
- ๐ Fixed a regression in 3.5.0 where certain HTTP requests could fail with
Parse Error: Invalid header value char
orParse Error: Header overflow
. Fixes #5602. - ๐ Fixed a regression in 4.2.0 where Electron deprecation warnings were printed to stderr in open mode. Fixes #6750.
- โ
Cookies set with a Domain containing an unknown TLD are now sent along for all requests. For example, a cookie like
foo=bar; Domain=.cypress.test
will now be sent during cy.request() tohttp://local.cypress.test
. Fixes #6628. - ๐ We fixed a situation where a cross-origin errors could incorrectly throw in Chrome. Fixes #5270.
- ๐ Visibility checks against
vue-fragment
elements no longer throw an unexpected error. Fixes #6745. - โ
The stack trace is now properly shown in the console when clicking the command for tests having an
.only
that throw an error. Fixes #6744. - ๐
firefoxGcInterval
can now correctly be set tonull
. Fixes #6825. - Cypress will no longer crash the process if an empty video chunk is received. Addressed in #6818.
- ๐ Assertions failures on DOM elements no longer show unexpected diffs when they weren't retried. Fixes #6723.
Misc:
- ๐ Security warnings no longer show in Mac OS when opening Cypress since our application now undergoes notarization from Apple. Addresses #5791.
- โช The previously used spec filter in the Test Runner is now saved and restored for projects without an ID. Addresses #6739.
- ๐ We collect more env information from Travis builds for potential use in the Cypress Dashboard. Addresses #6808.
- ๐ We now collect env information from Netlify builds (for example when using {% url "cypress-io/netlify-plugin-cypress" https://github.com/cypress-io/netlify-plugin-cypress) to send along to the Cypress Dashboard. Addresses #6780.
- Type added for
tag
property when using Module API. Addresses #6795. - We're continuing to make progress in converting our codebase from CoffeeScript to JavaScript. Addresses #2690 in #6833.
โก๏ธ Dependency Updates
- โฌ๏ธ Upgraded Chrome browser version used during
cypress run
and when selecting Electron browser incypress open
from80.0.3987.141
to80.0.3987.158
. Addressed in #6855. - โฌ๏ธ Upgraded
electron
from8.1.1
to8.2.0
. This bumps the bundled Chromium to80.0.3987.158
. Addressed in #6855. - โฌ๏ธ Upgraded
@benmalka/foxdriver
from0.2.3
to0.3.0
. Addressed in #6592. - โฌ๏ธ Upgraded
@cypress/get-windows-proxy
from1.6.0
to1.6.1
. Addressed in #6823. - โฌ๏ธ Upgraded
execa
from1.0.0
to4.0.0
. Addressed in #6013. - โฌ๏ธ Upgraded
extract-zip
from1.6.7
to1.7.0
. Addresses #6845 in #6845. - โฌ๏ธ Upgraded
firefox-profile
from1.3.0
to1.3.1
. Addressed in #6594. - โฌ๏ธ Upgraded
get-port
from5.1.0
to5.1.1
. Addressed in #6854. - โฌ๏ธ Upgraded
mime
from1.6.0
to2.4.4
. Addressed in #6764. - โฌ๏ธ Upgraded
minimist
from1.2.2
to1.2.5
. Addressed in #6747. - โฌ๏ธ Upgraded
squirrelly
from7.7.0
to7.9.2
. Addressed in #6735.
-
v4.2.0 Changes
March 16, 2020๐ Released 3/16/2020
๐ Features:
- Videos can now be recorded when running Electron in
--headed
mode. Addresses #1767. - ๐จ
cypress cache list
now prints the last time the cached binary was accessed for each version present. Addresses #6682.
๐ Bugfixes:
- ๐ We fixed a regression in 3.8.3 where HTTPS requests could experience slowdown. Fixes #6659.
- ๐ We now detect some installations of Firefox that were previously undetected. Fixes #6669.
- ๐ We fixed a race condition where an asynchronous error could fail to be caught when running the plugins file process. Fixes #6570.
- ๐ We now more thoroughly ensure the parent of an element exists when recursively calling actionability checks in order to prevent some maximum call stack errors. Fixes #6707.
- ๐ Specfiles containing
&
or%
characters now correctly run instead of erroring. Fixes #4210. - โ We added support for running tests on Jira plugins even when Jira scripts were not minified. Fixes #1436.
- โ
We fixed a bug causing specs to hang after rerunning tests during
cypress open
when there was an exception if thrown in anafter
hook. Fixes #6619. - ๐จ
cypress verify
no longer incorrectly prints messaging about this being the first time using that Cypress version. Fixes #6607. - ๐ Screenshots no longer fail to be taken in Electron when Cypress
DEBUG
logs are enabled. Fixes #6662.
Misc:
- A warning is now printed when setting the reserved key
CYPRESS_INTERNAL_ENV
to a non-production value. Addresses #6436. - ๐ When DEBUG logs are printed from
cypress:launcher
, they now print a clearer log during browser detection for easier reading. Addresses #6700. - โ The Test Runner now renders ANSI colors when there is a syntax error in the spec file. Addresses #6533.
- โ The Test Runner now has an icon indicating whether the specs list parent folder is collapsed. Addresses #6277.
- ๐ There's better type information for
.click
,.dblclick
, and.rightclick
command'sposition
argument. Addresses #6341. - There's a more robust type signature for
.its()
and.invoke()
. Addresses #6431. - Using
Cypress.dom.isDetached
no longer throws a type error in TypeScript projects. Addresses #4408. - ๐ฒ Using
cy.clearLocalStorage({ log:false })
no longer throws a type error in TypeScript projects. Addresses #6615. - We added types for
Cypress.sinon
. Addresses #6720. - โ We've added the foundational work required to support experimental features in the Test Runner. Addresses #6257.
โก๏ธ Dependency Updates
- โฌ๏ธ Upgraded Chrome browser version used during
cypress run
and when selecting Electron browser incypress open
from78
to80
. Addressed in #6555. - โฌ๏ธ Upgraded
electron
from7.1.13
to8.1.1
. This bumps the bundled Chromium to 80.0.3987.141 and the bundled Node to 12.13.0. Addressed in #6555. - โฌ๏ธ Upgraded
@ffmpeg-installer/ffmpeg
from1.0.19
to1.0.20
. Addressed in #6686. - โฌ๏ธ Upgraded
minimist
from1.2.0
to1.2.2
. Addressed in #6726. - ๐ Replaced deprecated
request
withcypress-io/request
. Addressed in #6679.
- Videos can now be recorded when running Electron in
-
v4.1.0 Changes
February 28, 2020๐ Released 2/28/2020
๐ Features:
- ๐ There is a new
cypress info
command to see the locally detected browsers and other information related to Cypress. Addresses #4540. - โ You can now click a 'Try Again' button to recheck if the server at the designated
baseUrl
is running within the warning message duringcypress open
. Addresses #3284. - โ There are "collapse all" and "expand all" links in the Test Runner's "Tests" tab to collapse or expand all folders within the "Integration Tests". Addresses #6282.
- ๐ง The plugins file function's
config
argument now includesprojectRoot
(absolute path to the root of the project) andconfigFile
(absolute path to the configuration file). Addresses #5941.
๐ Bugfixes:
- ๐ Fixed a regression where Cypress could throw a "Maximum call stack size exceeded" error when transmitting a circular object over the internal WebSocket. Fixes #6582.
- ๐ป We fixed an issue where using Chromium-family browsers could cause Cypress to throw a "WebSocket is not open: readyState 3" error under certain conditions. Fixes #5685.
- ๐ We now more thoroughly ensure the parent of an element exists when recursively calling visibility and existence checks in order to prevent some maximum call stack errors. Fixes #4373.
- ๐ We fixed an issue where a maximum call stack error would throw in some circumstances when
xhr.onreadystatechange
is accessed. Fixes #5864. - ๐ We fixed a regression in 3.5.0 where typing into an iframe with a body element with the contenteditable attribute would throw an error. Fixes #5930.
- 0๏ธโฃ We now set the default window size when running Chrome headlessly to 1280x720. Fixes #6210.
- ๐ We fixed an issue where
cypress install
would not complete on Node.js 8.0.0. Fixes #6512 and #6568. - ๐ {% url "
cy.clearLocalStorage()
" clearlocalstorage now properly accepts thelog
option to disable logging. Fixes #6342.
Misc:
- โก๏ธ The error messages displayed when rerouting to a non same-origin domain has been updated to more accurately reflect the rules around same-origin policy. Addresses #6048.
- ๐ป We fixed an error message that would display the wrong available browser families during validation. Addressed in #6517.
- โ๏ธ We fixed some typos in some of our error messages. Addressed in #6508.
- We're collecting more environment variables when running Cypress with GitLab CI. Addresses #6231.
- โก๏ธ The typing of
cy.$$
has been updated to distinguish differences between it andCypress.$
. "More info here" $#Cypress-vs-cy Addresses #2027. - We're continuing to make progress in converting our codebase from CoffeeScript to JavaScript. Addresses #2690 in #6552, #6523, and #6545.
โก๏ธ Dependency Updates
- โฌ๏ธ Upgraded
electron
from7.1.10
to7.1.13
. Addressed in #6566.
- ๐ There is a new
-
v4.0.2 Changes
February 14, 2020๐ Released 2/14/2020
๐ Bugfixes:
- ๐ Fixed a bug where Firefox tests could fail to run on macOS if another instance of Firefox was open. Addresses #6380.
- โก๏ธ Updated
@cypress/browserify-preprocessor
to2.1.4
, fixing a regression involving non-top-levelrequire()
s in tests. Addresses #6403. - ๐ Fixed a bug where re-running a failed workflow in GitHub Actions would not generate a new Dashboard run. Addresses #6450.
- ๐ Fixed incorrect type definitions for
Cypress.isBrowser
. Addresses #6447. - ๐ Fixed a regression introduced in 4.0.0 where using
.should('contain', ...)
on acy.contains()
would produce unexpected results. Addresses #6384.
Misc:
-
v4.0.1 Changes
February 08, 2020๐ Released 2/7/2020
๐ Bugfixes:
- ๐ Fixed a bug where Chromium could not be detected on macOS. Addresses #6358.
- ๐ Fixed bugs where Edge and Firefox Nightly could not be detected on macOS. Addresses #6354 and #6345.
- ๐ Fixed a bug where 64-bit editions of Firefox could not be detected on Windows. Addresses #6355.
- ๐ Fixed a bug where video recordings of Firefox would omit all frames from before the last cross-domain navigation of the test. Addresses #6369.
- ๐ Fixed a bug where Cypress could crash with the message "cannot read property 'on' of undefined" while running Firefox. Addresses #6356.
- ๐ Corrected a link to the screenshot API documentation in the type definitions. Addresses #6359.
Misc:
- โก๏ธ Updated the default preferences set on Firefox to hide update notifications and otherwise improve the Firefox experience. Addresses #6346.
-
v4.0.0 Changes
February 06, 2020๐ Released 2/6/2020
Summary:
โก๏ธ Cypress 4.0.0 includes support for Mozilla Firefox browsers (beta support) and Microsoft Edge (Chromium based) browsers which is a big step forward for Cross Browser Testing in Cypress. We've also updated many of the underlying tools behind Cypress that bring new powerful features.
๐ฅ Breaking Changes:
๐ฑ โ ๏ธ Please read our Migration Guide which explains the changes in more detail and how to change your code to migrate to Cypress 4.0.
- โฌ๏ธ Mocha, Chai, and Sinon.JS has been upgraded which includes a number of breaking changes and new features. Addresses #2528, #2529, #2866.
- ๐ป During
before:browser:launch
, we no longer yield the second argument as an array of browser arguments and instead yield anoptions
object with anargs
property in order to support more advanced browser launch options. Addresses #6306. - โก๏ธ We updated the Cypress browser objects of all Chromium-based browsers, including Electron, to have
chromium
set as theirfamily
field. Addresses #6243. - ๐ป The
--browser
flag no longer acceptscanary
as its sole argument to run Chrome Canary. You now have to specifychrome:canary
to use the Chrome Canary browser. Addresses #6243. cy.writeFile()
now yieldsnull
instead of the contents written to the file in order to more align with the behavior offs
. Addresses #2466.- Installing Cypress on your system now requires Node.js 8+. Addresses #5632.
- ๐ Cypress no longer support CJSX. Addresses #3469.
๐ Features:
- ๐ป Mozilla Firefox browsers now have beta support. Addresses #1096.
- ๐ป Microsoft Edge (Chromium based) browsers are now supported. Addresses #5433.
- ๐ป There is a new
Cypress.isBrowser()
utility function. Addresses #2023. - ๐ We updated the
Cypress.browser
object with a newchannel
property which contains the release channel of the detected browser. Addresses #6243. - โ
Appending
.only
to multiple tests or suites will now run all tests with the.only
property. Addresses #2828. - ๐ The
isFinite
assertion is now supported. Addresses #5669. - ๐ The
empty
assertion is now supported when used against Map objects. Addresses #6072. - ๐ The
nested
assertion chainer property is now supported. Addresses #3080 and #5004.
๐ Bugfixes:
- โ
A test or suite appended with an
.only
when multiple tests or suites contained the same title now run correctly. Fixes #5345. - ๐ The
.its()
command now properly supports 0 as a value for indexes or object keys. Fixes #6216.
๐ Documentation Changes:
- โ Added Cross Browser Testing Guide with helpful CI strategies to consider when running tests across multiple browsers.
- โ Added
Cypress.isBrowser()
doc.
Misc:
- ๐ง We now pass through errors caused when attempting to read arguments passed through
config
. Addresses #6279. - โ We fixed a broken 'Learn more' link within the Node.js Version panel of the Test Runner Settings. Addresses #6237.
- โ The browser icons in the Test Runner now display as images with the proper branding. Addresses #6188.
- โก๏ธ We updated the styling of browser dropdown in the Test Runner to look more like a button. Addresses #6298.
- โ The timer in the Test Runner now always displays at a consistent length. Addresses #6168.
- ๐จ You can print debug information about the memory & CPU usage of Cypress, which can be accessed by enabling the
cypress:server:util:process_profiler
debug stream. Addresses #6169. - ๐ We added types for plugin events. Addresses #6322.
โก๏ธ Dependency Updates
- โ Added
@benmalka/foxdriver
. Addressed in #1359. - โฌ๏ธ Upgraded
@cypress/browserify-preprocessor
from1.1.2
to2.1.1
. Addressed in #4308 and #4226. - โฌ๏ธ Upgraded
bluebird
from3.5.0
to3.7.2
. Addressed in #4226. - โฌ๏ธ Upgraded
cachedir
from1.3.0
to2.3.0
. Addressed in #4208 and #4226. - โฌ๏ธ Upgraded
chai
from3.5.0
to4.2.0
. Addressed in #2862 and #4226. - โฌ๏ธ Upgraded
chai-as-promised
from6.0.0
to7.1.1
. Addressed in #4226. - โฌ๏ธ Upgraded
chalk
from2.4.0
to3.0.0
. Addressed in #4226. - โฌ๏ธ Upgraded
commander
from2.15.1
to4.0.1
. Addressed in #4208 and #4226. - โฌ๏ธ Upgraded
debug
from2.15.1
to4.0.1
. Addressed in #4226. - โฌ๏ธ Upgraded
execa
from0.10.0
to3.3.0
. Addressed in #4226. - โ Added
firefox-profiler
. Addressed in #1359. - โ Added
foxdriver
. Addressed in #1359. - โฌ๏ธ Upgraded
fs-extra
from5.0.0
to8.1.0
. Addressed in #4226. - โฌ๏ธ Upgraded
getos
from3.1.1
to3.1.4
. Addressed in #4226. - โฌ๏ธ Upgraded
is-ci
from1.2.1
to2.0.0
. Addressed in #4226. - โฌ๏ธ Upgraded
mocha
from2.5.3
to7.0.1
. Addressed in #2703 and #4226. - โฌ๏ธ Upgraded
listr
from0.12.0
to0.14.3
. Addressed in #4226. - โฌ๏ธ Upgraded
log-symbols
from2.2.0
to3.0.0
. Addressed in #4226. - โ Added
marionette-client
. Addressed in #1359. - โฌ๏ธ Upgraded
ramda
from0.24.1
to0.26.1
. Addressed in #4226. - โฌ๏ธ Upgraded
sinon
from3.2.0
to8.1.1
. Addressed in #2881 and #4226. - โฌ๏ธ Upgraded
strip-ansi
from3.0.1
to6.0.0
. Addressed in #1359. - โ Added
systeminformation
. Addressed in #1359. - โฌ๏ธ Upgraded
support-colors
from5.5.0
to7.1.0
. Addressed in #4208 and #4226. - โฌ๏ธ Upgraded
untildify
from3.0.3
to4.0.0
. Addressed in #4226.
-
v3.8.3 Changes
January 24, 2020๐ Released 1/24/2020
๐ Bugfixes:
- ๐ We fixed an error during
cypress run
indicatingcould not find CRI target
when Cypress was unable to find the tab to control. Fixes #6053. - ๐ HTTP requests to sites using a TLS version lower than 1.2 now no longer fail. Fixes #5446.
- ๐
cypress verify
will no longer error on some systems when-screen
is not defined. Fixes #6184. - ๐ We fixed a regression in 3.5.0 causing
cy.type({ force: true })
to no longer forcibly type characters for readonly inputs. Fixes #6116. - ๐ Generated reports when using custom reporters now have a defined
file
property. Fixes #1495.
Misc:
- ๐ฒ Messages from
cy.get()
are now truncated at 50 lines the Command Log instead of the 1 line. Addresses #6145. - ๐ท We now collect more environment variables for Bamboo CI when recording for the Dashboard. Addresses #4895.
โก๏ธ Dependency Updates:
- ๐ We fixed an error during
-
v3.8.2 Changes
January 10, 2020๐ Released 01/10/2020
๐ Bugfixes:
- ๐ง We fixed a regression in 3.8.0 on Linux when
unzip
is not installed where the progress ofcypress install
would show up to 200%. Fixes #5967 - ๐ Child elements of an element that uses both
transform
andheight
orwidth
are now properly seen as visible during visiblity checks. Addresses #5974. - ๐
We now properly check backface visibility when the parents of a target element have the CSS style
transform-style: preserve-3d
. Fixes #5682. - ๐ DOM elements with a width or height of 0 and
overflow: hidden
are now properly calculated as invisible during visibility checks. Fixes #6093. - ๐ We fixed a regression in 3.7.0 where using
.type()
on number inputs to type non-number characters would not type the correct value. Fixes #6055.
Misc:
- ๐ฒ Messages from
cy.log()
are now truncated at 50 lines the Command Log instead of the 1 line. Addresses #5625. - ๐ท We now capture GitLab CI's
CI_JOB_NAME
environment variable. Addressed in #6111. - ๐ Types for event emitters
removeListener
andremoveAllListeners
have been added toCypress
andcy
. Addresses #5228. - Types for the
runUrl
property returned fromcypress.run()
has been added. Addresses #6087. - We're continuing to make progress in converting our codebase from CoffeeScript to JavaScript. Addresses #2690 in #5947 and #6075.
โก๏ธ Dependency Updates:
- ๐ง We fixed a regression in 3.8.0 on Linux when
-
v3.8.1 Changes
December 26, 2019๐ Released 12/26/2019
๐ Bugfixes:
- ๐ป We fixed a bug where
cypress run --headless
would not run Chrome-family browsers headlessly. Fixes #5949. - โ We fixed an issue where, on some systems with IPv4 and IPv6 enabled, Cypress would fail to connect to the Chrome DevTools Protocol while launching Chrome, leading to test failures. Fixes #5912.
- ๐ The strict cookie validation added in 3.5.0 for
cy.setCookie()
,cy.clearCookie()
, andcy.getCookie()
has been removed. Fixes #5642. - ๐ We fixed a regression in 3.8.0 where using
.type()
on number inputs to type non-number characters or the{enter}
special character would not type the correct value. Fixes #5968 and #5997. - ๐ง Configuration values set from the plugin file now display with the correct background color in the Configuration panel in the Test Runner Settings. Fixes #6024.
- ๐ We removed the 'Me' and 'An Organization' selections in the Test Runner when setting up a project to more closely match the Dashboard UI. This also fixes an edge case where a user with no default organizations could potentially be unable to set up a project. Fixes #5954.
Misc:
- โก๏ธ We updated the fallback error message for visibility checks to be less confusing. Addresses #5982.
- The type definitions for
cy.location()
have been improved. Addresses #5574.
โก๏ธ Dependency Updates:
- โฌ๏ธ Upgraded
get-port
from5.0.0
to5.1.0
. Addressed in #6004. - โฌ๏ธ Upgraded
chrome-remote-interface
from0.28.0
to0.28.1
. Addressed in #6008. - โฌ๏ธ Upgraded
which
from1.3.1
to2.0.2
. Addressed in #6017. - โฌ๏ธ Upgraded
ansi_up
from1.3.0
to4.0.3
. Addressed in #4331. - โฌ๏ธ Upgraded
jimp
from0.6.4
to0.9.3
. Addressed in #4331.
- ๐ป We fixed a bug where