Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency cypress to v10 #150

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mend-for-github-com[bot]
Copy link
Contributor

@mend-for-github-com mend-for-github-com bot commented Jun 2, 2022

This PR contains the following updates:

Package Type Update Change
cypress devDependencies major ^3.3.1 -> ^10.0.0

Release Notes

cypress-io/cypress

v10.0.2

Compare Source

Changelog: https://docs.cypress.io/guides/references/changelog#​10-0-2

v10.0.1

Compare Source

Changelog: https://docs.cypress.io/guides/references/changelog#​10-0-1

v10.0.0

Compare Source

Changelog: https://docs.cypress.io/guides/references/changelog#​10-0-0

v9.7.0

Compare Source

Released 5/23/2022

Features:

  • The Electron version and shipped Chromium browser version has been updated.
    Addressed in #​21418.

Deprecations:

  • The Cypress.Cookies.preserveOnce() and Cypress.Cookies.defaults() Cypress
    APIs have been deprecated. In a future release, support for
    Cypress.Cookies.preserveOnce() and Cypress.Cookies.defaults() will be
    removed. Consider using the experimental
    cy.session() command instead to cache and restore
    cookies and other sessions details between tests. Fixed
    #​21333.

Bugfixes:

  • Updated the cy.contains() command to correctly
    error and retry if the provided regex pattern begins with an equal sign and a
    match was not initially found. Previously the command would incorrectly fail
    with a syntax error. Fixed
    #​21108.
  • Corrected the cy.session() command log grouping and validation verbiage.
    This change provides better insights to logs associated with the command.
    Fixed #​21377.
  • Removed eventemitter2 third-party type definitions from cy and Cypress
    that were unintentionally exposed. Fixed
    #​20556.

Dependency Updates:

  • Upgraded the bundled node version shipped with Cypress from 16.5.0 to
    16.13.2. Addressed in
    #​21418.
  • Upgraded the Chromium browser version used during cypress run and when
    selecting Electron browser in cypress open from 94.0.4606.81 to
    100.0.4896.75. Addressed in
    #​21418.
  • Upgraded electron dependency from 15.5.1 to 18.0.4. Addressed in
    #​21418.

v9.6.1

Compare Source

Released 5/9/2022

Bugfixes:

  • Cypress can now launch on systems where Firefox is installed via Snapcraft.
    Fixed #​19793.
  • Updates were made to ensure XHR calls are properly displaying the response
    body in the command log. Fixed
    #​21361.
  • Fixed cy.contains() and
    .should('contain', ...) to handle finding text that
    contains backslash characters. Fixed
    #​19116
  • Updated .type('{enter}') to support sending the Enter
    keystroke to submit buttons that are not rendered within a form html element,
    but are associated with a form via the form attribute. Fixed
    #​21163.
  • Fixed an issue with cy.session() such that re-running tests in open mode
    will now correctly recreate a session. Before this change, an error was thrown
    indicating the saved setup function was not a function because it was
    serialized. Fixed
    #​17805.

v9.6.0

Compare Source

Released 4/25/2022

Features:

  • Now you can easily test multi-domain workflows by using the experimental
    cy.origin() command. This feature allows you to test
    across different origins or domains within a single test. This experiment was
    designed to work side-by-side with the cy.session()
    experimental feature. You can turn on use of this command by setting the
    experimentalSessionAndOrigin configuration
    option to true. For more details, read
    our blog post.
    Addressed #​17336 and
    #​944.
    • Added a new configuration option called experimentalSessionAndOrigin. This
      option enables support for cy.session() and
      cy.origin().
    • The experimentalSessionSupport configuration option has been removed and
      replaced by the experimentalSessionAndOrigin configuration option. Please
      update your configuration to use the new experimentalSessionAndOrigin
      option to continue to opt-in to this experimental feature.
    • When experimentalSessionAndOrigin is enabled, cross-origin requests will
      no longer immediately fail, but instead, time out based on the
      pageLoadTimeout
      configuration. This allows the request to be appropriately handled by the
      cy.origin() command.
    • When experimentalSessionAndOrigin is enabled, Cypress will no longer wait
      on page loads between hooks before moving on to the next test.

Bugfixes:

  • Fixed an issue with Firefox 98+ where the Enter keystroke was not being sent
    to an input element when using .type('{enter}'). Fixed
    #​21033.
  • We now verify if an interruption while running tests was signaled by the user
    or if it came from an error in a plugin before showing the error message.
    Fixed #​21010.
  • Improved the error message observed on Windows platforms when unzipping the
    Cypress binary and the max file length is exceeded. Fixed in
    #​21047.
  • Updated the Cypress.Commands.add() TypeScript types to better reflect the
    attributes of the .add() utility and the JQuery element, a possible previous
    subject type. #​20376.

Dependency Updates:

  • Upgraded electron dependency from 15.3.5 to 15.5.1 to consume fixes
    related to
    improve performance on
    macOS Big Sur and later. Addressed
    #​21068.

v9.5.4

Compare Source

Released 4/11/2022

Bugfixes:

  • Updates were made to silence Electron warnings related to being unable to
    connect to dbus. These errors are normal and expected, and do not result in
    test failures. Because they are always present when running Electron inside
    docker containers, it has incorrectly led people to believe it is the
    root-cause of an error within their test run. By silencing these errors, it
    will improve the debug experience to allow users to focus on meaningful
    warning and error messages. Fixed
    #​19299.
  • Updates were made to ensure that all *.enable events are sent if Cypress
    becomes disconnected from the Chrome DevTools Protocol and must re-establish a
    connection to ensure all command logs are displayed to the user. This fixes an
    issue where some command logs, like download or network events, are missing
    once Cypress has disconnected and then reconnected to the Chrome DevTools
    Protocol. Fixed #​20618.
  • Fixed an issue where cy.type('{enter}') was not sending the Enter key for
    Firefox v98+. This was not an issue with Firefox v97 and below. Fixed
    #​20562.
  • Fixed a regression in 9.3.0 where glob
    patterns provided to the --spec CLI parameter was incorrectly splitting the
    patterns in unexpected places when it should have split on commas. Fixes
    #​20794.
  • Fixed an issue with cy.root() to respect the
    timeout option passed to the command.
    Previously, when the timeout option was provided, it was ignored and the
    default timeout was used. Fixed
    #​19985.
  • Updates were made to decrease the length of the Cypress cache path for Windows
    to ensure
    installing pre-release versions
    of the Cypress binary are within the maximum path length of 260 characters.
    Fixed in #​20961.
  • Fixed a regression in 8.6.0 which
    prevented .pause() from correctly executing when passing the
    --headed --no-exit CLI flags to cypress run. Fixed
    #​20745.
  • Fixed a regression in 9.2.0 which would
    sometimes throw an expected error on navigation with cy.back() and
    cy.go(). Fixed #​19749
    and #​20539.
  • Corrected the Typescript type for a cookie which was incorrectly typed as
    any when the correct type is Cookie. Fixed in
    #​20513.
  • Added the missing Cypress.Command.addAll() Typescript types. Fixed
    #​18886.
  • Fixed an uncommon error observed in cy.session() where an error was thrown
    when no cookies had been set for the session and the user clicks the session
    command log to view additional details in the DevTools console. Fixed in
    #​20946.

Misc:

  • A minor visual update was made to the cy.session() command log visuals.
    Fixed #​20433.

Dependency Updates:

  • Upgraded ansi-regex dependency from 4.1.0 to 4.1.1 to address the
    CVE-2021-3807 NVD security
    vulnerability. Addressed in
    #​20807.
  • Upgraded plist dependency from 3.0.4 to 3.0.5 to address the
    CVE-2022-22912 NVD security
    vulnerability. Addressed in
    #​20808.

v9.5.3

Compare Source

Released 3/28/2022

Bugfixes:

  • Corrected a logging issue with cy.intercept() where the response status code
    and response body were sometimes missing from the log details in open mode.
    Fixed #​18757.
  • Fixed an issue in cy.readFile() where the command would not retry or provide
    a meaningful error message if null encoding was used and the file was not
    found. Fixed #​20683.
  • Updated the Cypress Keyboard shortcuts to only run the shortcut when the
    pressed shortcut key was not used in conjunction with either the alt,
    ctrl, or shift modifier keys. This fixed an issue where the Cypress
    shortcut handler would override the browser native keyboard shortcut for
    search (ctrl + f). Fixed
    #​20222.
  • Updates were made to correctly escape dollar signs in the
    CYPRESS_DOWNLOAD_PATH_TEMPLATE environment variable. Issues were seen
    utilizing this template when the env was provided from a package manager file.
    Fixed #​19914.
  • Fix the Cypress.Buffer TypeScript type to reference the static constructor
    of Buffer, instead of incorrectly referencing the Buffer instance which
    caused Type errors. Fixes
    #​20542.

Dependency Updates:

  • Upgraded electron dependency from 15.3.4 to 15.3.5 to address the
    CVE-2022-21718 NVD security
    vulnerability. Addressed in
    #​20750.
  • Upgraded minimist dependency from 1.2.5 to 1.2.6. Addressed in
    #​20756.
  • Upgraded nanoid dependency from 3.1.20 to 3.1.31 to address the
    CVE-2021-23566 NVD security
    vulnerability. Addressed in
    #​20726.
  • Upgraded node-forge dependency from 1.0.0 to 1.3.0 to address the
    CVE-2022-24771 NVD security
    vulnerability. Addressed in
    #​20727.

v9.5.2

Compare Source

Released 3/14/2022

Bugfixes:

  • Fixed an issue with .type() where click events could be fired on the
    incorrect target element because the target focus changed within a key-down
    event handler callback. Fixed in
    #​20525.
  • Fixed a regression in 9.5.0 where ANSI
    colors were not removed from the FireFox warning message about the
    chromeWebSecurity configuration option having no effect on the Firefox
    browser. Fixes #​20496.
  • Updates were made to the pre-release build setup such that Cypress will use a
    unique cache folder for each
    pre-release installation
    on a machine. This removes the need to run cypress clear cache before
    installing a new pre-release version of Cypress or before installing a new
    released version of Cypress after a pre-release version had been installed.
    Addressed in #​20296.

Misc:

  • Updates were made to explicitly disable the Origin-Agent-Cluster header for
    proxied responses to ensure document.domain can continue to be set with
    Chrome v106+. This was necessary because Chrome is planning to make
    document.domain immutable
    in v106+ to relax the same-origin policy by interpreting the
    Origin-Agent-Cluster as true, whereas it is currently interpreted as
    false. Addresses
    #​20147.

Dependency Updates:

v9.5.1

Compare Source

Released 2/28/2022

Bugfixes:

  • Added a ready event to the Plugins process to ensure all plugins have
    successfully started before the configuration is loaded and the tests start.
    Fixed in #​19792.
    • This fixes an issue where the plugin is never executed and leaves Cypress
      stuck in the initialization phase, where the user can only view the loading
      spinner.
    • This enables support for node's experimental --loader flag for plugins.
  • Made a change to the DNS lookup to improve test performances and reliability
    on MacOS machines that leverage the VMWare CBCloud SaaS solution. Before this
    change, random test failures were observed, as well as hanging tests and
    initially pending HTTP and HTTPS responses. Fixed in
    #​20062.
  • Fixed a regression in 9.5.0 where ANSI
    colors were not removed from the cy.fixtures() error code frame. Fixes
    #​20208.
  • Fixed a regression in 9.5.0 where the
    test config override errors were formatted incorrectly. Fixes
    #​20208.
  • Fixed an issue where Cypress would throw an error when reporting or wrapping
    errors with booleans or numbers. Fixes
    #​19561.

Dependency Updates:

  • Upgraded url-parse dependency from 1.5.2 to 1.5.6 to avoid authorization
    bypass through user-controlled key to address this
    NVD security vulnerability.
    Addressed in #​20270.

v9.5.0

Compare Source

Released 2/15/2022

Features:

  • Enhancements were made to the error experience in both run mode and open mode
    to improve readability and provide meaningful stack traces. Addressed in
    #​20124.
  • Updated the cy.request() log message to hide the origin when it matched the
    browser origin to make debugging easier. This reduces the length of the log
    message that could be partially hidden if a long url is requested. Addressed
    in #​20009.
  • Updates were made to log the ShadowRoot and Document elements as HTML
    elements. Previously these would be logged as enumerated objects, which were
    difficult to evaluate. Addressed in
    #​20049.
  • Updated the terminal output generated in Cypress run mode to de-emphasis the
    node path in the run header. Addressed in
    #​20120.

Bugfixes:

  • Fixed an issue where files attached during .selectFile() could have the
    wrong File prototype. Fixes
    #​20003.
  • Updated .select() to only dispatch the change and input events when the
    selected option is not the currently selected option. This change aligns
    .select() with the browser. Fixes
    #​19494.
  • Updated .type(' ') to align with the W3C standards where a click event
    should be dispatched when the Space key is pressed and the current focus is on
    a state-changing element with type button, image, submit or reset.
    Fixes #​20067.

v9.4.1

Compare Source

Released 1/31/2022

Bugfixes:

  • Fixed a regression in 9.4.0 where the
    line endings in the public NPM package prevented some users from running
    Cypress. Fixes #​19986.

v9.4.0

Compare Source

Released 1/31/2022

Features

  • Enhancements were made to .selectFile() after receiving feedback after its
    initial release in 9.3.0.
    • The default behavior was updated to automatically infer the mime type of
      files based on their extension to correctly encode file uploads. Addressed
      in #​19751.
    • Added the mimeType property so you can explicitly set the mime type on
      files using the mimeType property. Addressed in
      #​19751.
    • Updated file contents types to allow either a
      TypedArray
      instance or a Cypress.Buffer instance, where previously file contents were
      expected to only be an instance of Cypress.Buffer. Addressed in
      #​19751.
    • Updated .selectFile() to retain the fileName of files read from disk to
      work with aliases. Addressed in
      #​19803.

Bugfixes:

  • Fixed a regression in 9.3.0 to correctly
    parse the --spec CLI parameter for glob patterns containing a range. Fixes
    #​19783.
  • Fixed regression in 9.2.1 where the
    --openssl-legacy-provider flag was not being passed to the plugins' child
    process when the user's system Node version was Node 17+ built with OpenSSL
    v3+ which resulted in Cypress crashing when trying to run tests. Fixes
    #​19712.
  • Update cy.type('{enter}') to align with the W3C standards where a click
    event should be dispatched when the Enter key is pressed and the current focus
    is on astate-changing element with type button, image, submit or
    reset. Fixes #​19541.

v9.3.1

Compare Source

Released 1/19/2022

Bugfixes:

  • Fixed an issue where the bin file was released with windows line breaks. Fixes
    #​19747.

v9.3.0

Compare Source

Released 1/18/2022

Features:

  • Added a new Cypress command, called
    .selectFile(), to select a file or files in an
    HTML5 input element or simulate dragging a file or files into the browser. The
    API is similar to cypress-file-upload and we have provided a
    migration guide
    for previous users of that plugin. For more details, see
    our blog post.
    Fixes #​19524 and
    #​170.
  • Exposed the Buffer polyfill, as Cypress.Buffer,
    to enable working with binary data. Addressed in
    #​19524.
  • Added the CYPRESS_DOWNLOAD_PATH_TEMPLATE environment variable which can be
    set to a string template for building the download URL for the Cypress binary.
    This environment variable is useful for users who are downloading the Cypress
    binary from a proxy that is not one-to-one with the Cypress's default download
    url. More information can be found in the
    Install Binary
    documentation. Fixes
    #​15697.

Bugfixes:

  • Fixed an issue where the --spec CLI parameter was not working properly when
    passing multiple glob patterns that are separated by commas. Fixes
    #​16102.
  • Fixed an issue with how the CYPRESS_VERIFY_TIMEOUT environment variable was
    read so it can set in a project's package.json or it's .npmrc. Fixes
    #​19559.

Dependency Updates:

  • Upgraded graceful-fs from 4.2.0 to 4.2.9. This upgrade resolves issues
    observed with using graceful-fs v4.2.0 with resolve v1.21+. Addressed in
    #​19676 and resolves
    #​19610.
    • NOTE: This upgrade to graceful-fs breaks Cypress's compatibility with
      Yarn 2. We have observed errors with Yarn 2.4.2 with graceful-fs 4.2.9.
      Before this change, Cypress had minimal Yarn 2 support (see
      #​6377). Between Yarn 3
      fixing multiple bugs and the migration path from Yarn 2 to Yarn 3 being
      minimal, we felt the best step forward was to support and recommend Yarn 3
      over Yarn 2.
  • Upgraded electron from 15.2.0 to 15.3.4. Addressed in
    #​19351.

v9.2.1

Compare Source

Released 1/10/2022

Bugfixes:

  • Fixed a regression in 9.2.0 to keep
    Cypress open after each spec finishes when the --headed --no-exit flags are
    passed to cypress run. Fixes
    #​19485.
  • Improve heuristic for verifying when the --openssl-legacy-provider option
    should be passed to the plugins' child process when the system Node version is
    v17+. This prevents Cypress from crashing when a user has Node 17 installed
    which was built with OpenSSL v1. Fixes
    #​19320.
  • Correctly cast the CYPRESS_VERIFY_TIMEOUT environment variable as a number
    so Cypress will no longer throw
    TypeError: Expected the timeout option to be a non-negative integer. Fixes
    #​19476.

Dependency Updates:

v9.2.0

Compare Source

Released 12/20/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:

v9.1.1

Compare Source

Released 12/03/2021

Bugfixes:

  • Fixed a regression in 9.1.0 where our
    built binary didn't contain patches to some dependencies. Addressed in
    #​19239. This fixed some
    issues including:
    • Requests containing ~ will no longer be improperly encoded. Fixes
      #​19083,
      #​19084,
      #​19115,
      #​19096,
      #​19178.
    • A TypeError displaying data.hasOwnProperty is not a function will no
      longer throw in some situations. Fixes
      #​19091.
    • Empty extra hooks will no longer be sent as data when recording to the
      Dashboard. Fixes
      #​19087.
    • The Runner hanging when baseUrl is set to null to load a local file. Fixes
      #​19105
  • When using the default configuration of "nodeVersion": "system" with an
    installed system node >=17, Cypress will now work properly rather than throw
    an error incorrectly pointing to the user's plugin file. Fixes
    #​18914.
  • Shadow DOM elements no longer error as hidden during actionability when the
    element is covered by its parent shadow root. Fixes
    #​18008.
  • When using .type() events now correctly propagate out of the shadow DOM.
    Fixes #​17531.
  • The this context is now properly preserved when overwriting cy.clock().
    Fixes #​19158.

Dependencies:

  • Upgraded @cypress/request from 2.88.7 to 2.88.10. Addressed in
    #​19099.

v9.1.0

Compare Source

Released 11/22/2021

Features:

  • A CYPRESS environment variable will be set to true in child processes where
    Cypress runs user code in Node.js. You can now detect that you're running in
    Cypress by looking for process.env.CYPRESS. Addresses
    #​18805.

Bugfixes:

  • Specs with % in the filename will no longer fail to load and now behave as any
    other spec. Fixes
    #​18871.
  • When using the Selector Playground, the HTML attribute's value will be wrapped
    in double-quotes. Fixes
    #​1884.
  • The call count is now shown in the Command Log when using
    cy.stub().log(false). Fixes
    #​18907.
  • The warning message for retrying connection to a browser has been improved to
    indicate when it is still waiting. Fixes
    #​18644.
  • Cypress commands that rely on this context now have access to this when
    overridden. Fixes #​18899.

v9.0.0

Compare Source

Released 11/10/2021

Breaking Changes:

  • The nodeVersion configuration option now defaults to system. The behavior
    of the system option has changed to always use the Node.js binary/version
    that launched Cypress. If Cypress was not launched via the terminal, Cypress
    will use the bundled Node.js version. This could change the behavior of code
    within your pluginsFile since it may be run in your system Node.js
    version. Addresses
    #​18684.
  • Windows 32-bit is no longer supported in Cypress. Addresses
    #​17962.
  • An error will now be thrown if an invalid value is passed to Cypress.config.
    Previously invalid values were ignored and could cause unexpected behavior.
    Addresses #​18589.
  • cy.contains() no longer yields the <body> element when it matches the
    content of <script> or <style> tags. Addresses
    #​14861.
  • Attempting to add an existing built-in Cypress command using
    Cypress.Commands.add() will now throw an error, indicating that
    Cypress.Commands.overwrite() should be used instead to overwrite the
    behavior of existing commands. Addresses
    #​18572.
  • Custom command implementations are now typed based on the declared custom
    chainables. Addresses
    #​17496.
  • The bundled Node.js version was upgraded from 14.17.0 to 16.5.0. This
    could change the behavior of code within the pluginsFile when using the
    bundled Node.js version of Cypress. Addressed in
    #​18317.

Deprecations:

  • The nodeVersion configuration option has been deprecated and will be removed
    in a future release.

Features:

  • When null is passed as the encoding to cy.readFile() or cy.fixture(),
    the file is treated as binary and read as a Buffer. Similarly, null passed
    as the encoding to cy.writeFile() allows direct writing of buffers. If the
    encoding is unspecified, the default remains utf8, matching the current
    behavior. Addresses
    #​18534.

Bugfixes:

  • Sticky elements within a fixed container will now be able to be properly
    scrolled to during action commands. Fixes
    #​4233.
  • document.referrer will now correctly reflect the correct value from the
    application under test after cy.visit(). Fixes
    #​4295.

Dependencies:

  • Upgraded Chrome browser version used during cypress run and when selecting
    Electron browser in cypress open from 91 to 94. Addressed in
    #​15292.
  • Upgraded bundled Node.js version from 14.17.0 to 16.5.0. Addressed in
    #​15292.
  • Upgraded electron from 14.1.0 to 15.2.0. Addressed in
    #​15292.

v8.7.0

Compare Source

Released 10/25/2021

Features:

  • There are changes to how "slow" tests are determined and displayed in Cypress.
    Addresses #​18496.
    • Added a slowTestThreshold
      configuration option to customize when tests are considered "slow" during
      cypress run. A test that runs slower than the given threshold will display
      in orange text in the default 'spec' reporter. This configuration can be set
      in your Cypress config file or via specific
      test configuration.
    • The default slow test threshold was changed from 75ms (Mocha's default) to
      10000ms for e2e tests and 250ms for component tests. To restore the old
      behavior, you can add "slowTestThreshold": 75 to your Cypress config file.
    • All tests will show the time the test ran in milliseconds during
      cypress run with the default 'spec' reporter.
  • Users can pass an overwrite: true option to Cypress.Screenshot.defaults to
    change default behavior to overwrite existing screenshots without having to
    set overwrite for each cy.screenshot() command. Addresses
    #​7955.

Bugfixes:

  • Fixed a regression introduced in 8.6.0 where videos recorded in
    Electron to the Dashboard were not playable in the Firefox or Safari browser
    and were not compatible with QuickTime player in MacOS.
  • Fixed a regression introduced in 8.6.0 so that the warning about the
    projectRoot directory not being writeable will now display correctly. Fixes
    #​18485.
  • Improved the error message when running Cypress without non-root permissions.
    Fixes #​18445.
  • An error now throws when invalid options are passed to the selectorPriority
    configuration option of Cypress.SelectorPlayground.defaults. Valid values
    are data-*, id, class, tag, attribute, or nth-child. Fixes
    #​7745.

Dependency Updates:

  • Pinned resolution of ua-parser-js to 0.7.24 to avoid dependency resolution
    to the compromised package versions. Please read the
    security advisory and
    take actions advised as soon as possible. Addressed in
    #​18611

v8.6.0

Compare Source

Released 10/11/2021

Features:

  • cy.screenshot() now accepts overwrite: true as an option to overwrite
    existing screenshots with the same file name. Addresses
    #​7955.
  • cy.select([]) can now be used to clear any selected options in a multi-value
    select. Addresses #​4318.
  • Using cy.pause() when using cypress run --headed --no-exit will now pause
    a test. Addresses #​4044.

Bugfixes:

  • Fixed a regression introduced in 8.2.0 where certain XMLHttpRequests
    would not display their response bodies in the DevTools Console when clicked.
    Fixes #​17656.
  • Fixed a regression in 8.3.0 where capturing videos in Chrome
    versions earlier than 89 would result in choppy videos and skipped frames.
    Fixes #​18021.
  • Cypress displays the correct error when certain custom error types are thrown
    within a test. Fixes
    #​18259.
  • The Cypress App will no longer crash when passed a --spec: {} from the CLI
    and instead error when passed an invalid object argument. Fixes
    #​3957.
  • Logging a plain object no longer results in the error "Cannot convert object
    to primitive value". Fixes #​18143.

Misc:

  • Updated the cy.request() error message when conflicting failOnStatusCode
    and retryOnStatusCodeFailure options are passed to be clearer. Fixes
    #​18271.

Dependency Updates:

  • Upgraded the Chromium browser version used during cypress run and when
    selecting Electron browser in cypress open from 91.0.4472.164 to
    93.0.4577.58.
  • Upgraded electron from 13.2.0 to 14.1.0. Addressed in
    #​18318 and
    #​18384.

v8.5.0

Compare Source

Released 09/27/2021

Features:

  • You can now select an option by index within the
    .select() command. Addresses
    #​757.
  • Cypress now captures the repository URL on Drone CI. Addresses
    #​18210.

Bugfixes:

  • The download of Cypress now respects the NO_PROXY environment variable when
    one is set. Fixes
    #​17702.
  • When using a custom config file and setting it up to record to the Dashboard,
    Cypress now writes the projectId in the custom config file instead of
    cypress.json. Fixes
    #​5747.

Misc:

  • Windows 32-bit has been deprecated and support will be removed in a later
    release. A deprecation warning will now display when using Cypress in a
    Windows 32-bit OS. See
    #​17962 for more detail.
    Addresses #​18094.
  • Improved the error messages when an invalid argument type is passed to the .select() command. Addressed in #​18234.

v8.4.1

Compare Source

Released 09/17/2021

Bugfixes:

  • Cypress will no longer crash when setting up a project to record to the
    Dashboard or viewing the runs or record key for a previously set up project.
    Fixes #​18129.
  • The branch collected for Drone CI now correctly reflects the source PR branch
    for showing in the Cypress Dashboard. Fixes
    #​17860.

v8.4.0

Compare Source

Released 09/13/2021

Features:

  • When the URL contains non-ASCII characters, you can use the new decode
    option of cy.url() to decode it. Addresses
    #​17399.

Bugfixes:

  • Cypress now better handles situations where the extension was installed in a
    read-only location. Fixes
    #​3852.
  • A clearer error message is now thrown for .check() or .uncheck() when
    there are no matching value attributes found.
    Fixes#​7379.
  • Hooks will no longer rerun on unrelated tests in some situations after a
    domain navigation. Fixes
    #​17705.
  • clientCertificate types have been added for the Cypress configuration. Fixes
    #​17799.

v8.3.1

Compare Source

Released 08/27/2021

Performance:

  • Projects will now open much faster on MacOS Big Sur with improved browser
    detection performance. Fixes
    #​17773.

Bugfixes:

  • Fixed a regression in 8.3.0 where the
    correct exit code would not be issued during cypress run-ct while running in
    the Electron browser. Fixes
    #​17752 and
    #​17885.
  • Fixed a regression in 8.3.0 where
    Cypress would cause a SIGSEGV error on Mac when closing the Cypress app
    opened via cypress open. Fixes
    #​17766.
  • The beforeinput event now correctly fires in Firefox during keyboard events.
    Fixes #​17583.

Misc:

  • cy.document() typings now allow for the timeout option. Fixes
    #​17695.
  • cy.title() typings now allow for the timeout option. Fixes
    #​17781

Dependency Updates:

  • Upgraded electron from 13.1.7 to 13.2.0. Addressed in
    #​17772.
  • Upgraded @cypress/request from 2.88.5 to 2.88.6. Addresses
    #​17622.

v8.3.0

Compare Source

Released 08/16/2021

Features:

  • The instructions for recording a run have been updated for some users.
    Addressed in #​17317.

Performance:

  • We addressed an issue that increased CPU usage during video recording in
    Chrome 89+/Electron 12+. Fixes
    #​16152.
  • Fixed a regression in 7.2.0 that would
    cause cy.visit() to take longer to fire its load event in some
    circumstances. Fixes
    #​16671.

Bugfixes:

  • Fixed an issue that could cause intermittent OpenSSL errors when the local CA
    cert cache becomes corrupted. Fixes
    #​8705.
  • Fixed a regression in 7.2.0 causing the
    menu bar of Cypress to not be clickable in Windows. Fixes
    #​16323.
  • res.send of cy.intercept() will no longer override JSON-related content
    types. Fixes #​17084.
  • The times option of cy.intercept now works properly with req.reply.
    Fixes #​17139.
  • Fixed a regression in 8.0.0 where
    Cypress would always warn that chromeWebSecurity is set to "false" when it
    wasn't. Fixes #​17614.

Dependency Updates:

  • Upgraded Chrome browser version used during cypress run and when selecting
    Electron browser in cypress open from 89 to 91. Addressed in
    #​17408.
  • Upgraded bundled Node.js version from 14.6.0 to 14.17.0. Addressed in
    #​17408.
  • Upgraded electron from 12.0.0-beta.14 to 13.1.7. Addressed in
    #​17408.
  • Upgraded url-parse from 1.5.1 to 1.5.2. Addressed in
    #​17719.

v8.2.0

Compare Source

Released 08/04/2021

Features:

  • You can now cache and restore cookies,
    localStorage,
    and
    sessionStorage
    in order to reduce test setup times by using
    cy.session(). The session API is experimental and
    can be enabled by setting the
    experimentalSessionSupport flag to true
    in your Cypress config. See
    our blog
    and the cy.session() doc for more detail.
  • The logging experience around HTTP requests has been updated.
    • fetch requests are always displayed in the Command Log, regardless of if
      experimentalFetchSupport is enabled.
    • Duplicate logs for XHRs, fetches, and cy.intercept() have been
      consolidated - Fixes
      #​14843.
    • The user experience around the information displayed in the console when
      clicking on cy.intercept() request logs has been improved.
    • Request logs now indicate if a request has gone to the origin or if it has
      been stubbed by displaying a filled or empty circle in the request log.
    • Request logs now display information about if the request and/or response
      was modified by a cy.intercept().
    • The tooltip displayed when mousing over a request log now displays
      information about the matched cy.intercept()/cy.route() rules.
    • Fixed an issue where pending request logs were not ended between tests.
      Fixes #​14655.
  • There's now a Cypress.currentTest property to access name the currently
    executing test via Cypress.currentTest.title and
    Cypress.currentTest.titlePath. Addresses
    #​2972.

Bugfixes:

  • A "removing cookie failed" error will no longer throw when cookies are cleared
    in Firefox. Fixes #​6375.
  • Cypress no longer throws the error "cannot read property split of undefined"
    in certain circumstances when application errors are thrown. Fixes
    #​17378.
  • Cypress now properly runs the final test when nested in a suite with a
    before hook. Fixes
    #​9026.
  • Fixed a regression in 8.0.0 where an
    error would longer throw when there is no /etc/passwd entry for the current
    user, such as in some Docker and GitHub Action setups. Fixes
    #​17415.
  • Cypress now throws if a function is incorrectly passed as the second argument
    to cy.wait(). Fixes
    #​17436.

v8.1.0

Compare Source

Released 07/29/2021

Features:

  • When using experimentalStudio, you can now generate assertion

Configuration

📅 Schedule: At any time (no schedule defined).

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

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

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


  • If you want to rebase/retry this PR, click this checkbox.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants