Skip to content

Conversation

@hschimpf
Copy link
Owner

@hschimpf hschimpf commented Jul 4, 2025

✨ What’s new

  • Require PHP 8.2+ – enables readonly properties, promoted params, better typing.
  • New domain-specific exception set ActionNotImplementedException, InvalidMessageReceivedException, NoWorkerDefinedException, WorkerAlreadyDefinedException, WorkerNotDefinedException, TaskExecutionFailedException plus ParallelException value-object for serialising worker-side errors.
  • Refactored Scheduler, Runner and Task for stricter types and reduced mutability.
  • CI matrix now runs on 8.2 · 8.3 · 8.4.

🛠 Changed

  • Scheduler::using() now throws WorkerAlreadyDefinedException if you try to re-register an existing worker with constructor parameters.
  • Scheduler::runTask() re-throws worker exceptions as TaskExecutionFailedException (instead of a generic RuntimeException).
  • Numerous PSR-12 / coding-style tidy-ups.

🗑 Removed

  • GitHub Actions for PHP 8.0 / 8.1 (the v2.x series remains available for those runtimes).
  • Generic RuntimeException branches – replaced with the new specific exceptions.

🏷 Versioning note

  • Raising the minimum PHP version , therefore this will be released as v3.0.0.
  • Users on PHP < 8.2 will stay on the v2.x line.

See CHANGELOG.md for full details and upgrading instructions.

🧪 Testing & compatibility

  • Full test-suite passes on PHP 8.2, 8.3, 8.4.
  • Composer will prevent install/update on unsupported runtimes, ensuring safe adoption.

@hschimpf hschimpf self-assigned this Jul 4, 2025
@hschimpf hschimpf force-pushed the feature/php-8.2-upgrade branch from adfb6e0 to a8eee69 Compare July 4, 2025 19:48
@hschimpf hschimpf marked this pull request as ready for review July 4, 2025 19:50
@hschimpf hschimpf force-pushed the feature/php-8.2-upgrade branch from a8eee69 to 0b1ef46 Compare July 4, 2025 20:22
@hschimpf hschimpf merged commit b77fcf4 into main Jul 4, 2025
3 checks passed
@hschimpf hschimpf deleted the feature/php-8.2-upgrade branch July 4, 2025 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants