Conversation
- Extend illuminate/contracts constraint to ^13.0 - Add PHP 8.4 to supported versions - Update orchestra/workbench to ^11.0 for Laravel 13 compatibility - Update phpunit/phpunit to ^12.0 - Update nunomaduro/collision to ^9.0 - Add Laravel 13 matrix row to CI workflow (testbench 11, Carbon ^3.0) - Bump actions/checkout to v6 - Exclude PHP 8.1 from Laravel 13 CI matrix (requires PHP >=8.2) - Exclude PHP 8.4 from Laravel 10 CI matrix All 207 existing tests pass on PHP 8.4 + Laravel 13.
There was a problem hiding this comment.
Code Review
This pull request updates composer.json to support PHP 8.4, Laravel 13, and newer development dependencies including PHPUnit 12. The review feedback recommends simplifying the PHP version constraint to a single caret range and identifies that the PHPUnit configuration file must be updated to comply with the version 12 schema.
| "require": { | ||
| "php": "^8.1 | ^8.2 | ^8.3", | ||
| "illuminate/contracts": "^10.0 | ^11.0 | ^12.0", | ||
| "php": "^8.1 | ^8.2 | ^8.3 | ^8.4", |
There was a problem hiding this comment.
The PHP version constraint is redundant. The caret operator (^8.1) already covers all minor versions within the 8.x range, including 8.2, 8.3, and 8.4. Explicitly listing each minor version increases maintenance overhead without providing additional functional constraints.
| "php": "^8.1 | ^8.2 | ^8.3 | ^8.4", | |
| "php": "^8.1", |
| "phpunit/phpunit": "^10.5 | ^11.0", | ||
| "nunomaduro/collision": "^7.8 | ^8.1 | ^9.0", | ||
| "orchestra/workbench": "^8.0 | ^9.0 | ^10.0 | ^11.0", | ||
| "phpunit/phpunit": "^10.5 | ^11.0 | ^12.0", |
There was a problem hiding this comment.
Upgrading to PHPUnit 12 requires updating the phpunit.xml.dist configuration file. The current file uses the PHPUnit 10.3 schema, which is outdated for version 12 and may lead to configuration errors or ignored settings. The schema and configuration structure should be updated to match PHPUnit 12 requirements.
Summary
illuminate/contractsconstraint from^12.0to^13.0orchestra/workbenchto^11.0(required for Laravel 13 testbench)phpunit/phpunitto^12.0nunomaduro/collisionto^9.0testbench: 11.*,carbon: ^3.0)actions/checkoutfrom v5 to v6Test results
All 207 existing tests pass on PHP 8.4 + Laravel 13.5 with no code changes required — only version constraints were updated.
Motivation
The package currently cannot be installed in Laravel 13 projects because the latest release (v1.8.0) only declares support up to Laravel 12. No PHP-level changes are needed since the package already uses only stable, forward-compatible Laravel APIs.