npm / cypress-fail-fast
cypress-fail-fast
What changed in cypress-fail-fast 8, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-21.
17 breaking1 new APIs and options4 behavior and defaults
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initcypress-fail-fast 822 changes
Breaking changes 17
The plugin now requires Cypress 15.10.0 or newer and no longer supports older versions.
The plugin no longer uses Cypress.env() for configuration; options must be provided via Cypress.expose().
Plugin options must now be provided via Cypress.expose() in the Cypress configuration file.
The environment-based key is replaced by failFastBail.
The environment-based key is replaced by failFastEnabled.
This option is removed; use failFastEnabled and failFastIgnorePerTestConfig instead.
The environment-based key is replaced by failFastStrategy.
The renamed camelCase option replaces FAIL_FAST_BAIL in the Cypress.expose() configuration model.
The renamed option controls whether fail-fast is enabled globally.
Controls whether per-test configuration is honored and combines with failFastEnabled to replace FAIL_FAST_PLUGIN behavior.
The renamed camelCase option replaces FAIL_FAST_STRATEGY in the Cypress.expose() configuration model.
Replaces parallelCallbacks with an object containing optional onFailFastTriggered and shouldTriggerFailFast callbacks.
This optional callback runs once when fail-fast mode is triggered and receives the strategy and triggering test information.
This optional callback runs before each test and can return true to enter fail-fast mode based on external state.
The parallel strategy is removed; users implementing parallel-run coordination must provide their own coordination mechanism using hooks.
The plugin option was renamed to hooks, and its structure changed.
Fail-fast now uses Mocha this.skip(), so affected tests appear as pending rather than skipped.
New APIs and options 1
Adds the describe strategy, which skips only remaining tests in the failed test’s immediate parent describe, regardless of per-suite configuration. TypeScript consumers switching exhaustively over FailFastStrategy or the onFailFastTriggered hook’s strategy may need to handle the new member.
Behavior and default changes 4
With the describe strategy, failures are counted separately for each describe block, and a block is skipped after it accumulates the configured number of failures. The spec and run strategies continue counting failures globally.
The hook can return a Promise; hook errors are handled with warnings.
The hook can return a Promise; hook errors are handled with warnings.
The plugin no longer uses Cypress.stop() to implement fail-fast behavior; it uses Mocha this.skip() instead.