Skip to content

Releases: hschimpf/parallel-sdk

v3.0.0

04 Jul 20:46
f9d311b

Choose a tag to compare

What's Changed

🚀 Highlights

  • Requires PHP 8.2+ – leverages readonly properties, promoted params, improved typing.
  • New exception hierarchy (*Exception.php) + ParallelException DTO.
  • Refactored Scheduler, Runner, Task for stricter types and cleaner error propagation.
  • GitHub Actions now test on 8.2 · 8.3 · 8.4.

⚠️ Breaking Change

Raising the minimum runtime from 8.0 to 8.2 is a SemVer-major change.
Projects on older PHP versions must stay on the 2.x line.

🆕 Added

  • Domain-specific exceptions:
    ActionNotImplementedException, InvalidMessageReceivedException, NoWorkerDefinedException,
    WorkerAlreadyDefinedException, WorkerNotDefinedException, TaskExecutionFailedException.
  • ParallelException object to serialise worker-side throwables.
  • Modern PHP 8.2 syntax throughout (readonly props, precise return types).

🔄 Changed

  • Scheduler::using() now throws WorkerAlreadyDefinedException when attempting to re-register a worker with constructor args.
  • Scheduler::runTask() surfaces worker errors via TaskExecutionFailedException.
  • Numerous PSR-12 / coding-style fixes and micro-optimisations.

🗑 Removed

  • CI workflows for PHP 8.0 / 8.1.
  • Generic RuntimeException branches – replaced by specific exceptions.

🧭 Upgrade Guide

  1. Ensure your runtime is PHP 8.2+ with ZTS and parallel ≥ 1.2.5 installed.
  2. Update composer constraint to "hds-solutions/parallel-sdk": "^3.0".
  3. Replace any catch (RuntimeException) blocks for task failures with catch (TaskExecutionFailedException).
  4. Avoid re-registering workers with new ctor args; if needed, call Scheduler::removeAllTasks() first.

Full Changelog: v2.1.4...v3.0.0

v2.1.4

27 Mar 17:44
91a3854

Choose a tag to compare

What's Changed

  • Added a method to remove tasks from the queue by @hschimpf in #24

Full Changelog: v2.1.3...v2.1.4

v2.1.3

01 Nov 15:50
b1125d6

Choose a tag to compare

What's Changed

  • FIX: Allow float value on SetMaxCpuUsage message constructor param by @hschimpf in #22

Full Changelog: v2.1.2...v2.1.3

v2.1.2

02 Oct 18:55
37e2da8

Choose a tag to compare

What's Changed

  • Control the maximum no. of CPU cores to use by @hschimpf in #19

Full Changelog: v2.1.1...v2.1.2

v2.1.1

18 Apr 16:04
db652cc

Choose a tag to compare

What's Changed

Full Changelog: v2.1.0...v2.1.1

v2.1.0

12 Apr 13:32
d3a7720

Choose a tag to compare

What's Changed

Full Changelog: v2.0.3...v2.1.0

v2.0.3

09 Apr 17:10
0c54075

Choose a tag to compare

What's Changed

  • New option to override awaitTasksCompletion() validation by @hschimpf in #14

Full Changelog: v2.0.2...v2.0.3

v2.0.2

09 Apr 16:28
ad20526

Choose a tag to compare

What's Changed

  • PR by @hschimpf in #13
    • Memory report of Runner
    • Updated README, added a Laravel bootstraping example
    • FIX: Runner should use a Runtime where the registered bootstrap loader exists

Full Changelog: v2.0.1...v2.0.2

v2.0.1

08 Apr 20:25
e5b1e00

Choose a tag to compare

What's Changed

  • Tasks management updates and CI action by @hschimpf in #12

Full Changelog: v2.0.0...v2.0.1

v2.0 - Framework redesign 🤓

07 Apr 01:32
3e7b07b

Choose a tag to compare

What's Changed

Full Changelog: v1.1.0...v2.0.0