All Versions
143
Latest Version
Avg Release Cycle
25 days
Latest Release
1294 days ago

Changelog History
Page 3

  • v8.0.0-rc.1 Changes

    October 19, 2021

    โž• Added

    • โž• Add wrapPromiseWithTimeout to public API (#1566)
    • โž• Add support for user code as native ES modules
    • BeforeStep and AfterStep hook functions now have access to the pickleStep in their argument object
    • ๐Ÿ“š --config option to the CLI. It allows you to specify a configuration file other than cucumber.js (see [documentation](./docs/profiles.md#using-another-file-than-cucumberjs)) #1794

    ๐Ÿ”„ Changed

    • Relative paths for custom snippet syntaxes must begin with . (#1640)
    • Absolute paths for custom formatters and snippet syntaxes must be a valid file:// URL
    • ๐ŸŽ Use performance timers for test case duration measurement #1793

    ๐Ÿ›  Fixed

    • ๐Ÿ‘ Allow targeting same file multiple times (#1708)
    • When running with --dry-run, undefined or ambiguous steps no longer cause the process to exit with code 1 (#1814)
    • When running the --help command, it now shows all available formatters under the --format option #1798

    โœ‚ Removed

    • โฌ‡๏ธ Drop support for Node.js 10 and 15, add support for Node.js 16
    • โœ‚ Remove deprecated --retryTagFilter option (the correct option is --retry-tag-filter) (#1713)
    • โœ‚ Remove validation that step definition functions are not generators
    • โœ‚ Remove --predictable-ids option (was only used for internal testing)
  • v7.3.2 Changes

    January 10, 2022

    ๐Ÿ›  Fixed

    • ๐Ÿ”’ Pin colors to 1.4.0 to fix security vulnerability (#1884)
    • ๐Ÿ”’ Pin cli-table3 to 0.6.1 to fix security vulnerability (#251)
  • v7.3.1 Changes

    July 20, 2021

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ Deprecate setDefinitionFunctionWrapper and step definition option wrapperOptions

    ๐Ÿ›  Fixed

    • Prevent duplicate scenario execution where the same feature is targeted in multiple line expressions (#1706)
    • ๐Ÿ›  Fixed reports banner to point to new docs about environment variables
    • Re-add color functions for use with custom formatters 1582
    • IParameterTypeDefinition regexp fix 1702
  • v7.3.0 Changes

    June 17, 2021

    โž• Added

    ๐Ÿ”„ Changed

    • โœ… All testCase messages now emitted upfront at the start of the run (relevant for formatter authors) (#1408 #1669)
    • ๐Ÿšš Clarify that the JSON formatter will not be removed any time soon

    ๐Ÿ›  Fixed

    • ๐Ÿ‘ this now has correct TypeScript type in support code functions (#1667 #1690)
    • Progress bar formatter now reports total step count correctly (#1579 #1669)
    • Rerun functionality will now run nothing if the rerun file is empty from the previous run (#1302 #1568)
    • All messages now emitted with project-relative uris (#1534 #1672)
    • Json formatter now works with tagged examples (#1621 #1651)
  • v7.2.1 Changes

    April 21, 2021

    ๐Ÿ›  Fixed

    • ๐Ÿšš Temporarily remove ESM changes due to impact on formatters
  • v7.2.0 Changes

    April 20, 2021

    โž• Added

    • ๐Ÿ“„ Experimental support for native ES modules via the [--esm flag](./docs/cli.md#es-modules-experimental-nodejs-12) (#1589)
  • v7.1.0 Changes

    April 06, 2021

    โž• Added

    • ๐Ÿ‘Œ Support attachments that are already base64-encoded via a prefix on the MIME type e.g. this.attach(base64String, 'base64:image/png') (#1552)
    • ๐Ÿ‘Œ Support tagged rules (cucumber#1123)

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix types for hook functions so they can return e.g. 'skipped' (#1542)
    • Display the response of the reports server when an error is returned before failing. (#1608)
    • โœ‚ Remove unnecessary implicit dependency on long package (cucumber#1313)
    • โœ‚ Remove unnecessary transitive dependencies on react etc (cucumber#1308)
  • v7.0.0 Changes

    December 21, 2020

    โž• Added

    • โž• Add a built in html formatter for rich HTML reports output as a standalone page (#1432)
    • โž• Add support for BeforeStep and AfterStep hooks (#1416)
    • Custom formatters can now be resolved by a module name (as well as by a relative path), enabling use of Yarn PnP (#1413)

    โœ‚ Removed

    • ๐Ÿ‘Œ Support for running Cucumber in web browsers has been removed (#1508). This feature was increasingly difficult to support and seldom used. Node.js will now be the only support runtime for Cucumber itself; of course as before you can still use tools like WebDriver and Puppeteer to instrument testing of browser-based software. See the discussion in #1437 for more about why this change is happening.

    ๐Ÿ›  Fixed

  • v7.0.0-rc.0 Changes

    September 14, 2020

    Starting with version 7, the npm module has been changed from cucumber to @cucumber/cucumber

    Migration guide

    • npm uninstall cucumber
    • npm install --save-dev @cucumber/cucumber
    • require/import @cucumber/cucumber instead of cucumber
    • TypeScript
      • Replace TableDefinition with DataTable
      • npm uninstall @types/cucumber

    If anything is missing from the migration guide, please submit an issue.

    ๐Ÿ†• New Features

    • โž• Add --publish option to publish reports to reports.cucumber.io #1423, #1424
    • โž• Add support for Gherkin's Rule/Example syntax
    • Add transpose method to [data table interface](docs/support_files/data_table_interface.md)
    • โž• Add log function to world, providing a shorthand to log plain text as [attachment(s)](docs/support_files/attachments.md)
    • ๐Ÿ—„ Now includes TypeScript type definitions, deprecating the need for @types/cucumber in TypeScript projects
    • Yarn PnP can now be used with this project with custom formatters #1413

    ๐Ÿ’ฅ Breaking changes

    • The npm module has changed name from cucumber to @cucumber/cucumber
    • Your require / import statements must be changed from cucumber to @cucumber/cucumber
    • TypeScript users must rename TableDefinition to DataTable
    • โฌ‡๏ธ Drop support for Node.js 8, add support for Node.js 14
    • Formatters
      • Events are now based on cucumber-messages
      • event-protocol formatter has been removed and replaced with message
      • Custom formatters will need to migrate
      • json formatter is deprecated and will be removed in next major release. Custom formatters should migrate to use the message formatter, or the standalone JSON formatter as a stopgap.
    • โœ‚ Remove long-deprecated typeName from options object for defineParameterType in favour of name
    • Custom formatters are now loaded via the regular require paths relative to the current directory, unless it begins with a dot (e.g. --format=./relpath/to/formatter). Previously this was always loaded as a file relative to the current directory.

    ๐Ÿ› Bug fixes

    • don't execute BeforeAll and AfterAll hooks when in dry-run
    • ๐Ÿ‘Œ support correct case for --retry-tag-filter CLI argument
  • v6.0.5 Changes

    November 13, 2019
    ๐Ÿ› Bug fixes
    • json formatter: fix duration to be nanoseconds (was femtoseconds)