PackageTrack
Sign in Get early access

laracasts/cypress

Laravel Cypress Boilerplate

3.0.4 3.5M downloads/mo #3147 most downloaded on Packagist laracasts/cypress

What this package is like to depend on

Last release 4 months ago

06 Apr 2026

Ships fairly regularly

a new release about every 4 months

Most releases are documented

notes for 22 of 33 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

33 releases · first in 2020

1 release in the last 12 months

see the full history below

Release timeline

33 releases · Jul 2020 to Apr 2026
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 33
  1. 3.0.4 06 Apr 2026
    Release notes

    What's Changed

    • Add Laravel 13 Compatibility #94
    Open source →
  2. 3.0.2 19 Mar 2024
    Release notes
    • Adds support for Laravel 11
    Open source →
    Release notes

    Released Jun 28, 2018

    Bugfixes:

    • Screenshots taken with cy.screenshot() on 2x DPI are now taken at the correct full size. Fixes #1857 and #2018 .

    • Windows users no longer exit with EPIPE errors when running cypress run in newer versions of Node. Fixes #1841 and #2044 .

    • Fixed issue where applications programmatically stealing focus would lead to slow runs in Electron when running via cypress run . #1909 and #1892 .

    • Electron no longer reports the browser as out of focus when running via cypress run . Fixes #1939 .

    • Modified the document.hasFocus() method to return true if the top window (Cypress window) is in focus. This should now correctly match how your application behaves outside of Cypress. Fixes #1940 .

    • Fixed issue where Cypress would unnecessarily scroll when attempting to locate elements with position: sticky . Fixes #1475 .

    • Fixed a bug where changing the integrationFolder in Windows would lead to errors with plugins. Fixes #1704 .

    • Cypress no longer crashes when a 3rd party server sends invalid gzip content. Also fixed issues with incorrectly gunzipping multibyte characters which would potentially lead to serving invalid HTML or JS. Fixes #1396 and #1756 .

    • The --silent flag should now be respected during npm install cypress on all OSes. Fixes #817 .

    • Corrected a typo in the CLI for a warning message. Fixes #2038 .

    • Fixed some areas of the Desktop GUI that did not display path names correctly in Windows. Fixes #1830 .

    • The pluginsFile now supports an absolute path instead of just a relative one. Fixes #1837 .

    • Fixed a regression introduced in 3.x.x where application code that used setTimeout with a string argument would see the error fn.apply is not a function . Fixes #1854 .

    • Fixed issue where preprocessor errors were being swallowed. Fixes #1877 .

    • Fixed issue where Cypress would hang indefinitely when starting a new spec when in cypress run mode. Additionally we have optimized the code path to not read in the local state.json unnecessarily. Fixes #2013 and #1912 and #1905 and #1890 .

    • Fixed a couple regressions in the Dashboard where timed out runs stayed "Pending" forever. Fixes #1891 and #1952 .

    • Fixed another Dashboard regression where an error would throw when recording tests and sending a large list of specs. Fixes #1901 .

    • Fixed issue where videos would not be recorded when an object was returned from before:browser:launch when in the Electron browser. Fixes #1992 .

    • Fixed an issue where Cypress would inject content into the <header> tag instead of the <head> tag. Fixes #2026 .

    • Fixed an oversight where a specific framebusting check was not being properly stripped and removed by the default config option modifyObstructiveCode . Fixes #2030 and #2059 .

    • Fixed icons visually shifting when tests were running in the Test Runner. Fixes #1983 .

    • Server sent events now finally work correctly in Cypress. Fixes #1440 and #1111 .

    • Time traveling snapshots now preserve the styles of empty <style> tags with programmatically inserted CSS rules. Fixes #1226 .

    Misc:

    • There are now several new CLI commands for interacting with the binary cache: cypress cache path , cypress cache list , and cypress cache clear . Fixes #1856 .

    • We've added a new CLI flag: --no-exit for cypress run to keep the browser open after the tests finish running. Fixes #1871 .

    • The CLI now respects config values and environment variables put in your .npmrc file. Fixes #1399 and #1853 .

    • Significantly improved the performance of taking screenshots. #1863 .

    • Node module dependencies updated. Fixes #1674 and #1942 .

    • The bundled version of FFmpeg has now been bumped from 3.x.x to 4.x.x . This may help with some issues users were experiencing when recording videos. Fixes #1972 .

    • Added more debug logs to FFmpeg to determine why FFmpeg compression sometimes causes Cypress to crash (mostly while running in Travis CI). Fixes #1971 .

    • Several improvements to TypeScript typings. Fixes #1881 and #2007 and #1899 and #1902 and #1897 and #1907 .

    • We improved error logging and the user experience around cypress verify . Fixes #1984 .

    • We no longer log the skipping install message if the Cypress binary is already installed locally. Fixes #1985 .

    • Now, by default, screenshots are nested within a folder with the name of the spec file that is currently running. Example - the spec named cypress/integration/foo/bar_spec.js will save screenshots inside of this directory: cypress/screenshots/foo/bar_spec.js/* . Fixes #1826 .

    • Passing foo/bar/baz as the fileName arg to cy.screenshot() inside a spec, app.spec.js , will now result in the screenshot being saved to a nested folder path such as: cypress/screenshots/app.spec.js/foo/bar/baz.png . Fixes #1771 and #668 .

    • We now append (failed) to the screenshot filename of screenshots taken automatically during test failure. Fixes #1923 .

    • If multiple screenshots are taken during a test that will result in the same filename, their file paths are now appended with a number, i.e. test name (1).png . This prevents screenshot files with the same name from being overwritten. Fixes #1766 .

    • Screenshot onAfterScreenshot and onBeforeScreenshot callbacks ar enow invoked for failed tests. They include a testFailure property to distinguish between automatic ones and your own use of cy.screenshot() . Fixes #2040 .

    • There's now an after:screenshot plugin event you can use in your pluginsFile to work with screenshots after they are taken. This enables you to rename them, move their location, resize them, send them to a service, etc. Fixes #2039 .

    • Added Cypress.browser object which contains information about the currently running browser. Fixes #1919 and #1961 .

    • Added Cypress.spec object which contains information about the currently running spec. Fixes #1918 .

    • URLs displayed in the Command Log during cy.visit() are no longer arbitrarily truncated at a set width. Fixes #1995 .

    Documentation Changes:

    • Update cy.screenshot() doc to include new file naming behavior

    • Updated "Command Line" doc to include new cache commands

    • Added Cypress.browser doc.

    • Added Cypress.spec doc.

    • Added after:screenshot plugin event doc.

    Open source →
  3. 3.0.1 16 Feb 2023
    Release notes
    • Adds support for Laravel 10
    Open source →
    Release notes
    • Adds support for Laravel 10
    Open source →
    Release notes

    Released May 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 .

    Open source →
  4. 3.0.0 27 Jun 2022
    Release notes
    Open source →
    Release notes
    Open source →
    Release notes

    Released May 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 back end.

    • 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 CYPRESS_BINARY_VERSION has been removed. You should use the equivalent environment variable CYPRESS_INSTALL_BINARY instead.

    • The environment variable CYPRESS_SKIP_BINARY_INSTALL has been removed. To skip the binary install, set CYPRESS_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 PR'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:

    • 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 seeded examples 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 ways close event could be triggered

    • Updated use of "running headlessly" to more accurate "during cypress run "

    Open source →
  5. 2.2.1 15 Feb 2022
    Release notes
    • Write routes to the proper support directory - fixes e7451cd
    Open source →
    Release notes
    • Write routes to the proper support directory - fixes e7451cd3c3e49c512da053f0973b128f7deb8d45
    Open source →
  6. 2.2.0 15 Feb 2022
    Release notes
    • Extends cypress.boilerplate command to allow for a custom install path, and auto-create + populate the project's cypress.json configuration file.
    Open source →
    Release notes
    • Extends cypress.boilerplate command to allow for a custom install path, and auto-create and populate the project's cypress.json configuration file.
    Open source →
  7. 2.1.0 14 Feb 2022
    Release notes
    • Add a new cy.currentUser() command to fetch the currently authenticated user
    • Add TypeScript type declarations file for custom Cypress commands
    • Cypress test runner dashboard will now display the full Artisan command string

    As always, if upgrading from a previous release, please manually ensure that your laravel-commands.js file matches up with the latest version here.

    Open source →
    Release notes

    Released Mar 01, 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:

    • Added Selector Playground Guide

    • Added Selector Playground API

    • Updated Best Practices

    • Updated FAQ

    • Updated Introduction to Cypress

    Open source →
  8. 2.0.1 11 Feb 2022
    Release notes

    Fix requestBody

    The The presence of any of these properties signals that we're using the new object API.

    Open source →
    Release notes

    Released Feb 16, 2018

    Bugfixes:

    • Using cy.contains() with a RegExp argument is now properly escaped. Fixes #1322 .

    • Fixed a runaway RegExp causing large .js files to take dozens of seconds to process. This was a regression caused by 2.0.0 with the new modifyObstructiveCode option. We've optimized the RegExp and the performance is back to being almost identical to transparently passing responses through. Fixes #1330 .

    Open source →
  9. 2.0.0 11 Feb 2022
    Release notes
    • Increase PHP minimum to 8.0.
    • Remove support for Laravel's legacy factories.
    • Optional new object-based API for cy.create() and cy.login() that allows for relationship loading and declaring model factory states.
    test('it shows blog posts', () => {
        cy.create({
            model: 'App\\Post',
            attributes: { title: 'My First Post' },
            state: ['archived'],
            load: ['author'],
            count: 10
        })
    });

    --

    Upgrade Notes

    If upgrading from version 1, be sure to manually update your cypress/support/laravel-commands.js file to match this one.

    Open source →
    Release notes

    Released Feb 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 blocking 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

    Open source →
  10. 1.5.0 11 Feb 2022

    Nothing published for this version

  11. 1.4.1 20 Oct 2021
    Release notes

    Released Dec 26, 2017

    Bugfixes:

    • Using DEBUG=cypress:* now correctly outputs all debugging information on OSX and Linux. Previously output other then cypress:cli was ignored due to the CLI ignoring stderr from the binary. Fixes #921 .

    • stdout is now captured correctly in Windows when recording to the Dashboard. Fixes #977 and issue #711 .

    • Windows now forcibly displays colors correctly to the terminal. Fixes #1127 .

    Misc:

    • TTY is now handled correctly for Linux and OSX. This means that CI providers which turned off colors due to TTY being false will now display colors again such as TravisCI. Fixes #1126 .

    • We now handle Xvfb exiting with a non zero status code and display that error to you. This should help with situations where Xvfb is misconfigured on the system. Fixes #1113 .

    • We've added debug output for Xvfb when DEBUG=cypress:xvfb is enabled. Helpful when diagnosing problems with Xvfb. Fixes #1128 .

    • We've added more TypeScript documentation for cy.* methods. Fixes #1117 .

    • When developing on Cypress, we now start the process through the CLI to bring it into parity with how it works when used in production. Fixes #838 .

    • Upgraded various CLI dependencies that were flagged for security warnings. There wasn't an actual security problem - just static analyzers complaining. Fixes #1103 .

    Open source →
  12. 1.4.0 14 Jun 2021
    Release notes

    Released Dec 19, 2017

    Features:

    • There is now a Search Bar in the Desktop GUI that enables you to filter the list of specs. Helpful for projects with a ton of spec files. Fixes #1098 .

    Bugfixes:

    • The seeded example_spec.js file no longer fails in Windows on the cy.exec() test. It now conditionally runs a command appropriate for Windows. Fixes #1097 .

    • Trying to log in to Cypress no longer causes the app to crash. This area has had many more tests added. Fixes #1093 .

    • Some minor improvements to TypeScript definitions around .then() . Fixes #1084 .

    • The Selector Playground now works correctly in the Electron browser. Fixes #1086 .

    Open source →
  13. 1.3.0 21 Jan 2021
    Release notes

    Released Dec 17, 2017

    Features:

    • Plugins now emit a before:browser :launch event exposing you the browser that will be launched and its launch arguments. This enables you to modify the arguments prior to launching the browser. You can also use these arguments to modify how Chrome runs and to also test Chrome extensions. Fixes #691 and #298 .

    • We have launched a "CSS Selector Playground", a new UI button in the Test Runner that enables you to highlight elements in your application and receive a unique selector. You can also find elements by their text content. These mimics cy.get() and cy.contains() behavior. Additionally you can copy the generated Cypress command to your clipboard or output the generated selector to your console. This feature is in beta. It only works in Chrome (not in Electron). We are aware of some bugs in it, but it is good enough for use and feedback. Please check out issue #917 , watch an animated gif demonstration, and leave any feedback you have there. Fixes #917 .

    Documentation Changes:

    • Added Browser Launch API

    • Updated Plugins Guide

    • Updated Writing a Plugin API

    Open source →
  14. 1.2.1 18 Jan 2021

    Nothing published for this version

  15. 1.1.11 09 Sep 2020

    Nothing published for this version

  16. 1.1.10 09 Sep 2020

    Nothing published for this version

  17. 1.1.9 07 Sep 2020

    Nothing published for this version

  18. 1.1.8 07 Aug 2020

    Nothing published for this version

  19. 1.1.7 07 Aug 2020

    Nothing published for this version

  20. 1.1.6 07 Aug 2020

    Nothing published for this version

  21. 1.1.5 07 Aug 2020

    Nothing published for this version

  22. 1.1.4 31 Jul 2020
    Release notes

    Released Dec 06, 2017

    Bugfixes:

    • Fixed an issue causing Chrome to timeout when attempted to be run through our Docker containers. Fixes #1031 .

    • Several TypeScript typings were added, updated and fixed. Fixes #1006 .

    • Using a regular http:// URL now works when using the CYPRESS_BINARY_VERSION flag to point the binary at an external location. Fixes #1001 .

    • File watching is fixed (again) when changing between specs. Fixes #1018 .

    Misc:

    • There is now a new CYPRESS_SKIP_BINARY_INSTALL flag you can pass during npm install which skips the binary installation after the cypress npm module completes its installation. Fixes #1005 .

    • We now launch Chrome with --no-sandbox and --disable-gpu options in Linux. We will soon release a new plugin event that enables you to modify the browser arguments we use by default. This shouldn't cause issues with existing Linux users, and instead it should fix many CI setups that were using our Docker containers or your own home grown installed Chrome setup. Fixes #1021 and #1020 .

    • Removed several aliases from our browser detector. These were not implemented properly and not needed - and thus only caused indirection. Fixes #1023 .

    Open source →
  23. 1.1.3 27 Jul 2020
    Release notes

    Released Dec 03, 2017

    Bugfixes:

    • JSON fixtures with unicode escape sequences are now parsed correctly. Fixes #964 .

    • The default browserify plugin no longer fires watched:file:changed twice leading to an uncaught exception that was popping up in the console. Also fixed a minor state bug in the browserify package. Fixes #968 .

    • Cypress no longer reports Electron as the browser that ran in the Dashboard Service when a different browser was run. Fixes #854 .

    • Invalid cookie values no longer crash Cypress. Fixes #962 .

    Misc:

    • We are now bundling our own TypeScript definitions with the cypress npm module. You no longer have to install @types/cypress anymore. We'll continue to keep these updated with API changes. Fixes #856 .

    • Uncaught exceptions originating from your application code and/or test code are now distinctly and clearly indicated in the error message. We included a link to our docs to educate you on how you can optionally disable Cypress from catching these. Fixes #825 .

    • cy.visit() now accepts { failOnStatusCode: false } which enables you to visit pages that respond with a non 2xx status code. This brings it into parity with cy.request() . Fixes #421 and #574 .

    • The contributing Readme's have been updated and improved for each package. Fixes #995 .

    • Added utility methods Cypress.platform and Cypress.arch for returning the underlying OS information. Uses node's os module under the hood. Fixes #824 and #675 .

    Documentation Changes:

    • Added Cypress.version

    • Added Cypress.arch

    • Added Cypress.platform

    Open source →
  24. 1.1.2 27 Jul 2020
    Release notes

    Released Nov 26, 2017

    Bugfixes:

    • Fixed a regression caused by .type() adhering to maxlength incorrectly. Special character sequences were not respected. Now .type() works with special characters and implements a complete fix for maxlength . In addition to it working, it now fires all applicable browser events without modifying the actual input value. Fixes #955 .

    • Errors coming from plugins now display correctly in the Test Runner. Fixes #945 .

    Documentation Changes:

    • Added ESLint, Docker, and TypeScript to Plugins

    • Added recipe for TypeScript with Browserify

    • Added recipe for TypeScript with webpack

    • Added recipe for Direct Controlling AngularJS

    • Added recipe for E2E API Testing

    • Added more video tutorials

    • Improved displaying list of Tutorials, Recipes, Applications, and Docker examples

    Open source →
  25. 1.1.1 27 Jul 2020
    Release notes

    Released Nov 20, 2017

    Bugfixes:

    • Fixed a bug swallowing plugin errors due to undefined reject function. Fixes #934 .

    • .type() now respects the maxlength attribute and will not type beyond it. Fixes #928 .

    Open source →
  26. 1.1.0 27 Jul 2020
    Release notes

    Released Nov 19, 2017

    Summary:

    • We have officially launched the new Plugins API interface. This adds a cypress/plugins/index.js file to new and existing projects. Using this file will enable you to modify the internals of Cypress running in the background node process. This means you will be able to use node APIs that are executed outside of the browser.

    • We have currently added only one event for modifying the test file preprocessor, but this paves the way for adding many more event types. You can now modify every aspect of how files are sent to the browser.

    • We have extracted the default Browserify preprocessor into its own package - @cypress/browserify-preprocessor . This is bundled with Cypress, but it is extracted so it can be used / modified by you to change the default options we pass to Browserify. Additionally, you can swap out this preprocessor for something else entirely.

    Features:

    • There is now a Plugins API interface . Partially addresses #684 .

    • We have added the first Plugin API event called: file :preprocessor . Fixes #580 and #581 .

    • You can now customize the default Babe; configuration options for the Browserify preprocessor. Fixes #343 and #905 .

    • CoffeeScript 2 is supported via modifying the default options for the Browserify preprocessor. Fixes #663 .

    • You can swap out or extend the default preprocessor to do exotic things like compile ClojureScript into JavaScript. Fixes #533 .

    • We have created a @cypress/webpack-preprocessor preprocessor npm package for you webpack users (because we are nice!). Fixes #676 .

    Bugfixes:

    • cy.contains(selector, regexp) now works as intended. Fixes #801 .

    • We no longer format fixtures in any capacity. This fixes a bug with improperly formatting fixtures in Windows. You should handle formatting fixtures yourself. Fixes #884 and #902 .

    • cy.viewport() resolves if only width or only height changes. Fixes #873 .

    • Cypress now auto reloads when spec files are modified in Windows. Fixes #712 .

    Misc:

    • There is a new --global option useful with cypress open to force Cypress to open in global mode. This is helpful when you have multiple nested Cypress projects but only want to install Cypress once in the root project. Fixes #889 .

    • The module API accepts reporterOptions as an object literal like it does for the env and config properties. Fixes #899 .

    Documentation Changes:

    • Created "Testing React TodoMVC" tutorials

    • Created "Variables and Aliases" core concept

    • Created "Conditional Testing" core concept

    • Created "Plugins" guide

    • Created "List of Plugins"

    • Created "Writing a Plugin" API

    • Created "Preprocessors API"

    • Updated "Using Cypress FAQ"

    • Updated "Best Practices"

    Open source →
  27. 1.0.4 27 Jul 2020

    Nothing published for this version

  28. 1.0.3 27 Jul 2020
    Release notes

    Released Oct 29, 2017

    Features:

    • The Test Runner now enables you to collapse folders when displaying a list of specs. Fixes #760 .

    Bugfixes

    • The onChange event callback for React now works (again) on input type number or email . Fixes #816 and #770 .

    • Fixed error when recording and failing to parse the git commit message. Fixes #847 and #841 .

    • Using a single space on: cy.type(' ') now works. Fixes #807 .

    • cy.spread() can now be used on a collection of DOM elements. Fixes #735 .

    • CLI shows help message when it is invoked with an unknown command like $(npm bin)/cypress foo . Fixes #641 .

    Misc:

    • Enable passing CYPRESS_RECORD_KEY without using the CLI by invoking the binary directly. Fixes #820 .

    • Cypress binaries can now be pointed to a staging environment with CYPRESS_ENV=staging . Fixes #813 .

    • The Test Runner displays the scrollbar correctly when the update banner is displayed. Fixes #803 .

    • The branch name is now properly collected when recording in Buildkite CI. Fixes #777 .

    • You can install the Cypress binary from any URL or file path using the CYPRESS_BINARY_VERSION environment variable . Closes #701 .

    Documentation Changes:

    • Created "Conditional Testing" core concept

    • Created "Key Differences" core concept

    • Updated "Best Practices"

    • Updated "FAQ Usage"

    Open source →
  29. 1.0.2 27 Jul 2020
    Release notes

    Released Oct 13, 2017

    Bugfixes:

    • cy.type now correctly fires change events on React 16. Fixes #647 .

    • Fixed some problems serializing objects during domain change caused by circular references. In this case zone.js was the culprit. Fixes #741 .

    Misc:

    • cy.scrollTo now logs its coordinates when options are used. Fixes #725 .

    • You can now use environment variables that have a = character as values. Fixes #620 .

    • There is now a new videoUploadOnPasses configuration option in cypress.json . Turning this off will only compress and upload videos on failures. This only affects projects which are setup to record to the Dashboard. Fixes #460 .

    Documentation Changes:

    • Added examples for "Catalog of Events"

    • [Added](/ Updated FAQ for "Using Cypress"' using-cypress-faq)

    Open source →
  30. 1.0.1 27 Jul 2020
    Release notes

    Released Oct 10, 2017

    Bugfixes:

    • Prevent error during verification in the CLI on Linux / OSX. Also makes terminal colors work again. Fixes #717 and #718 .
    Open source →
  31. 1.0.0 26 Jul 2020
    Release notes

    Released Oct 09, 2017

    Summary:

    • 1.0.0 marks our transition out of a private beta and into a public beta. We've lifted all the restrictions for using Cypress. It is now accessible to everyone. Until we are out of beta, the Dashboard Service will continue to be free.

    • We will continue to follow semver from this point on (and also a bit more rigorously).

    • Cypress is now open source ! This project is licensed under the terms of the MIT License .

    • We have a Contributing Guideline to help contributors get started as well as issues labeled first-timers-only for those wanting to contribute right away.

    • You can now use the Test Runner application without logging in. Some areas of the application still require logging in through GitHub, like the 'Runs' tab and viewing the project's 'Record Key'. The only places where login is required is when it interacts with our external servers. Naturally these places are optional and will not affect the local test writing + running experience.

    • We've removed the requirement of filling out an early adopter form and approval for logging in with GitHub to Cypress.

    • www.cypress.io has an all new design to help new visitors get started quickly and understand our future pricing more clearly.

    • We are still updating the docs to reflect the 1.0.0 release.

    Features:

    • Windows is now supported. We have been running it successfully on EC2 and all of our example projects are also running in CI with AppVeyor. It is still super beta (we're aware of a couple issues already) and we're still updating our own infrastructure to manage and test it as comprehensively as we do OSX and Linux. We are only building a 32bit version of Windows, but will soon be building a 64bit as well. As of today the Windows binary is about 2x the size of what it will be. Unzipping takes a long time, we are sorry. Fixes #74 and #444 .

    Misc:

    • Added the Beta flag everywhere (since we are still technically in beta).

    • Reduced the frequency the app checked for updates. Fixes #713 .

    • The CLI now sends arch parameter to the download server so we can build and serve multiple binaries for Windows + Linux.

    Documentation Changes:

    • Updated "Installing Cypress"

    • Updated "Writing your First Test"

    • Added a 10 minute Getting Started video that Andrew Van Slaars created.

    Open source →
  32. 3.03 27 Feb 2025
    Release notes
    • Adds support for Laravel 12
    Open source →
  33. 1.2 18 Jan 2021

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive