cypress-io/cypress
### [`v3.8.3`](https://togithub.com/cypress-io/cypress/releases/v3.8.3)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.8.2...v3.8.3)
_Released 1/24/2020_
**Bugfixes:**
- We fixed an error during `cypress run` indicating `could not find CRI target` when Cypress was unable to find the tab to control. Fixes [#6053](https://togithub.com/cypress-io/cypress/issues/6053).
- HTTP requests to sites using a TLS version lower than 1.2 now no longer fail. Fixes [#5446](https://togithub.com/cypress-io/cypress/issues/5446).
- `cypress verify` will no longer error on some systems when `-screen` is not defined. Fixes [#6184](https://togithub.com/cypress-io/cypress/issues/6184).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) causing [`cy.type({ force: true })`](https://on.cypress.io/type) to no longer forcibly type characters for readonly inputs. Fixes [#6116](https://togithub.com/cypress-io/cypress/issues/6116).
- Generated reports when using [custom reporters](https://on.cypress.io/reporters) now have a defined `file` property. Fixes [#1495](https://togithub.com/cypress-io/cypress/issues/1495).
**Misc:**
- Messages from [`cy.get()`](https://on.cypress.io/get) are now truncated at 50 lines the Command Log instead of the 1 line. Addresses [#6145](https://togithub.com/cypress-io/cypress/issues/6145).
- We now collect more environment variables for Bamboo CI when recording for the Dashboard. Addresses [#4895](https://togithub.com/cypress-io/cypress/issues/4895).
**Dependency Updates:**
- Upgraded `electron` from `7.1.9` to `7.1.10`. Addressed in [#6242](https://togithub.com/cypress-io/cypress/pull/6242).
- Upgraded `electron` from `7.1.7` to `7.1.9`. Addressed in [#6180](https://togithub.com/cypress-io/cypress/pull/6180).
- Upgraded `http-status-codes` from `1.3.2` to `1.4.0`. Addressed in [#6134](https://togithub.com/cypress-io/cypress/pull/6134).
- Upgraded `socket.io` and `socket.io-client` from `2.2.0` to `2.3.0`. Addressed in [#6179](https://togithub.com/cypress-io/cypress/pull/6179).
### [`v3.8.2`](https://togithub.com/cypress-io/cypress/releases/v3.8.2)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.8.1...v3.8.2)
_Released 01/10/2020_
**Bugfixes:**
- We fixed a regression in [3.8.0](https://on.cypress.io/changelog-3-8-0) on Linux when `unzip` is not installed where the progress of `cypress install` would show up to 200%. Fixes [#5967](https://togithub.com/cypress-io/cypress/issues/5967)
- Child elements of an element that uses both `transform` and `height` or `width` are now properly seen as visible during visiblity checks. Addresses [#5974](https://togithub.com/cypress-io/cypress/issues/5974).
- We now properly check backface visibility when the parents of a target element have the CSS style `transform-style: preserve-3d`. Fixes [#5682](https://togithub.com/cypress-io/cypress/issues/5682).
- DOM elements with a width or height of 0 and `overflow: hidden` are now properly calculated as invisible during visibility checks. Fixes [#6093](https://togithub.com/cypress-io/cypress/issues/6093).
- We fixed a regression in [3.7.0](https://on.cypress.io/changelog-3-7-0) where using [`.type()`](https://on.cypress.io/type) on number inputs to type non-number characters would not type the correct value. Fixes [#6055](https://togithub.com/cypress-io/cypress/issues/6055).
**Misc:**
- Messages from [`cy.log()`](https://on.cypress.io/log) are now truncated at 50 lines the Command Log instead of the 1 line. Addresses [#5625](https://togithub.com/cypress-io/cypress/issues/5625).
- We now capture GitLab CI's `CI_JOB_NAME` environment variable. Addressed in [#6111](https://togithub.com/cypress-io/cypress/pull/6111).
- Types for [event emitters](https://on.cypress.io/catalog-of-events#Binding-to-Events) `removeListener` and `removeAllListeners` have been added to `Cypress` and `cy`. Addresses [#5228](https://togithub.com/cypress-io/cypress/issues/5228).
- Types for the `runUrl` property returned from `cypress.run()` has been added. Addresses [#6087](https://togithub.com/cypress-io/cypress/issues/6087).
- We're continuing to make progress in converting our codebase from CoffeeScript to JavaScript. Addresses [#2690](https://togithub.com/cypress-io/cypress/issues/2690) in [#5947](https://togithub.com/cypress-io/cypress/pull/5947) and [#6075](https://togithub.com/cypress-io/cypress/pull/6075).
**Dependency Updates:**
- Upgraded `ansi_up` from `4.0.3` to `4.0.4`. Addressed in [#6074](https://togithub.com/cypress-io/cypress/pull/6074).
- Upgraded `electron` from `7.1.4` to `7.1.7`. Addressed in [#6085](https://togithub.com/cypress-io/cypress/pull/6085).
### [`v3.8.1`](https://togithub.com/cypress-io/cypress/releases/v3.8.1)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.8.0...v3.8.1)
_Released 12/26/2019_
**Bugfixes:**
- We fixed a bug where [`cypress run --headless`](https://on.cypress.io/command-line#cypress-run-headless) would not run Chrome-family browsers headlessly. Fixes [#5949](https://togithub.com/cypress-io/cypress/issues/5949).
- We fixed an issue where, on some systems with IPv4 and IPv6 enabled, Cypress would fail to connect to the Chrome DevTools Protocol while launching Chrome, leading to test failures. Fixes [#5912](https://togithub.com/cypress-io/cypress/issues/5912).
- The strict cookie validation added in [3.5.0](https://on.cypress.io/changelog-3-5-0) for [`cy.setCookie()`](https://on.cypress.io/setcookie), [`cy.clearCookie()`](https://on.cypress.io/clearcookie), and [`cy.getCookie()`](https://on.cypress.io/getcookie) has been removed. Fixes [#5642](https://togithub.com/cypress-io/cypress/issues/5642).
- We fixed a regression in [3.8.0](https://on.cypress.io/changelog-3-8-0) where using [`.type()`](https://on.cypress.io/type) on number inputs to type non-number characters or the `{enter}` special character would not type the correct value. Fixes [#5968](https://togithub.com/cypress-io/cypress/issues/5968) and [#5997](https://togithub.com/cypress-io/cypress/issues/5997).
- Configuration values set from the plugin file now display with the correct background color in the Configuration panel in the Test Runner Settings. Fixes [#6024](https://togithub.com/cypress-io/cypress/issues/6024).
- We removed the 'Me' and 'An Organization' selections in the Test Runner when setting up a project to more closely match the Dashboard UI. This also fixes an edge case where a user with no default organizations could potentially be unable to set up a project. Fixes [#5954](https://togithub.com/cypress-io/cypress/issues/5954).
**Misc:**
- We updated the fallback error message for visibility checks to be less confusing. Addresses [#5982](https://togithub.com/cypress-io/cypress/issues/5982).
- The type definitions for [`cy.location()`](https://on.cypress.io/location) have been improved. Addresses [#5574](https://togithub.com/cypress-io/cypress/issues/5574).
**Dependency Updates:**
- Upgraded `get-port` from `5.0.0` to `5.1.0`. Addressed in [#6004](https://togithub.com/cypress-io/cypress/pull/6004).
- Upgraded `chrome-remote-interface` from `0.28.0` to `0.28.1`. Addressed in [#6008](https://togithub.com/cypress-io/cypress/pull/6008).
- Upgraded `which` from `1.3.1` to `2.0.2`. Addressed in [#6017](https://togithub.com/cypress-io/cypress/pull/6017).
- Upgraded `ansi_up` from `1.3.0` to `4.0.3`. Addressed in [#4331](https://togithub.com/cypress-io/cypress/pull/4331).
- Upgraded `jimp` from `0.6.4` to `0.9.3`. Addressed in [#4331](https://togithub.com/cypress-io/cypress/pull/4331).
### [`v3.8.0`](https://togithub.com/cypress-io/cypress/releases/v3.8.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.7.0...v3.8.0)
_Released 12/12/2019_
**Features:**
- Chrome can now be run in headless mode by using `cypress run --headless --browser chrome`. Addresses [#832](https://togithub.com/cypress-io/cypress/issues/832).
- Cypress now accepts a [`--tag`](https://on.cypress.io/command-line#cypress-run-tag-lt-tag-gt) argument to be used to identify separate runs. Any tags assigned will be shown on the run in the Cypress Dashboard. Addresses [#2561](https://togithub.com/cypress-io/cypress/issues/2561).
- The commands [`.its()`](https://on.cypress.io/its) and [`.invoke()`](https://on.cypress.io/invoke) now accept an `options` object to allow changing logging options. Addresses [#1450](https://togithub.com/cypress-io/cypress/issues/1450).
- Cypress will now attempt to use the `unzip` binary during `cypress install` before trying the slower, Node.js-based unzipping method. Addresses [#3803](https://togithub.com/cypress-io/cypress/issues/3803).
- Upgraded Electron to 7.1.4. This bumps the internal Node version to 12.8.1 and the internal Chromium version to 78.0.3904.113.
**Bugfixes:**
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where Cypress would crash on Windows when trying to pass a url through `--config` or `--env` command line flags. Fixes [#5466](https://togithub.com/cypress-io/cypress/issues/5466).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where a supplied `Cookie` header during "`cy.visit()` visit or [`cy.request()`](https://on.cypress.io/request) would be overwritten by the `Cookie` header generated from the browser's cookie store. Fixes [#5894](https://togithub.com/cypress-io/cypress/issues/5894).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where [`cy.getCookie()`](https://on.cypress.io/getcookie) would incorrectly filter cookies by their domain, leading to unexpected results. Fixes [#5656](https://togithub.com/cypress-io/cypress/issues/5656).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where calling `.type({ force: true })` on hidden inputs would not type the correct characters. Fixes [#5835](https://togithub.com/cypress-io/cypress/issues/5835).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where [`.type()`](https://on.cypress.io/type) was not respecting previous selections if the current value of the input was the same as the key. This also fixed an where [`.type()`](https://on.cypress.io/type) would not respect previous selections in non-selectionRange inputs (like email or number inputs). Fixes [#5703](https://togithub.com/cypress-io/cypress/issues/5703).
- During visibility checks, Cypress now properly evaluates a DOM element transformed by `scale(0)` or `rotateY(90deg)` as not visible. Fixes [#723](https://togithub.com/cypress-io/cypress/issues/723).
- Fixed a bug where the specs list in interactive mode would not refresh when files are changed on disk. Fixes [#5933](https://togithub.com/cypress-io/cypress/issues/5933).
- `env` configuration option displays properly within the settings panel. Previously, setting env options would incorrectly render `"undefined"` as the value. Fixes [#5859](https://togithub.com/cypress-io/cypress/issues/5859).
**Misc:**
- We removed the max viewport size and lowered min viewport size to `0` for [`cy.viewport()`](https://on.cypress.io/viewport) Addresses [#5871](https://togithub.com/cypress-io/cypress/issues/5871) and [#5892](https://togithub.com/cypress-io/cypress/issues/5892).
- The Test Runner now shows a non-Chrome logo for [browsers passed in via `config.browser`](https://on.cypress.io/launching-browsers#Customize-available-browsers) that are not of the Chrome family. It also supports showing the Firefox logo (in preparation for Firefox browser support). Fixes [#5745](https://togithub.com/cypress-io/cypress/issues/5745).
- We updated the look of some of our icons. Addressed in [#5822](https://togithub.com/cypress-io/cypress/pull/5822).
- We're continuing to make progress in converting our codebase from CoffeeScript to JavaScript. Addresses [#2690](https://togithub.com/cypress-io/cypress/issues/2690) in [#5643](https://togithub.com/cypress-io/cypress/pull/5643).
- `cy.request` will now automatically encode special characters in the request URL, including Unicode. Addresses [#5274](https://togithub.com/cypress-io/cypress/issues/5274).
- You can pass additional Electron launch command line arguments using environment variable `ELECTRON_EXTRA_LAUNCH_ARGS`. Addresses [#5807](https://togithub.com/cypress-io/cypress/issues/5807).
**Dependency Updates:**
- Upgraded `ansi-escapes` from `4.2.1` to `4.3.0`. Addressed in [#5815](https://togithub.com/cypress-io/cypress/pull/5815).
- Upgraded `electron-context-menu` from `0.11.0` to `0.15.1`. Addressed in [#5495](https://togithub.com/cypress-io/cypress/pull/5495).
### [`v3.7.0`](https://togithub.com/cypress-io/cypress/releases/v3.7.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.6.1...v3.7.0)
_Released 11/27/2019_
**Features:**
- Cypress now includes the full list of browsers found and their properties within the Cypress configuration. This means that the `browsers` array is also [editable within plugins by accessing `config.browsers`](https://on.cypress.io/launching-browsers#Customize-available-browsers) via the [Configuration API](https://on.cypress.io/configuration-api). The currently available browsers are also displayed within the [configuration panel](https://on.cypress.io/configuration#Resolved-Configuration) under Settings in the Test Runner. Addresses [#5067](https://togithub.com/cypress-io/cypress/issues/5067).
- Environment variables within GitHub Actions are now detected and passed to the Dashboard in order to display the proper [git information](https://on.cypress.io/continuous-integration#Git-information) for recorded runs. Fixes [#5609](https://togithub.com/cypress-io/cypress/issues/5609).
**Bugfixes:**
- Fixed a regression in 3.5.0 where a `cy.visit` that changes superdomain would incorrectly clear cookies of other domains. Fixes [#5756](https://togithub.com/cypress-io/cypress/issues/5756).
- Fixed a regression in 3.5.0 where cookies set in a redirect on a `cy.visit` or in a `cy.request` with a custom `Domain` that is not a subdomain of the current domain would fail to set. Fixes [#5656](https://togithub.com/cypress-io/cypress/issues/5656).
- Fixed a regression introduced in 3.5.0 which caused `cy.type` to send duplicate modifier keys. Fixes [#5622](https://togithub.com/cypress-io/cypress/issues/5622).
- We fixed a regression in [3.6.1](https://on.cypress.io/changelog-3-6-1) where [cy.request()](https://on.cypress.io/request) with `followRedirect: false` would fail if a `Set-Cookie` header was present in the response. Fixes [#5654](https://togithub.com/cypress-io/cypress/issues/5654).
- The context of `window` is no longer `undefined` within the application under test when called within a `setTimeout` during strict mode. Fixes [#5707](https://togithub.com/cypress-io/cypress/issues/5707).
- Cypress now captures the SHA of builds generated through Travis CI during pull requests. This should resolve issues with Cypress status checks sometimes not running within [GitHub Integration](https://on.cypress.io/github-integration). Fixes [#5728](https://togithub.com/cypress-io/cypress/issues/5728).
- Cypress now automatically strips double quotes from [`--ci-build-id`](https://on.cypress.io/command-line#cypress-run-ci-build-id-lt-id-gt) and [`group`](https://on.cypress.io/command-line#cypress-run-group-lt-name-gt) flag arguments during `cypress run`. Fixes [#5686](https://togithub.com/cypress-io/cypress/issues/5686).
- Assertions printed in the [Command Log](https://on.cypress.io/test-runner#Command-Log) now correctly identify integers from string integers. Fixes [#25](https://togithub.com/cypress-io/cypress/issues/25).
- Empty spaces are now accurately reflected in the [Command Log](https://on.cypress.io/test-runner#Command-Log) within assertions. Fixes [#1360](https://togithub.com/cypress-io/cypress/issues/1360).
- Keys printed in the [Command Log](https://on.cypress.io/test-runner#Command-Log) when using the `have.all.keys` assertion now correctly display. Fixes [#753](https://togithub.com/cypress-io/cypress/issues/753).
- We fixed an issue where Cypress would throw an error when using [`cy.visit()`](https://on.cypress.io/visit) on a `cleverapp.io` domain. Fixes [#5722](https://togithub.com/cypress-io/cypress/issues/5722).
- Fixed a bug where fixtures consisting only of `null` would cause an error. Fixes [#472](https://togithub.com/cypress-io/cypress/issues/472).
- Fixed a bug where, if the Test Runner child process is killed with a signal and does not exit normally, the npm CLI process would not exit with an error. Fixes [#5808](https://togithub.com/cypress-io/cypress/issues/5808).
**Misc:**
- Added a new, more specific error message when an item is not visible because it has `position: fixed` and is being overflowed over. Addresses [#1379](https://togithub.com/cypress-io/cypress/issues/1379).
- `cy.visit`s that cause a superdomain change will now result in 2 requests to the origin server. This should not affect tests, as tests will still re-run on a superdomain change. This is a side-effect of the fix for [#5756](https://togithub.com/cypress-io/cypress/issues/5756).
- The configuration object returned from the plugins file is now validated and will throw a helpful error message when invalid. Addresses [#5712](https://togithub.com/cypress-io/cypress/issues/5712).
- The [configuration panel](https://on.cypress.io/configuration#Resolved-Configuration) under Settings in the Test Runner now has a white background for better readability. Also each configuration option with nested properties is now collapsible. Addressed in [#5068](https://togithub.com/cypress-io/cypress/pull/5068).
**Dependency Updates:**
- Upgraded `parse-domain` from `2.0.0` to `2.3.4`. Addressed in [#5726](https://togithub.com/cypress-io/cypress/pull/5726).
### [`v3.6.1`](https://togithub.com/cypress-io/cypress/releases/v3.6.1)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.6.0...v3.6.1)
_Released 11/08/2019_
**Bugfixes:**
- The Electron browser no longer hangs when testing applications that have a prompt in a `beforeunload` handler. Fixes [#2118](https://togithub.com/cypress-io/cypress/issues/2118).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where HTTP redirects could cause strange behavior, including cookies not being set as expected, leading to authentication issues and other problems. Fixes [#5436](https://togithub.com/cypress-io/cypress/issues/5436) and [#5432](https://togithub.com/cypress-io/cypress/issues/5432).
- When using [`cy.setCookie()`](https://on.cypress.io/setcookie) with the same `options` Object, Cypress now correctly sets the new cookie instead of the one passed into a previous [`cy.setCookie()`](https://on.cypress.io/setcookie). Fixes [#2701](https://togithub.com/cypress-io/cypress/issues/2701).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where [`cy.clearCookie()`](https://on.cypress.io/clearcookie) would not act as expected when using certain `baseUrls`. Fixes [#5453](https://togithub.com/cypress-io/cypress/issues/5453).
- Cypress no longer crashes with the error `Failed to parse or set cookie named "xxx"` when loading certain websites. Fixes [#4990](https://togithub.com/cypress-io/cypress/issues/4990).
- Cypress now sends the expected headers or request body in a [`cy.visit()`](https://on.cypress.io/visit) to an HTTPS URL using the default port, 443. Fixes [#5367](https://togithub.com/cypress-io/cypress/issues/5367).
- We fixed a regression in [3.6.0](https://on.cypress.io/changelog-3-6-0) where Cypress would crash with `TypeError: Cannot read property 'length' of null` on some network requests. Fixes [#5585](https://togithub.com/cypress-io/cypress/issues/5585).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) that caused the red target to be rendered incorrectly when specifying offset coordinates to [`.click()`](https://on.cypress.io/click). Fixes [#5635](https://togithub.com/cypress-io/cypress/issues/5635).
- We fixed a regression in [3.6.0](https://on.cypress.io/changelog-3-6-0) that was causing an incorrect element to receive the `click` event during action commands. Fixes [#5578](https://togithub.com/cypress-io/cypress/issues/5578).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) causing text after using modifier keys in [`.type()`](https://on.cypress.io/type) to not be typed. Fixes [#5622](https://togithub.com/cypress-io/cypress/issues/5622).
- Elements with `backface-visibility: hidden;` are now accounted for when asserting on the elemtent's visibility. Fixes [#2985](https://togithub.com/cypress-io/cypress/issues/2985).
- We fixed a bug where a failed Cypress commands would incorrectly throw `cannot read property 'replace' of undefined` if the error's stack was `undefined`. Fixes [#1669](https://togithub.com/cypress-io/cypress/issues/1669).
- The 'Log In' modal within Cypress when setting up a project now correctly closes when manually closed. Fixes [#5631](https://togithub.com/cypress-io/cypress/issues/5631).
**Misc:**
- We improved the user experience around inspecting events fired during [`.click()`](https://on.cypress.io/click) and [`.type()`](https://on.cypress.io/type) commands within the console. Addresses [#5553](https://togithub.com/cypress-io/cypress/issues/5553).
- We increased the timeout when connecting to the "Developer Tools Protocol" from 5 seconds to 20 seconds and also added logging for when the connection takes longer than 5 seconds. Addresses [#5610](https://togithub.com/cypress-io/cypress/issues/5610).
- There is no longer a warning about `Promise.defer` appearing in stderr when running with video recording enabled. Addresses [#5611](https://togithub.com/cypress-io/cypress/issues/5611).
- Types for [`.rightclick()`](https://on.cypress.io/rightclick) and [`.dblclick()`](https://on.cypress.io/dblclick) have been updated to correctly reflect their accepted options. Addresses [#5617](https://togithub.com/cypress-io/cypress/issues/5617).
- We're continuing to make progress in converting our codebase from CoffeeScript to JavaScript. Addresses [#2690](https://togithub.com/cypress-io/cypress/issues/2690) in [#5556](https://togithub.com/cypress-io/cypress/pull/5556)
### [`v3.6.0`](https://togithub.com/cypress-io/cypress/releases/v3.6.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.5.0...v3.6.0)
_Released 10/31/2019_
**Features:**
- [`testFiles`](https://on.cypress.io/configuration#Folders-Files) now also accepts an Array of glob patterns when specifying what test files to load in configuration. Addresses [#5401](https://togithub.com/cypress-io/cypress/issues/5401).
**Bugfixes:**
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where the maximum size of an HTTP header or body in a stubbed [`cy.route()`](https://on.cypress.io/route) was limited to 8kb causing requests to fail with a 431 HTTP error. Fixes [#5431](https://togithub.com/cypress-io/cypress/issues/5431).
- We fixed a bug where certain types of uncaught errors originating from the application under test would not route through the [`uncaught:exception`](https://on.cypress.io/catalog-of-events#Uncaught-Exceptions) handler, and thus could not caught and ignored. These errors will also now correctly indicate that they came from application code. Fixes [#987](https://togithub.com/cypress-io/cypress/issues/987).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) that would throw an error during `cypress verify` when running as a non-root user on a non-Windows machine. We now always set the `--no-sandbox` flag when verifying in Electron, even when running as a non-root user. Fixes [#5434](https://togithub.com/cypress-io/cypress/issues/5434).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where sometimes cookies were not set on the correct URL during a redirect inside of a [`cy.visit()`](https://on.cypress.io/visit) or [`cy.request()`](https://on.cypress.io/request). Fixes [#5432](https://togithub.com/cypress-io/cypress/issues/5432).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) causing environment variables containing unicode values to be incorrectly resolved when read via [`Cypress.env()`](https://on.cypress.io/env). Fixes [#5435](https://togithub.com/cypress-io/cypress/issues/5435).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) that prevented use of `.click()` or `.type()` inside of an iframe element. Fixes [#5449](https://togithub.com/cypress-io/cypress/issues/5449). Fixes [#5435](https://togithub.com/cypress-io/cypress/issues/5435).
- We now throw the proper error message when an element cannot be interacted with due to being covered by an element with `position:fixed`. Fixes [#5430](https://togithub.com/cypress-io/cypress/issues/5430).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) that caused some `click` events to not be sent to the correct elements during `.click()`. Fixes [#5459](https://togithub.com/cypress-io/cypress/issues/5459).
- We updated `.type()` to properly respect focus selection changes during typing. Fixes [#5456](https://togithub.com/cypress-io/cypress/issues/5456).
- We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) that caused selected text to be overwritten while typing a modifer key during `.type()`. Fixes [#5439](https://togithub.com/cypress-io/cypress/issues/5439).
- We now send all the proper events during `.type()` to input elements with type `date`, `time`, and `datetime-local` so that it now behaves as it did prior to [3.5.0](https://on.cypress.io/changelog-3-5-0). Fixes [#5476](https://togithub.com/cypress-io/cypress/issues/5476).
- We now properly render iframe placeholder content when previewing DOM snapshots. Fixes [#5295](https://togithub.com/cypress-io/cypress/issues/5295).
**Misc:**
- We no longer log the default option `{multiple: true}` in the Command Log or the console during [`cy.dblclick()`](https://on.cypress.io/dblclick). Addresses [#5406](https://togithub.com/cypress-io/cypress/issues/5406).
- The text color of inactive tabs within the Cypress Chrome browser has been set to white for better readability. Addresses [#1661](https://togithub.com/cypress-io/cypress/issues/1661).
**Dependency Updates**
- Replaced `express-handlebars` with `squirrelly` to reduce dependency size. Addressed in [#5521](https://togithub.com/cypress-io/cypress/pull/5521).
- Upgraded `graceful-fs` from `4.2.0` to `4.2.3`. Addressed in [#5497](https://togithub.com/cypress-io/cypress/pull/5497).
### [`v3.5.0`](https://togithub.com/cypress-io/cypress/releases/v3.5.0)
[Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.4.1...v3.5.0)
_Released 10/23/2019_
**Features:**
- We now record video during `cypress run` in Chrome, Chromium, and Canary browsers. This requires passing the name or path of the Chrome browser to the [`--browser` flag](https://on.cypress.io/command-line#cypress-run-browser-lt-browser-name-or-path-gt). Addresses [#4608](https://togithub.com/cypress-io/cypress/issues/4608).
- There is a new [`.rightclick()`](https://on.cypress.io/rightclick) command to right click on DOM elements. Addresses [#53](https://togithub.com/cypress-io/cypress/issues/53).
- Cypress now accepts a [`--config-file` argument](https://on.cypress.io/command-line#cypress-run-config-file-lt-config-file-gt) to specify a different file to be used for Cypress configuration. You can also pass `false` to the `--config-file` to not use any configuration file. Addresses [#1369](https://togithub.com/cypress-io/cypress/issues/1369).
- You can now use your system's Node version by setting the [`nodeVersion`](https://on.cypress.io/configuration#Node-version) to `system` in your configuration. This Node version will be used to build files in your [`integrationFolder`](https://on.cypress.io/configuration#Folders-Files) and "`supportFile`" configuration#Folders-Files and also be used to execute code in your "`pluginsFile`" configuration#Folders-Files. If not set, Cypress will continue to use the Node version bundled with Cypress. Addresses [#4432](https://togithub.com/cypress-io/cypress/issues/4432).
- "`.dblclick()` dblclick now accepts `position`, `x`, and `y` arguments. Addresses [#116](https://togithub.com/cypress-io/cypress/issues/116).
- "`.dblclick()` dblclick now accepts `force` and `multiple` in its `options`. Addresses [#116](https://togithub.com/cypress-io/cypress/issues/116).
- [`.screenshot()`](https://on.cypress.io/screenshot) now accepts a `padding` argument when screenshotting elements that will alter the dimensions of the screenshot of the element. Addresses [#4440](https://togithub.com/cypress-io/cypress/issues/4440).
- [`cy.visit()`](https://on.cypress.io/visit) now accepts a `qs` option representing an object of query paramaters to be used in the URL. Addresses [#5034](https://togithub.com/cypress-io/cypress/issues/5034).
- [`cy.viewport()`](https://on.cypress.io/viewport) now allows for viewport sizes up to 4,000 pixels. Addresses [#5181](https://togithub.com/cypress-io/cypress/issues/5181).
- [`cy.viewport()`](https://on.cypress.io/viewport) accepts new size presets for `iphone-xr`, `iphone-x`, `samsung-s10` and `samsung-note9`. Addresses [#4967](https://togithub.com/cypress-io/cypress/issues/4967).
- Passing a `~` to `CYPRESS_CACHE_FOLDER` will automatically resolve to the user's home directory. Addresses [#5386](https://togithub.com/cypress-io/cypress/issues/5386).
**Bugfixes:**
- "`.dblclick()` dblclick and [`.click()`](https://on.cypress.io/click) now fire all appropriate mouse events including `mouseover`, `mousemove`, `mouseout`, `pointerdown`, `pointerup`, and `pointermove`. Fixes [#1016](https://togithub.com/cypress-io/cypress/issues/1016), [#1847](https://togithub.com/cypress-io/cypress/issues/1847), [#2045](https://togithub.com/cypress-io/cypress/issues/2045), [#2521](https://togithub.com/cypress-io/cypress/issues/2521), [#2768](https://togithub.com/cypress-io/cypress/issues/2768), [#2928](https://togithub.com/cypress-io/cypress/issues/2928), [#2957](https://togithub.com/cypress-io/cypress/issues/2957), and [#3224](https://togithub.com/cypress-io/cypress/issues/3224).
- We updated "`.dblclick()` dblclick to follow the same actionability checks as [`.click()`](https://on.cypress.io/click). Fixes [#3798](https://togithub.com/cypress-io/cypress/issues/3798).
- Coordinates clicked during [`.click()`](https://on.cypress.io/click) are now correct if the element being clicked is within an iframe. Fixes [#4347](https://togithub.com/cypress-io/cypress/issues/4347).
- We now allow [`.type()`](https://on.cypress.io/type) to be used on any DOM element. The element will receive all of the type events. Fixes [#2166](https://togithub.com/cypress-io/cypress/issues/2166) and [#3661](https://togithub.com/cypress-io/cypress/issues/3661).
- If a typeable element gains focus during [`.type()`](https://on.cypress.io/type), Cypress now continues typing into the newly focused element. Fixes [#2240](https://togithub.com/cypress-io/cypress/issues/2240).
- We now correctly borrow the property getter for `maxLength` when using [.type()](https://on.cypress.io/type) on an input. Fixes [#4587](https://togithub.com/cypress-io/cypress/issues/4587).
- We fixed an issue where `datetime-local` inputs would not have their `value` updated during [`.type()`](https://on.cypress.io/type). Fixes [#2613](https://togithub.com/cypress-io/cypress/issues/2613).
- [`.type()`](https://on.cypress.io/type) now allows you to type `-` into number inputs with text selection. Fixes [#4767](https://togithub.com/cypress-io/cypress/issues/4767).
- We now fire an `input` event when using [`.type()`](https://on.cypress.io/type) typing `{enter}` inserts a newline. Fixes [#4870](https://togithub.com/cypress-io/cypress/issues/4870).
- We no longer input text when non-`{shift}` modifier keys are typed in [`.type()`](https://on.cypress.io/type). Fixes [#5424](https://togithub.com/cypress-io/cypress/issues/5424).
- We now properly send the `code` property during keyboard events triggered during [`.type()`](https://on.cypress.io/type). Fixes [#3722](https://togithub.com/cypress-io/cypress/issues/3722)
- Cypress now sends `screenX` and `screenY` properties to events triggered using [`.trigger()`](https://on.cypress.io/trigger). Fixes [#3187](https://togithub.com/cypress-io/cypress/issues/3187).
- We fixed a bug where Cypress could not intercept traffic sent through [`cy.visit()`](https://on.cypress.io/visit) to IP addresses over HTTPS, leading to `ERR_SSL_VERSION_OR_CIPHER_MISMATCH` errors. Fixes [#771](https://togithub.com/cypress-io/cypress/issues/771).
- We fixed a bug introduced in [3.3.0](https://on.cypress.io/changelog#3-3-0) where some HTTPS sites failed to load during [`cy.visit()`](https://on.cypress.io/visit) and [`cy.request()`](https://on.cypress.io/request) with a "handshake failed" error. Fixes [#4394](https://togithub.com/cypress-io/cypress/issues/4394).
- We fixed a bug where ECC SSL Certificates were not supported during [`cy.visit()`](https://on.cypress.io/visit) that was introduced in [3.3.0](https://on.cypress.io/changelog#3-3-0). Fixes [#4368](https://togithub.com/cypress-io/cypress/issues/4368).
- We fixed an issue introduced in [3.4.0](https://on.cypress.io/changelog#3-4-0) that would cause the Selector Playground to not properly highlight the currently hovered element. Fixes [#4872](https://togithub.com/cypress-io/cypress/issues/4872).
- [`Cypress.env()`](https://on.cypress.io/env) now escapes ` Githubissues.
Githubissues is a development platform for aggregating issues.
This PR contains the following updates:
3.4.1
->3.8.3
Release Notes
cypress-io/cypress
### [`v3.8.3`](https://togithub.com/cypress-io/cypress/releases/v3.8.3) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.8.2...v3.8.3) _Released 1/24/2020_ **Bugfixes:** - We fixed an error during `cypress run` indicating `could not find CRI target` when Cypress was unable to find the tab to control. Fixes [#6053](https://togithub.com/cypress-io/cypress/issues/6053). - HTTP requests to sites using a TLS version lower than 1.2 now no longer fail. Fixes [#5446](https://togithub.com/cypress-io/cypress/issues/5446). - `cypress verify` will no longer error on some systems when `-screen` is not defined. Fixes [#6184](https://togithub.com/cypress-io/cypress/issues/6184). - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) causing [`cy.type({ force: true })`](https://on.cypress.io/type) to no longer forcibly type characters for readonly inputs. Fixes [#6116](https://togithub.com/cypress-io/cypress/issues/6116). - Generated reports when using [custom reporters](https://on.cypress.io/reporters) now have a defined `file` property. Fixes [#1495](https://togithub.com/cypress-io/cypress/issues/1495). **Misc:** - Messages from [`cy.get()`](https://on.cypress.io/get) are now truncated at 50 lines the Command Log instead of the 1 line. Addresses [#6145](https://togithub.com/cypress-io/cypress/issues/6145). - We now collect more environment variables for Bamboo CI when recording for the Dashboard. Addresses [#4895](https://togithub.com/cypress-io/cypress/issues/4895). **Dependency Updates:** - Upgraded `electron` from `7.1.9` to `7.1.10`. Addressed in [#6242](https://togithub.com/cypress-io/cypress/pull/6242). - Upgraded `electron` from `7.1.7` to `7.1.9`. Addressed in [#6180](https://togithub.com/cypress-io/cypress/pull/6180). - Upgraded `http-status-codes` from `1.3.2` to `1.4.0`. Addressed in [#6134](https://togithub.com/cypress-io/cypress/pull/6134). - Upgraded `socket.io` and `socket.io-client` from `2.2.0` to `2.3.0`. Addressed in [#6179](https://togithub.com/cypress-io/cypress/pull/6179). ### [`v3.8.2`](https://togithub.com/cypress-io/cypress/releases/v3.8.2) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.8.1...v3.8.2) _Released 01/10/2020_ **Bugfixes:** - We fixed a regression in [3.8.0](https://on.cypress.io/changelog-3-8-0) on Linux when `unzip` is not installed where the progress of `cypress install` would show up to 200%. Fixes [#5967](https://togithub.com/cypress-io/cypress/issues/5967) - Child elements of an element that uses both `transform` and `height` or `width` are now properly seen as visible during visiblity checks. Addresses [#5974](https://togithub.com/cypress-io/cypress/issues/5974). - We now properly check backface visibility when the parents of a target element have the CSS style `transform-style: preserve-3d`. Fixes [#5682](https://togithub.com/cypress-io/cypress/issues/5682). - DOM elements with a width or height of 0 and `overflow: hidden` are now properly calculated as invisible during visibility checks. Fixes [#6093](https://togithub.com/cypress-io/cypress/issues/6093). - We fixed a regression in [3.7.0](https://on.cypress.io/changelog-3-7-0) where using [`.type()`](https://on.cypress.io/type) on number inputs to type non-number characters would not type the correct value. Fixes [#6055](https://togithub.com/cypress-io/cypress/issues/6055). **Misc:** - Messages from [`cy.log()`](https://on.cypress.io/log) are now truncated at 50 lines the Command Log instead of the 1 line. Addresses [#5625](https://togithub.com/cypress-io/cypress/issues/5625). - We now capture GitLab CI's `CI_JOB_NAME` environment variable. Addressed in [#6111](https://togithub.com/cypress-io/cypress/pull/6111). - Types for [event emitters](https://on.cypress.io/catalog-of-events#Binding-to-Events) `removeListener` and `removeAllListeners` have been added to `Cypress` and `cy`. Addresses [#5228](https://togithub.com/cypress-io/cypress/issues/5228). - Types for the `runUrl` property returned from `cypress.run()` has been added. Addresses [#6087](https://togithub.com/cypress-io/cypress/issues/6087). - We're continuing to make progress in converting our codebase from CoffeeScript to JavaScript. Addresses [#2690](https://togithub.com/cypress-io/cypress/issues/2690) in [#5947](https://togithub.com/cypress-io/cypress/pull/5947) and [#6075](https://togithub.com/cypress-io/cypress/pull/6075). **Dependency Updates:** - Upgraded `ansi_up` from `4.0.3` to `4.0.4`. Addressed in [#6074](https://togithub.com/cypress-io/cypress/pull/6074). - Upgraded `electron` from `7.1.4` to `7.1.7`. Addressed in [#6085](https://togithub.com/cypress-io/cypress/pull/6085). ### [`v3.8.1`](https://togithub.com/cypress-io/cypress/releases/v3.8.1) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.8.0...v3.8.1) _Released 12/26/2019_ **Bugfixes:** - We fixed a bug where [`cypress run --headless`](https://on.cypress.io/command-line#cypress-run-headless) would not run Chrome-family browsers headlessly. Fixes [#5949](https://togithub.com/cypress-io/cypress/issues/5949). - We fixed an issue where, on some systems with IPv4 and IPv6 enabled, Cypress would fail to connect to the Chrome DevTools Protocol while launching Chrome, leading to test failures. Fixes [#5912](https://togithub.com/cypress-io/cypress/issues/5912). - The strict cookie validation added in [3.5.0](https://on.cypress.io/changelog-3-5-0) for [`cy.setCookie()`](https://on.cypress.io/setcookie), [`cy.clearCookie()`](https://on.cypress.io/clearcookie), and [`cy.getCookie()`](https://on.cypress.io/getcookie) has been removed. Fixes [#5642](https://togithub.com/cypress-io/cypress/issues/5642). - We fixed a regression in [3.8.0](https://on.cypress.io/changelog-3-8-0) where using [`.type()`](https://on.cypress.io/type) on number inputs to type non-number characters or the `{enter}` special character would not type the correct value. Fixes [#5968](https://togithub.com/cypress-io/cypress/issues/5968) and [#5997](https://togithub.com/cypress-io/cypress/issues/5997). - Configuration values set from the plugin file now display with the correct background color in the Configuration panel in the Test Runner Settings. Fixes [#6024](https://togithub.com/cypress-io/cypress/issues/6024). - We removed the 'Me' and 'An Organization' selections in the Test Runner when setting up a project to more closely match the Dashboard UI. This also fixes an edge case where a user with no default organizations could potentially be unable to set up a project. Fixes [#5954](https://togithub.com/cypress-io/cypress/issues/5954). **Misc:** - We updated the fallback error message for visibility checks to be less confusing. Addresses [#5982](https://togithub.com/cypress-io/cypress/issues/5982). - The type definitions for [`cy.location()`](https://on.cypress.io/location) have been improved. Addresses [#5574](https://togithub.com/cypress-io/cypress/issues/5574). **Dependency Updates:** - Upgraded `get-port` from `5.0.0` to `5.1.0`. Addressed in [#6004](https://togithub.com/cypress-io/cypress/pull/6004). - Upgraded `chrome-remote-interface` from `0.28.0` to `0.28.1`. Addressed in [#6008](https://togithub.com/cypress-io/cypress/pull/6008). - Upgraded `which` from `1.3.1` to `2.0.2`. Addressed in [#6017](https://togithub.com/cypress-io/cypress/pull/6017). - Upgraded `ansi_up` from `1.3.0` to `4.0.3`. Addressed in [#4331](https://togithub.com/cypress-io/cypress/pull/4331). - Upgraded `jimp` from `0.6.4` to `0.9.3`. Addressed in [#4331](https://togithub.com/cypress-io/cypress/pull/4331). ### [`v3.8.0`](https://togithub.com/cypress-io/cypress/releases/v3.8.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.7.0...v3.8.0) _Released 12/12/2019_ **Features:** - Chrome can now be run in headless mode by using `cypress run --headless --browser chrome`. Addresses [#832](https://togithub.com/cypress-io/cypress/issues/832). - Cypress now accepts a [`--tag`](https://on.cypress.io/command-line#cypress-run-tag-lt-tag-gt) argument to be used to identify separate runs. Any tags assigned will be shown on the run in the Cypress Dashboard. Addresses [#2561](https://togithub.com/cypress-io/cypress/issues/2561). - The commands [`.its()`](https://on.cypress.io/its) and [`.invoke()`](https://on.cypress.io/invoke) now accept an `options` object to allow changing logging options. Addresses [#1450](https://togithub.com/cypress-io/cypress/issues/1450). - Cypress will now attempt to use the `unzip` binary during `cypress install` before trying the slower, Node.js-based unzipping method. Addresses [#3803](https://togithub.com/cypress-io/cypress/issues/3803). - Upgraded Electron to 7.1.4. This bumps the internal Node version to 12.8.1 and the internal Chromium version to 78.0.3904.113. **Bugfixes:** - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where Cypress would crash on Windows when trying to pass a url through `--config` or `--env` command line flags. Fixes [#5466](https://togithub.com/cypress-io/cypress/issues/5466). - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where a supplied `Cookie` header during "`cy.visit()` visit or [`cy.request()`](https://on.cypress.io/request) would be overwritten by the `Cookie` header generated from the browser's cookie store. Fixes [#5894](https://togithub.com/cypress-io/cypress/issues/5894). - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where [`cy.getCookie()`](https://on.cypress.io/getcookie) would incorrectly filter cookies by their domain, leading to unexpected results. Fixes [#5656](https://togithub.com/cypress-io/cypress/issues/5656). - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where calling `.type({ force: true })` on hidden inputs would not type the correct characters. Fixes [#5835](https://togithub.com/cypress-io/cypress/issues/5835). - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where [`.type()`](https://on.cypress.io/type) was not respecting previous selections if the current value of the input was the same as the key. This also fixed an where [`.type()`](https://on.cypress.io/type) would not respect previous selections in non-selectionRange inputs (like email or number inputs). Fixes [#5703](https://togithub.com/cypress-io/cypress/issues/5703). - During visibility checks, Cypress now properly evaluates a DOM element transformed by `scale(0)` or `rotateY(90deg)` as not visible. Fixes [#723](https://togithub.com/cypress-io/cypress/issues/723). - Fixed a bug where the specs list in interactive mode would not refresh when files are changed on disk. Fixes [#5933](https://togithub.com/cypress-io/cypress/issues/5933). - `env` configuration option displays properly within the settings panel. Previously, setting env options would incorrectly render `"undefined"` as the value. Fixes [#5859](https://togithub.com/cypress-io/cypress/issues/5859). **Misc:** - We removed the max viewport size and lowered min viewport size to `0` for [`cy.viewport()`](https://on.cypress.io/viewport) Addresses [#5871](https://togithub.com/cypress-io/cypress/issues/5871) and [#5892](https://togithub.com/cypress-io/cypress/issues/5892). - The Test Runner now shows a non-Chrome logo for [browsers passed in via `config.browser`](https://on.cypress.io/launching-browsers#Customize-available-browsers) that are not of the Chrome family. It also supports showing the Firefox logo (in preparation for Firefox browser support). Fixes [#5745](https://togithub.com/cypress-io/cypress/issues/5745). - We updated the look of some of our icons. Addressed in [#5822](https://togithub.com/cypress-io/cypress/pull/5822). - We're continuing to make progress in converting our codebase from CoffeeScript to JavaScript. Addresses [#2690](https://togithub.com/cypress-io/cypress/issues/2690) in [#5643](https://togithub.com/cypress-io/cypress/pull/5643). - `cy.request` will now automatically encode special characters in the request URL, including Unicode. Addresses [#5274](https://togithub.com/cypress-io/cypress/issues/5274). - You can pass additional Electron launch command line arguments using environment variable `ELECTRON_EXTRA_LAUNCH_ARGS`. Addresses [#5807](https://togithub.com/cypress-io/cypress/issues/5807). **Dependency Updates:** - Upgraded `ansi-escapes` from `4.2.1` to `4.3.0`. Addressed in [#5815](https://togithub.com/cypress-io/cypress/pull/5815). - Upgraded `electron-context-menu` from `0.11.0` to `0.15.1`. Addressed in [#5495](https://togithub.com/cypress-io/cypress/pull/5495). ### [`v3.7.0`](https://togithub.com/cypress-io/cypress/releases/v3.7.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.6.1...v3.7.0) _Released 11/27/2019_ **Features:** - Cypress now includes the full list of browsers found and their properties within the Cypress configuration. This means that the `browsers` array is also [editable within plugins by accessing `config.browsers`](https://on.cypress.io/launching-browsers#Customize-available-browsers) via the [Configuration API](https://on.cypress.io/configuration-api). The currently available browsers are also displayed within the [configuration panel](https://on.cypress.io/configuration#Resolved-Configuration) under Settings in the Test Runner. Addresses [#5067](https://togithub.com/cypress-io/cypress/issues/5067). - Environment variables within GitHub Actions are now detected and passed to the Dashboard in order to display the proper [git information](https://on.cypress.io/continuous-integration#Git-information) for recorded runs. Fixes [#5609](https://togithub.com/cypress-io/cypress/issues/5609). **Bugfixes:** - Fixed a regression in 3.5.0 where a `cy.visit` that changes superdomain would incorrectly clear cookies of other domains. Fixes [#5756](https://togithub.com/cypress-io/cypress/issues/5756). - Fixed a regression in 3.5.0 where cookies set in a redirect on a `cy.visit` or in a `cy.request` with a custom `Domain` that is not a subdomain of the current domain would fail to set. Fixes [#5656](https://togithub.com/cypress-io/cypress/issues/5656). - Fixed a regression introduced in 3.5.0 which caused `cy.type` to send duplicate modifier keys. Fixes [#5622](https://togithub.com/cypress-io/cypress/issues/5622). - We fixed a regression in [3.6.1](https://on.cypress.io/changelog-3-6-1) where [cy.request()](https://on.cypress.io/request) with `followRedirect: false` would fail if a `Set-Cookie` header was present in the response. Fixes [#5654](https://togithub.com/cypress-io/cypress/issues/5654). - The context of `window` is no longer `undefined` within the application under test when called within a `setTimeout` during strict mode. Fixes [#5707](https://togithub.com/cypress-io/cypress/issues/5707). - Cypress now captures the SHA of builds generated through Travis CI during pull requests. This should resolve issues with Cypress status checks sometimes not running within [GitHub Integration](https://on.cypress.io/github-integration). Fixes [#5728](https://togithub.com/cypress-io/cypress/issues/5728). - Cypress now automatically strips double quotes from [`--ci-build-id`](https://on.cypress.io/command-line#cypress-run-ci-build-id-lt-id-gt) and [`group`](https://on.cypress.io/command-line#cypress-run-group-lt-name-gt) flag arguments during `cypress run`. Fixes [#5686](https://togithub.com/cypress-io/cypress/issues/5686). - Assertions printed in the [Command Log](https://on.cypress.io/test-runner#Command-Log) now correctly identify integers from string integers. Fixes [#25](https://togithub.com/cypress-io/cypress/issues/25). - Empty spaces are now accurately reflected in the [Command Log](https://on.cypress.io/test-runner#Command-Log) within assertions. Fixes [#1360](https://togithub.com/cypress-io/cypress/issues/1360). - Keys printed in the [Command Log](https://on.cypress.io/test-runner#Command-Log) when using the `have.all.keys` assertion now correctly display. Fixes [#753](https://togithub.com/cypress-io/cypress/issues/753). - We fixed an issue where Cypress would throw an error when using [`cy.visit()`](https://on.cypress.io/visit) on a `cleverapp.io` domain. Fixes [#5722](https://togithub.com/cypress-io/cypress/issues/5722). - Fixed a bug where fixtures consisting only of `null` would cause an error. Fixes [#472](https://togithub.com/cypress-io/cypress/issues/472). - Fixed a bug where, if the Test Runner child process is killed with a signal and does not exit normally, the npm CLI process would not exit with an error. Fixes [#5808](https://togithub.com/cypress-io/cypress/issues/5808). **Misc:** - Added a new, more specific error message when an item is not visible because it has `position: fixed` and is being overflowed over. Addresses [#1379](https://togithub.com/cypress-io/cypress/issues/1379). - `cy.visit`s that cause a superdomain change will now result in 2 requests to the origin server. This should not affect tests, as tests will still re-run on a superdomain change. This is a side-effect of the fix for [#5756](https://togithub.com/cypress-io/cypress/issues/5756). - The configuration object returned from the plugins file is now validated and will throw a helpful error message when invalid. Addresses [#5712](https://togithub.com/cypress-io/cypress/issues/5712). - The [configuration panel](https://on.cypress.io/configuration#Resolved-Configuration) under Settings in the Test Runner now has a white background for better readability. Also each configuration option with nested properties is now collapsible. Addressed in [#5068](https://togithub.com/cypress-io/cypress/pull/5068). **Dependency Updates:** - Upgraded `parse-domain` from `2.0.0` to `2.3.4`. Addressed in [#5726](https://togithub.com/cypress-io/cypress/pull/5726). ### [`v3.6.1`](https://togithub.com/cypress-io/cypress/releases/v3.6.1) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.6.0...v3.6.1) _Released 11/08/2019_ **Bugfixes:** - The Electron browser no longer hangs when testing applications that have a prompt in a `beforeunload` handler. Fixes [#2118](https://togithub.com/cypress-io/cypress/issues/2118). - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where HTTP redirects could cause strange behavior, including cookies not being set as expected, leading to authentication issues and other problems. Fixes [#5436](https://togithub.com/cypress-io/cypress/issues/5436) and [#5432](https://togithub.com/cypress-io/cypress/issues/5432). - When using [`cy.setCookie()`](https://on.cypress.io/setcookie) with the same `options` Object, Cypress now correctly sets the new cookie instead of the one passed into a previous [`cy.setCookie()`](https://on.cypress.io/setcookie). Fixes [#2701](https://togithub.com/cypress-io/cypress/issues/2701). - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where [`cy.clearCookie()`](https://on.cypress.io/clearcookie) would not act as expected when using certain `baseUrls`. Fixes [#5453](https://togithub.com/cypress-io/cypress/issues/5453). - Cypress no longer crashes with the error `Failed to parse or set cookie named "xxx"` when loading certain websites. Fixes [#4990](https://togithub.com/cypress-io/cypress/issues/4990). - Cypress now sends the expected headers or request body in a [`cy.visit()`](https://on.cypress.io/visit) to an HTTPS URL using the default port, 443. Fixes [#5367](https://togithub.com/cypress-io/cypress/issues/5367). - We fixed a regression in [3.6.0](https://on.cypress.io/changelog-3-6-0) where Cypress would crash with `TypeError: Cannot read property 'length' of null` on some network requests. Fixes [#5585](https://togithub.com/cypress-io/cypress/issues/5585). - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) that caused the red target to be rendered incorrectly when specifying offset coordinates to [`.click()`](https://on.cypress.io/click). Fixes [#5635](https://togithub.com/cypress-io/cypress/issues/5635). - We fixed a regression in [3.6.0](https://on.cypress.io/changelog-3-6-0) that was causing an incorrect element to receive the `click` event during action commands. Fixes [#5578](https://togithub.com/cypress-io/cypress/issues/5578). - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) causing text after using modifier keys in [`.type()`](https://on.cypress.io/type) to not be typed. Fixes [#5622](https://togithub.com/cypress-io/cypress/issues/5622). - Elements with `backface-visibility: hidden;` are now accounted for when asserting on the elemtent's visibility. Fixes [#2985](https://togithub.com/cypress-io/cypress/issues/2985). - We fixed a bug where a failed Cypress commands would incorrectly throw `cannot read property 'replace' of undefined` if the error's stack was `undefined`. Fixes [#1669](https://togithub.com/cypress-io/cypress/issues/1669). - The 'Log In' modal within Cypress when setting up a project now correctly closes when manually closed. Fixes [#5631](https://togithub.com/cypress-io/cypress/issues/5631). **Misc:** - We improved the user experience around inspecting events fired during [`.click()`](https://on.cypress.io/click) and [`.type()`](https://on.cypress.io/type) commands within the console. Addresses [#5553](https://togithub.com/cypress-io/cypress/issues/5553). - We increased the timeout when connecting to the "Developer Tools Protocol" from 5 seconds to 20 seconds and also added logging for when the connection takes longer than 5 seconds. Addresses [#5610](https://togithub.com/cypress-io/cypress/issues/5610). - There is no longer a warning about `Promise.defer` appearing in stderr when running with video recording enabled. Addresses [#5611](https://togithub.com/cypress-io/cypress/issues/5611). - Types for [`.rightclick()`](https://on.cypress.io/rightclick) and [`.dblclick()`](https://on.cypress.io/dblclick) have been updated to correctly reflect their accepted options. Addresses [#5617](https://togithub.com/cypress-io/cypress/issues/5617). - We're continuing to make progress in converting our codebase from CoffeeScript to JavaScript. Addresses [#2690](https://togithub.com/cypress-io/cypress/issues/2690) in [#5556](https://togithub.com/cypress-io/cypress/pull/5556) ### [`v3.6.0`](https://togithub.com/cypress-io/cypress/releases/v3.6.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.5.0...v3.6.0) _Released 10/31/2019_ **Features:** - [`testFiles`](https://on.cypress.io/configuration#Folders-Files) now also accepts an Array of glob patterns when specifying what test files to load in configuration. Addresses [#5401](https://togithub.com/cypress-io/cypress/issues/5401). **Bugfixes:** - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where the maximum size of an HTTP header or body in a stubbed [`cy.route()`](https://on.cypress.io/route) was limited to 8kb causing requests to fail with a 431 HTTP error. Fixes [#5431](https://togithub.com/cypress-io/cypress/issues/5431). - We fixed a bug where certain types of uncaught errors originating from the application under test would not route through the [`uncaught:exception`](https://on.cypress.io/catalog-of-events#Uncaught-Exceptions) handler, and thus could not caught and ignored. These errors will also now correctly indicate that they came from application code. Fixes [#987](https://togithub.com/cypress-io/cypress/issues/987). - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) that would throw an error during `cypress verify` when running as a non-root user on a non-Windows machine. We now always set the `--no-sandbox` flag when verifying in Electron, even when running as a non-root user. Fixes [#5434](https://togithub.com/cypress-io/cypress/issues/5434). - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) where sometimes cookies were not set on the correct URL during a redirect inside of a [`cy.visit()`](https://on.cypress.io/visit) or [`cy.request()`](https://on.cypress.io/request). Fixes [#5432](https://togithub.com/cypress-io/cypress/issues/5432). - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) causing environment variables containing unicode values to be incorrectly resolved when read via [`Cypress.env()`](https://on.cypress.io/env). Fixes [#5435](https://togithub.com/cypress-io/cypress/issues/5435). - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) that prevented use of `.click()` or `.type()` inside of an iframe element. Fixes [#5449](https://togithub.com/cypress-io/cypress/issues/5449). Fixes [#5435](https://togithub.com/cypress-io/cypress/issues/5435). - We now throw the proper error message when an element cannot be interacted with due to being covered by an element with `position:fixed`. Fixes [#5430](https://togithub.com/cypress-io/cypress/issues/5430). - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) that caused some `click` events to not be sent to the correct elements during `.click()`. Fixes [#5459](https://togithub.com/cypress-io/cypress/issues/5459). - We updated `.type()` to properly respect focus selection changes during typing. Fixes [#5456](https://togithub.com/cypress-io/cypress/issues/5456). - We fixed a regression in [3.5.0](https://on.cypress.io/changelog-3-5-0) that caused selected text to be overwritten while typing a modifer key during `.type()`. Fixes [#5439](https://togithub.com/cypress-io/cypress/issues/5439). - We now send all the proper events during `.type()` to input elements with type `date`, `time`, and `datetime-local` so that it now behaves as it did prior to [3.5.0](https://on.cypress.io/changelog-3-5-0). Fixes [#5476](https://togithub.com/cypress-io/cypress/issues/5476). - We now properly render iframe placeholder content when previewing DOM snapshots. Fixes [#5295](https://togithub.com/cypress-io/cypress/issues/5295). **Misc:** - We no longer log the default option `{multiple: true}` in the Command Log or the console during [`cy.dblclick()`](https://on.cypress.io/dblclick). Addresses [#5406](https://togithub.com/cypress-io/cypress/issues/5406). - The text color of inactive tabs within the Cypress Chrome browser has been set to white for better readability. Addresses [#1661](https://togithub.com/cypress-io/cypress/issues/1661). **Dependency Updates** - Replaced `express-handlebars` with `squirrelly` to reduce dependency size. Addressed in [#5521](https://togithub.com/cypress-io/cypress/pull/5521). - Upgraded `graceful-fs` from `4.2.0` to `4.2.3`. Addressed in [#5497](https://togithub.com/cypress-io/cypress/pull/5497). ### [`v3.5.0`](https://togithub.com/cypress-io/cypress/releases/v3.5.0) [Compare Source](https://togithub.com/cypress-io/cypress/compare/v3.4.1...v3.5.0) _Released 10/23/2019_ **Features:** - We now record video during `cypress run` in Chrome, Chromium, and Canary browsers. This requires passing the name or path of the Chrome browser to the [`--browser` flag](https://on.cypress.io/command-line#cypress-run-browser-lt-browser-name-or-path-gt). Addresses [#4608](https://togithub.com/cypress-io/cypress/issues/4608). - There is a new [`.rightclick()`](https://on.cypress.io/rightclick) command to right click on DOM elements. Addresses [#53](https://togithub.com/cypress-io/cypress/issues/53). - Cypress now accepts a [`--config-file` argument](https://on.cypress.io/command-line#cypress-run-config-file-lt-config-file-gt) to specify a different file to be used for Cypress configuration. You can also pass `false` to the `--config-file` to not use any configuration file. Addresses [#1369](https://togithub.com/cypress-io/cypress/issues/1369). - You can now use your system's Node version by setting the [`nodeVersion`](https://on.cypress.io/configuration#Node-version) to `system` in your configuration. This Node version will be used to build files in your [`integrationFolder`](https://on.cypress.io/configuration#Folders-Files) and "`supportFile`" configuration#Folders-Files and also be used to execute code in your "`pluginsFile`" configuration#Folders-Files. If not set, Cypress will continue to use the Node version bundled with Cypress. Addresses [#4432](https://togithub.com/cypress-io/cypress/issues/4432). - "`.dblclick()` dblclick now accepts `position`, `x`, and `y` arguments. Addresses [#116](https://togithub.com/cypress-io/cypress/issues/116). - "`.dblclick()` dblclick now accepts `force` and `multiple` in its `options`. Addresses [#116](https://togithub.com/cypress-io/cypress/issues/116). - [`.screenshot()`](https://on.cypress.io/screenshot) now accepts a `padding` argument when screenshotting elements that will alter the dimensions of the screenshot of the element. Addresses [#4440](https://togithub.com/cypress-io/cypress/issues/4440). - [`cy.visit()`](https://on.cypress.io/visit) now accepts a `qs` option representing an object of query paramaters to be used in the URL. Addresses [#5034](https://togithub.com/cypress-io/cypress/issues/5034). - [`cy.viewport()`](https://on.cypress.io/viewport) now allows for viewport sizes up to 4,000 pixels. Addresses [#5181](https://togithub.com/cypress-io/cypress/issues/5181). - [`cy.viewport()`](https://on.cypress.io/viewport) accepts new size presets for `iphone-xr`, `iphone-x`, `samsung-s10` and `samsung-note9`. Addresses [#4967](https://togithub.com/cypress-io/cypress/issues/4967). - Passing a `~` to `CYPRESS_CACHE_FOLDER` will automatically resolve to the user's home directory. Addresses [#5386](https://togithub.com/cypress-io/cypress/issues/5386). **Bugfixes:** - "`.dblclick()` dblclick and [`.click()`](https://on.cypress.io/click) now fire all appropriate mouse events including `mouseover`, `mousemove`, `mouseout`, `pointerdown`, `pointerup`, and `pointermove`. Fixes [#1016](https://togithub.com/cypress-io/cypress/issues/1016), [#1847](https://togithub.com/cypress-io/cypress/issues/1847), [#2045](https://togithub.com/cypress-io/cypress/issues/2045), [#2521](https://togithub.com/cypress-io/cypress/issues/2521), [#2768](https://togithub.com/cypress-io/cypress/issues/2768), [#2928](https://togithub.com/cypress-io/cypress/issues/2928), [#2957](https://togithub.com/cypress-io/cypress/issues/2957), and [#3224](https://togithub.com/cypress-io/cypress/issues/3224). - We updated "`.dblclick()` dblclick to follow the same actionability checks as [`.click()`](https://on.cypress.io/click). Fixes [#3798](https://togithub.com/cypress-io/cypress/issues/3798). - Coordinates clicked during [`.click()`](https://on.cypress.io/click) are now correct if the element being clicked is within an iframe. Fixes [#4347](https://togithub.com/cypress-io/cypress/issues/4347). - We now allow [`.type()`](https://on.cypress.io/type) to be used on any DOM element. The element will receive all of the type events. Fixes [#2166](https://togithub.com/cypress-io/cypress/issues/2166) and [#3661](https://togithub.com/cypress-io/cypress/issues/3661). - If a typeable element gains focus during [`.type()`](https://on.cypress.io/type), Cypress now continues typing into the newly focused element. Fixes [#2240](https://togithub.com/cypress-io/cypress/issues/2240). - We now correctly borrow the property getter for `maxLength` when using [.type()](https://on.cypress.io/type) on an input. Fixes [#4587](https://togithub.com/cypress-io/cypress/issues/4587). - We fixed an issue where `datetime-local` inputs would not have their `value` updated during [`.type()`](https://on.cypress.io/type). Fixes [#2613](https://togithub.com/cypress-io/cypress/issues/2613). - [`.type()`](https://on.cypress.io/type) now allows you to type `-` into number inputs with text selection. Fixes [#4767](https://togithub.com/cypress-io/cypress/issues/4767). - We now fire an `input` event when using [`.type()`](https://on.cypress.io/type) typing `{enter}` inserts a newline. Fixes [#4870](https://togithub.com/cypress-io/cypress/issues/4870). - We no longer input text when non-`{shift}` modifier keys are typed in [`.type()`](https://on.cypress.io/type). Fixes [#5424](https://togithub.com/cypress-io/cypress/issues/5424). - We now properly send the `code` property during keyboard events triggered during [`.type()`](https://on.cypress.io/type). Fixes [#3722](https://togithub.com/cypress-io/cypress/issues/3722) - Cypress now sends `screenX` and `screenY` properties to events triggered using [`.trigger()`](https://on.cypress.io/trigger). Fixes [#3187](https://togithub.com/cypress-io/cypress/issues/3187). - We fixed a bug where Cypress could not intercept traffic sent through [`cy.visit()`](https://on.cypress.io/visit) to IP addresses over HTTPS, leading to `ERR_SSL_VERSION_OR_CIPHER_MISMATCH` errors. Fixes [#771](https://togithub.com/cypress-io/cypress/issues/771). - We fixed a bug introduced in [3.3.0](https://on.cypress.io/changelog#3-3-0) where some HTTPS sites failed to load during [`cy.visit()`](https://on.cypress.io/visit) and [`cy.request()`](https://on.cypress.io/request) with a "handshake failed" error. Fixes [#4394](https://togithub.com/cypress-io/cypress/issues/4394). - We fixed a bug where ECC SSL Certificates were not supported during [`cy.visit()`](https://on.cypress.io/visit) that was introduced in [3.3.0](https://on.cypress.io/changelog#3-3-0). Fixes [#4368](https://togithub.com/cypress-io/cypress/issues/4368). - We fixed an issue introduced in [3.4.0](https://on.cypress.io/changelog#3-4-0) that would cause the Selector Playground to not properly highlight the currently hovered element. Fixes [#4872](https://togithub.com/cypress-io/cypress/issues/4872). - [`Cypress.env()`](https://on.cypress.io/env) now escapes ` Githubissues.