Cypress - v3.0.3
Security
Released 7/30/2018
Bugfixes:
- Reverted the Chrome argument that disabled
RootLayerScrolling
which was used to prevent the application under test from "shaking" due to a bug in versions 66 and 67. This workaround inadvertently created a different and much more severe bug in Chrome 68 that would miscalculate pointer coordinates. This led to Cypress giving confusing errors about elements being covered up on action. This is still a bug in Chrome, and is fixed in Canary but has not yet been released to the stable Chrome 68 channel. Nevertheless, removing theRootLayerScrolling
flag does fix it. We did several experiments to try to ensure that the "shaking" behavior does not exhibit itself in Chrome 68. We have limited the--disable-blink-features=RootLayerScrolling
flag to Chrome 66 and Chrome 67. Fixes #2223 and #2215 and #2037. - Fixed another bug with Chrome that caused the
chromeWebSecurity: false
option to not be respected. This was due to Chrome progressively rolling out trials of a new option that attempts to isolate sites (and iframes) in their own child process if their origins are different. Fixes #1951 and #2001 and #715. - Fixed Cypress hanging in CI due to excessive and unnecessary globbing. We finally tracked down this issue which made it appear as if Cypress was "hanging" after closing a spec file and then attempting to open the next one. Fixes #2183 and #1905 and #1912.
- We are now properly serializing nested object arguments when using the Module API via
cypress.open()
orcypress.run()
. Passing nested objects inreporterOptions
now works correctly. This is especially useful when usingmocha-multi-reporters
. In addition to fixing the Module API, we are now also properly handling nested arguments from the Command Line. In order to pass nested objects within CLI params you must pass stringified JSON. This is useful for properties such asblacklistHosts
. Fixes #1348 and #1357 and #2221. - Fixed a bug causing screenshots saved via
cy.screenshot()
to be in different folders when you ran usingcypress run
vscypress run
. Fixes #2091. - Fixed bugs with Electron losing focus when running headlessly via
cypress run
after navigation. Now the browser will always act as if it is focused no matter what and in all situations when running headlessly. If you were seeing focus related problems when running headlessly, this should fix them. Fixes issue #2190. - Fixed using when using
cy.click()
on an element that bound to thefocus
event while the browser was currently out of focus. We have now normalized all focus and blur events to behave the same as if the browser is always in focus. This should fix the other batch ofblur
andfocus
issues that users have been experiencing. Fixes #549 and #2198. - Fixed the vast majority of known issues with
.type()
. Fixes #1241. - Using
.type()
on an input of typeemail
ornumber
will no longer fire unnecessary additionalblur
andfocus
events. Fixes #2210. - Fixed
.type()
breaking on chains when passing the sameoptions
references. Fixes #365. - Fixed an issue with
.clear()
not behaving the same ascy.type('{selectall}{backspace}')
. Fixes #420. - Fixed a bug with issuing an additional
blur
andclick
event when chaining.clear().type(...)
. Fixes #593. - Fixed many issues with typing into
[contenteditable]
elements. WYSIWYG, Draft.js based, and other HTML editors now work correctly. Fixes #596 and #1686 and #2096. - The caret now correctly moves on
[contenteditable]
elements. Fixes #1108. - Fixed
.type()
inserting a rogue<br>
tag after the first letter in[contenteditable]
elements. Fixes #1926. - Fixed issue where change events with
.type()
would not fire correctly for many more situations and edge cases. Fixes #651. - Fixed issues with typing into JS based text-mask plugins. Basically anything that would alter the
.value
in response to certain events now works correctly. Fixes #940 and #1684. - Using
.clear()
on an input with amaxlength
attribute now works. Fixes #1002 and #2056. - Fixed issues with
.type()
not firing thechange
event oninput[type=number]
. Fixes #1171. - Fixed other event related issues with
.type()
that were not firing correctly. Fixes #1209. - Fixed even more issues with
.type()
not inserting characters oninput[type=number]
. Fixes #1381. - Fixed not being able to type negative numbers into
input[type=number]
elements. Fixes #2173. - Fixed
selectionStart
andselectionEnd
with.type()
when using{leftarrow}
or{rightarrow}
. Fixes #1234. - Fixed not being able to type into a
datetime-local
input. Fixes #1366. - Calling
.focus()
or.blur()
oncy.window()
no longer fires blur events on theactiveElement
or causes it to becomebody
. Fixes #2234. - Using
cy.get('body').click()
now correctly changes theactiveElement
back tobody
and causes the existingactiveElement
to receiveblur
. Fixes #2236.
Misc:
- We've loosened up the restrictions surrounding what we consider a typeable element. You can now type into inputs with invalid
type
attributes because the browser does still consider them regulartext
inputs and allows you to type into them. Fixes #586. - Using
{uparrow}
or{downarrow}
with.type()
on aninput[type=number]
element now increments or decrements the number configured via thestep
attribute. Fixes #2110. - Using
{uparrow}
or{downarrow}
with.type()
now correctly moves the cursor ontextarea
or[contenteditable]
elements. Fixes #2187. - You can now use
.focus()
or.blur()
oncy.get('body')
. Fixes #2235. - Bumped the version in
junit
reporter dep from1.12.1
to1.17.0
which adds a few new features. Fixes #2238. - Bumped deps that
npm audit
was yelling about. Fixes #1701. - Runs showing up in the
Runs
tab now more closely match how they display in the Dashboard. Fixes #2060. - Added more debug logs. Fixes #2108.
- When recording to the Dashboard we now more accurately collect commit details when it is missing from the local
git
data. Fixes #2129 and #2073. - We now collect the pull request information if you are recording in a CI provider that connects commits to PRs. Fixes #1844.
- Updated build in example kitchen sink to
1.0.2
. Fixes #2139. - Updated the json-schema describing
videoCompression
. Allowing it to be a boolean. Fixes #2140.
Documentation Changes:
Security
Security wording was detected, but no CVEs were found.
Details
date
Aug. 5, 2018, 11:07 a.m.
name
3.0.3
type
Patch
👇
Register or login to:
- 🔍View and search all Cypress releases.
- 🛠️Create and share lists to track your tools.
- 🚨Setup notifications for major, security, feature or patch updates.
- 🚀Much more coming soon!