4.0.0
Released Released on February 5, 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 anoptionsobject with anargsproperty 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
chromiumset as theirfamilyfield. Addresses #6243.The
--browserflag no longer acceptscanaryas its sole argument to run Chrome Canary. You now have to specifychrome:canaryto use the Chrome Canary browser. Addresses #6243..contains() now ignores leading, trailing, duplicate whitespaces. Addresses #92.
cy.writeFile() now yields
nullinstead 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 new
channelproperty which contains the release channel of the detected browser. Addresses #6243.There is a new
matchCaseoption for .contains(). Addresses #2785.Appending
.onlyto multiple tests or suites will now run all tests with the.onlyproperty. Addresses #2828.The
isFiniteassertion is now supported. Addresses #5669.The
emptyassertion is now supported when used against Map objects. Addresses #6072.The
nestedassertion chainer property is now supported. Addresses #3080 and #5004.
Bugfixes:
A test or suite appended with an
.onlywhen 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_profilerdebug stream. Addresses #6169.We added types for plugin events. Addresses #6322.
Dependency Updates
Added
@benmalka/foxdriver. Addressed in #1359.Upgraded
@cypress/browserify-preprocessorfrom1.1.2to2.1.1. Addressed in #4308 and #4226.Upgraded
bluebirdfrom3.5.0to3.7.2. Addressed in #4226.Upgraded
cachedirfrom1.3.0to2.3.0. Addressed in #4208 and #4226.Upgraded
chaifrom3.5.0to4.2.0. Addressed in #2862 and #4226.Upgraded
chai-as-promisedfrom6.0.0to7.1.1. Addressed in #4226.Upgraded
chalkfrom2.4.0to3.0.0. Addressed in #4226.Upgraded
commanderfrom2.15.1to4.0.1. Addressed in #4208 and #4226.Upgraded
debugfrom2.15.1to4.0.1. Addressed in #4226.Upgraded
execafrom0.10.0to3.3.0. Addressed in #4226.Added
firefox-profiler. Addressed in #1359.Added
foxdriver. Addressed in #1359.Upgraded
fs-extrafrom5.0.0to8.1.0. Addressed in #4226.Upgraded
getosfrom3.1.1to3.1.4. Addressed in #4226.Upgraded
is-cifrom1.2.1to2.0.0. Addressed in #4226.Upgraded
mochafrom2.5.3to7.0.1. Addressed in #2703 and #4226.Upgraded
listrfrom0.12.0to0.14.3. Addressed in #4226.Upgraded
log-symbolsfrom2.2.0to3.0.0. Addressed in #4226.Added
marionette-client. Addressed in #1359.Upgraded
ramdafrom0.24.1to0.26.1. Addressed in #4226.Upgraded
sinonfrom3.2.0to8.1.1. Addressed in #2881 and #4226.Upgraded
strip-ansifrom3.0.1to6.0.0. Addressed in #1359.Added
systeminformation. Addressed in #1359.Upgraded
support-colorsfrom5.5.0to7.1.0. Addressed in #4208 and #4226.Upgraded
untildifyfrom3.0.3to4.0.0. Addressed in #4226.