Repository navigation
3.18.0
PHP SDK 3.18.0 adds experimental cancellation-context cause parsing and a timeout-cleanup exception subtype.
CancellationContext::$causeandisTimeout()read the optional top-level cause in v1/v2 snapshots. Explicit causes round-trip; ordinary snapshots keep their existing shape. Unknown and malformed causes are refused.- A timeout context delivers
WorkflowTimeoutCleanupRequested, which extendsWorkflowCancelled. Existing cancellation handlers keep catching it. The context factory preserves caller messages, including an explicit empty message, and uses each subtype's default when omitted. - Descendants read their own cause. A timed-out ancestor in scoped lineage does not make its child timed out.
This is preparatory support. The SDK advertises no timeout-cleanup capability. Native admission and delivery remain tracked in server#1201.
Source checks pass on PHP 8.1–8.4, including replay-corpus coverage. Installed-package verification follows publication on #405.
Known limit: large fan-outs on native runtimes with unconfigured external payload storage still need smaller batches. The PHP aggregate completion planner correction is tracked in .github#228.