Repository navigation
3.17.0
PHP SDK 3.17.0 handles three Server behaviors: request-id conflicts on native Server 3.9.0, runs that close with work still open (Workflow 2.28.0), and the workflow-task completion size limit.
Added
- Signal and update request-id conflicts (#397, server#934).
SignalFailedandUpdateFailedgainconflict()(the parts that differ:name,argumentsortarget_or_arguments) andretainedCommandId()for a 409request_id_conflict.ClusterInfo::supportsCommandRequestKeys()reads thecommand_request_keyscapability. A refused command is sent once and never resent automatically.
Fixed
- Oversized workflow-task completions (#400, .github#228). A 413
payload_too_largewithlimit_kind: workflow_task_completion_bytesraisesWorkflowTaskCompletionTooLarge, which carries the limit and the size sent. The Worker never resends that completion. Instead it fails the run once with aStructural limit exceeded:failure that names both sizes and suggests splitting the fan-out, using child workflows or continuing as new. Before, the task came back after its lease expired and hit the same refusal again. - Replay of runs that closed with work still open (#398, workflow#1117). Workflow 2.28.0 records
ActivityCancelledwithcancellation_reason: run_closedfor activities the workflow never awaited. The Replayer ignores those, so a caughtall()failure keeps its replay time and aselect()loser no longer resolves to the close's cancellation. Arun_closedrefusal of an activity outcome is final.
Everything else behaves as in 3.16.0.