| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| behat.phar | 2026-03-26 | 4.5 MB | |
| README.md | 2026-03-26 | 3.4 kB | |
| v3.30.0 source code.tar.gz | 2026-03-26 | 215.1 kB | |
| v3.30.0 source code.zip | 2026-03-26 | 602.7 kB | |
| Totals: 4 Items | 5.3 MB | 2 | |
Changed
- Explicitly mark up interfaces, classes & methods that we consider to be the public API. This will not affect our backwards compatibility guarantees for the 3.x series, but from 4.0 onwards we will only guarantee BC for code that is explicitly marked as being part of the API. By @acoulton in #1807
- Move
gherkinconfiguration to dedicatedGherkinOptionsconfig object. The previous API for setting filters by calling->withFilters()onProfileis deprecated and will be removed in 4.0. By @acoulton in #1798 - Make
Extension::process()explicit in the Extension interface & document Extension dependencies. Clarifies that extensions should declare their own dependencies on any symfony packages they interact with directly. By @acoulton in #1795 and #1804 - Drop PHP 8.1 support by @carlos-granados in #1782
Added
- Support configuring
GherkinCompatibilityModeto control how Gherkin files are parsed. The default mode behaves identically to legacy parser behaviour. The opt-in experimentalgherkin-32mode parses equivalent to the official cucumber/gherkin parsers. We expect to makegherkin-32the default in the 4.0 release. See the documentation for more details. By @acoulton in #1799 - Add deprecation collector to capture and print Behat deprecations.
Users can opt-in to display and/or fail on deprecations using the methods on the
TesterOptionsconfig object. Extension developers can log their own runtime deprecations by callingDeprecationCollector::trigger(). By @carlos-granados in #1794
Internal
- Add backwards-compatible strict types to private / final properties, method parameters, and method returns. By @acoulton in #1779 and #1808
- Update all test files to use attributes instead of annotations by @carlos-granados in #1777
- Normalize PHP file line numbers in test output to avoid fragile tests by @carlos-granados in #1783
- Apply coding style fixes by @carlos-granados in #1786
- Reorganize FeatureContext and add PHP types by @carlos-granados in #1789
- Add runtime deprecation messages when using deprecated classes / methods by @carlos-granados in #1805
- Run Behat's own features in
gherkin-32parsing mode by @acoulton in #1801 - Cast key to string for array_key_exists by @barryswaisland-eagleeye in #1806
- Improve type-safety of regex string replacement operations by @acoulton in #1778
- Use first-class callables for internal callbacks by @acoulton in #1780