Skip to content

3.10.0

Choose a tag to compare

@rmcdaniel rmcdaniel released this 07 Nov 22:22
4e6c6b7

SDK 3.10.0 adds completion-carried polls, opt-in completion pipelining and child workflow handles, and moves the Laravel service-mode bridge to Workflow 2.21.

Upgrade notes

  • The Laravel bridge follows Workflow 2.21: PHP ^8.2 and patched Laravel ^12.69.0|^13.30.0. Laravel 10 and 11 are no longer supported in service mode; unsupported framework/PHP versions are refused before the bridge registers anything. The bare HTTP SDK keeps PHP ^8.1 and Symfony 6.4/7/8.
  • New condition waits record v2 (dwphp2:sha256:) predicate fingerprints. Upgrade every worker on a queue together and restart them (including OPcache workers) before v2 waits exist; older workers reject v2 fingerprints, so rolling back below 3.10 afterwards can fail replay. See the upgrade guide.
  • Static credentials are validated as given: malformed UTF-8, edge Unicode whitespace and embedded control characters now fail instead of being trimmed or ignored.

Added

  • Completion-carried next-task polls when the runtime advertises them (#328–#331): a task completion can carry the next poll and deliver its lease in the answer, with lease, fence and deadline accounting preserved. Runtimes without the capability keep ordinary polling.
  • enableCompletionPipelining Worker option, default false (#332). No throughput or default change is claimed.
  • WorkflowContext::startChildWorkflow() returns a ChildWorkflowHandle with the child's identity once the start commits (#185).
  • ActivityContext::activityExecutionId, lazy Client::iterateWorkflows() / iterateWorkflowHistory(), typed upsertSearchAttributes() declarations (#244), and a capability-gated schedule-to-start histogram.

Fixed

  • Composer archives no longer ship tests/, avoiding a tests/Fixtures / tests/fixtures collision on case-insensitive filesystems.
  • Static credential validation before role selection and fallback (#307), and legacy sequential condition-wait deadline recovery (#269).

The full list is in CHANGELOG.md. PHP 8.1–8.4, framework, static-analysis, corpus and package checks passed on this commit. Installed-package verification against the published package and runtime is recorded on #293.