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.