Skip to content

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 age adoption passing confidence

Release Notes

cypress-io/cypress

v3.2.3

Compare Source

v3.2.2

Compare Source

v3.2.1

Compare Source

v3.2.0: 3.2.0

Compare Source

Released 3/15/2019

Features:

  • cy.visit() has been expanded to allow options url, method, body, and headers. This allows cy.visit() to be called with a POST method or with headers like Accept-Language or Authorization. Fixes #​1500, #​1904 and #​908.
  • cy.request() now allows any valid HTTP method to be used including TRACE, COPY, LOCK, MKCOL, MOVE, PURGE, MROPFIND, MROPPATCH, UNLOCK, REPORT, MKACTIVITY, CHECKOUT, MERGE, M-SEARCH, NOTIFY, SUBSCRIBE, UNSUBSCRIBE, SEARCH, and CONNECT. Addresses #​1302
  • The --browser argument of the Command Line and the browser 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 Cypress dependencies into devDependencies. 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 or setInterval 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() returns undefined 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 to undefined until it meets the requirements of the assertion or the cy.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 alongside npm. 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 for window.alert events to allow for Sinon.stub. Fixes #​3451.
  • Fixed typo in typing for .trigger options. Addressed in #​3588.

Documentation Changes:

  • New Retryability doc #​1278
  • Updated --browser and browser args to accept path #​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 to cy.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 from 2.1.1 to 2.1.2. #​3327.
  • Upgraded @cypress/xvfb from 1.2.3 to 1.2.4. #​3328.
  • Upgraded @ffmpeg-installer/ffmpeg from 1.0.15 to 1.0.17. #​3329.
  • Upgraded cachedir from 1.3.0 to 2.1.0. #​3660.
  • Upgraded chalk from 2.4.1 to 2.4.2. #​3362.
  • Upgraded chokidar from 1.6.0 to 1.7.0. #​3363.
  • Upgraded coffee-script from 1.12.5 to 1.12.7. #​3365.
  • Upgraded commander from 2.11.0 to 2.19.0. #​3366.
  • Upgraded common-tags from 1.4.0 to 1.8.0. #​3368.
  • Upgraded compression from 1.7.2 to 1.7.3. #​3379.
  • Upgraded cookie from 0.2.4 to 0.3.1. #​3380.
  • Upgraded cookie-parser from 1.4.3 to 1.4.4. #​3443.
  • Upgraded dependency-tree from 6.4.0 to 6.5.0. #​3381.
  • Upgraded electron-context-menu from 0.8.0 to 0.11.0. #​3383.
  • Upgraded electron-packager from 9.0.1 to 9.1.0. #​3384.
  • Upgraded electron-positioner from 3.0.0 to 3.0.1. #​3385.
  • Upgraded errorhandler from 1.1.1 to 1.5.0. #​3386.
  • Upgraded express from 4.16.2 to 4.16.4. #​3409.
  • Upgraded extract-zip from 1.6.6 to 1.6.7. #​3410.
  • Upgraded glob from 7.1.2 to 7.1.3. #​3412.
  • Upgraded image-size from 0.5.5 to 0.7.2. #​3413 and #​3500.
  • Upgraded is-ci from 1.0.10 to 1.2.1. #​3414.
  • Upgraded lodash from 4.17.4 to 4.17.11. #​3344.
  • Upgraded mocha-junit-reporter from 1.17.0 to 1.18.0. #​3417.
  • Upgraded moment from 2.23.0 to 2.24.0. #​3433.
  • Upgraded morgan from 1.3.0 to 1.9.1. #​3434.
  • Upgraded node-uuid from 1.4.1 to 1.4.8. #​3436.
  • Upgraded parse-domain from 2.0.0 to 2.1.7. #​3437.
  • Upgraded request from 2.87.0 to 2.88.0. #​3444.
  • Upgraded request-progress from 0.3.1 to 0.4.0. #​3445.
  • Upgraded request-promise from 4.1.1 to 4.2.4. #​3446 and #​3476.
  • Upgraded return-deep-diff from 0.2.9 to 0.3.0. #​3447.
  • Upgraded send from 0.14.2 to 0.16.2. #​3448.
  • Upgraded ssl-root-cas from 1.2.5 to 1.3.1. #​3449.
  • Upgraded supports-color from 5.1.0 to 5.5.0. #​3464.
  • Upgraded through from 2.3.6 to 2.3.8. #​3465.
  • Upgraded tmp from 0.0.31 to 0.0.33. #​3466.
  • Upgraded tough-cookie from 2.4.3 to 3.0.1. #​3477 and #​3659.
  • Upgraded trash from 4.0.0 to 4.3.0. #​3478.
  • Upgraded underscore.string from 3.3.4 to 3.3.5. #​3480.
  • Upgraded yauzl from 2.8.0 to 2.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

Compare Source

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 and keyCode when using .type() on a few different special characters such as {. Fixes #​2105.
  • Fixed another regression in 3.1.1 where passing undefined to a setTimeout caused Cypress to error. Fixes #​2719.
  • Fixed a bug in node core where Cypress would not show up in Windows for users on node >= 11. Fixes #​2667.
  • Fixed a bug with trashing assets in linux that caused recursive .Trash files to show up. We now have opted to actually rm -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

v3.1.1: 3.1.1

Compare Source

Released 11/2/2018

Known regressions in this release

  • #​2742 infinite .Trash-0 folder on Ubuntu 16
  • #​2724 setting HTTPS cookies in certain situations

Features:

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 the screenshotsFolder and videosFolder 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 of Date. 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 a cy.task() handler resulted in an incorrect runtime error. Fixes #​2553.
  • Update modifyObstructiveCode to account for framebusting techniques that use window.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 within cy.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 same readyState. 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 with Buffer.from. Fixes #​2626.
  • Whitelisted autoScrollingEnabled to be saved in state.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 zunder from 5.6.5 to 6.1.1 #​2541

Documentation Changes:

v3.1.0: 3.1.0

Compare Source

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:

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 than type='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 to 1.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 with cypress 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:

v3.0.1: 3.0.1

Compare Source

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 opening Chrome no longer causes cy.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

Compare Source

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 variable CYMRESS_INSTALL_BINARY instead.
  • The environment variable CYMRESS_SKIP_BINARY_INSTALL has been removed. To skip the binary install, set CYMRESS_INSTALL_BINARY=0.
  • screenshotOnHeadlessFailure has been removed as an option in cypress.json. Instead you can now control this behavior directly with code by setting screenshotOnRunFailure to false within the new Screenshot API. Fixes #​1140 and #​1754.
  • trashAssetsBeforeHeadlessRuns has been renamed to trashAssetsBeforeRuns in our configuration. Fixes #​1754.
  • videoRecording has been renamed to video 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 and after 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 of cypress 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 an examples 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 the cypress-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 than pending tests. #​244.
  • Standard output now displays the number of skipped tests within the summary output during cypress 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's window. Fixes #​1436.
  • The close event now properly fires on file 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() or cypress.run() through the Module API, just as you would from the command line. #​1442.
  • Added type definitions for Cypress.off and Cypress.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 the cypress:cli logs when running in DEBUG mode. Although using NODE_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 accompanying hooks 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 to 20 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 and headless to be more specific and instead reference run mode and interactive 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:

v2.5.0

Compare Source

v2.4.1

Compare Source

v2.4.0

Compare Source

v2.3.0

Compare Source

v2.2.0

Compare Source

v2.1.0: 2.1.0

Compare Source

Released 3/1/2018

Bugfixes:

  • Prevent a bug with node-sass on OSX + Windows when local node version does not match bundled node when importing components directly in spec files. The underlying issue was because we forgot to update Buildkite and Appveyor when we upgraded Electron in 2.0.0. Fixes #​1387 and #​1390.

Features:

  • The Selector Playground has been updated to automatically prefer data-cy, data-test or data-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:

v2.0.0: 2.0.0

Compare Source

Released 2/15/2018

Breaking Changes:

  • The built in default Electron browser has been bumped from version 53 to 59. This version represents the version of Chromium that Electron is using. In other words, running cypress run (or via Electron) will be like running your tests in Chrome 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 is true 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 new cy.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 directory cwd 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 not cwd. 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() and cy.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 new auth option to specify the username/password using cy.visit(url, options). All of the requests that match the origin of the url will have the Authorization: Basic <...> headers added. Fixes #​1288.
  • Fixed domain parsing failures when local or localhost was not used as a tld. 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 to 2.0.0 delete the following folders:
    • OSX: ~/Library/Caches/Cypress
    • Linux: ~/.cache/Cypress
    • Windows: %APPDATA%\Cypress\cy\production\browsers

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by Renovate

Merge request reports