---
title: "3.3.2"
url: "https://www.cypress.io/releases/3-3-2"
description: "Performance Improvements: We fixed a regression introduced in 3.3.0 that was causing the Test Runner to do extremely unnecessary re-renders of the Command Log…"
---

# 3.3.2

ReleasedReleased on June 26, 2019

**Performance Improvements:**

-   We fixed a regression introduced in [3.3.0](#3-3-0) that was causing the Test Runner to do extremely unnecessary re-renders of the Command Log on any command change - leading to exponential performance degradation on any run. This was the root cause behind many users experiencing a reduction in performance when upgrading to `3.3.0` or above. Fixes [#4411](https://github.com/cypress-io/cypress/issues/4411) and [#4313](https://github.com/cypress-io/cypress/issues/4313).
    
-   We reduced memory consumption and improved the performance of running tests anytime you're inside of `cypress open`. Fixes [#2366](https://github.com/cypress-io/cypress/issues/2366).
    
-   We no longer delay proxied responses with no body with status codes 1xx, 204, 304. This fixes a regression introduced in [3.2.0](#3-2-0) where responses with these status codes were delayed when using a proxy. Fixes [#4298](https://github.com/cypress-io/cypress/issues/4298).
    
-   Snapshots were previously being mistakenly stored then instantly deleted when `numTestsKeptInMemory` was set to 0. We now no longer record the snapshots at all when `numTestsKeptInMemory` is set to 0. This should slightly improve the performance of running tests with this setting. Fixes [#4104](https://github.com/cypress-io/cypress/issues/4104) and [#4164](https://github.com/cypress-io/cypress/issues/4164).
    

**Bugfixes:**

-   Cypress no longer watches files when run using `cypress run`. This will fix some runs that were crashing with an `ENOSPC` error. Fixes [#4283](https://github.com/cypress-io/cypress/issues/4283).
    
-   Cypress now correctly handles `blur` and `focus` events in situations where the browser has lost focus. Fixes [#4039](https://github.com/cypress-io/cypress/issues/4039), [#1176](https://github.com/cypress-io/cypress/issues/1176), and [#1486](https://github.com/cypress-io/cypress/issues/1486).
    
-   If the DOM element provided to [.type()](/api/commands/type) is already in focus, Cypress no longer attempts to click on the DOM element. This allows you to call `.focus()` on elements that are focusable, but not necessarily clickable and type into them using `.type()`. Fixes [#3001](https://github.com/cypress-io/cypress/issues/3001) and [#4420](https://github.com/cypress-io/cypress/issues/4420).
    
-   Some elements inside of a parent with CSS `overflow: hidden` that flow outside of its parent are now properly considered hidden. [#4161](https://github.com/cypress-io/cypress/issues/4161)
    
-   Elements that are inside a parent with CSS `position: absolute` which is itself inside of a parent element with `overflow: hidden` are now properly considered visible. Fixes [#4395](https://github.com/cypress-io/cypress/issues/4395) and [#755](https://github.com/cypress-io/cypress/issues/755).
    
-   `<option>` and `<optgroup>` elements are now properly considered visible if it is contained within a visible `<select>`. Fixes [#4473](https://github.com/cypress-io/cypress/issues/4473).
    
-   `<body>` and `<html>` elements are now properly always considered visible. Fixes [#4475](https://github.com/cypress-io/cypress/issues/4475).
    
-   `<td>` and `<tr>` elements with CSS `visibility: collapse` are now properly considered hidden. Fixes [#4476](https://github.com/cypress-io/cypress/issues/4476).
    
-   We now correctly handle form submission when using `.type('{enter}')` on a form containing a button of type `reset`. Fixes [#3909](https://github.com/cypress-io/cypress/issues/3909).
    
-   If a site's `content-type` is `null`, `undefined` or cannot be determined during [`cy.visit()`](/api/commands/visit), we now look at the content of the site and evaluate whether it looks like HTML. If it does look like HTML we no longer error and continue as if it the site's `content-type` is `text/html`. [#1727](https://github.com/cypress-io/cypress/issues/1727) [#773](https://github.com/cypress-io/cypress/issues/773) [#3101](https://github.com/cypress-io/cypress/issues/3101).
    
-   Previously Cypress would send the `auth` header to any URLs that match the CORS origin of the original `auth` header. We now correctly only send the `auth` headers when there is an exact match on the [protection space](https://tools.ietf.org/html/rfc7235#section-2.2). Fixes [#4267](https://github.com/cypress-io/cypress/issues/4267).
    
-   Requests that go through [cy.visit()](/api/commands/visit) or [cy.request()](/api/commands/request) are now automatically retried on `ENOTFOUND` errors. Fixes [#4424](https://github.com/cypress-io/cypress/issues/4424) and [#1755](https://github.com/cypress-io/cypress/issues/1755).
    
-   Cypress now errors when the `body` parameter passed to [cy.request()](/api/commands/request) contains a circular reference. Fixed in [#4407](https://github.com/cypress-io/cypress/pull/4407).
    
-   We fixed an issue where the `ignoreTestFiles` configuration was being filtered out when passed via a command line flag, so in effect being ignored. Fixes [#1696](https://github.com/cypress-io/cypress/issues/1696).
    
-   Setting `NO_PROXY` is now respected for HTTPS urls, as it should be. Fixes [#4303](https://github.com/cypress-io/cypress/issues/4303).
    
-   When running tests with non-string test titles, the screenshots now automatically stringify the test titles instead of throwing an error. Fixes [#4310](https://github.com/cypress-io/cypress/issues/4310).
    
-   Cypress no longer incorrectly errors when calling `cy.window().screenshot()`, `cy.window().scrollTo()` or `cy.window().trigger()` in an application with multiple iframes. Fixes [#4396](https://github.com/cypress-io/cypress/issues/4396).
    
-   Fixed a regression in [3.3.0](#3-3-0) causing some users using proxy to see the "Browser was not launched through Cypress" error during `cypress open`. This was caused by incorrectly routing requests for Cypress's internal server on `localhost` through the user's proxy. Fixes [#4410](https://github.com/cypress-io/cypress/issues/4410).
    
-   We fixed situations during a test failure where the Test Runner would throw `RangeError: Maximum call stack size exceeded`. Fixes [#1958](https://github.com/cypress-io/cypress/issues/1958) and [#4346](https://github.com/cypress-io/cypress/issues/4346).
    
-   Fixed issue where `window.performance.getEntriesByType` would return `undefined` instead of an array within application code when using [cy.clock()](/api/commands/clock). Fixes [#3625](https://github.com/cypress-io/cypress/issues/3625).
    
-   Passing an array of strings to `ignoreTestFiles` no longer causes an error to throw. Fixes [#4312](https://github.com/cypress-io/cypress/issues/4312).
    
-   Fixed a visual bug when aliasing a non-route subject multiple times that would cause the Test Runner to show 'undefined' alias with empty counts. Fixes [#4429](https://github.com/cypress-io/cypress/issues/4429).
    
-   Fixed regression introduced in [3.2.0](#3-2-0) where Cypress would error because it could not find a type definition file for '../sinon'. Fixes [#4272](https://github.com/cypress-io/cypress/issues/4272).
    
-   [cy.writeFile()](/api/commands/writefile) no longer errors in TypeScript files when passing an `options` object as its third argument. Fixes [#4461](https://github.com/cypress-io/cypress/issues/4461).
    
-   [cy.stub()](/api/commands/stub) no longer errors in TypeScript files when evaluating returns. Fixes [#4302](https://github.com/cypress-io/cypress/issues/4302).
    

**Misc:**

-   Warnings are now displayed when recording in `cypress run` to warn when a project is nearing its organization's usage limit. They also clearly explain any consequences of going over a plan's usage limit. Addresses [#4530](https://github.com/cypress-io/cypress/issues/4530).
    
-   An warning icon with a tooltip is displayed in the Runs tab of the Test Runner when parallelization was disabled during the run due to being over the organization's usage limit. Addresses [#4489](https://github.com/cypress-io/cypress/issues/4489).
    
-   You can now opt out of sending exceptions to `https://api.cypress.io` by setting `CYPRESS_CRASH_REPORTS=0` in your system environment variables. [#4386](https://github.com/cypress-io/cypress/issues/4386)
    
-   We are now capturing Google Cloud build details when recording tests to the Cypress Dashboard. Addresses [#3582](https://github.com/cypress-io/cypress/issues/3582).
    
-   The tests titles and headers in the Command Log no longer truncate with ellipsis when the text is longer than that width of the Command Log. Instead the text wraps so that all text is shown. Addresses [#3947](https://github.com/cypress-io/cypress/issues/3947).
    
-   Special env vars are now truncated in `Cypress.env()` and the debug logs. Addresses [#4501](https://github.com/cypress-io/cypress/issues/4501).
    
-   The `projectId` in now displayed in the configuration in the Test Runner settings like all other configuration values. Fixes [#4500](https://github.com/cypress-io/cypress/issues/4500).
    
-   When recording to the Dashboard, unrecognized warnings coming from the API server are now displayed in stdout. Fixes [#4489](https://github.com/cypress-io/cypress/issues/4489).
    

**Documentation Changes:**

-   New [Code Coverage](/app/tooling/code-coverage) doc. Addressed in [#1744](https://github.com/cypress-io/cypress-documentation/pull/1744).
    
-   New [Visual Testing](/app/tooling/visual-testing) doc. Addressed in [#1744](https://github.com/cypress-io/cypress-documentation/pull/1536).
    
-   New Courses doc to list online courses that teach end-to-end testing with Cypress. Addressed in [#1766](https://github.com/cypress-io/cypress-documentation/pull/1766).
    
-   Added a section about [Hacking on Cypress](/app/references/troubleshooting#Hacking-on-Cypress) in the Debugging doc. Addressed in [#1783](https://github.com/cypress-io/cypress-documentation/pull/1783).
    
-   Added a section on how to [opt out of sending exception data to Cypress](/app/references/advanced-installation#Opt-out-of-sending-exception-data-to-Cypress) in the Installing Cypress doc.
    

**Dependency Updates**

-   Removed `electron-positioner` since it was no longer being used. Addressed in [#4502](https://github.com/cypress-io/cypress/pull/4502).
    
-   Upgraded `chokidar` from `1.7.0` to `3.0.1`. Addressed in [#4487](https://github.com/cypress-io/cypress/pull/4487).
    
-   Upgraded `cookie` from `0.3.1` to `0.4.0`. Addressed in [#4329](https://github.com/cypress-io/cypress/pull/4329).
    
-   Upgraded `dependency-tree` from `6.5.0` to `7.0.2`. Addressed in [#4364](https://github.com/cypress-io/cypress/pull/4364).
    
-   Upgraded `fs-extra` from `0.30.0` to `8.0.1`. Upgraded in CLI package only to `5.0.0`. Addressed in [#4418](https://github.com/cypress-io/cypress/pull/4418), [#4419](https://github.com/cypress-io/cypress/pull/4419), [#4422](https://github.com/cypress-io/cypress/pull/4422), [#4437](https://github.com/cypress-io/cypress/pull/4437), [#4555](https://github.com/cypress-io/cypress/pull/4555), [#4559](https://github.com/cypress-io/cypress/pull/4559), [#4571](https://github.com/cypress-io/cypress/pull/4571), [#4581](https://github.com/cypress-io/cypress/pull/4581).
    
-   Upgraded `mocha-junit-reporter` from `1.18.0` to `1.23.0`. Addressed in [#4417](https://github.com/cypress-io/cypress/pull/4417).
    
-   Upgraded `pluralize` from `7.0.0` to `8.0.0`. Addressed in [#4438](https://github.com/cypress-io/cypress/pull/4438).
    
-   Upgraded `shell-env` from `0.3.0` to `3.0.0`. Addressed in [#4466](https://github.com/cypress-io/cypress/pull/4466), [#4467](https://github.com/cypress-io/cypress/pull/4467), and [#4471](https://github.com/cypress-io/cypress/pull/4471).
    
-   Upgraded `winston` from `0.9.0` to `2.4.4`. Addressed in [#4538](https://github.com/cypress-io/cypress/pull/4538).
    
-   We updated and removed some dependencies used for development.