Changelog History
Page 2
-
v5.3.0 Changes
September 29, 2020๐ Released 9/28/2020
๐ Features:
- ๐ฑ Firefox support is now out of beta! ๐ Firefox 80 and newer are now officially stable when used with Cypress. Addresses #8241.
- Versions of Firefox older than 80 can still be used, but will be subject to the
firefoxGcInterval
workaround. The desktop GUI will display a warning if such versions are used.
- Versions of Firefox older than 80 can still be used, but will be subject to the
๐ Bugfixes:
- ๐ Fixed a bug where
cy.route2
would not automatically JSONify an empty array handler. Addresses #8532. - ๐ Fixed a bug where objects yielded by using
cy.wait
on acy.route2
alias would not always have aresponse
property. Addresses #8536. - ๐ Fixed an issue where
cy.route2
routes would not be able to intercept requests to HTTPS destinations on a different origin. Addresses #8487. - ๐ Fixed an issue where subjects became
undefined
after certain assertion failures. Addresses #5763. - ๐ Fixed an issue where a
cy.task
with no arguments passed would receivenull
as the first argument instead ofundefined
. Addresses #5913. - ๐ Fixed an issue preventing users from passing the config-file argument when starting cypress through the node module API. Addresses #8632.
- ๐ Fixed an issue where
cy.visit()
s to a relative URL containing..
would not work. Addresses #5090. - ๐ Fixed an issue where Mocha hooks could still be triggered after the Test Runner was manually stopped. Addresses #8621.
- ๐ Fixed an issue where
cy.setCookie
failed when given a cookie name with a__Host-
prefix. Addresses #8261. - ๐ Fixed an issue where a misleading error was displayed when test code threw an exception with a non-
Error
object. Addresses #7870.
Misc:
- ๐ The proxy now omits the
Content-Security-Policy-Report-Only
header the same way that it does forContent-Security-Policy
. Addresses #7936. - โ Added a
status
property toCypressRunResult
objects. Addresses #8580. - โก๏ธ Updated types to no longer use deprecated Mocha interfaces. Addresses #5795.
- Passing an empty string to
CYPRESS_INSTALL_BINARY
now takes precedence over npm config. Addresses #8488.
- ๐ฑ Firefox support is now out of beta! ๐ Firefox 80 and newer are now officially stable when used with Cypress. Addresses #8241.
-
v5.2.0 Changes
September 15, 2020๐ Released 9/15/2020
๐ Features:
- โ Added the configuration option
includeShadowDom
for enabling shadow DOM querying globally, per-suite, per-test, or programmatically. Addresses #8442. - โ Added a
followRedirect
option to request interception withcy.route2()
, allowing redirects to be followed before continuing to response interception. Addresses #7967. - โ Added the capability to specify
delayMs
andthrottleKbps
when stubbing static responses withcy.route2()
. Addresses #7661. - Installing Cypress pre-releases no longer requires setting the
CYPRESS_BINARY_INSTALL
environment variable. Addresses #8482.
๐ Performance Improvements:
- ๐ Fixed a performance issue which led to CPU bottlenecking during Cypress runs. Addresses #8012 and #8297.
๐ Bugfixes:
- ๐ Fixed an issue where using TypeScript path aliases in the plugins file would error. Addresses #8555.
- ๐ Fixed an issue where using
cy.contains()
within a shadow root would not yield the correct element. Addresses #8494. - ๐ Fixed an issue where querying the shadow DOM in a
cy.within()
callback would throw the errorroot.getRootNode is not a function
. Addresses #8478. - ๐ Fixed an issue with
cy.type()
{moveToStart}/{moveToEnd}
special characters moving the cursor to the current line instead of the entire text editable when typing in acontenteditable
element. Addresses #8465. - ๐ Fixed an issue where typing into a manually-focused number input would prepend the number instead of appending it. Addresses #7170.
cy.type()
now fires aKeyboardEvent
event instead of anEvent
event. Addresses #6125 and #5650.- ๐ Fixed long selectors in the selector playground text input overflowing other page elements. Addresses #8247 and #4184.
- ๐ Fixed an issue where assertions on
cy.getCookie()
would be called twice. Addresses #6672. - ๐ Fixed an issue that caused the "Open in IDE" button on hooks and tests not to appear in Firefox. Addresses #8257.
- ๐ Fixed an issue causing Cypress to hang on test retry in run mode with certain assertions. Addresses #8363.
๐ Documentation Changes:
- ๐ Fixed examples of delaying and throttling responses with
cy.route2()
. Addresses #8489. - โ Added examples of using a response function with
cy.route2()
. Addresses #8468. - โ Removed unmaintained languages. English docs is the only supported language by the Cypress team. We greatly appreciate the contributions from the community for other languages, but these docs are largely stale, unmaintained, and partial. The Cypress team will seek out more scalable docs internalization implementation in the future.
Misc:
- ๐ง The
experimentalShadowDomSupport
configuration flag has been removed. It is no longer necessary to enable shadow DOM testing. - ๐ Improved the error message when the subject provided to
cy.shadow()
is not a shadow host. Addresses #8530. - ๐ Improved the error message when the Cypress binary is not executable. It now recommends trying to clear the cache and re-install. Addresses #8397.
- โ Added missing type declarations for the
cy.route2()
command. - โก๏ธ Updated the type declaration for
Cypress.Commands.add()
, addingPromise
to the list of allowed return types. Addresses #7807.
- โ Added the configuration option
-
v5.1.0 Changes
September 01, 2020๐ Released 9/1/2020
๐ Features:
- Introducing experimental full network stubbing support ๐.
- With
experimentalNetworkStubbing
enabled, thecy.route2
command is available. - By using cy.route2(), your tests can intercept, modify, and wait on any type of HTTP request originating from your app, including
XMLHttpRequest
s,fetch
requests, beacons, and subresources (like iframes and scripts). - Outgoing HTTP requests can be modified before reaching the destination server, and the HTTP response can be intercepted as well before it reaches the browser.
- See the cy.route2() docs for more information on how to enable this experiment.
- With
cy.trigger()
now accepts aneventConstructor
option for specifying the constructor with which to create the event to trigger. Addresses #5650.
๐ Bugfixes:
- ๐ Improved warnings for when user is exceeding test limits of the free Dashboard plan. Addresses #8409.
- โ Added
retries
toTestOptions
types. Addresses #8405. - โ Added types for
specType
field onCypress.spec
. Addresses #8256. - ๐ Fixed a typo in type definitions. Addresses #8417.
- ๐ Cypress now resolves and loads tsconfig.json for TypeScript projects starting from the plugins directory. Addresses #8359.
- ๐ Fixed an issue where, if npm config's
noproxy
is set, unexpected behavior could occur. Addresses #8287. - ๐ Fixed an issue where nesting hooks within other hooks caused the test to never finish. Addresses #8350.
- ๐ Fixed an issue in where tests would unexpectedly fail with a "Can't resolve 'async_hooks'" error. Addresses #8375.
- ๐ Fixed an issue where return values from blob utils were mistaken for promises and could cause errors. Addresses #8365.
- ๐ Fixed an issue with loading
.mjs
files. Addresses #8361. - ๐ Fixed an issue causing tests to run slowly in Electron. Addresses #7930.
- Using
.should
with only chainer assertions will now throw an error. Addresses #883. cy.trigger()
now includes theview
property in the event object when appropriate. Addresses #3686.- ๐ Fixed an issue where Cypress would not detect newer 64-bit installations of Chrome on Windows. Addresses #8425.
- ๐ Fixed an issue where Cypress would not detect per-user Firefox installations on Windows. Addresses #8432.
โก๏ธ Dependency Updates:
- Introducing experimental full network stubbing support ๐.
-
v5.0.1
September 30, 2020 -
v5.0.0 Changes
August 19, 2020๐ Released 8/19/2020
Summary:
โ Cypress now includes support for test retries! Similar to how Cypress will retry assertions when they fail, test retries will allow you to automatically retry a failed test prior to marking it as failed. Read our new guide on Test Retries for more details.
๐ฅ Breaking Changes:
Please read our Migration Guide which explains the changes in more detail and how to change your code to migrate to Cypress 5.0.
- โ
The
cypress-plugin-retries
plugin has been deprecated in favor of test retries built into Cypress. Addresses #1313. - 0๏ธโฃ The
Cypress.Cookies.defaults()
whitelist
option has been renamed topreserve
to more closely reflect its behavior. Addressed in #7782. - ๐ง The
blacklistHosts
configuration has been renamed toblockHosts
to more closely reflect its behavior. Addressed in #7622. - The
cy.server()
whitelist
option has been renamed toignore
to more closely reflect its behavior. Addresses #6642. - ๐ง
libgbm-dev
is now a requirement to run Cypress on Linux. Addressed in #7791. - Values yielded by
cy.setCookie()
,cy.getCookie()
, andcy.getCookies()
will now contain thesameSite
property if specified. Addresses #6892. - ๐ง The
experimentalGetCookiesSameSite
configuration flag has been removed, since this behavior is now the default. Addresses #6892. - The return type of the
Cypress.Blob
methodsarrayBufferToBlob
,base64StringToBlob
,binaryStringToBlob
, anddataURLToBlob
have changed fromPromise<Blob>
toBlob
. Addresses #6001. - 0๏ธโฃ Cypress no longer supports file paths with a question mark
?
in them. We now use the webpack preprocessor by default and it does not support files with question marks. Addressed in #7982. - ๐ For TypeScript compilation of spec, support, and plugins files, the
esModuleInterop
option is no longer coerced totrue
. If you need to utilizeesModuleInterop
, set it in yourtsconfig.json
. Addresses #7575. - Cypress now requires TypeScript 3.4+. Addressed in #7856.
- Installing Cypress on your system now requires Node.js 10+. Addresses #6574.
- In spec files, the values for the globals
__dirname
and__ filename
no longer include leading slashes. Addressed in #7982.
๐ Features:
- ๐ง There's a new
retries
configuration option to configure the number of times to retry a failing test. Addresses #1313. .click()
,.dblclick()
, and.rightclick()
now accept optionsaltKey
,ctrlKey
,metaKey
, andshiftKey
to hold down key combinations while clicking. Addresses #486.- You can now chain
.snapshot()
off ofcy.stub()
andcy.spy()
to disabled snapshots during those commands. For example:cy.stub().snapshot(false)
. Addresses #3849.
๐ Bugfixes:
- โ
The error
Cannot set property 'err' of undefined
will no longer incorrectly throw when rerunning tests in the Test Runner. Fixes #7874 and #8193. - ๐ Cypress will no longer throw a
Cannot read property 'isAttached' of undefined
error duringcypress run
on Firefox versions >= 75. Fixes #6813. - ๐ The error
Maximum call stack size exceeded
will no longer throw when callingscrollIntoView
on an element in the shadow dom. Fixes #7986. - ๐ Cypress environment variables that accept arrays as their value will now properly evaluate as arrays. Fixes #6810.
- ๐ Elements having
display: inline
will no longer be considered hidden if it has child elements within it that are visible. Fixes #6183. - ๐ When
experimentalShadowDomSupport
is enabled,.parent()
and.parentsUntil()
commands now work correctly in shadow dom as well as passing a selector to.parents()
when the subject is in the shadow dom. Fixed in #8202. - โ
Screenshots will now be correctly taken when a test fails in an
afterEach
orbeforeEach
hook after the hook has already passed. Fixes #3744. - ๐ Cypress will no longer report screenshots overwritten in a
cy.screenshot()
onAfterScreenshot
option as a unique screenshot. Fixes #8079. - ๐ Taking screenshots will no longer fail when the screenshot names are too long for the filesystem to accept. Fixes #2403.
- 0๏ธโฃ The "last used browser" will now be correctly remembered during
cypress open
if a non-default-channel browser was selected. Fixes #8281. - ๐ง For TypeScript projects,
tsconfig.json
will now be loaded and used to configure TypeScript compilation of spec and support files. Fixes #7006 and #7503. - โ
reporterStats
now correctly show the number of passed and failed tests when a test passes but theafterEach
fails. Fixes #7730. - โ The Developer Tools menu will now always display in Electron when switching focus from Specs to the Test Runner. Fixes #3559.
๐ Documentation Changes:
- โ We have a new guide on Test Retries.
- Our Migration Guide has a new section for 5.0 migration.
Misc:
- 0๏ธโฃ Cypress now uses the webpack preprocessor by default to preprocess spec files.
- โ The Runs tab within the Test Runner has a new improved design when the project has not been set up or login is required. Addressed in #8141.
- The type for the
Window
object returned fromcy.window()
is now correct. Addresses #7856. - The type definition for Cypress's
ApplicationWindow
can now be extended. Addresses #7856. - The type definition for
reporterOptions
has been added. Addresses #7877.
โก๏ธ Dependency Updates
- โฌ๏ธ Upgraded Chrome browser version used during cypress run and when selecting Electron browser in cypress open from
80
to83
. Addressed in #7791. - โฌ๏ธ Upgraded bundled Node.js version from
12.8.1
to12.14.1
. Addressed in #7791. - โฌ๏ธ Upgraded
chalk
from2.4.2
to4.1.0
. Addressed in #7650. - โฌ๏ธ Upgraded
cli-table3
from0.5.1
to0.6.0
. Addressed in #7650. - โฌ๏ธ Upgraded
electron
from8.3.1
to9.2.0
. Addressed in #7791 and #8235. - โฌ๏ธ Upgraded
execa
from1.0.0
to4.0.2
. Addressed in #7650. - โฌ๏ธ Upgraded
express
from4.16.4
to4.17.1
. Addressed in #8179. - โฌ๏ธ Upgraded
fs-extra
from8.1.0
to9.0.1
. Addressed in #7650. - โฌ๏ธ Upgraded
log-symbols
from3.0.0
to4.0.0
. Addressed in #7650. - โฌ๏ธ Upgraded
tmp
from0.1.0
to0.2.1
. Addressed in #7650.
- โ
The
-
v4.16.0
November 30, 2020 -
v4.15.16
November 23, 2020 -
v4.15.15
November 10, 2020 -
v4.15.14
October 30, 2020 -
v4.15.11
October 01, 2020