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
Rulenodes 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
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