9.2.0

Released Released on December 19, 2021

Features:

  • Cypress will throw an error when a user attempts to update a configuration value at run-time using either the Test Configuration or using Cypress.config() that is a readonly option. Addresses #6407 and #19001.

  • A timeout option has been added to the cy.writeFile() command, with a default value of defaultCommandTimeout. Addresses #3350.

  • The default maxHttpBufferSize for the internal socket server has been increased to Node's maximum Buffer size (size varies by OS) to allow large file writes with cy.writeFile(). Addresses #19140.

  • Add CYPRESS_VERIFY_TIMEOUT environment variable to override the timeout duration of the verify command. Addresses #18290.

Bugfixes:

  • Prevent unnecessary snapshotting when running default assertions that would unnecessarily increase CPU use in cypress open mode which lead to out of memory crashes on certain browsers. Fixes #18549.

  • Removed automatic retries for failed HTTP requests through the proxy. This fixes an issue where failed requests could be re-sent too many times in some conditions. This change could increase the number of failed requests that your app sees. Fixes #19043.

  • Reduced the occurrence of an issue where logs for fetch and xhr requests could be associated with the wrong request. Fixes #19043.

  • Tests that are skipped within then blocks will no longer throw errors causing the test to fail. Tests that are skipped outside of then blocks will no longer trigger the fail event. This will prevent screenshots from happening from errors thrown by the fail event. Fixes #14867 and #17660.

  • Fixed a regression in 9.0.0 where a fixture provided in a static response to cy.intercept() did not support passing null to encoding to read the fixture as a Buffer. This identified an undocumented 9.0.0 Breaking Change where the default read behavior of a fixture changed from a Buffer to being read with utf8 encoding. Fixes #19344.

  • Fixed a regression in 9.0.0 where cy.contains() attempted to ignore <script> and <style> elements found within <body>. by deleting them from the dom. This behavior was corrected to ignore the elements without deleting them. Fixes #19377.

  • Cypress will no longer crash when proxying an ill formed request. For example, if the application under test has a resource of "http: //localhost/asset.js" (notice the extraneous space), Cypress will now log a debug message and the asset will fail to load. Fixes #9220.

  • Correct Cypress.Command.add() and Cypress.Command.override() TypeScript types. Fixes #18879, #19095 and #18940.

    • Custom command implementations typings take into account prevSubject variants.

    • Custom command implementations now allows to NOT return a value.

    • Custom command overwrites typings take into account originalFn function.

  • Add types for Cypress.session.clearAllSavedSessions(). Fixes #19363.

Dependencies: