Skip to content

chore(deps): update dependency @cypress/react to v8

Renovate requested to merge renovate/cypress-react-8.x into staging

This MR contains the following updates:

Package Type Update Change
@cypress/react (source) devDependencies major ^5.12.5 -> ^8.0.2

Release Notes

cypress-io/cypress (@​cypress/react)

v8.0.2

Compare Source

v8.0.1

Compare Source

v8.0.0: 8.0.0

Compare Source

Released 07/19/2021

Summary:

We've made some updates to ensure a consistent run experience across browsers. Now all browsers run via cypress run run headlessly, with a device pixel ratio of 1, and a screen size of 1280x720 by default.

Breaking Changes:

Please read our Migration Guide which explains the changes in more detail and how to change your code to migrate to Cypress 8.0.

  • When running cypress run previous to 8.0, some browsers would launch headed while others were launched headless by default. Cypress now runs all browsers during cypress run as headless by default. Addresses #​16832.
  • The default screen size when running a headless browser has been reverted back to 1280x720 pixels (pre 7.0 behavior). Addresses #​16853.
  • When running the --headless Chrome browser via cypress run, the device pixel ratio will now be 1 by default, matching the behavior of all other browsers. This behavior can be overridden through the browser launch API. Addresses #​17375.
  • Cypress now enforces version checks for browser launching and will error during cypress run and not allow opening the browser in cypress open when attempting to open unsupported browser versions. Cypress supports Chrome >= 64, Firefox >= 86, and Edge >= 79. Addressed in #​17355.
  • Arguments returned from a chained function will no longer incorrectly be of type jQuery and instead have an any type. Fixes #​16669.
  • The Cypress.ConfigOptions, Cypress.ResolvedConfigOptions and Cypress.RuntimeConfigOption types have been updated so that ConfigOptions match the JSON schema. Addressed in #​17251.

Features:

  • You can now configure certificate authority (CA) and client certificates to use within tests on a per-URL basis via a clientCertificates configuration option. See Client certificates for more detail.
  • Setting the environment variable ELECTRON_RUN_AS_NODE now starts Cypress as a normal Node.js process rather than an Electron process. See Running headless tests without Xvfb for more details. Addresses #​16505.

Bugfixes:

  • console.log and console.error called within the plugins file will now be captured in the stdout sent to the Cypress Dashboard, making it visible in Output logs in the Dashboard. Fixes #​7434.
  • There are several fixes for cy.intercept() including:
    • The times option now works correctly with req.continue. Fixes #​16821.
    • localhost is now accepted as a valid hostname in the RouteMatcher. Fixes #​17015.
    • delay now works correctly with a statusCode of 204. Fixes #​15188.
  • When using the experimental Cypress Studio, there should be a reduced occurrence of "Studio failed to save commands" error messages. Fixes #​14767.
  • cy.invoke() now retains the proper this context on nested object methods. Fixes #​3871.
  • We no longer trigger unnecessary snapshot re-renders when hovering over the Command Log. Fixes #​17257.

v7.0.3

Compare Source

v7.0.2

Compare Source

v7.0.1: 7.0.1

Compare Source

Released 04/07/2021

Bugfixes:

  • Fixed a regression in 7.0.0 that caused the test runner not to check for updates. Fixes #​15829.
  • The component testing spec list search input no longer throws an exception when hitting Enter. Addressed in #​15833.
  • The preferred file opener modal no longer appears behind the command log. Addressed in #​15831.
  • Cypress no longer crashes in certain circumstances when running in Docker without --ipc=host. Fixes #​15814 and #​350.
  • Node.js warnings are no longer incorrectly printed to stderr in production builds of Cypress. Addressed in #​15817.
  • Cypress no longer prints a warning to stdout when the video cannot be found after a run. Addressed in #​15828.
  • A warning is no longer displayed when running a TypeScript spec without a tsconfig.json file present. Addressed in #​15828.

Misc:

  • The "New Spec File" in the Desktop GUI has a less pronounced style. Addressed in #​15835.

v7.0.0: 7.0.0

Compare Source

Released 04/05/2021

Summary:

🎉 Introducing the Cypress Component Test Runner - now in alpha. Today's release includes a brand new test runner designed to replace your Node-based component tests. Our Component Test Runner tests your components in the browser, just like a user would. And, since it runs in the browser, you get to debug your components using your favorite developer tools. Read our Component Testing Guide 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 7.0.

  • We introduced several breaking changes to cy.intercept(). See the cy.intercept() docs for full usage examples. Breaking changes:
    • Request handlers supplied to cy.intercept() are now matched starting with the most recently defined request interceptor. This allows users to override request handlers by calling cy.intercept() again. This matches the previous behavior that was default in cy.route(). Addresses #​9302.
    • cy.intercept() now automatically parses more JSON MIME types, including 'application/vnd.api+json'. You can now remove JSON.parse(req.body) or JSON.parse(res.body) from some tests that previously required it. Addresses #​14763.
    • Falsy values (with the exception of undefined) supplied as the body of a StaticResponse to cy.intercept() will now be JSONified and sent as the body. Previously, an empty string was sent instead. Addresses #​15234 and #​14205.
    • The matchUrlAgainstPath RouteMatcher property has been removed from cy.intercept().
    • The "substring match" from cy.intercept() URL matching has been removed. Previously, a URL would match if it contained the supplied string anywhere. Now, the URL (including querystring) only matches if it is an equality match or a minimatch.
    • The delay option for StaticResponses used with cy.intercept() has been removed. Please go back to using the delayMS option. Addresses #​15255.
    • cy.route2() was previously aliased to cy.intercept(). Now the alias cy.route2() has been removed. Please update usage of cy.route2() to cy.intercept(). Addressed in #​14709.
  • Component tests have been migrated to use a dedicated test runner and are bundled differently. See the Migration Guide for full examples on how to migrate. Addressed in #​14479.
    • Component tests will not be executed when running cypress open or cypress run. Now, they need to be executed by running cypress open-ct or cypress run-ct. Addressed in #​15701.
    • experimentalComponentTesting must be removed from yoru configuration file, cypress.json by default, or it will throw an error. Addressed in #​15701.
    • The file:preprocessor event is no longer used to compile component tests. Now, a dev-server:start event must be registered.
  • Cypress now catches uncaught errors and fails the test even if the application under test has defined window.onerror. Addresses #​8802.
  • Cypress now fails tests if there is an unhandled promise rejection in the application under test. Unhandled rejections will trigger the uncaught:exception event with the promise as the third argument. Addresses #​243.
  • Cypress now throws an error if the application under test redirects more than 20 times. The number of times allowed to redirect is configurable via the redirectionLimit config. Addresses #​14445.
  • The default preprocessor now targets a more modern version of ECMAScript. Addressed in #​15274.
  • We now enable contextIsolation by default in the Electron browser. You can override this option if needed within the before:browser:launch API. Addressed in #​15493.
  • Cypress.moment() has been removed. Please migrate to a different datetime formatter. See our recipe for example replacements. Addresses #​8714.
  • The bundled Node.js version was upgraded from 12.18.3 to 14.16.0. This could change the behavior of code within the pluginsFile when using the bundled Node.js version of Cypress. Addressed in #​15292.
  • Installing Cypress on your system now requires Node.js 12+. Addresses #​9545.
  • The default headless browser window size has been increased to 1920x1080 pixels to capture High-definition videos and screenshots. Addresses #​15752, #​15730, and #​15481.

Features:

  • A command log entry is now displayed when there is an uncaught exception or unhandled rejection. Addresses #​8236.
  • We added several features to cy.intercept(). See the cy.intercept() docs for full usage examples. Addressed in #​14543. New features:
    • There are new events on the req object for cy.intercept() including before:response, response, and after:response.
    • Response handlers (supplied via event handlers or via req.continue(cb)) supplied to cy.intercept() will be called in reverse order until res.send is called or until there are no more response handlers.
    • A new option, middleware, has been added to the RouteMatcher type. If true, the supplied request handler will be called before any non-middleware request handlers.
    • A new function, req.continue(cb), is available on request objects yielded by cy.intercept(). It is functionally the same as req.reply(cb) - the request will stop propagating to other event handlers, will be sent outgoing, and the response will be handled by cb.
    • cy.intercept() can now be called with a new overload: cy.intercept(url, routeMatcher, handler). routeMatcher will be merged with url, and the handler is required.
  • cy.visit() can now visit pages with application/xhtml* content-type. Addresses #​15738.
  • You can now pass runner specific configuration in order to pass different configuration values to component tests versus e2e tests. Addressed in #​15526.
  • There's a new keyboard shortcut (ctrl/cmd + f) to search spec files in the Test Runner based on your OS. Addresses #​6229.
  • You can now create a new spec file directly from the Test Runner in the Desktop. Addressed in #​15335.
  • cy.tick() now accepts a log option. Addresses #​15180.
  • The Cypress proxy now adds a keep-alive header to all proxy responses. Addressed in #​15292
  • Cypress no longer forces specific NODE_OPTIONS. Addressed in #​15292

Bugfixes:

  • The response.body of cy.intercept() is now correct after stubbing a response using res.send({ fixture }) in a req.continue callback or a before:response or response handler. Addressed in #​14543.
  • Fixed an issue where only the first matching alias for a route would yield a response object on cy.wait(). Fixes #​14522.
  • .click() will no longer fail with "coordsHistory must be at least 2 sets of coords" when specifying { multiple: true }. Fixes #​3738.
  • Cypress now checks visibility correctly when an element has CSS "position: sticky". Fixes #​14938.
  • After selecting a project in global mode and clicking the back button, Cypress will no longer crash. Fixes #​15089.
  • Errors Refused to apply style are gone from the console in open-ct during Component Testing. Addressed in #​15661.
  • Some memory leaks were fixed in @cypress/vue. Addressed in #​15275.

Misc:

  • The types for set-cookie allow string[], so the header's type has been changed to reflect this. Addresses #​15419.
  • The type definition for cy.writeFile() now allows 4 arguments. Addresses #​15353.
  • .then() will show the correct type when raw HTMLElements are provided. Addresses #​14875
  • The Cypress Studio icon now displays properly for tests with long titles. Addresses #​15182.
  • There were some minor improvements made to the UI when setting up a project in the Test Runner. Addressed in #​15665.

Dependency Updates

  • Upgraded Chrome browser version used during cypress run and when selecting Electron browser in cypress open from 87 to 89. Addressed in #​15292.
  • Upgraded bundled Node.js version from 12.18.3 to 14.16.0. Addressed in #​15292.
  • Upgraded electron from 11.3.0 to 12.0.0. Addressed in #​15292.

v6.2.1: 6.2.1

Compare Source

Released 1/4/2021

Bugfixes:

  • Test retries, when retrying on several failed tests, will no longer cause hanging during cypress run. Fixes #​9040.
  • multipart/form-data is no longer wrongly encoded when using cy.intercept(). This should prevent Unexpected end of multipart data errors on the back end service where the request was pointing to. Fixes #​9359.
  • cy.contains() no longer throws an error when a single quote is used inside its argument when RegExp. Fixes #​8626.
  • Passing capture: 'runner' to a cy.screenshot() command inside .within() now screenshots the entire Test Runner as expected. Fixes #​14253.
  • Cypress.dom.isJquery() now always returns a boolean instead of undefined sometimes. Fixes #​14278.
  • calledOnceWith and calledOnceWithExactly sinon matchers no longer throw an error when used within Cypress. Fixes #​9644.
  • We now pass --disable-backgrounding-occluded-windows as a default flag to Chrome to prevent backgrounding rendering when the Cypress window is occluded. Fixes #​9604.

Misc:

  • After login, if a name is undefined on your profile, the Test Runner will show the profile's email and link to instructions to update the name. Addresses #​14288.

Dependency Updates:

  • Upgraded devtools-protocol from 0.0.734984 to 0.0.839267. Addressed in #​14353.
  • Upgraded electron from 11.0.3 to 11.1.1. Addressed in #​14352.

v6.2.0: 6.2.0

Compare Source

Released 12/21/2020

Features:

  • You can now listen to before:run and after:run events in the plugins file. See the before:run and after:run docs for more information. Addressed in #​14238 and #​14263.
  • You can now listen to before:spec and after:spec events in the plugins file. See the before:spec and after:spec docs for more information. Addressed in #​9646 and #​14178.
  • The Timed out retrying error message now displays the amount of time Cypress retried. Addresses #​5781.

Bugfixes:

Misc:

  • scrollBehavior is now an allowed type when passed as test configuration. Addresses #​9643.
  • The FileObject type for the file argument of the file:preprocessor event now includes the EventEmitter type. Addresses #​9276.

Dependency Updates:

  • Upgraded electron from 11.0.2 to 11.0.3. Addressed in #​9409.

v6.1.1

Compare Source

v6.1.0: 6.1.0

Compare Source

Released 12/07/2020

Features:

  • There's a new scrollBehavior configuration option that controls the viewport position when an element is scrolled prior to action commands. Possible values are 'top', 'bottom', 'center', 'nearest', and false, with 'top' being the default. scrollBehavior: false disables scrolling altogether. scrollBehavior can be specified in global configuration, test configuration or individual action commands via options. Addresses #​871 and #​4356.
  • The Tests tab in the Test Runner now orders folders before files. This matches the ordering of most IDEs' file explorers. Addresses #​7334.

Bugfixes:

  • Responses stubbed from cy.intercept() will now automatically set Access-Control-Allow-Origin and Access-Control-Allow-Credentials to permissive values unless explicitly overridden. Fixes #​9264.
  • The Cannot read property "fireChangeEvent" of undefined error will no longer throw during a race condition when using cy.intercept(). https://github.com/cypress-io/cypress/issues/9170
  • HTTP responses that cannot have a body (like HTTP 304 and HTTP 204) can now be awaited using cy.intercept(). Fixes #​8934 and #​8999.
  • We fixed an issue where HTTP redirects could not be awaited using cy.intercept() unless dynamically intercepted. Addressed in #​9097.
  • Tests will no longer hang in certain situations when there's an error in a before() hook. Fixes #​9162.
  • We no longer strip / from URLs when they are explicitly passed with query paramaters. Fixes #​9360.
  • Fixed the regression in Cypress.dom.isVisible behavior for elements with position: fixed, addresses #​8998 and #​9031.

Deprecations:

Deprecations still work as before but will be removed from Cypress in a future release. We encourage you to update your code now to remove uses of deprecations.

  • Cypress.moment has been deprecated and will be replaced in a future release. Consider migrating to a different datetime formatter. Addresses #​8714.

Misc:

  • We collect more environment variables from Bitbucket to better detect reruns. Addresses #​9309.
  • waitForAnimations and animationDistanceThreshold types are now included for all actionable commands. Addresses #​8854.

Dependency Updates:

  • Upgraded mocha-junit-reporter from 1.23.1 to 2.0.0. Addressed in #​9528.

v6.0.0: 6.0.0

Compare Source

Released 11/23/2020

Summary:

Cypress now offers full network stubbing support with the introduction of the cy.intercept() command (previously cy.route2()). With cy.intercept() your tests can intercept, modify and wait on any type of HTTP request originating from your app.

Breaking Changes:

Please read our Migration Guide which explains the changes in more detail and how to change your code to migrate to Cypress 6.0.

  • Cypress now always throws an error when asserting on an element that doesn't exist in the DOM (unless you're asserting that the element should not.exist). Assertions such as not.visible, not.contains, not.have.class, etc will now fail when used on non-existent DOM elements. Addresses #​205.
  • DOM elements where the CSS style (or ancestors) are opacity: 0 are no longer considered visible. However these are still considered actionable and "any action commands" interacting-with-elements#Actionability used to interact with the element will perform the action. This matches browser's implementation on how they regard elements with opacity: 0. Addresses #​4474.
  • The type yielded by cy.wait(alias) has changed in order to support use of cy.intercept(). Addressed in #​9266.
  • The experimentalNetworkStubbing option has been removed and made the default behavior. You can safely removed this configuration option. Addressed in #​9185.
  • When using .type() and .click() on elements inside a contenteditable element, the events are now properly triggered on the inside elements. This may cause unintended consequences if you were relying on the previous behavior. Addressed in #​9066.
  • We removed several deprecation errors around APIs that were removed in versions of Cypress prior to 4.0.0. This will not cause any changes for anyone upgrading from a 4.0+ version of Cypress. For a full list of all APIs affected see #​8946.
  • We updated our HTTP status codes and reason phrases to match Node.js http.STATUS_CODES. If you have code that relies on a reason phrase, then this could affect you. Addressed in #​8969.
  • JSON request and response bodies captured by cy.intercept() are now automatically parsed, removing the need to manually do JSON.parse. Addressed in #​9280.

Deprecations:

Deprecations still work as before but will be removed from Cypress in a future release. We encourage you to update your code now to remove uses of deprecations.

  • cy.server() and cy.route() have been deprecated. In a future release, support for cy.server() and cy.route() will be moved to a plugin. We encourage you to use cy.intercept() instead. Addressed in #​9185.
  • experimentalFetchPolyfill has been deprecated. We encourage you to use cy.intercept() to intercept requests using the Fetch API instead.
  • cy.route2() was renamed to cy.intercept(). We encourage you to update usages of cy.route2() to use cy.intercept(). Addressed in #​9182.

Features:

  • The new cy.intercept() command can be used to manage the behavior of HTTP requests at the network layer. Addressed in #​9182.
  • We now pass —disable-dev-shm-usage to the Chrome browser flags by default. This will write shared memory files into /tmp instead of /dev/shm. If you're passing this flag in your plugins file, you can now remove this code. Addresses #​5336.
  • A warning is now displayed when passing invalid configuration keys through the CLI. Addresses #​428.
  • The cypress version command now also displays the current Electron and bundled Node versions. Addresses #​9180.
  • The cypress version command now accepts a --component flag that allows you to print the version of specific components of Cypress. ie Electron, Node, etc. Addresses #​9214.

Bugfixes:

  • We fixed a regression introduced in 3.5.0 that would cause .type() to not type the entire string when focus was called away from the target element. Fixes #​9254.
  • .type() and .click() now properly work on elements inside a contenteditable element. Fixes #​2717 and #​7721.
  • We fixed a regression introduced in 5.6.0 that would cause the Test Runner to crashes and display a white page when switching tabs while tests are running. Fixes #​9151.
  • Fixed an issue where Content-Length for cy.route2 request bodies could be incorrectly recalculated. Fixes #​9166.

Documentation Changes:

Misc:

  • Added the type of redirects and changed redirectedToUrl optional for Response types. Addresses #​9275.

Dependency Updates

  • Upgraded Chrome browser version used during cypress run and when selecting Electron browser in cypress open from 85 to 87. Addressed in #​9222.
  • Upgraded bundled Node.js version from 12.16.3 to 12.18.3. Addressed in #​9222.
  • Upgraded electron from 10.1.5 to 11.0.2. Addressed in #​9222.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Merge request reports

Loading