PHP 8.5 support, bug fix, and CI improvements
Bug Fix
- Fixed
Semaphore::remove()on PHP 8+ — the method was broken on PHP 8.0+ due to semaphore handles changing from resources toSysvSemaphoreobjects, causingis_resource()to returnfalse. Now correctly handles both PHP 7 and 8+ usingsem_remove().
PHP 8.5 Support
- Added PHP 8.5 to the CI test matrix
- Fixed implicit nullable parameter deprecation in
Process::__construct()(string $name = null->?string $name = null)
CI Improvements
- Replaced Docker-based
php-actions/composerandphp-actions/phpunitwith direct CLI calls for faster builds - Code coverage now runs only on PHP 8.5 (other matrix jobs skip Xdebug)
- CI triggers on push to master + pull requests (no more duplicate runs)
- Bumped
actions/checkoutto v4,codecov-actionto v4 - PHP extensions installed via
setup-phpinstead of the phpunit action
Test Coverage
- Added tests for
Process::getPid(),name(),isStarted(),isStopped() - Added tests for
PipeQueueempty queue reads - Added tests for
Semaphoredouble-remove error handling - Fixed
assertFileDoesNotExist()for PHPUnit 8.5 compatibility (PHP 7.2)
What's Changed
- PHP 8.5 support, CI improvements, and test coverage by @maksimovic in #5
Full Changelog: 2.0.3...2.0.5