permafrost-dev/coverage-check
A PHP package that enforces a minimum code coverage threshold, failing CI when coverage drops. It supports diff-based checks so only changed lines are measured, with integrations for PHPUnit, Pest, and Laravel projects.
This is a major release (2.0.0) and the only documented change is a raised floor: PHP 8.0+ is now required, plus some Symfony warning/issue cleanup. There is no new feature surface to learn, so the first job is confirming your runtime can accept it.
Start here, in order:
Check your PHP version and constraint.
php -v
composer why-not php 8.0
If you are on 7.4, you cannot install ^2.0. Either upgrade the runtime first or stay pinned to the 1.x line (assuming it is still maintained — verify on the package's release page).
Read the package's composer.json for the new php and symfony/* constraints. This tells you what the transitive dependency floor looks like before you touch your lock file.
Check for an UPGRADING.md or CHANGELOG entry. The release notes are thin; a major bump usually implies at least the PHP constraint change, and sometimes removed deprecated methods that were not called out. Diff the public API against your usage.
First use case — a smoke test, not a feature build. After composer update, run an existing feature test that exercises the package, or drop into php artisan tinker and hit the primary entry point. The goal is to confirm the service provider boots and the container bindings resolve on PHP 8.
^2.0, run composer update vendor/package --with-dependencies, and let CI tell you what broke. Do not mix this with other dependency upgrades.8.0, 8.1, 8.2, 8.3 and treat 8.0 as the compatibility floor, not the target.composer.json ("vendor/package": "^2.0") rather than using *, and commit the lock file so deployments are reproducible.php artisan vendor:publish --provider=..., and run php artisan config:cache after deploying to confirm the package tolerates cached config.composer update on a PHP 7.4 host will fail with an unsatisfiable constraint. Plan the runtime upgrade and the package upgrade as one piece of work.symfony/* components. Use composer update vendor/package --with-dependencies and review the full composer.lock diff, not just the one package.composer diagnose, then composer why-not vendor/package 2.0.0 to see exactly which constraint blocks you. php artisan about confirms the runtime Laravel sees after a deploy."vendor/package": "^1.0" explicitly and add a note to your upgrade backlog with the PHP floor as the blocker. Do not leave it unconstrained, or a future composer update will attempt the jump for you.How can I help you explore Laravel packages today?