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.
Please read our Migration Guide which explains the changes in more detail and how to change your code to migrate to Cypress 5.0.
cypress-plugin-retriesplugin has been deprecated in favor of test retries built into Cypress. Addresses #1313.
whitelistoption has been renamed to
preserveto more closely reflect its behavior. Addressed in #7782.
blacklistHostsconfiguration has been renamed to
blockHoststo more closely reflect its behavior. Addressed in #7622.
whitelistoption has been renamed to
ignoreto more closely reflect its behavior. Addresses #6642.
libgbm-devis now a requirement to run Cypress on Linux. Addressed in #7791.
- Values yielded by
cy.getCookies()will now contain the
sameSiteproperty if specified. Addresses #6892.
experimentalGetCookiesSameSiteconfiguration flag has been removed, since this behavior is now the default. Addresses #6892.
- The return type of the
dataURLToBlobhave changed from
Blob. Addresses #6001.
- 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
esModuleInteropoption is no longer coerced to
true. If you need to utilize
esModuleInterop, set it in your
tsconfig.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
__filenameno longer include leading slashes. Addressed in #7982.
- There's a new
retriesconfiguration option to configure the number of times to retry a failing test. Addresses #1313.
.rightclick()now accept options
shiftKeyto hold down key combinations while clicking. Addresses #486.
- You can now chain
cy.spy()to disabled snapshots during those commands. For example:
cy.stub().snapshot(false). Addresses #3849.
- The error
Cannot set property 'err' of undefinedwill 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 undefinederror during
cypress runon Firefox versions >= 75. Fixes #6813.
- The error
Maximum call stack size exceededwill no longer throw when calling
scrollIntoViewon 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: inlinewill no longer be considered hidden if it has child elements within it that are visible. Fixes #6183.
.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
beforeEachhook after the hook has already passed. Fixes #3744.
- Cypress will no longer report screenshots overwritten in a
onAfterScreenshotoption 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.
- The "last used browser" will now be correctly remembered during
cypress openif a non-default-channel browser was selected. Fixes #8281.
- For TypeScript projects,
tsconfig.jsonwill now be loaded and used to configure TypeScript compilation of spec and support files. Fixes #7006 and #7503.
reporterStatsnow correctly show the number of passed and failed tests when a test passes but the
afterEachfails. Fixes #7730.
- The Developer Tools menu will now always display in Electron when switching focus from Specs to the Test Runner. Fixes #3559.
- We have a new guide on Test Retries.
- Our Migration Guide has a new section for 5.0 migration.
- 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
Windowobject returned from
cy.window()is now correct. Addresses #7856.
- The type definition for Cypress's
ApplicationWindowcan now be extended. Addresses #7856.
- The type definition for
reporterOptionshas been added. Addresses #7877.
- Upgraded Chrome browser version used during cypress run and when selecting Electron browser in cypress open from
83. Addressed in #7791.
- Upgraded bundled Node.js version from
12.14.1. Addressed in #7791.
4.1.0. Addressed in #7650.
0.6.0. Addressed in #7650.
9.2.0. Addressed in #7791 and #8235.
4.0.2. Addressed in #7650.
4.17.1. Addressed in #8179.
9.0.1. Addressed in #7650.
4.0.0. Addressed in #7650.
0.2.1. Addressed in #7650.