behat 4.x added void return type to ContextInitializer::initializeContext().
Also modernize the constructor with property promotion.
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
The lock-symfony-version.sh script pins all symfony/* packages to the
matrix version, but symfony/deprecation-contracts uses its own versioning
(3.x) rather than following Symfony's major/minor scheme. Removing it as
a direct dependency is safe — it is always pulled in transitively via
symfony/config and others.
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
- Drop PHP <8.3 and Symfony <7.4 (both EOL), require PHP ^8.3 and symfony/config ^7.4
- Require behat ^3.31 (first version with PHP 8 attribute and PHP config support)
- Upgrade phpspec to ^8.0 (supports PHP 8.5)
- Add symfony/browser-kit and symfony/http-client to dev deps; switch from deprecated goutte driver to browserkit_http
- Update CI matrix: PHP 8.3/8.4/8.5 × Symfony 7.4 + PHP 8.4/8.5 × Symfony 8.0/8.1
- Add Symfony 8+ CI step: override behat to 4.x-dev as 3.31.0
- Restrict push trigger to master branch only (no duplicate runs on PRs)
- Add behat.dist.php for behat 4.x compatibility (PHP config format)
- Update behat.yml.dist to use FQCN extension name (works in both behat 3.x and 4.x)
- Add lock-symfony-version.sh script for pinning Symfony in CI
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
* Mark Goutte, Selenium, Sahi and Zombie driver/support as abandoned
This marks the four drivers as abandoned where the driver implementations are no longer maintained.
* Correctly indent notes so they don't break the enumeration list
* Indent a few more notes that are part of a numerated list
Fixes the following deprecation:
rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in vendor/friends-of-behat/mink-extension/src/Behat/MinkExtension/Context/RawMinkContext.php line 144