1.1.0

Released Released on November 18, 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: