github durable-workflow/workflow 2.2.0

4 hours ago

Embedded cooperative cancellation

  • Add WorkflowStub::requestCancellation() for a durable, idempotent cancellation request with a bounded cleanup deadline.
  • Deliver the request at supported workflow waits so finally can run durable cleanup activities. Use cancellationShield() to let cleanup already in progress finish.
  • Keep existing immediate cancel() and terminate() behavior unchanged. A cleanup deadline still falls back to terminal cancellation.
  • Add persisted request and delivery history, replay coverage, and concurrency qualification. Apply the new Workflow migration when upgrading an embedded Laravel installation.

This capability is embedded PHP only. The standalone Server and service-mode PHP, Python, and Rust SDKs do not yet expose this cooperative request protocol. Cleanup activities should be idempotent; forced termination and external side effects cannot be guaranteed to finish.

Don't miss a new workflow release

NewReleases is sending notifications on new releases.