cypress-io/cypress
### [`v8.7.0`](https://togithub.com/cypress-io/cypress/releases/v8.7.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.6.0...v8.7.0)
*Released 10/25/2021*
**Features:**
- There are changes to how "slow" tests are determined and displayed in Cypress.
Addresses [#18496](https://togithub.com/cypress-io/cypress/pull/18496).
- Added a [`slowTestThreshold`](https://docs.cypress.io/guides/references/configuration#Timeouts)
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](https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests#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](https://togithub.com/cypress-io/cypress/issues/7955).
**Bugfixes:**
- Fixed a regression introduced in [8.6.0](https://docs.cypress.io/guides/references/changelog#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](https://docs.cypress.io/guides/references/changelog#8-6-0) so that the warning about the
`projectRoot` directory not being writeable will now display correctly. Fixes
[#18485](https://togithub.com/cypress-io/cypress/issues/18485).
- Improved the error message when running Cypress without non-root permissions.
Fixes [#18445](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/advisories/GHSA-pjwm-rvh2-c87w) and
take actions advised as soon as possible. Addressed in
[#18611](https://togithub.com/cypress-io/cypress/pull/18611)
### [`v8.6.0`](https://togithub.com/cypress-io/cypress/releases/v8.6.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.5.0...v8.6.0)
*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](https://togithub.com/cypress-io/cypress/issues/7955).
- `cy.select([])` can now be used to clear any selected options in a multi-value
select. Addresses [#4318](https://togithub.com/cypress-io/cypress/issues/4318).
- Using `cy.pause()` when using `cypress run --headed --no-exit` will now pause
a test. Addresses [#4044](https://togithub.com/cypress-io/cypress/issues/4044).
**Bugfixes:**
- Fixed a regression introduced in [8.2.0](https://docs.cypress.io/guides/references/changelog#8-2-0) where certain XMLHttpRequests
would not display their response bodies in the DevTools Console when clicked.
Fixes [#17656](https://togithub.com/cypress-io/cypress/issues/17656).
- Fixed a regression in [8.3.0](https://docs.cypress.io/guides/references/changelog#8-3-0) where capturing videos in Chrome
versions earlier than 89 would result in choppy videos and skipped frames.
Fixes [#18021](https://togithub.com/cypress-io/cypress/issues/18021).
- Cypress displays the correct error when certain custom error types are thrown
within a test. Fixes
[#18259](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/3957).
- Logging a plain object no longer results in the error "Cannot convert object
to primitive value". Fixes [#18143](https://togithub.com/cypress-io/cypress/issues/18143).
**Misc:**
- Updated the `cy.request()` error message when conflicting `failOnStatusCode`
and `retryOnStatusCodeFailure` options are passed to be clearer. Fixes
[#18271](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/18318) and
[#18384](https://togithub.com/cypress-io/cypress/issues/18384).
### [`v8.5.0`](https://togithub.com/cypress-io/cypress/releases/v8.5.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.4.1...v8.5.0)
*Released 09/27/2021*
**Features:**
- You can now select an option by index within the
[`.select()`](https://docs.cypress.io/api/commands/select) command. Addresses
[#757](https://togithub.com/cypress-io/cypress/issues/757).
- Cypress now captures the repository URL on Drone CI. Addresses
[#18210](https://togithub.com/cypress-io/cypress/issues/18210).
**Bugfixes:**
- The download of Cypress now respects the `NO_PROXY` environment variable when
one is set. Fixes
[#17702](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/17962) for more detail.
Addresses [#18094](https://togithub.com/cypress-io/cypress/issues/18094).
- Improved the error messages when an invalid argument type is passed to the [`.select()`](https://docs.cypress.io/api/commands/select) command. Addressed in [#18234](https://togithub.com/cypress-io/cypress/pull/18234).
### [`v8.4.1`](https://togithub.com/cypress-io/cypress/releases/v8.4.1)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.4.0...v8.4.1)
*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](https://togithub.com/cypress-io/cypress/issues/18129).
- The branch collected for Drone CI now correctly reflects the source PR branch
for showing in the Cypress Dashboard. Fixes
[#17860](https://togithub.com/cypress-io/cypress/issues/17860).
### [`v8.4.0`](https://togithub.com/cypress-io/cypress/releases/v8.4.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.3.1...v8.4.0)
*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](https://togithub.com/cypress-io/cypress/issues/17399).
**Bugfixes:**
- Cypress now better handles situations where the extension was installed in a
read-only location. Fixes
[#3852](https://togithub.com/cypress-io/cypress/issues/3852).
- A clearer error message is now thrown for `.check()` or `.uncheck()` when
there are no matching value attributes found.
Fixes[#7379](https://togithub.com/cypress-io/cypress/issues/7379).
- Hooks will no longer rerun on unrelated tests in some situations after a
domain navigation. Fixes
[#17705](https://togithub.com/cypress-io/cypress/issues/17705).
- `clientCertificate` types have been added for the Cypress configuration. Fixes
[#17799](https://togithub.com/cypress-io/cypress/issues/17799).
### [`v8.3.1`](https://togithub.com/cypress-io/cypress/releases/v8.3.1)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.3.0...v8.3.1)
*Released 08/27/2021*
**Performance:**
- Projects will now open much faster on MacOS Big Sur with improved browser
detection performance. Fixes
[#17773](https://togithub.com/cypress-io/cypress/issues/17773).
**Bugfixes:**
- Fixed a regression in [8.3.0](https://docs.cypress.io/guides/references/changelog#8-3-0) where the
correct exit code would not be issued during `cypress run-ct` while running in
the Electron browser. Fixes
[#17752](https://togithub.com/cypress-io/cypress/issues/17752) and
[#17885](https://togithub.com/cypress-io/cypress/issues/17885).
- Fixed a regression in [8.3.0](https://docs.cypress.io/guides/references/changelog#8-3-0) where
Cypress would cause a `SIGSEGV` error on Mac when closing the Cypress app
opened via `cypress open`. Fixes
[#17766](https://togithub.com/cypress-io/cypress/issues/17766).
- The `beforeinput` event now correctly fires in Firefox during keyboard events.
Fixes [#17583](https://togithub.com/cypress-io/cypress/issues/17583).
**Misc:**
- `cy.document()` typings now allow for the `timeout` option. Fixes
[#17695](https://togithub.com/cypress-io/cypress/issues/17695).
- `cy.title()` typings now allow for the `timeout` option. Fixes
[#17781](https://togithub.com/cypress-io/cypress/issues/17781)
**Dependency Updates:**
- Upgraded `electron` from `13.1.7` to `13.2.0`. Addressed in
[#17772](https://togithub.com/cypress-io/cypress/pull/17772).
- Upgraded `@cypress/request` from `2.88.5` to `2.88.6`. Addresses
[#17622](https://togithub.com/cypress-io/cypress/pull/17622).
### [`v8.3.0`](https://togithub.com/cypress-io/cypress/releases/v8.3.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.2.0...v8.3.0)
*Released 08/16/2021*
**Features:**
- The instructions for recording a run have been updated for some users.
Addressed in [#17317](https://togithub.com/cypress-io/cypress/issues/17317).
**Performance:**
- We addressed an issue that increased CPU usage during video recording in
Chrome 89+/Electron 12+. Fixes
[#16152](https://togithub.com/cypress-io/cypress/issues/16152).
- Fixed a regression in [7.2.0](https://docs.cypress.io/guides/references/changelog#7-2-0) that would
cause `cy.visit()` to take longer to fire its load event in some
circumstances. Fixes
[#16671](https://togithub.com/cypress-io/cypress/issues/16671).
**Bugfixes:**
- Fixed an issue that could cause intermittent OpenSSL errors when the local CA
cert cache becomes corrupted. Fixes
[#8705](https://togithub.com/cypress-io/cypress/issues/8705).
- Fixed a regression in [7.2.0](https://docs.cypress.io/guides/references/changelog#7-2-0) causing the
menu bar of Cypress to not be clickable in Windows. Fixes
[#16323](https://togithub.com/cypress-io/cypress/issues/16323).
- `res.send` of `cy.intercept()` will no longer override JSON-related content
types. Fixes [#17084](https://togithub.com/cypress-io/cypress/issues/17084).
- The `times` option of `cy.intercept` now works properly with `req.reply`.
Fixes [#17139](https://togithub.com/cypress-io/cypress/issues/17139).
- Fixed a regression in [8.0.0](https://docs.cypress.io/guides/references/changelog#8-0-0) where
Cypress would always warn that `chromeWebSecurity` is set to "false" when it
wasn't. Fixes [#17614](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/pull/17408).
- Upgraded bundled Node.js version from `14.6.0` to `14.17.0`. Addressed in
[#17408](https://togithub.com/cypress-io/cypress/pull/17408).
- Upgraded `electron` from `12.0.0-beta.14` to `13.1.7`. Addressed in
[#17408](https://togithub.com/cypress-io/cypress/pull/17408).
- Upgraded `url-parse` from `1.5.1` to `1.5.2`. Addressed in
[#17719](https://togithub.com/cypress-io/cypress/pull/17719).
### [`v8.2.0`](https://togithub.com/cypress-io/cypress/releases/v8.2.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.1.0...v8.2.0)
*Released 08/04/2021*
**Features:**
- You can now cache and restore [cookies](https://docs.cypress.io/api/cypress-api/cookies),
[`localStorage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage),
and
[`sessionStorage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage)
in order to reduce test setup times by using
[`cy.session()`](/api/commands/session). The `session` API is experimental and
can be enabled by setting the
[`experimentalSessionSupport`](/guides/references/experiments) flag to `true`
in your Cypress config. See
[our blog](https://cypress.io/blog/2021/08/03/authenticate-faster-in-tests-cy-session-command/)
and the [`cy.session()`](/api/commands/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/2972).
**Bugfixes:**
- A "removing cookie failed" error will no longer throw when cookies are cleared
in Firefox. Fixes [#6375](https://togithub.com/cypress-io/cypress/issues/6375).
- Cypress no longer throws the error "cannot read property split of undefined"
in certain circumstances when application errors are thrown. Fixes
[#17378](https://togithub.com/cypress-io/cypress/issues/17378).
- Cypress now properly runs the final test when nested in a suite with a
`before` hook. Fixes
[#9026](https://togithub.com/cypress-io/cypress/issues/9026).
- Fixed a regression in [8.0.0](https://docs.cypress.io/guides/references/changelog#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](https://togithub.com/cypress-io/cypress/issues/17415).
- Cypress now throws if a function is incorrectly passed as the second argument
to `cy.wait()`. Fixes
[#17436](https://togithub.com/cypress-io/cypress/issues/17436).
### [`v8.1.0`](https://togithub.com/cypress-io/cypress/releases/v8.1.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.0.0...v8.1.0)
*Released 07/29/2021*
**Features:**
- When using `experimentalStudio`, you can now generate assertions in
[Cypress Studio](https://docs.cypress.io/guides/core-concepts/cypress-studio) by right clicking on an
element. Addressed in
[#16295](https://togithub.com/cypress-io/cypress/pull/16295).
- When searching specs in the Test Runner during end-to-end testing, characters
that are not letters will be ignored and don't have to be typed. Addressed in
[#17346](https://togithub.com/cypress-io/cypress/issues/17346).
**Performance:**
- The Test Runner's performance has been improved when running a large number of
commands within a single test. Fixes
[#6783](https://togithub.com/cypress-io/cypress/issues/6783).
**Bugfixes:**
- Add Yarn v2 pnp support to our default webpack processor. Fixes
[#8008](https://togithub.com/cypress-io/cypress/issues/8008) and
[#16111](https://togithub.com/cypress-io/cypress/issues/16111).
- When running Cypress in global mode, an error will no longer be thrown when
trying to add a new project to the Dashboard. Addressed in
[#17514](https://togithub.com/cypress-io/cypress/pull/17514).
- The Test Runner will no longer crash in some instances when creating a new
spec file from the GUI.
[#17430](https://togithub.com/cypress-io/cypress/issues/17430).
### [`v8.0.0`](https://togithub.com/cypress-io/cypress/releases/v8.0.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v7.7.0...v8.0.0)
*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](https://docs.cypress.io/guides/references/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](https://togithub.com/cypress-io/cypress/issues/16832).
- The default screen size when running a headless browser has been reverted back
to 1280x720 pixels (pre 7.0 behavior). Addresses
[#16853](https://togithub.com/cypress-io/cypress/issues/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](https://docs.cypress.io/api/plugins/browser-launch-api#Override-the-device-pixel-ratio).
Addresses [#17375](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/pull/17355).
- Arguments returned from a chained function will no longer incorrectly be of
type `jQuery` and instead have an `any` type. Fixes
[#16669](https://togithub.com/cypress-io/cypress/issues/16669).
- The `Cypress.ConfigOptions`, `Cypress.ResolvedConfigOptions` and
`Cypress.RuntimeConfigOption` types have been updated so that `ConfigOptions`
match the JSON schema. Addressed in
[#17251](https://togithub.com/cypress-io/cypress/pull/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](https://docs.cypress.io/guides/references/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](https://docs.cypress.io/guides/continuous-integration/introduction#Running-headless-tests-without-Xvfb)
for more details. Addresses
[#16505](https://togithub.com/cypress-io/cypress/issues/16505).
**Bugfixes:**
- `console.log` and `console.error` called within the
[plugins file](https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests.html#Plugin-files)
will now be captured in the `stdout` sent to the Cypress Dashboard, making it
visible in Output logs in the Dashboard. Fixes
[#7434](https://togithub.com/cypress-io/cypress/issues/7434).
- There are several fixes for [`cy.intercept()`](/api/commands/intercept)
including:
- The `times` option now works correctly with `req.continue`. Fixes
[#16821](https://togithub.com/cypress-io/cypress/issues/16821).
- `localhost` is now accepted as a valid `hostname` in the `RouteMatcher`.
Fixes [#17015](https://togithub.com/cypress-io/cypress/issues/17015).
- `delay` now works correctly with a `statusCode` of 204. Fixes
[#15188](https://togithub.com/cypress-io/cypress/issues/15188).
- When using the experimental
[Cypress Studio](https://docs.cypress.io/guides/core-concepts/cypress-studio), there should be a
reduced occurrence of "Studio failed to save commands" error messages. Fixes
[#14767](https://togithub.com/cypress-io/cypress/issues/14767).
- [`cy.invoke()`](/api/commands/invoke) now retains the proper `this` context on
nested object methods. Fixes
[#3871](https://togithub.com/cypress-io/cypress/issues/3871).
- We no longer trigger unnecessary snapshot re-renders when hovering over the
Command Log. Fixes
[#17257](https://togithub.com/cypress-io/cypress/issues/17257).
### [`v7.7.0`](https://togithub.com/cypress-io/cypress/releases/v7.7.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v7.6.0...v7.7.0)
*Released 07/07/2021*
**Features:**
- When using `experimentalStudio`, [Cypress Studio](https://docs.cypress.io/guides/core-concepts/cypress-studio) can now copy all commands generated to your clipboard. Addressed in [#16912](https://togithub.com/cypress-io/cypress/issues/16912).
**Bugfixes:**
- Cypress now respects `preventScroll` options passed to `element.focus()` calls within the application under test. Fixes [#15294](https://togithub.com/cypress-io/cypress/issues/15294).
- Using `.contains(0)` will now show the zero in the Command Log. Fixes [#1119](https://togithub.com/cypress-io/cypress/issues/1119).
- Cypress will no longer show a warning about allowed keys for the `showedOnBoardingModal` when running `cypress open`. Fixes [#17095](https://togithub.com/cypress-io/cypress/issues/17095).
- The Cypress Studio introduction modal will now display with the correct styling. Fixes [#17102](https://togithub.com/cypress-io/cypress/issues/17102).
- The types for `.contains()` now correctly allow for the `includeShadowDom` option. Fixes [#17066](https://togithub.com/cypress-io/cypress/issues/17066).
**Misc:**
- We updated the messaging when Cypress fails to start to be clearer that it's not always due to a dependency missing. Addresses [#17112](https://togithub.com/cypress-io/cypress/pull/17112).
### [`v7.6.0`](https://togithub.com/cypress-io/cypress/releases/v7.6.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v7.5.0...v7.6.0)
*Released 06/23/2021*
**Features:**
- You can now override the default delay between typing characters for `.type()` with [`Cypress.Keyboard.defaults()`](https://on.cypress.io/keyboard-api) or via [test configuration](https://on.cypress.io/writing-and-organizing-tests#Allowed-config-values). Addresses [#566](https://togithub.com/cypress-io/cypress/issues/566).
- The experience when opening a new project via `cypress open` has been improved. Addressed in [#15826](https://togithub.com/cypress-io/cypress/pull/15826).
- The scaffolded example files have been updated to include examples tests of the TodoMVC project.
- You can now easily delete all of the scaffolded example files directly from the Test Runner GUI.
- There's now a button to create a new spec file when no spec files are found in the project.
- A new onboarding banner with be present with helpful links for new users and new projects.
- The incoming request object yielded to request handler functions passed to `cy.intercept()` (`req`) now has a `req.query` property, which is a getter/setter for the query parameters on the request URL. Addresses [#16327](https://togithub.com/cypress-io/cypress/issues/16327).
- You can now pass an `ArrayBuffer` as a request / response body with `cy.intercept()`. Addresses [#16722](https://togithub.com/cypress-io/cypress/issues/16722)
**Bugfixes:**
- Cypress no longer hangs intermittently when using webpack 5. Fixes [#15447](https://togithub.com/cypress-io/cypress/issues/15447).
- It is no longer necessary to return the config from the plugins function when using the `dev-server:start` event for component testing. Fixes [#16860](https://togithub.com/cypress-io/cypress/issues/16860).
- `cy.intercept()` now correctly sets the response body as a string instead of an ArrayBuffer when it contains multi-byte characters. Fixes [#16292](https://togithub.com/cypress-io/cypress/issues/16292).
- `cy.intercept()` won't corrupt certain binary responses. Fixes [#16722](https://togithub.com/cypress-io/cypress/issues/16722).
- On Windows, the Cypress executable is now code signed by "Cypress.io, Inc.". This fixes `spawn UNKNOWN` errors when launching Cypress with code signing required by policy on Windows. Fixes [#2543](https://togithub.com/cypress-io/cypress/issues/2543)
- We now warn on `EPERM` errors when accessing the project directory instead of erroring. Fixes [#16933](https://togithub.com/cypress-io/cypress/issues/16933).
- Cypress now better handles running when browsers with unconventional versions are present on the machine. Fixes [#15485](https://togithub.com/cypress-io/cypress/issues/15485).
- Expanded the types for `CyHttpMessages.BaseMessage.headers` to support the value being an array of strings. Fixes [#16734](https://togithub.com/cypress-io/cypress/issues/16734).
**Dependency Updates:**
- Added `enquirer` dependency. Fixes [#16846](https://togithub.com/cypress-io/cypress/issues/16846).
### [`v7.5.0`](https://togithub.com/cypress-io/cypress/releases/v7.5.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v7.4.0...v7.5.0)
*Released 06/07/2021*
**Features:**
- The Test Runner has a new 'Docs' menu with links and prompts specific to helping you get started writing tests, set up in CI, and running tests in the Dashboard. Addressed in [#16433](https://togithub.com/cypress-io/cypress/pull/16433).
- `cy.request()` now accepts a generic in TypeScript for specifying the type of the request body. Addresses [#9109](https://togithub.com/cypress-io/cypress/issues/9109).
**Bugfixes:**
- Cypress will not longer crash with a `hasBinary` infinite recursive call. Fixes [#16476](https://togithub.com/cypress-io/cypress/issues/16476).
- The `--config-file` option now correctly handles absolute paths. Fixes [#6136](https://togithub.com/cypress-io/cypress/issues/6136).
- `cy.location()` will now retry if the remote location returns an empty string, which is possible during otherwise harmless redirects. Fixes [#16463](https://togithub.com/cypress-io/cypress/issues/16463).
- Cypress now passes a flag to Chrome browsers to prevent update notifications from displaying in some cases. Fixes [#16693](https://togithub.com/cypress-io/cypress/issues/16693).
- TypeScript will now properly error when attempting to use the chai `.should()` syntax. Fixes [#16548](https://togithub.com/cypress-io/cypress/issues/16548).
**Dependency Updates:**
- Replaced deprecated `listr` with `listr2`. Addressed in [#16663](https://togithub.com/cypress-io/cypress/pull/16663).
### [`v7.4.0`](https://togithub.com/cypress-io/cypress/releases/v7.4.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v7.3.0...v7.4.0)
*Released 05/24/2021*
**Features:**
- Cypress now detects and supports testing in the Chrome Beta browser. Addresses [#16376](https://togithub.com/cypress-io/cypress/issues/16376).
- There are new keyboard shortcuts to continue (c) and to go to the next test (n) when the Test Runner is paused via `.pause()` and to toggle auto-scrolling of the Test Runner (a). Addresses [#248](https://togithub.com/cypress-io/cypress/issues/248).
**Bugfixes:**
- [`cy.request()`](/api/commands/request) can now send binary files in form data. Fixes [#1647](https://togithub.com/cypress-io/cypress/issues/1647).
- [`cy.request()`](/api/commands/request) can now send blob data. Fixes [#6178](https://togithub.com/cypress-io/cypress/issues/6178).
- Fixed an issue where [`cy.wait()`](/api/commands/wait) could yield the incorrect result when used with [`cy.intercept()`](/api/commands/intercept) and several simultaneous requests. Fixes [#16451](https://togithub.com/cypress-io/cypress/issues/16451).
- Improved the way that [`cy.intercept()`](/api/commands/intercept) matchers are displayed in the Command Log when using `RouteMatcher` properties besides `url` and `method`. Fixes [#9403](https://togithub.com/cypress-io/cypress/issues/9403).
- [`cy.intercept()`](/api/commands/intercept) argument validation has been improved. Invalid hostnames and extra arguments passed to `cy.intercept()` now result in an error. Addressed in [#16577](https://togithub.com/cypress-io/cypress/issues/16577).
- [`cy.screenshot()`](/api/commands/screenshot) no longer incorrectly captures parts of the Test Runner UI during component testing. Fixes [#16543](https://togithub.com/cypress-io/cypress/issues/16543).
- Spec files that containing spaces in the path will now properly open during `cypress open-ct`. Fixes [#16278](https://togithub.com/cypress-io/cypress/issues/16278).
- Cypress now correctly uses the `componentFolder` and `testFiles` values from returned from plugins in the component testing runner. Fixes [#16424](https://togithub.com/cypress-io/cypress/issues/16424).
- Video recordings in Chrome, Chromium, and Electron browsers will no longer drop frames, with the frequency increasing along with the length of the video. Fixes [#16648](https://togithub.com/cypress-io/cypress/issues/16648).
- Tests located outside of the `projectRoot` will now open in IDE and generate studio commands when saved. Fixes [#16255](https://togithub.com/cypress-io/cypress/issues/16255).
- `config` in the plugins file will now display in alphabetical order. Fixes [#16564](https://togithub.com/cypress-io/cypress/issues/16564).
**Dependency Updates:**
- Upgraded `dependency-tree` from `7.0.2` to `8.1.0`. Addressed in [#16464](https://togithub.com/cypress-io/cypress/issues/16464).
- Upgraded `extract-zip` from `1.7.0` to `2.0.1`. Fixes [#6896](https://togithub.com/cypress-io/cypress/issues/6896)
### [`v7.3.0`](https://togithub.com/cypress-io/cypress/releases/v7.3.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v7.2.0...v7.3.0)
*Released 05/10/2021*
**Features:**
- Component tests can now be launched via the [Module API](/guides/guides/module-api) by passing `testingType: 'component'` via the new `testingType` property. The `testingType` will default to `e2e`. Addresses [#16302](https://togithub.com/cypress-io/cypress/issues/16302).
- `cy.intercept()` now accepts a `times` option in the `RouteMatcher`. `times` will specify the number of times that a particular `cy.intercept()` should be applied. Addresses [#4460](https://togithub.com/cypress-io/cypress/issues/4460) and [#8531](https://togithub.com/cypress-io/cypress/issues/8531).
- `cy.intercept()` now accepts invocation using `cy.intercept(url, routeMatcher, handler)`, where `url` is a regular expression. Previously, this only worked if `url` was a string. Addresses [#16390](https://togithub.com/cypress-io/cypress/issues/16390).
- Cypress will now automatically get environment variables for LayerCI when recording to the Dashboard. Addresses [#16101](https://togithub.com/cypress-io/cypress/issues/16101).
- Setting the env var `DEBUG=cypress:server:record:ci-info` will print commit information and CI provider information that's sent to the Dashboard as debug logs. Addresses [#16236](https://togithub.com/cypress-io/cypress/issues/16236).
- Cypress can now use the certificate authority specified in NPM config if `CYPRESS_DOWNLOAD_USE_CA` is specified. See ["Using a custom CA"](/guides/getting-started/installing-cypress#Using-a-custom-CA) for more information. Addresses [#8825](https://togithub.com/cypress-io/cypress/issues/8825).
**Bugfixes:**
- Cypress will no longer incorrectly redirect the AUT window to `/__/` when `location.href` is set to a relative path within the call stack of an XHR event handler. Fixes [#3975](https://togithub.com/cypress-io/cypress/issues/3975) and [#7439](https://togithub.com/cypress-io/cypress/issues/7439).
- Cypress now properly handles when a form submit or anchor tag target is set to `_top` or `_parent` so that it no longer redirects the parent frame. Fixes [#1244](https://togithub.com/cypress-io/cypress/issues/1244).
- Fixed a regression in [6.5.0](/guides/references/changelog#6-5-0) that could cause Cypress to crash with a `RangeError: Maximum call stack size exceeded at _deconstructPacket` error. Most commonly, this occurred when handling network errors with `cy.request()`. Fixes [#15101](https://togithub.com/cypress-io/cypress/issues/15101).
- Fixed a regression in [7.0.0](/guides/references/changelog#7-0-0) that caused the Test Runner to crash with an `ERR_INVALID_ARG_TYPE` type error when testing a binary file upload. Fixes [#15898](https://togithub.com/cypress-io/cypress/issues/15898) and [#16223](https://togithub.com/cypress-io/cypress/issues/16223).
- When verifying Cypress, we now listen for the 'close' event instead of the 'exit' event in an effort to fix some situations where the browser cannot be found even though it is on the system. Addressed in [#16312](https://togithub.com/cypress-io/cypress/issues/16312).
- Fixed a regression in [6.5.0](/guides/references/changelog#6-5-0) that caused a node warning about `.then()` only accepting functions to display. Fixes [#15281](https://togithub.com/cypress-io/cypress/issues/15281).
- `cy.intercept()` now adds a `access-control-expose-headers: '*'` header by default for CORS requests unless overridden. Fixes [#15050](https://togithub.com/cypress-io/cypress/issues/15050).
- Improved the way that `cy.intercept()` and `cy.route()` requests with multiple aliases are displayed in the command log. Addressed in [#16382](https://togithub.com/cypress-io/cypress/issues/16382).
- `Cypress.cookies.debug(true)` will now correctly show cookie-related messages on the console. Fixes [#15032](https://togithub.com/cypress-io/cypress/issues/15032).
- `cy.log()` will now show all arguments, not only the first 2. Fixes [#16068](https://togithub.com/cypress-io/cypress/issues/16068).
- `.select()` now correctly selects option elements with values that have ` ` characters. Fixes [#16045](https://togithub.com/cypress-io/cypress/issues/16045).
- The `e2e` and `component` configuration values will now correctly show when previewing resolved configuration in the Test Runner. Fixes [#16282](https://togithub.com/cypress-io/cypress/issues/16282).
- When passing the `—quiet` flag, Cypress will no longer print uploading output to Stdout. Fixes [#16268](https://togithub.com/cypress-io/cypress/issues/16268).
- When pressing the `/` hotkey in Firefox, Cypress will select the SpecList's SearchInput as it does in other browsers. Fixes [#16309](https://togithub.com/cypress-io/cypress/issues/16309).
- Cypress will now detect the default installation location of the Visual Studio Code editors on Windows machines. Fixes [#15080](https://togithub.com/cypress-io/cypress/issues/15080).
- Changing files extensions when creating a new test file should no longer add extra dots to the filename on Windows machines. Fixes [#16131](https://togithub.com/cypress-io/cypress/issues/16131).
**Dependency Updates:**
- Upgraded `classnames` from `2.2.6` to `2.3.1`. Addressed in [#8337](https://togithub.com/cypress-io/cypress/issues/8337).
- Upgraded `color-string` from `1.5.4` to `1.5.5`. Addressed in [#16362](https://togithub.com/cypress-io/cypress/issues/16362).
- Upgraded `lodash` from `4.17.19` to `4.17.21`. Addressed in [#16406](https://togithub.com/cypress-io/cypress/issues/16406).
- Upgraded `registry-js` from `1.13.0` to `1.15.0`. Addressed in [#16409](https://togithub.com/cypress-io/cypress/issues/16409).
- Upgraded `url-parse` from `1.4.7` to `1.5.0`. Addressed in [#16408](https://togithub.com/cypress-io/cypress/issues/16408).
### [`v7.2.0`](https://togithub.com/cypress-io/cypress/releases/v7.2.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v7.1.0...v7.2.0)
*Released 04/26/2021*
**Features:**
- You can now navigate through folders in the Test Runner using the Tab keyboard input and open or close the folder's content with the Enter & Space keyboard inputs. Addresses [#3741](https://togithub.com/cypress-io/cypress/issues/3741).
**Performance:**
- Fixed a regression in [7.0.0](https://docs.cypress.io/guides/references/changelog#7-0-0) that caused tests to run slowly, especially when run with constrained CPU resources. Fixes [#15853](https://togithub.com/cypress-io/cypress/issues/15853).
- Fixed a regression in [7.0.0](https://docs.cypress.io/guides/references/changelog#7-0-0) causing decreased performance in Chromium browsers due to requesting screencast frames when video is disabled. Fixes [#16030](https://togithub.com/cypress-io/cypress/issues/16030).
**Bugfixes:**
- Fixed a regression in [7.0.0](https://docs.cypress.io/guides/references/changelog#7-0-0) that caused the Test Runner to crash with an `ERR_INVALID_ARG_TYPE` type error. We now correctly detect a utf8 request body with multi-byte Unicode characters. Fixes [#15901](https://togithub.com/cypress-io/cypress/issues/15901).
- Reusing `cy.intercept()` aliases will now work as expected. Fixes [#15823](https://togithub.com/cypress-io/cypress/issues/15823).
- Fixed an issue in 7.0 where users could get a misleading "must pass a handler as the 3rd argument" error when using `cy.intercept`. Fixes [#16117](https://togithub.com/cypress-io/cypress/issues/16117).
- `cypress run-ct` no longer hangs on Windows machines. Fixes [#15976](https://togithub.com/cypress-io/cypress/issues/15976).
- Hovering over a command log without a snapshot will no longer cause the error `Cannot read property 'name' of null`. Fixes [#15816](https://togithub.com/cypress-io/cypress/issues/15816).
- We now throw an error when attempting to `.select()` an `
Configuration
📅 Schedule: "after 10pm every weekday,every weekend,before 5am every weekday" (UTC).
🚦 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.
This PR contains the following updates:
6.9.1
->8.7.0
Release Notes
cypress-io/cypress
### [`v8.7.0`](https://togithub.com/cypress-io/cypress/releases/v8.7.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.6.0...v8.7.0) *Released 10/25/2021* **Features:** - There are changes to how "slow" tests are determined and displayed in Cypress. Addresses [#18496](https://togithub.com/cypress-io/cypress/pull/18496). - Added a [`slowTestThreshold`](https://docs.cypress.io/guides/references/configuration#Timeouts) 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](https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests#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](https://togithub.com/cypress-io/cypress/issues/7955). **Bugfixes:** - Fixed a regression introduced in [8.6.0](https://docs.cypress.io/guides/references/changelog#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](https://docs.cypress.io/guides/references/changelog#8-6-0) so that the warning about the `projectRoot` directory not being writeable will now display correctly. Fixes [#18485](https://togithub.com/cypress-io/cypress/issues/18485). - Improved the error message when running Cypress without non-root permissions. Fixes [#18445](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/advisories/GHSA-pjwm-rvh2-c87w) and take actions advised as soon as possible. Addressed in [#18611](https://togithub.com/cypress-io/cypress/pull/18611) ### [`v8.6.0`](https://togithub.com/cypress-io/cypress/releases/v8.6.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.5.0...v8.6.0) *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](https://togithub.com/cypress-io/cypress/issues/7955). - `cy.select([])` can now be used to clear any selected options in a multi-value select. Addresses [#4318](https://togithub.com/cypress-io/cypress/issues/4318). - Using `cy.pause()` when using `cypress run --headed --no-exit` will now pause a test. Addresses [#4044](https://togithub.com/cypress-io/cypress/issues/4044). **Bugfixes:** - Fixed a regression introduced in [8.2.0](https://docs.cypress.io/guides/references/changelog#8-2-0) where certain XMLHttpRequests would not display their response bodies in the DevTools Console when clicked. Fixes [#17656](https://togithub.com/cypress-io/cypress/issues/17656). - Fixed a regression in [8.3.0](https://docs.cypress.io/guides/references/changelog#8-3-0) where capturing videos in Chrome versions earlier than 89 would result in choppy videos and skipped frames. Fixes [#18021](https://togithub.com/cypress-io/cypress/issues/18021). - Cypress displays the correct error when certain custom error types are thrown within a test. Fixes [#18259](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/3957). - Logging a plain object no longer results in the error "Cannot convert object to primitive value". Fixes [#18143](https://togithub.com/cypress-io/cypress/issues/18143). **Misc:** - Updated the `cy.request()` error message when conflicting `failOnStatusCode` and `retryOnStatusCodeFailure` options are passed to be clearer. Fixes [#18271](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/18318) and [#18384](https://togithub.com/cypress-io/cypress/issues/18384). ### [`v8.5.0`](https://togithub.com/cypress-io/cypress/releases/v8.5.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.4.1...v8.5.0) *Released 09/27/2021* **Features:** - You can now select an option by index within the [`.select()`](https://docs.cypress.io/api/commands/select) command. Addresses [#757](https://togithub.com/cypress-io/cypress/issues/757). - Cypress now captures the repository URL on Drone CI. Addresses [#18210](https://togithub.com/cypress-io/cypress/issues/18210). **Bugfixes:** - The download of Cypress now respects the `NO_PROXY` environment variable when one is set. Fixes [#17702](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/17962) for more detail. Addresses [#18094](https://togithub.com/cypress-io/cypress/issues/18094). - Improved the error messages when an invalid argument type is passed to the [`.select()`](https://docs.cypress.io/api/commands/select) command. Addressed in [#18234](https://togithub.com/cypress-io/cypress/pull/18234). ### [`v8.4.1`](https://togithub.com/cypress-io/cypress/releases/v8.4.1) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.4.0...v8.4.1) *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](https://togithub.com/cypress-io/cypress/issues/18129). - The branch collected for Drone CI now correctly reflects the source PR branch for showing in the Cypress Dashboard. Fixes [#17860](https://togithub.com/cypress-io/cypress/issues/17860). ### [`v8.4.0`](https://togithub.com/cypress-io/cypress/releases/v8.4.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.3.1...v8.4.0) *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](https://togithub.com/cypress-io/cypress/issues/17399). **Bugfixes:** - Cypress now better handles situations where the extension was installed in a read-only location. Fixes [#3852](https://togithub.com/cypress-io/cypress/issues/3852). - A clearer error message is now thrown for `.check()` or `.uncheck()` when there are no matching value attributes found. Fixes[#7379](https://togithub.com/cypress-io/cypress/issues/7379). - Hooks will no longer rerun on unrelated tests in some situations after a domain navigation. Fixes [#17705](https://togithub.com/cypress-io/cypress/issues/17705). - `clientCertificate` types have been added for the Cypress configuration. Fixes [#17799](https://togithub.com/cypress-io/cypress/issues/17799). ### [`v8.3.1`](https://togithub.com/cypress-io/cypress/releases/v8.3.1) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.3.0...v8.3.1) *Released 08/27/2021* **Performance:** - Projects will now open much faster on MacOS Big Sur with improved browser detection performance. Fixes [#17773](https://togithub.com/cypress-io/cypress/issues/17773). **Bugfixes:** - Fixed a regression in [8.3.0](https://docs.cypress.io/guides/references/changelog#8-3-0) where the correct exit code would not be issued during `cypress run-ct` while running in the Electron browser. Fixes [#17752](https://togithub.com/cypress-io/cypress/issues/17752) and [#17885](https://togithub.com/cypress-io/cypress/issues/17885). - Fixed a regression in [8.3.0](https://docs.cypress.io/guides/references/changelog#8-3-0) where Cypress would cause a `SIGSEGV` error on Mac when closing the Cypress app opened via `cypress open`. Fixes [#17766](https://togithub.com/cypress-io/cypress/issues/17766). - The `beforeinput` event now correctly fires in Firefox during keyboard events. Fixes [#17583](https://togithub.com/cypress-io/cypress/issues/17583). **Misc:** - `cy.document()` typings now allow for the `timeout` option. Fixes [#17695](https://togithub.com/cypress-io/cypress/issues/17695). - `cy.title()` typings now allow for the `timeout` option. Fixes [#17781](https://togithub.com/cypress-io/cypress/issues/17781) **Dependency Updates:** - Upgraded `electron` from `13.1.7` to `13.2.0`. Addressed in [#17772](https://togithub.com/cypress-io/cypress/pull/17772). - Upgraded `@cypress/request` from `2.88.5` to `2.88.6`. Addresses [#17622](https://togithub.com/cypress-io/cypress/pull/17622). ### [`v8.3.0`](https://togithub.com/cypress-io/cypress/releases/v8.3.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.2.0...v8.3.0) *Released 08/16/2021* **Features:** - The instructions for recording a run have been updated for some users. Addressed in [#17317](https://togithub.com/cypress-io/cypress/issues/17317). **Performance:** - We addressed an issue that increased CPU usage during video recording in Chrome 89+/Electron 12+. Fixes [#16152](https://togithub.com/cypress-io/cypress/issues/16152). - Fixed a regression in [7.2.0](https://docs.cypress.io/guides/references/changelog#7-2-0) that would cause `cy.visit()` to take longer to fire its load event in some circumstances. Fixes [#16671](https://togithub.com/cypress-io/cypress/issues/16671). **Bugfixes:** - Fixed an issue that could cause intermittent OpenSSL errors when the local CA cert cache becomes corrupted. Fixes [#8705](https://togithub.com/cypress-io/cypress/issues/8705). - Fixed a regression in [7.2.0](https://docs.cypress.io/guides/references/changelog#7-2-0) causing the menu bar of Cypress to not be clickable in Windows. Fixes [#16323](https://togithub.com/cypress-io/cypress/issues/16323). - `res.send` of `cy.intercept()` will no longer override JSON-related content types. Fixes [#17084](https://togithub.com/cypress-io/cypress/issues/17084). - The `times` option of `cy.intercept` now works properly with `req.reply`. Fixes [#17139](https://togithub.com/cypress-io/cypress/issues/17139). - Fixed a regression in [8.0.0](https://docs.cypress.io/guides/references/changelog#8-0-0) where Cypress would always warn that `chromeWebSecurity` is set to "false" when it wasn't. Fixes [#17614](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/pull/17408). - Upgraded bundled Node.js version from `14.6.0` to `14.17.0`. Addressed in [#17408](https://togithub.com/cypress-io/cypress/pull/17408). - Upgraded `electron` from `12.0.0-beta.14` to `13.1.7`. Addressed in [#17408](https://togithub.com/cypress-io/cypress/pull/17408). - Upgraded `url-parse` from `1.5.1` to `1.5.2`. Addressed in [#17719](https://togithub.com/cypress-io/cypress/pull/17719). ### [`v8.2.0`](https://togithub.com/cypress-io/cypress/releases/v8.2.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.1.0...v8.2.0) *Released 08/04/2021* **Features:** - You can now cache and restore [cookies](https://docs.cypress.io/api/cypress-api/cookies), [`localStorage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage), and [`sessionStorage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage) in order to reduce test setup times by using [`cy.session()`](/api/commands/session). The `session` API is experimental and can be enabled by setting the [`experimentalSessionSupport`](/guides/references/experiments) flag to `true` in your Cypress config. See [our blog](https://cypress.io/blog/2021/08/03/authenticate-faster-in-tests-cy-session-command/) and the [`cy.session()`](/api/commands/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/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](https://togithub.com/cypress-io/cypress/issues/2972). **Bugfixes:** - A "removing cookie failed" error will no longer throw when cookies are cleared in Firefox. Fixes [#6375](https://togithub.com/cypress-io/cypress/issues/6375). - Cypress no longer throws the error "cannot read property split of undefined" in certain circumstances when application errors are thrown. Fixes [#17378](https://togithub.com/cypress-io/cypress/issues/17378). - Cypress now properly runs the final test when nested in a suite with a `before` hook. Fixes [#9026](https://togithub.com/cypress-io/cypress/issues/9026). - Fixed a regression in [8.0.0](https://docs.cypress.io/guides/references/changelog#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](https://togithub.com/cypress-io/cypress/issues/17415). - Cypress now throws if a function is incorrectly passed as the second argument to `cy.wait()`. Fixes [#17436](https://togithub.com/cypress-io/cypress/issues/17436). ### [`v8.1.0`](https://togithub.com/cypress-io/cypress/releases/v8.1.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v8.0.0...v8.1.0) *Released 07/29/2021* **Features:** - When using `experimentalStudio`, you can now generate assertions in [Cypress Studio](https://docs.cypress.io/guides/core-concepts/cypress-studio) by right clicking on an element. Addressed in [#16295](https://togithub.com/cypress-io/cypress/pull/16295). - When searching specs in the Test Runner during end-to-end testing, characters that are not letters will be ignored and don't have to be typed. Addressed in [#17346](https://togithub.com/cypress-io/cypress/issues/17346). **Performance:** - The Test Runner's performance has been improved when running a large number of commands within a single test. Fixes [#6783](https://togithub.com/cypress-io/cypress/issues/6783). **Bugfixes:** - Add Yarn v2 pnp support to our default webpack processor. Fixes [#8008](https://togithub.com/cypress-io/cypress/issues/8008) and [#16111](https://togithub.com/cypress-io/cypress/issues/16111). - When running Cypress in global mode, an error will no longer be thrown when trying to add a new project to the Dashboard. Addressed in [#17514](https://togithub.com/cypress-io/cypress/pull/17514). - The Test Runner will no longer crash in some instances when creating a new spec file from the GUI. [#17430](https://togithub.com/cypress-io/cypress/issues/17430). ### [`v8.0.0`](https://togithub.com/cypress-io/cypress/releases/v8.0.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v7.7.0...v8.0.0) *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:** **Configuration
📅 Schedule: "after 10pm every weekday,every weekend,before 5am every weekday" (UTC).
🚦 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.
This PR has been generated by WhiteSource Renovate. View repository job log here.