Skip to content

Releases: recruiterphp/concurrency

Recruiter\Concurrency 6.0.0

08 Aug 21:12

Choose a tag to compare

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

03 Aug 21:30

Choose a tag to compare

✨ 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, and update commands 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 \Stringable interface 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 checking
  • rector/rector: ^2.1 - Automated code modernization and refactoring

Updated

  • Enhanced composer.json configuration with sort-packages plugin

🔧 Breaking Changes

  • Interface method signatures - All Lock interface methods now have strict type hints:

    • acquire(int $duration = 360) - duration parameter must be integer
    • release(bool $force = false) - force parameter must be boolean
    • refresh(int $duration = 3600) - duration parameter must be integer
    • wait(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.neon and rector.php for consistent analysis
  • Docker integration - Static analysis tools work seamlessly with existing Docker setup
  • Makefile commands - Easy access to quality tools via make phpstan and make rector

Full Changelog: v4.0.0...v5.0.0

Recruiter\Concurrency 4.0.0

02 Aug 18:50

Choose a tag to compare

✨ 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.85 for code formatting
  • ergebnis/composer-normalize: ^2.47 for 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