Skip to content

3.18.0

Choose a tag to compare

@rmcdaniel rmcdaniel released this 13 Nov 09:56
· 89 commits to main since this release
345b124

PHP SDK 3.18.0 adds experimental cancellation-context cause parsing and a timeout-cleanup exception subtype.

  • CancellationContext::$cause and isTimeout() 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 extends WorkflowCancelled. 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.