Releases: cypress-io/cypress
Releases · cypress-io/cypress
0.17.12
Released 11/21/2016
Bugfixes:
- You no longer have to log in again after updating. Fixes #305.
- Updating in app now works again. Sorry about that. Fixes #304.
- Headless frame rate is now correctly set to
20
instead of resetting back to60
. Fixes #303. - We now automatically drop frames that the CPU cannot keep up with while video recording during
cypress run
. Previously we would buffer all frames in memory and it was possible to exhaust all memory due to the way that streaming backpressure works. Fixes #302. - Fixed an edge case in the
driver
that could lead to memory leaks. This happened when Command Logs updated from previously run tests. Normally, in headless mode, we automatically remove references to purge memory after each test, but when logs were updated after this, their references were merged back in again and held onto forever. If you were seeing long Cypress runs die or eventually halt, this was likely the cause. We did extensive memory regression analysis on Cypress and could not find any more memory leaks. Fixes #301.
Misc:
- Improved
cypress run
andcypress ci
headless output. Fixes #306. - Improved performance by preventing
snapshots
from being taken during headless runs.
0.3.5
Released 03/20/2015
Bugfixes:
- Fix missing
moment.js
frombower.json
. - Fix missing trailing slash from initial cy.visit() requests.
- Fix missing
__initial=true
query param on initial redirects.
Misc:
- Updated $.simulate to 1.0.1.
0.17.11
Released 11/16/2016
Roadmap:
- The changes in version
0.17.11
below are in preparation for Cypress¬タル platform service: a portal where screenshots, videos, config, and logs of your builds are accessible.
Overview:
cypress ci
now uploads build assets to our servers after a test run completes. Additionally, it tracks theconfig
settings used during the build and tracks each individual test failure.- If you do not want these assets to be tracked by Cypress, you need to switch to using
cypress run
. We will happily remove any build assets that are accidentally uploaded to us during the update transition.
Features:
- We now record videos during a headless run with both
cypress ci
andcypress run
. Fixes #229. - After completing
cypress ci
, we now upload build assets (such asscreenshots
andvideos
) to be used in our upcoming admin interface. This will enable you to review assets without having to touch your CI server. Fixes #292.
Misc:
- We've redesigned the headless run
stdout
to give you more details of the run, the stats after the run, what screenshots were taken, the video that was recorded, compression settings for the video, uploading asset progress, etc. - Screenshot names now include their parent titles, and invalid file system characters are scrubbed. Fixes #297.
- We no longer artificially restrict the environment
cypress ci
can run in. It can now run anywhere. Fixes #296. - We removed scaffolding any directories on a new project (during
cypress run
). Fixes #295. cypress run
no longer prompts the user for any kind of interaction, thus enabling you to use this in CI if you choose to do so. Fixes #294.- There is a new configuration property called:
(This was changed totrashAssetsBeforeHeadlessRuns
trashAssetsBeforeRuns
in3.0.0
) that is set totrue
by default and will automatically clear out screenshots + videos folders before each run. These files are not deleted, they are just moved to your trash. - There are several new configuration properties for video recording:
videoRecording
,videoCompression
, andvideosFolder
.
0.3.13
Released 03/27/2015
Features:
- cy.visit() now detects a local url.
localhost
,0.0.0.0
,127.0.0.1
can omit thehttp://
protocol.
Bugfixes:
- cy.contains() now properly escape quotes in the text.
- cy.visit() now inserts a trailing slash intelligently into the correct
path
position (not after query params or hashes). - cy.visit() will no longer log 2 failed commands on error.
- Hovering on commands which delay resolving their $el will now properly highlight again.
Misc:
- .debug() returns the current subject now.
- upgraded jsUri to
1.3.0
. - cy.visit() now throws when url argument isn't a string.
Cypress.Log
instances now fireattrs:changed
event. Removedstate:change
event.
0.3.12
Released 03/26/2015
Bugfixes:
- Aliases which replay their commands will no longer break the current chain and therefore not unintentionally null our their subject for the ext command.
- Highlighting $el's on DOM restore now works again.
- Asserting against cy.focused() will indent command logs now.
- Prevent failed .should() and
cy.to
from outputting a second error'd command log. - Removed memory leaks surrounding mocha runner.
- Captured remote page uncaught errors again which fail corresponding tests.
- Captured spec iframe errors again and preserve their stack trace.
Misc:
- cy.focused() is now a parent command.
- Memory usage improvements.
0.17.10
Released 11/07/2016
Bugfixes:
- Fixed switching between two different spec files from the desktop app causing
document.domain
to be wrong. Fixes #276. - Fixed inserting the string
null
into cy.request() urls when providing abaseUrl
incypress.json
while origin could not be determined. Fixes #274. - Fixed incorrect error message on reverse visibility assertions. Fixes #275.
Misc:
0.17.9
Released 10/22/2016
Bugfixes:
- Cypress now applies cookies to the browser which were cleared between redirects. Fixes #224.
- Snapshots now work even when
<html>
tag has invalid attributes. Fixes #271. - Cypress no longer crashes on initial cy.visit() when the 3rd party web server never ends the response. Fixes #272.
Misc:
- Changed default responseTimeout from
20000
to30000
. - Changed default pageLoadTimeout from
30000
to60000
. - The internal Cypress proxy now forcibly responds to requests taking longer than
responseTimeout
. Currently this sends backtext/html
with theETIMEDOUT
error, but this likely needs to be configurable. The reason we are now forcibly applying timeouts is to preventsocket pooling exhaustion
where tests are running and a 3rd party server never responds to the request.
0.6.2
Released 05/20/2015
Bugfixes:
0.17.8
Released 10/13/2016
Bugfixes:
- Fixed
opener of undefined
errors due topage load
events causing snapshots prior to theload
event of the remote application. Thanks to everyone who helped pitched in on this one! Fixes #258. - Cypress now correctly sets cookies with
expirationDate
in the past. Chrome did not handle these cookies as documented and our code did not take this into account. We also added a lot moree2e
tests around this behavior. Fixes #266. - We are now taking additional precautions to prevent Cypress from trashing the wrong folder during an upgrade (with an open project). This was actually fixed in
0.17.7
but the problem was is that during an update, the new version (which was fixed) was still being passed the wrong arguments from the older (broken) application. We've now upgraded0.17.8
to detect this, and just use the expected default install location of Cypress. If you're concerned, just close your currently open project before updating. Fixes #265.
Misc:
- When an in app update fails in
linux
we now provide instructions on how to manually update Cypress. - We now properly take the
maxAge
cookie flag into account and give it preference over theexpires
flag as per the cookie spec.
0.17.7
Released 10/12/2016
Features:
- There is now a new chromeWebSecurity option you can set in
cypress.json
to turn off Chrome's Web Security features. We've written a brand new reference that details why and how you could use this. Cypress Web Security. This option can be used for accessingcross origin
<iframes>
or if your application needs to test navigation across super domains. Fixes #262.
Bugfixes:
- We now capture
cross origin
errors correctly instead of these showing asUncaught DOMExceptions
in the console. Fixes #261. - We no longer trash the wrong folder on OSX in-app updates (when a project is open). Sorry about this! Fixes #260.
- cy.visit() urls with domain-like segments (which weren't actually the domain) no longer cause Cypress to think you're trying to navigate to a different superdomain. Fixes #255.