Releases: Behat/Behat
Releases · Behat/Behat
v3.23.0
Added
- Support providing multiple paths for features to run by @marmichalski in #1611
- Add editorUrl option to provide clickable links to IDEs in CLI output by @carlos-granados in #1638
- Add removePrefix option to trim printed paths in CLI output @carlos-granados in #1644
- Add line number of last executed step in JUnit by @magnetik in #1608
Fixed
- Relaxed constraints on nikic/php-parser and composer/xdebug-handler dependencies to allow wider use of newer Behat releases by @acoulton in #1650 and #1649
Internal
- Add Rector and standardise namespace imports by @carlos-granados in #1640
- Update expected output in tests to reflect new gherkin translations by @acoulton in #1635
- Remove start signs in docs to improve copy/paste by @yosmanyga in #1647
v3.16.1
Changed
- Remove dependency on file location in Gherkin package. The (internal) service container parameters gherkin.paths.lib
and gherkin.paths.i18n are no longer defined or used. Minimum behat/gherkin version is now ^4.12.0.
By @carlos-granados in #1604, backported from 3.20.0 to fix errors for users stuck on 3.16.0 due to
dependency conflicts.
v3.22.0
Changed
- Suggested method names for new step definitions will no longer be transliterated to ASCII. Users working in languages whose characters are mostly outside the allowed UTF-8 range will see generic
stepDefinitionX
names. We have provided an extension point for custom suggestion implementations, and would consider providing an official extension. If this affects you, please open a discussion on the Behat repository. By @acoulton in #1633 - The behat/transliterator package is no longer required and will shortly be archived.
Internal
- Update all code style to Symfony coding style (with small variations) by @carlos-granados in #1628
v3.21.1
v3.21.0
Fixed
- JUnit formatter options were being lost when converting config to PHP by @acoulton in #1622
- Contexts with constructor arguments were not properly converted to PHP configuration by @acoulton in #1619
Added
- New CLI and configuration option to print all paths as absolute paths by @carlos-granados in #1620
- Expose PHP configuration interface for tester and error_reporting options by @acoulton in #1626
- Improve config conversion to PHP to generate class references instead of string names; reference extensions by their fully qualified class names; convert output_verbosity values to constants; and convert tester and error_reporting configuration to PHP by @acoulton in #1619, #1623 and #1626
Internal
v3.20.0
Changed
- Remove dependency on file location in Gherkin package. The (internal) service container parameters
gherkin.paths.lib
andgherkin.paths.i18n
are no longer defined or used. Minimum behat/gherkin version is now ^4.12.0. By @carlos-granados in #1604.
Added
--allow-no-tests
CLI option to pass even if no specifications found by @Kingdutch in #1420--convert-config
CLI option to convert the yaml config to php by @carlos-granados in #1605
Internal
- Apply PSR-12 and PER-CS2.0 code styles by @carlos-granados in #1599 and #1606
v3.19.0
Changed
- Remove internal wrappers for PSR Container interfaces - may affect projects using container-interop/container-interop < 1.2.0 (released in 2017, package now deprecated and unsupported by behat since 2021). By @acoulton in #1584
- Remove legacy Symfony event dispatchers - these were internal wrappers to support symfony <5 and >=5, both now redundant. By @carlos-granados in #1585
Added
- Add option to print unused definitions by @carlos-granados in #1594 and #1597
- Support transforming named column(s) in any table by @carlos-granados in #1593
Fixed
- Allow unicode characters in table transformations by @carlos-granados in #1595
Internal
- Use real files instead of generated files in local tests by @carlos-granados in #1544
- Adopt PHP CS Fixer and apply PSR2 styles by @carlos-granados in #1592
- Migrate from Psalm to PHPStan and improve internal type safety by @carlos-granados in #1583, #1589 and #1590 and by @stof in #1591
v3.18.1
v3.18.0
Changed
- Add new methods to the
Behat\Hook\Hook
andBehat\Step\Definition
interfaces used internally by step definition attributes by @carlos-granados in #1573
Added
- Add
show_output
formatter option to control if/when to display stdout generated during tests by @carlos-granados in #1576
Fixed
- Do not disable xdebug if there is an active debugging connection by @carlos-granados in #1581
- Inherit step definition attributes on methods extended from parent Context by @fmatsos in #1567
Internal
- Add PHPStan and improve / fix docblock annotations and type-safety within methods to achieve level 3 by @carlos-granados in #1571, #1573 and #1578 and by @stof in #1575
- Use annotations rather than attributes for step definitions in Behat's own feature suites by @fmatsos in #1564
- Remove composer dev dependency on legacy herrera-io/box by @acoulton in #1580
- Do not run ci builds if only markdown files have changed by @codisart in #1582
v3.17.0
Changed
- Use attributes rather than annotations when generating suggested Context snippets by @fmatsos in #1549 and #1569
- Disable Xdebug unless
--xdebug
is specified on the CLI, to improve performance by @carlos-granados in #1560
Added
- 🥳 Support configuring Behat with a PHP file and helper objects / methods - see the docs
by @loic425 in #1537, #1538, #1550, #1547, #1540, #1546, #1556, #1557 and #1558. - Display location of hook failure in progress printer by @carlos-granados in #1526
- Print failed hooks summary at the end of the pretty format by @carlos-granados in #1530
- Print
<failure>
nodes for all hook failures in the junit output by @carlos-granados in #1536 - Add the
#[Transform]
attribute, equivalent to the@Transform
annotation by @carlos-granados in #1545 - Allow using the
--narrative
filter on the command line by @carlos-granados in #1559
Fixed
- Show more meaningful message if no
output_path
is specified for the junit formatter by @carlos-granados in #1533 - Fix error from the JUnit printer if scenario has no title by @mvhirsch in #1525
- Fix naming of suggested methods when generating regex snippets for steps defined with single quotes by @carlos-granados in #1524
Internal
- Improve / fix docblock annotations and type-safety within methods to achieve Psalm level 6
by @carlos-granados in #1554, #1562, #1566, #1568 and #1570. - Improve failure output of Behat's own tests with unexpected status code or output by @jdeniau in #1532
- Remove redundant tests for hook failures in junit formatter by @carlos-granados in #1543
- Update .editorconfig indent size to 2 for feature files by @carlos-granados in #1528
- Update static analysis to use Psalm v5 by @carlos-granados in #1548
- Remove tagging of tests that require PHP8, as these now always run by @carlos-granados in #1551
- Add composer scripts for testing tools by @carlos-granados in #1555