Releases: recruiterphp/concurrency
Releases · recruiterphp/concurrency
Recruiter\Concurrency 6.0.0
What's Changed
- Upgrade Clock library to 5.0 leveraging mostly Symfony by @dbellettini in #2
Full Changelog: v5.0.1...v6.0.0
Recruiter\Concurrency 5.0.0
✨ New Features
- Static analysis integration - Added PHPStan level 4 for comprehensive type checking
- Code modernization - Integrated Rector for automated PHP code upgrades
- Enhanced Makefile - Added
phpstan,rector, andupdatecommands for improved development workflow - Composer improvements - Added authors section and enabled package sorting plugin
🛠️ Improvements
- Strict type declarations - Enhanced all interface methods with proper type hints
- Better interface design - Leveraged PHP's
\Stringableinterface for cleaner type system - Improved error handling - Added PHPStan ignore annotations for intentional infinite loops
- Code quality fixes - Applied Rector refactoring rules for modern PHP practices
- Enhanced test reliability - Replaced manual assertions with
expectNotToPerformAssertions()for cleaner tests
📦 Dependencies
Added
phpstan/phpstan: ^2.1- Static analysis tool for type checkingrector/rector: ^2.1- Automated code modernization and refactoring
Updated
- Enhanced
composer.jsonconfiguration with sort-packages plugin
🔧 Breaking Changes
-
Interface method signatures - All
Lockinterface methods now have strict type hints:acquire(int $duration = 360)- duration parameter must be integerrelease(bool $force = false)- force parameter must be booleanrefresh(int $duration = 3600)- duration parameter must be integerwait(int $polling = 30, int $maximumWaitingTime = 3600)- both parameters must be integers
-
Timeout class changes:
Timeout::inSeconds(int $timeout, callable|string $waitingFor = '')- timeout must be integer, waitingFor accepts callable or string
🛡️ Security & Quality
- Static analysis - PHPStan level 4 ensures type safety and catches potential bugs
- Automated refactoring - Rector configuration maintains code quality standards
- Stricter type system - Enhanced type hints prevent runtime type errors
📝 Development Experience
- Configuration files - Added
phpstan.neonandrector.phpfor consistent analysis - Docker integration - Static analysis tools work seamlessly with existing Docker setup
- Makefile commands - Easy access to quality tools via
make phpstanandmake rector
Full Changelog: v4.0.0...v5.0.0
Recruiter\Concurrency 4.0.0
✨ New Features
- MongoDB Docker integration - Added MongoDB service to Docker Compose with persistent storage
- Improved development workflow - Added Makefile with common development commands
- GitHub Actions CI - Comprehensive testing pipeline with PHPUnit for both short and long test suites
- Code quality tools - PHP-CS-Fixer configuration with PSR-12 and Symfony standards
🛠️ Improvements
- PHP 8.4 compatibility - Upgraded minimum PHP version requirement
- Enhanced type safety - Added
declare(strict_types=1)across all source files - Modern dependencies - Updated to latest versions of MongoDB driver, PHPUnit, and development tools
- Better error handling - Improved exception messages and type declarations
- Standardized formatting - Consistent code style throughout the codebase
📦 Dependencies
Updated
php: ^8.4(from ^7.2)mongodb/mongodb: ^2.1(from ^1.4)recruiterphp/clock: ^4.1(from ^3)phpunit/phpunit: ^12.3(from @stable)symfony/process: ^7.3(from ~4.0)phake/phake: ^4.6(updated from ~2.1)giorgiosironi/eris: ^1.0(from dev-master)
Added
friendsofphp/php-cs-fixer: ^3.85for code formattingergebnis/composer-normalize: ^2.47for composer.json normalization
🐳 Docker & Development
- Docker Compose - Complete development environment with PHP 8.4 and MongoDB 7
- Makefile commands - Standardized commands for building, testing, and code formatting
- Persistent storage - MongoDB data persists between container restarts
- Environment variables - Proper MongoDB URI configuration for seamless integration
🔧 Breaking Changes
- Minimum PHP version - Now requires PHP 8.4+
- MongoDB driver - Updated to mongodb/mongodb v2.1, may require code adjustments for advanced usage
- Test framework - PHPUnit 12.3 may require test updates for projects extending this library
🛡️ Security
- Updated dependencies - All dependencies updated to latest secure versions
- Strict types - Enhanced type safety reduces potential runtime errors
Full Changelog: 3.0.1...v4.0.0