github Behat/Gherkin v4.18.0

2 hours ago

Changed

  • Deprecate FilterInterface, SimpleFilter and friends by @acoulton in #432
  • Update cucumber/gherkin parity tests and translations to v42.0.1.
    Parsing a step with invalid multiple table / docstring arguments now throws ParserException instead of NodeException.
    By @behat-gherkin-updater[bot] and @acoulton in #425
    and #424

Added

  • GHERKIN_32 compatibility mode is now officially complete and stable. The new GHERKIN_42 mode added in this release is also complete and stable. LEGACY mode remains the default, but is not recommended for new projects.
    By @acoulton in #441
  • Support Rule nodes in >= GHERKIN_32 mode (backwards compatible).
    NB: Scenarios within Rules will be parsed, filtered, and executed as expected with any caller. However, callers that have not been updated to support this feature will receive a modified node tree with all Rule details stripped out. This will behave as though any Scenarios were a direct child of the Feature - with any Rule Background steps repeated as the first steps of each Scenario.
    By @acoulton in #430
  • Support steps with both DocString and DataTable arguments in GHERKIN_42 mode.
    By @acoulton in #440
  • Document (and test) how multiple filters combine by @Amoifr in #431

Fixed

  • LineFilter and LineRangeFilter should handle varied Example tables by @acoulton in #434

Internal

  • Refactor filter implementations and tests, cover missed test cases by @acoulton in #433
  • Refactor internal implementations of Filter classes by @acoulton in #436
  • Don't use our own deprecated code by @acoulton in #435
  • Migrate ParserTest fixtures to the cucumber gherkin testdata format by @Amoifr in #427
  • Add an automated Backwards Compatibility check to the build by @acoulton in #437
  • Bump actions versions by @dependabot[bot] in #423 and #426
  • Fix deprecated client-id param in update job actions by @acoulton in #438
  • Pin PHPStan to 2.2.14 rather than always taking latest by @acoulton in #439

Don't miss a new Gherkin release

NewReleases is sending notifications on new releases.