chore(deps): update dependency @cypress/webpack-dev-server to v3 (cookieAuth-staging)
This MR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
@cypress/webpack-dev-server (source) | ^1.8.4 -> ^3.2.3 |
Release Notes
cypress-io/cypress
v3.2.3
v3.2.2
v3.2.1
v3.2.0
: 3.2.0
Released 3/15/2019
Features:
-
cy.visit()
has been expanded to allow optionsurl
,method
,body
, andheaders
. This allowscy.visit()
to be called with aPOST
method or with headers likeAccept-Language
orAuthorization
. Fixes #1500, #1904 and #908. -
cy.request()
now allows any valid HTTPmethod
to be used includingTRACE
,COPY
,LOCK
,MKCOL
,MOVE
,PURGE
,MROPFIND
,MROPPATCH
,UNLOCK
,REPORT
,MKACTIVITY
,CHECKOUT
,MERGE
,M-SEARCH
,NOTIFY
,SUBSCRIBE
,UNSUBSCRIBE
,SEARCH
, andCONNECT
. Addresses #1302 - The
--browser
argument of the Command Line and thebrowser
argument of the Module API have been updated to allow passing a<path>
. Addresses #1026. -
cy.type()
now accepts{home}
and{end}
special character sequences to move the cursor to the start or end of a line. Addresses #2033. - The Cypress Chrome extension now has a static ID of
caljajdfkjjjdehjdoimjkkakekklcck
. This allows Cypress to be added to extension whitelists for those working under corporate policies that prohibit extensions. Addresses #3673, #1239 and #2494.
Bugfixes:
- Problems logging in through GitHub in the Test Runner have been fixed. The GitHub login window no longer shows the browser support banner and the "Authorize cypress-io" button is no longer disabled. Fixes #1251.
- Fixed an issue when testing applications using older versions of jQuery. They now no longer throw
item.first is not a function
. Fixes #2927. - Cypress now detects more instances of
browser
installations. Fixes #3183 and #3218. - Fixed issue with loading fixture files containing more than one
.
in their filename while not specifying the file extension. We are also displaying a clearer warning when a fixture file cannot be found. Fixes #1402. - All third party
@types
have been moved from Cypressdependencies
intodevDependencies
. This should fix situations where user's type dependencies were conflicting with Cypress's third party type definitions. Fixes #3371 and #1227. -
Cypress.config('baseUrl')
has been updated to no longer strip singular/
at the end of urls and instead only strip instances of multiple/
. Fixes #3540. - The prompt to "Restore pages?" is no longer displayed within Chrome upon restarting a crashed Chrome window. Addresses #2048.
-
cy.wrap()
no longer throws an error when a non-jQuery wrapped DOM element is passed in as an argument. Fixes #3549. - Fixed issue where all arguments passed to
setTimeout
orsetInterval
were not properly passed on to the target function. Fixes #3592. -
.filter()
has been updated so that when called with a function, the options are now properly read. Fixes #3315. - Cypress's recognition of websites attempting framebusting has been updated to include framebusting code wrapped within
()
. #3267 - When
.its()
returnsundefined
it no longer errors. It will now follow the same logic as all other commands and only fail when directly by a.should()
command with an assertion that is not met. Fixes #1531. - When
cy.wrap()
is followed directly by a.should()
command,cy.wrap()
will now retry when its argument evaluates toundefined
until it meets the requirements of the assertion or thecy.wrap()
command times out. Fixes #3241.
Misc:
- We now display a warning when passing an argument to
--spec
that is not surrounded by quotes""
recommending that the argument instead be surrounded by quotes. In some cases, not providing quotes can cause the arguments to be read in a way that is likely not its intended use. Addresses #3318 and #2298. - The number of logs printed when installing Cypress in docker has been reduced. Partially addresses #1243.
- The seeded Kitchen Sink examples have some new examples showing how to add a message to assertions, how to compare the text content of two elements, and how to make assertions about
data
attributes. The examples also have some small typo fixes. Fixes #502. Addressed in #3272, #3287, and #3700. - We now only mount internal servers on
loopback
. Addresses #3712. - The instructions in Cypress's update window now include
yarn
update instructions alongsidenpm
. Addresses #2871. - The spec file's font weight has been increased within the Test Runner for better readability. Addressed in #3065.
- We improved the error message displayed when a record key is unrecognized during
cypress run
. Addresses #1449. - We improved the typings when using
Cypress.on
to listen forwindow.alert
events to allow forSinon.stub
. Fixes #3451. - Fixed typo in typing for
.trigger
options. Addressed in #3588.
Documentation Changes:
- New Retryability doc #1278
- Updated
--browser
andbrowser
args to acceptpath
#1419 - Add documentation on how to 'accept' or 'reject' project transfer #1474
- Updated docs on explain how to run Chrome and Chromium browsers #1339
- Added
{home}
and{end}
character sequences tocy.type()
doc. Also wrote better description of what{downarrow}
and{uparrow}
character sequences actually do. #1347 - Added all newly supported HTTP methods to
cy.request()
doc. - Add new section to Debugging doc explaining whitelisting the Cypress Chrome extension.
- Fixed code example for google analytics stubbing #1454
Dependency Updates
- Upgraded
@cypress/commit-info
from2.1.1
to2.1.2
. #3327. - Upgraded
@cypress/xvfb
from1.2.3
to1.2.4
. #3328. - Upgraded
@ffmpeg-installer/ffmpeg
from1.0.15
to1.0.17
. #3329. - Upgraded
cachedir
from1.3.0
to2.1.0
. #3660. - Upgraded
chalk
from2.4.1
to2.4.2
. #3362. - Upgraded
chokidar
from1.6.0
to1.7.0
. #3363. - Upgraded
coffee-script
from1.12.5
to1.12.7
. #3365. - Upgraded
commander
from2.11.0
to2.19.0
. #3366. - Upgraded
common-tags
from1.4.0
to1.8.0
. #3368. - Upgraded
compression
from1.7.2
to1.7.3
. #3379. - Upgraded
cookie
from0.2.4
to0.3.1
. #3380. - Upgraded
cookie-parser
from1.4.3
to1.4.4
. #3443. - Upgraded
dependency-tree
from6.4.0
to6.5.0
. #3381. - Upgraded
electron-context-menu
from0.8.0
to0.11.0
. #3383. - Upgraded
electron-packager
from9.0.1
to9.1.0
. #3384. - Upgraded
electron-positioner
from3.0.0
to3.0.1
. #3385. - Upgraded
errorhandler
from1.1.1
to1.5.0
. #3386. - Upgraded
express
from4.16.2
to4.16.4
. #3409. - Upgraded
extract-zip
from1.6.6
to1.6.7
. #3410. - Upgraded
glob
from7.1.2
to7.1.3
. #3412. - Upgraded
image-size
from0.5.5
to0.7.2
. #3413 and #3500. - Upgraded
is-ci
from1.0.10
to1.2.1
. #3414. - Upgraded
lodash
from4.17.4
to4.17.11
. #3344. - Upgraded
mocha-junit-reporter
from1.17.0
to1.18.0
. #3417. - Upgraded
moment
from2.23.0
to2.24.0
. #3433. - Upgraded
morgan
from1.3.0
to1.9.1
. #3434. - Upgraded
node-uuid
from1.4.1
to1.4.8
. #3436. - Upgraded
parse-domain
from2.0.0
to2.1.7
. #3437. - Upgraded
request
from2.87.0
to2.88.0
. #3444. - Upgraded
request-progress
from0.3.1
to0.4.0
. #3445. - Upgraded
request-promise
from4.1.1
to4.2.4
. #3446 and #3476. - Upgraded
return-deep-diff
from0.2.9
to0.3.0
. #3447. - Upgraded
send
from0.14.2
to0.16.2
. #3448. - Upgraded
ssl-root-cas
from1.2.5
to1.3.1
. #3449. - Upgraded
supports-color
from5.1.0
to5.5.0
. #3464. - Upgraded
through
from2.3.6
to2.3.8
. #3465. - Upgraded
tmp
from0.0.31
to0.0.33
. #3466. - Upgraded
tough-cookie
from2.4.3
to3.0.1
. #3477 and #3659. - Upgraded
trash
from4.0.0
to4.3.0
. #3478. - Upgraded
underscore.string
from3.3.4
to3.3.5
. #3480. - Upgraded
yauzl
from2.8.0
to2.10.0
. #3481. Potentially fixes #3515. - We also updated many dependencies used for development and removed some unused dependencies.
v3.1.2
: 3.1.2
Released 11/18/2018
Bugfixes:
- Fixed a regression caused in
3.1.1
where we attempted to set a property on an invalid cookie sent from a server. Fixes #2724. - Fixed Cypress not correctly aborting long running connections (such as server sent events) on proxied requests. Fixes #2612.
- Fixed bug where tests were failing due to assertions causing Cypress to accidentally iterate through cross origin iframes. If you were seeing "random" cross origin errors, this likely fixes those issues. Fixes #2784.
- Fixed incorrectly setting
charCode
andkeyCode
when using .type() on a few different special characters such as{
. Fixes #2105. - Fixed another regression in
3.1.1
where passingundefined
to asetTimeout
caused Cypress to error. Fixes #2719. - Fixed a bug in node core where Cypress would not show up in
Windows
for users onnode >= 11
. Fixes #2667. - Fixed a bug with trashing assets in linux that caused recursive
.Trash
files to show up. We now have opted to actuallyrm -rf
the files in linux because trashing is too inconsistent between linux distros. Fixes #2742.
Misc
- Added type definitions for
Cypress.moment()
. Fixes #2746. - We now display better error messages in the CLI when runs exceed billing limits. Fixes #1689.
Dependency Updates
- Removed
progress
#2733.
v3.1.1
: 3.1.1
Released 11/2/2018
Known regressions in this release
Features:
- You can now pass a
flag
option tocy.writeFile()
. The following flags are available. Fixes #1249. - There is a new
CYMRESS_DOWNLOAD_MIRROR
environment variable for installing Cypress at a mirror url. Fixes #2609. - The Module API now returns the
runUrl
fromcypress.run()
. Fixes #2596. - Specs now properly display as focused when navigating through specs via the keyboard. Fixes #2273.
Bugfixes:
- Fixed a bug where Cypress would error when a secure cookie flag was set and then expired from an
https
url without the subsequent secure flag. Due to the way Cypress was constructing the url, this would fail to actually remove the cookie. Fixes #1264, #1321, #1799. - We now truncate filenames for screenshots to not exceed 255 characters in length. Previously there were cases where the screenshot filename would exceed 255 characters and error. Fixes #2403 and #2665.
- Fixed issue when using
cy.writeFile()
and passing an object to a.json
file. The object is now correctly written to the JSON file instead of a string. Fixes #2373. - We updated how we handle
trashAssetsBeforeRuns
behavior. We now trash the contents of thescreenshotsFolder
andvideosFolder
directories instead of trashing the directories themselves. This helps maintain any file access permissions for the directories. Fixes #1943 and #2600. - Fixed bug where mocked Dates using
cy.clock()
would not be an instance ofDate
. Fixes #2570. - Directories within specs whose names contain
.
are now correctly read as directories instead of spec files within the Test Runner. Fixes #2423. - Cypress no longer automatically takes screenshots of skipped tests. Fixes #2368.
- Fixed an issue where returning/resolving
undefined
from acy.task()
handler resulted in an incorrect runtime error. Fixes #2553. - Update
modifyObstructiveCode
to account for framebusting techniques that usewindow.frameElement
, so that Applications using this technique will run properly in Cypress. Fixes #2582. - Fixed bug where only the first DOM element of an array of DOM elements would be blacked out after being passed as argument to
blackout
withincy.screenshot()
. Fixes #2508. - We fixed an issue involving timers after running
cy.screenshot()
. Fixes #2432. - The Test Runner now retries node-originated errors from our internal API requests. Fixes #2341
- Fixed issue with multiple
readyStateChanges
with the samereadyState
. Fixes #1150. - Fixed Type error being thrown for users using TypeScript 3. Fixes #2363.
Misc
- We are now collecting more environment variables from runs when run in Semaphore, GitLab, Bitbucket, Team Foundation Server, Codeship, and Shippable. Fixes #2460, #2358, #2343, and #2453.
- We now display better error messages in the CLI when runs exceed billing limits. Fixes #1689.
- The Test Runner's search now resets when switching between projects. Fixes #2512.
- Fixed internal Cypress tests. Fixes #2606.
- Replaced use of
new Buffer
withBuffer.from
. Fixes #2626. - Whitelisted
autoScrollingEnabled
to be saved instate.json
. Fixes #2476. - Fixed internal test error
beforeSpecRun is not a function
. Fixes #2401. - Switched our internal tests to use CircleCI workspaces. Fixes #2398.
- Update TypeScript definition for
cy.screenshot()
to include screenshot specific options. Fixes #2654. - Urls printed within the CLI will now display as the color blue. Fixes #2493.
- We began bulk converting some of our codebase from CoffeeScript to JavaScript. Fixes #2686 and #2687.
- We updated some of our internal ESLint rules to be more strict and also to help with CoffeeScript to JavaScript conversions. Fixes #2688.
Dependency Updates
- Upgraded common-tags from
^1.4.0
to^1.8.0
#2415 - Upgraded @cypress/browserify-preprocessor from
1.1.0
to1.1.1
#2513 - Upgraded lolex from
^1.5.2
to^3.0.0
#2570
- Upgraded @types/jquery from
3.2.16
to3.3.6
#2363
- Upgraded zunder from
5.6.5
to6.1.1
#2541
Documentation Changes:
- Added
flag
option tocy.writeFile()
doc. - Added
runUrl
to returned run in Module API doc. - Documented new
CYMRESS_DOWNLOAD_MIRROR
flag and rewrote advanced install instructions to be clearer in Installing Cypress doc.
v3.1.0
: 3.1.0
Released 8/13/2018
Summary:
- Cypress can now run tests in parallel across multiple virtual machines, or can be parallelized on a single machine. Cypress will automatically figure out, detect, and load balance all of your specs in the fastest and most efficient way possible. There is no configuration other than passing a
--parallel
flag and spinning up multiple machines on your CI provider. From our experiments you can expect to see approximately 40% reduction in overall run time per machine you add. However, attempting to run in parallel on a single machine requires server grade hardware with dozens (or even hundreds) of CPU's and GB of RAM to run efficiently. A much better and simpler approach is to use a cluster of docker containers that are all isolated from each other. Any standard CI service (CircleCI, TravisCI, etc) comes with the ability to do this. We automatically tap into their environment variables to make parallelization possible without you having to configure anything. - Beyond parallelization, you now have the ability to group multiple runs with each other so that they show up together (grouped) in the Dashboard. This enables you to test different applications, groups of specs, or different environments (like development, staging, production) and see all of the results together. We know how important cross browser testing is to everyone, so we built this to lead directly into aggregating the results of multiple browsers into a single run.
- The Dashboard Service has been updated to show you more visual information about what happened during a run. You can see how specs were parallelized and you can calculate the effect of adding or removing machines to help reduce the overall run time.
Features:
-
cypress run
accepts a new--parallel
flag to run specs in parallel. Fixes #1690 and #64 and #2297. -
cypress run
accepts a new--group
flag to group multiple spec files within a single run. Fixes #2169 -
cypress run
accepts a new --ci-build-id flag. Fixes #2153.
Bugfixes:
- We've finally tracked down the source of specs "hanging" and failing to start when running Electron. We finally tracked it down to a bug in Electron itself with setting
menu
when using offscreen rendering. Fixes #2322 and #2294. - Clicking on svg elements is now working. 3.0.2 introduced a bug that would throw an 'illegal invocation' error. Fixes #2245 and #2252 and #2258 and #2277 and #2288.
- Fixed a regression in
3.0.2
that caused typing{enter}
not to submit a form when there were<button>
elements other thantype='submit'
. Fixes #2261 and #2326. - Fixed a small visual bug where failed commands were not aligned to other commands. Fixes #2314.
- Fixes a race condition where async electron browser commands came in after the renderer had been destroyed, causing failures. Fixes #2321.
Misc
- When recording to the Dashboard Service, we now provide estimated durations per spec directly within the standard output, as long as the spec has had enough run history for this to be determined. Fixes #2276.
- When using the new
--parallel
or--group
feature, we now visually indicate that to you in the standard output when recording. Fixes #2275. - We have added support for more CI providers to automatically detect and show more relevant information in the Dashboard, instead of showing 'Unknown'. Fixes #2146.
- We have added better checks and reliability for detecting runs in Jenkins. Fixes #1990.
- The built in
cypress-browserify-preprocessor
was bumped to1.1.0
. This supports more JavaScript features by default, including async/await, object rest spread, and class properties. Fixes #2254. -
cypress run
now creates a new browser profile per run per browser, but keeps the same browser profile for interactive mode withcypress open
. This means you can run Cypress locally over multiple processes and the browser profiles will not conflict with each other. Fixes #1566. - The Desktop-GUI has been updated to get the new routes provided by the Cypress API for runs. Fixes #2189.
- Cypress now retries multiple times (with a backoff strategy) when communicating with our API fails while recording runs. This will provide better feedback in situations when the API is temporarily unavailable. Fixes #1590.
- When Cypress retries due to an API timeout or failure it now displays a very nice message indicating to you the delay and number of retries left. Fixes #2280.
- We've added parallelization to our own internal tests for the driver and the desktop-gui. We've been able to reduce the number of concurrent instances our tests use by 4, and shaved about 6 minutes off of each build. Faster with less resources. Fixes #2325.
Documentation Changes:
- Added
Parallelization
doc. - Update
Dashboard Service
doc with new screenshots and run sections. - Update
Command Line
doc with new flags and alphabetized flags.
v3.0.1
: 3.0.1
Released 5/30/2018
Bugfixes:
- Seeded KitchenSink tests no longer fail. Fixes #1812.
- The binary cache now correctly works and will not reinstall Cypress if an existing version is already installed. Fixes #1813.
- Closing the
Electron
browser and then openingChrome
no longer causescy.screenshot()
to fail. Fixes #1820. - Fixed a bug with Windows users seeing crashes with
tty.getWindowSize is not a function
. Fixes #1815 and #1817.
v3.0.0
: 3.0.0
Released 5/29/2018
Summary:
- There is a new cy.task() command that enables you to go outside the browser to perform tasks directly in
node
. This will make it easy to setup, scaffold, seed, talk to your database, or anything else useful on a backend. - cy.screenshot() has been rewritten from the ground up. It now takes a screenshot of only the application under test by default. It also can take full page screenshots or element only screenshots. This is the first step of Cypress Dashboard support for screenshot diffing.
- When running with
cypress run
we now run each spec file in isolation from others. We have rewritten our reporter to provide more details and provide a summary of the run at the bottom. - The Dashboard has been upgraded to make it easier to understand the results of each spec run. This was done in anticipation of providing you the ability to parallelize and load balance your spec files automatically in CI.
- We are now capturing the performance and timings data of every test when using
--record
mode and are beginning to offer the first analytics and insights into the health of your tests on our Dashboard service. - Cypress now caches globally per version which prevents it from being installed multiple times across projects.
Breaking Changes:
- We now run each spec file in isolation from one another. This shouldn't technically break anything, but if you have set up your tests in a way that requires the state of a previous spec file, this could potentially break your tests. This will go a long ways towards reducing problems we were seeing with long runs in CI. Fixes #431, #681, #1589, #1539, and #1692.
- The environment variable
CYMRESS_BINARY_VERSION
has been removed. You should use the equivalent environment variableCYMRESS_INSTALL_BINARY
instead. - The environment variable
CYMRESS_SKIP_BINARY_INSTALL
has been removed. To skip the binary install, setCYMRESS_INSTALL_BINARY=0
. -
screenshotOnHeadlessFailure
has been removed as an option incypress.json
. Instead you can now control this behavior directly with code by settingscreenshotOnRunFailure
tofalse
within the new Screenshot API. Fixes #1140 and #1754. -
trashAssetsBeforeHeadlessRuns
has been renamed totrashAssetsBeforeRuns
in our configuration. Fixes #1754. -
videoRecording
has been renamed tovideo
in our configuration to be clearer and prevent confusion about recording to our Dashboard. Fixes #562. - Cypress no longer copies screenshots and videos to artifacts for CircleCI. Copying artifacts should be left up to the user to handle themselves in their
circle.yml
file. Fixes #1592. - The standard output has been redesigned to better visualize spec files running in isolation and to be more visually appealing. This may break any specialized logic written that expected the standard output to be structured in a specific way or contain specific words. Fixes #1588.
- cy.screenshot() no longer takes a screenshot of the runner by default. Instead it will hide the runner, remove application scaling and then scroll to take a full page picture of your application.
-
before
andafter
hooks within a support file now run before/after every spec file, instead of only once before/after the entire run. #681
Features:
- There is a new cy.task() command for executing any arbitrary
node
code. - You can now run multiple specs by passing a glob to the
--spec
argument ofcypress run
. Fixes #263, #416 and #681. - There is a new Screenshot API and new cy.screenshot() options that allow you set defaults for how screenshots are captured, whether to scale your app, disable timers and animations, or which elements to black out in the screenshot. You can also set defaults for whether to automatically take screenshots when there are test failures or whether to wait for the Command Log to synchronize before taking the screenshot. Fixes #1424.
- cy.screenshot() can now be chained off of commands that yield a DOM element and will only take a screenshot that element.
- During install of cypress, the Cypress binary is now downloaded to a global cache. This prevents multiple projects from downloading the same Cypress version. Fixes #1300.
- The seeded
example_spec.js
file has been replaced by anexamples
folder with several spec files. This more closely reflects the recommended use of Cypress - as smaller groups of tests split among many files that will now be run in isolation. The tests were also updated from ES5 to ES6. You can see all changes in thecypress-example-kitchensink
repo Fixes #1460. - Cypress now watches all the
plugins file
's entire dependency tree to make iterating on plugins easier. Fixes #1407. - Videos will now be saved locally with a filename named after the associated
spec
file that it represents. Fixes #980. - The Test Runner now displays
skipped
tests differently thanpending
tests. #244. - Standard output now displays the number of
skipped
tests within the summary output duringcypress run
. #1559. - The url to view the run in the Dashboard is now printed to output during
cypress run
. #494. - We now print the browser and browser version run in the output during
cypress run
. #833. - The build number and url to CI for tests run within Drone are now captured and displayed on the run within the Dashboard. #1709.
Bugfixes:
- Cypress no longer crashes when attempting to proxy a websocket connection that fails. Fixes #556.
- Asserting that an attribute equals a falsy value no longer fails when the value was falsy. Fixes #831 and #1491.
- Snapshots now ignore stylesheets with
media="print"
. Fixes #1568. - Fixed issue where the Cypress
window
was being returned instead of AUT'swindow
. Fixes #1436. - The
close
event now properly fires onfile
when manually closing the browser. Fixes #1560. -
cypress.env.json
is now being watched for changes. Fixes #1464. - Fixed issue when using TypeScript that caused namespace errors to be thrown. Fixes #1627.
- Fixed error message on
.type()
and.clear()
when typing into non-typeable elements or clearing non-clearable elements to accurately list the elements allowed. Fixes #1650. - Added Chrome flag
--disable-blink-features=RootLayerScrolling
to prevent the application under test from "shaking" in recent versions of Chrome. Fixes #1620. - Fixed issue where some TTY characters were not properly formatted in the terminal for Windows during
cypress run
. Fixes #1143 and #1550. - Removed an extraneous error display from Electron during
cypress run
about a "transparent titlebar" setting. Fixes #1745.
Misc:
- We are now aggressively turning on colors when running in CI. If you're using Jenkins and do not have an ANSI color plugin installed, you can turn off colors with the
NO_COLOR=1
environment variable. Fixes #1747 and #1748. - When running
cypress run --record
on forked MR's, we now detect that the Record Key is missing and do not fail the build. We will display a warning, but continue running the tests. Fixes #1193. - Searching in the Test Runner now filters out any non-matching folders. Fixes #1706.
- Duplicate, subsequent logs in the Command Log are now collapsed and can be expanded to view all logs. Fixes #1580.
- We now throw a descriptive error if an alias using
.as()
was defined starting with the@
character. #1643. - We now pass the
--disable-device-discovery-notifications
flag automatically. This should prevent Chromium browser from automatically trying to communicate with devices in your network, such as printers, while running tests. Fixes #1600. - We now pass any reporter errors along and provide a stack if a custom reporter you've provided does not exist. Fixes #1192.
- You can now pass a normal object to
cypress.open()
orcypress.run()
through the Module API, just as you would from the command line. #1442. - Added type definitions for
Cypress.off
andCypress.log
. Fixes #1110 and #1591. - Update type definitions for cy.screenshot() to reflect new changes to command's options. Fixes #1753.
- The type definition for .filter() now correctly supports a function argument.
- The type definition for .scrollIntoView() no longer errors when passed a
duration
option. Fixes #1606. -
NODE_OPTIONS
environment variables now print within thecypress:cli
logs when running inDEBUG
mode. Although usingNODE_OPTIONS
themselves should not be used due to #1676. Fixes #1673. - Cypress will error and exit with status 1 if no specs were found during
cypress run
. Fixes #1585. - We are now counting and aggregating the stats at the end of test runs separately from Mocha. Cypress considers a test to be the
it
and any accompanyinghooks
that run before or after a test. Cypress will correctly associate failures in those hooks to the test itself. We believe this more accurately models and just "makes sense". Fixes #1163. - The minimum viewport size has been lowered from
200
pixels to20
pixels. Fixes #1169 and #1444. - Internal changes to our API structure and communication. Fixes #1170, #1413, #1415.
- We output a much more complete test results object when using cypress as a module. Fixes #1248.
- Added keywords to Cypress NPM package. Fixes #1508.
- Centered the animating icon in the Test runner when 'running'. Fixes #1695.
- We made some changes to internal references of
headed
andheadless
to be more specific and instead referencerun mode
andinteractive mode
. Fixes #1140. - The test name text is now selectable inside the Command Log. Fixes #1476.
- Minor improvements to contributing docs and scripts. Fixes #1665.
- We now collect Semaphore CI params and provide URL's to click into the builds from the Dashboard. Fixes #1785.
- Config overrides coming from the CLI or environment variables are now validated the same way as if they've been set in
cypress.json
. Fixes #1783. - There is a better / more helpful experience around passing unknown options to the CLI. Fixes #837.
- Display an empty message when there is no commit information on recorded runs. Fixes #1809.
Documentation Changes:
- New
cy.task()
doc - New
Screenshot API
doc - Update
cy.screenshot()
doc to include new accepted usage and options - Update
Installing Cypress
doc to include new options for Cypress binary caching - Updated
Writing and Organizing Tests
to include newly seededexamples
folder - Updated
cypress run
spec args - Updated
Dashboard Service
- Updated
Launching Browsers
to include our disabling of device discovery notifications - Updated
Preprocessors
to reflect all waysclose
event could be triggered - Updated use of "running headlessly" to more accurate "during
cypress run
"
v2.5.0
v2.4.1
v2.4.0
v2.3.0
v2.2.0
v2.1.0
: 2.1.0
Released 3/1/2018
Bugfixes:
- Prevent a bug with
node-sass
on OSX + Windows when localnode
version does not match bundlednode
when importing components directly in spec files. The underlying issue was because we forgot to updateBuildkite
andAppveyor
when we upgradedElectron
in2.0.0
. Fixes #1387 and #1390.
Features:
- The Selector Playground has been updated to automatically prefer
data-cy
,data-test
ordata-testid
attributes when providing the unique selector for an element. Additionally it now exposes a public API that you can use to control how it determines which selector to use. Fixes #1135.
Documentation Changes:
- Added
Selector Playground Guide
- Added
Selector Playground API
- Updated
Best Practices
- Updated
FAQ
- Updated
Introduction to Cypress
v2.0.0
: 2.0.0
Released 2/15/2018
Breaking Changes:
- The built in default
Electron
browser has been bumped from version53
to59
. This version represents the version ofChromium
that Electron is using. In other words, runningcypress run
(or viaElectron
) will be like running your tests inChrome 59
now. Although it is unlikely this would actually break any of your tests - it is technically possible they could behave differently. Fixes #895 and #891 and #823 and #860 and #1011 and #1252 and #1276. - We are now detecting and automatically stripping code that obstructs Cypress from being able to test your application. Specifically, we are removing JavaScript code that tries to prevent clickjacking and framebusting. We have written very conservative rules that do their best to only strip these specific JS snippets, but it is technically possible that it may unintentionally rewrite valid JS if they match the regexp patterns. There is a new configuration option called
modifyObstructiveCode
that istrue
by default. If you are experiencing problems after upgrading, you can turn this off and this will disable modifying your JS code. If you were using Cypress and upon visiting your website you would experience seemingly "random" redirects - these problems should now be eliminated. Fixes #886 and #1245 and #1064 and #992 and #692 and #352. - We are now clearing the browser's disk cache each time it opens (before any tests run). This means that any files that have been cached from
Cache-Control
headers will be cleaned and removed. In the future, we will expose a newcy.clearCache()
method to provide finer grained control of clearing the cache on a per test basis. But for now, this is an improvement. Fixes #1124. - The
--spec
option is now normalized against the current working directorycwd
instead of the project that you are running Cypress in. That means passing a path from the command line to a spec file will now work even when the project path is notcwd
. Fixes #1159.
Bugfixes:
-
blacklistHosts
would occasionally not work if you were blacklisting a host that had previously cached a file. In this case, the browser would serve it from disk and not make an actual HTTP request. This issue has been solved by clearing the cache when the browser opens. Fixes #1154. -
blacklistHosts
is now correctly accepted via the--config
CLI flag. - Spies and Stubs created with
cy.stub()
andcy.spy()
will now retry their assertions when utilized from an alias. Fixes #1156. - Basic auth is working again in Chrome 63 and Chrome 64. We "for real" fixed it this time by adding auth headers automatically at the network proxy layer and bypassed the browser altogether. We automatically apply auth headers if you provide a username/password in the URL of a
cy.visit(url)
. We also added a newauth
option to specify theusername/password
usingcy.visit(url, options)
. All of the requests that match the origin of theurl
will have theAuthorization: Basic <...>
headers added. Fixes #1288. - Fixed domain parsing failures when
local
orlocalhost
was not used as atld
. Fixes #1292 and #1278. - Removed the flag
--disable-background-networking
from the Chrome launch args to fix problems in CI that would throttle XHR callbacks by up to 20-30 seconds. Fixes #1320.
Misc:
- We now properly display nested objects and arrays that come from
cypress.json
in the Settings tab in the Desktop Application. - There's now a proper "empty view" when you go to setup your project to record on our Dashboard and you have not created any Organizations. Fixes #1306.
- Removed the message about private projects requiring a paid account in the future. There will be a free tier including private projects. Fixes #827.
- We moved the location of the browser's disk cache. That means that if you've been using Cypress for a really long time - you may have built up quite a large existing cache (in the hundreds of
mb
). Before upgrading, you should open the browser and then manually clear the Cache. Or - if you have already upgraded to2.0.0
delete the following folders:- OSX:
~/Library/Caches/Cypress
- Linux:
~/.cache/Cypress
- Windows:
%APPDATA%\Cypress\cy\production\browsers
- OSX:
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.