Skip to content

Releases: durable-workflow/sdk-php

PHP SDK 2.1.4

Choose a tag to compare

@rmcdaniel rmcdaniel released this 26 Sep 18:10
84c7b51

PHP SDK 2.1.4 retries an activity completion after a compatible Server reports temporary backend loss with an unknown outcome. The worker resends the same result using the original task, attempt, and lease identifiers without rerunning the activity handler. If the first completion committed, a matching completed-attempt conflict resolves the uncertainty; other stale attempts still surface as errors.

Server 2.4.13 adds the corresponding typed response. General SDK compatibility remains Server 2.4.0 and later; this recovery behavior requires a supporting Server. Exact published-artifact qualification is tracked in Server #137. Source change: #82; release metadata: #83.

PHP SDK 2.1.3

Choose a tag to compare

@rmcdaniel rmcdaniel released this 26 Sep 17:10
e6e8829

PHP SDK 2.1.3 retries a workflow-task completion after a compatible Server reports temporary database loss with an unknown outcome. The worker checks the task ID, lease owner, and attempt, then resends the same completion without rerunning the workflow handler. If the first completion committed and the retry receives an already completed task conflict, the worker discards that terminal task. Other completion errors retain their existing behavior.

Server 2.4.12 adds the corresponding typed response. General SDK compatibility remains Server 2.4.0 and later; this recovery behavior requires a supporting Server. Qualification of the exact published Server and SDK artifacts is tracked in Server #137. Source changes: #80 and release metadata: #81.

PHP SDK 2.1.2

Choose a tag to compare

@rmcdaniel rmcdaniel released this 26 Sep 15:29
ba23d5d

PHP SDK 2.1.2 retries a workflow-task heartbeat after a compatible Server reports temporary database loss with an unknown outcome. The worker checks the task ID, lease owner, and attempt before resending the same request. Other heartbeat errors keep their existing behavior.

Server 2.4.11 adds the corresponding response. General SDK compatibility remains Server 2.4.0 and later; this recovery behavior is available only with a supporting Server. Qualification of the exact published Server and SDK artifacts is tracked in Server #137.

PHP SDK 2.1.1

Choose a tag to compare

@rmcdaniel rmcdaniel released this 25 Sep 12:15
def4a84

PHP workers now recognize an optional Server wake signal that prompts an immediate sweep of workflow, activity, and query tasks. This reduces mixed-kind idle polling latency when connected to Server 2.4.7 or later. Older Servers remain compatible and retain their existing polling behavior.

The full PHP, Laravel, Symfony, regression, and static-analysis checks passed. Published-artifact service-mode qualification with Server 2.4.7 remains to be recorded after that image is available.

PHP SDK 2.1.0

Choose a tag to compare

@rmcdaniel rmcdaniel released this 23 Sep 11:25
9a69f64

Adds failed-run redrive and source-backed workflow definition fingerprints. Completed activity results can be reused in a successor run while the failed step is retried. Redrive requires Server 2.4.0. The published-package service-mode smoke passed against that exact Server image.

PHP SDK 2.0.11

Choose a tag to compare

@rmcdaniel rmcdaniel released this 21 Sep 16:35
967fcbf

Fixes managed worker recovery when upstream proxies return non-JSON availability errors.

  • Preserve HTTP status and omit unstructured error bodies from diagnostics.
  • Retry supported upstream failures during polling and worker heartbeats with capped backoff and responsive shutdown.
  • Retain poll identity across uncertain outcomes; do not repeat activity handlers or ambiguous completion acknowledgements.
  • Keep malformed successful replies, authentication/configuration errors, structured refusals, and uncertain registrations terminal.

No worker-protocol change. Structured bootstrap-readiness recovery remains tracked separately in #70.

Source qualification, regression tests, and isolated nginx outage/recovery evidence: #71.

PHP SDK 2.0.10

Choose a tag to compare

@rmcdaniel rmcdaniel released this 11 Sep 15:28
19b2695

Fixes managed-worker starvation when one poll kind repeatedly receives an explicit long-poll capacity refusal. After interruptible backoff, other workflow, activity and query polls get a turn. Heartbeats, shutdown, lease fencing and ambiguous-failure retry identities remain intact.

Implementation and verification: #67. Published-artifact qualification and the affected Server soak consumer rollout remain tracked in #66.

2.0.9

Choose a tag to compare

@rmcdaniel rmcdaniel released this 08 Sep 17:53
57e95f3

Fix completion payload uploads while Server is draining storage. On supporting Servers, uploads retry with the exact worker lease and immutable payload slot, using the existing admission-wait policy without re-executing handlers. Namespace quotas, hard storage fences and stale-lease errors remain authoritative.

Requires a Server advertising the optional completion-context capability (Server 2.3.5); behavior with older Servers is unchanged.

PR: #65
Qualification: durable-workflow/server#147 (comment)

PHP SDK 2.0.8

Choose a tag to compare

@rmcdaniel rmcdaniel released this 08 Sep 10:46
5b34444

The default PHP transport now uploads large Avro inputs and results through the authenticated namespace runtime. Applications keep their client or worker credentials and need no storage-provider access. Whole-request planning handles aggregate JSON limits, references preserve size/checksum and content-addressed retry identity, and upload failures retain typed admission and connection errors.

Existing custom transports remain source-compatible; implementing the optional PayloadUploadTransport interface enables automatic uploads. Operation-specific quotas and structural limits still apply.

Changes: #64. Qualified with 611 PHPUnit tests, PHP/framework compatibility checks, and a clean consumer against native Server 2.3.2: above-2-MiB workflow/activity values, exact 64-MiB encoded workflow result, cold runtime/worker restart and namespace/role boundaries. The paired service-operation reference-routing correction is in Server 2.3.3.

This release does not enable external storage on a namespace automatically or claim Rust outbound-upload parity.

PHP SDK 2.0.7

Choose a tag to compare

@rmcdaniel rmcdaniel released this 08 Sep 00:48
ebe1163

Workers now recover from retryable storage-admission refusals while preserving poll/task identities and already-computed results. Registration, polling, heartbeat, and completion retries remain interruptible during shutdown; authentication and stale-lease failures remain terminal.

Changes: #61 and #62. Validated by the PHP 8.1-8.4 matrix, Laravel 9-13 and Symfony 6.4/7/8 bridge tests, replay corpus, package smoke, and static analysis.

This release does not enable Server storage admission automatically. Operators must qualify storage measurements and reserve capacity for their deployment.