From 52e78a79ea189efe7dc977729baeb29865155302 Mon Sep 17 00:00:00 2001 From: Richard McDaniel <1130888+rmcdaniel@users.noreply.github.com> Date: Wed, 4 Nov 2026 08:13:34 -0600 Subject: [PATCH] Adopt published Workflow 2.20.3 in embedded consumers --- README.md | 8 +++++++- composer.json | 2 +- composer.lock | 18 +++++++++--------- microservice/composer.json | 2 +- microservice/composer.lock | 18 +++++++++--------- polyglot/qualified-artifact-tuple.json | 2 +- 6 files changed, 28 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 973bc131..10afd6ba 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ all three runtimes and the artifact versions used for the run. The qualified tuple in [`polyglot/qualified-artifact-tuple.json`](polyglot/qualified-artifact-tuple.json) pins every published artifact the journeys use: native Durable Workflow Server -3.0.5 (by image digest), Workflow 2.20.2, Waterline 2.13.2, PHP SDK 3.9.4, +3.0.5 (by image digest), Workflow 2.20.3, Waterline 2.13.2, PHP SDK 3.9.4, Python SDK 2.14.1, Rust SDK 4.11.2 and CLI 2.3.3. `artifacts.workflow` selects the embedded application's Composer package; the Composer lock must match it. Native Server is one process that creates its schema and `default` namespace @@ -61,6 +61,12 @@ after signals that leave the predicate false. Once a history records a reopened wait with a shorter timeout, keep that run on fixed workers. SDK 4.11.1 and earlier refuse that history. See the [Rust SDK compatibility notes](https://github.com/durable-workflow/sdk-rust/blob/4.11.2/CHANGELOG.md). +Workflow 2.20.3 can expose older pending stream messages that earlier workers +left hidden. Receives on a stream kept in a workflow property now record at the +current step. Earlier versions can replay these new histories differently after +a rollback. See the [Workflow compatibility notes](https://github.com/durable-workflow/workflow/blob/2.20.3/CHANGELOG.md), +including the remaining query-handler limitation [#1024](https://github.com/durable-workflow/workflow/issues/1024). + ### Conversation on a PHP service-mode worker `App\Workflows\ServiceMode\Conversation\ConversationWorkflow` is the diff --git a/composer.json b/composer.json index daa5e9b9..10056416 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ "durable-workflow/ai": "dev-main", "durable-workflow/sdk": "^3.9.4", "durable-workflow/waterline": "^2.0", - "durable-workflow/workflow": "^2.20.2", + "durable-workflow/workflow": "^2.20.3", "laravel/ai": "^0.6.0", "laravel/framework": "^13.30", "laravel/mcp": "^0.6.0", diff --git a/composer.lock b/composer.lock index 17b2c071..8bb4d897 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "1a9f6c8abf37573095b0ee33db758824", + "content-hash": "d65da836134ce9d1865dc7a433f78dd2", "packages": [ { "name": "apache/avro", @@ -939,16 +939,16 @@ }, { "name": "durable-workflow/workflow", - "version": "2.20.2", + "version": "2.20.3", "source": { "type": "git", "url": "https://github.com/durable-workflow/workflow.git", - "reference": "b3ba0c73f97c357aa6bd2661e44edda056049550" + "reference": "4cfa985b0aff1cef9b0f3df518b1d6c20023fa5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/durable-workflow/workflow/zipball/b3ba0c73f97c357aa6bd2661e44edda056049550", - "reference": "b3ba0c73f97c357aa6bd2661e44edda056049550", + "url": "https://api.github.com/repos/durable-workflow/workflow/zipball/4cfa985b0aff1cef9b0f3df518b1d6c20023fa5c", + "reference": "4cfa985b0aff1cef9b0f3df518b1d6c20023fa5c", "shasum": "" }, "require": { @@ -989,7 +989,7 @@ "dev-main": "2.0.x-dev" }, "durable-workflow": { - "product-train": "2.20.2", + "product-train": "2.20.3", "laravel-embedded-upgrade-contract": "resources/laravel-embedded-upgrade-contract.json", "laravel-dependency-security-policy": "resources/laravel-dependency-security-policy.json" } @@ -1016,10 +1016,10 @@ "description": "Embedded durable workflow runtime and orchestration engine for Laravel applications.", "support": { "issues": "https://github.com/durable-workflow/workflow/issues", - "source": "https://github.com/durable-workflow/workflow/tree/2.20.2" + "source": "https://github.com/durable-workflow/workflow/tree/2.20.3" }, - "time": "2026-11-04T06:15:15+00:00", - "published-time": "2026-11-04T06:15:47+00:00" + "time": "2026-11-04T12:36:21+00:00", + "published-time": "2026-11-04T13:44:27+00:00" }, { "name": "egulias/email-validator", diff --git a/microservice/composer.json b/microservice/composer.json index b9e2e99e..c9a40265 100644 --- a/microservice/composer.json +++ b/microservice/composer.json @@ -11,7 +11,7 @@ "require": { "php": "^8.4", "durable-workflow/sdk": "^3.9.4", - "durable-workflow/workflow": "^2.20.2", + "durable-workflow/workflow": "^2.20.3", "durable-workflow/waterline": "^2.0", "laravel/framework": "^12.69", "laravel/tinker": "^2.10.1" diff --git a/microservice/composer.lock b/microservice/composer.lock index 2fffee61..248b9258 100644 --- a/microservice/composer.lock +++ b/microservice/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "2399a39094c1af2b97536a408a3cd0b6", + "content-hash": "a06ec684ed348a7c13b205808d283761", "packages": [ { "name": "apache/avro", @@ -724,16 +724,16 @@ }, { "name": "durable-workflow/workflow", - "version": "2.20.2", + "version": "2.20.3", "source": { "type": "git", "url": "https://github.com/durable-workflow/workflow.git", - "reference": "b3ba0c73f97c357aa6bd2661e44edda056049550" + "reference": "4cfa985b0aff1cef9b0f3df518b1d6c20023fa5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/durable-workflow/workflow/zipball/b3ba0c73f97c357aa6bd2661e44edda056049550", - "reference": "b3ba0c73f97c357aa6bd2661e44edda056049550", + "url": "https://api.github.com/repos/durable-workflow/workflow/zipball/4cfa985b0aff1cef9b0f3df518b1d6c20023fa5c", + "reference": "4cfa985b0aff1cef9b0f3df518b1d6c20023fa5c", "shasum": "" }, "require": { @@ -774,7 +774,7 @@ "dev-main": "2.0.x-dev" }, "durable-workflow": { - "product-train": "2.20.2", + "product-train": "2.20.3", "laravel-embedded-upgrade-contract": "resources/laravel-embedded-upgrade-contract.json", "laravel-dependency-security-policy": "resources/laravel-dependency-security-policy.json" } @@ -801,10 +801,10 @@ "description": "Embedded durable workflow runtime and orchestration engine for Laravel applications.", "support": { "issues": "https://github.com/durable-workflow/workflow/issues", - "source": "https://github.com/durable-workflow/workflow/tree/2.20.2" + "source": "https://github.com/durable-workflow/workflow/tree/2.20.3" }, - "time": "2026-11-04T06:15:15+00:00", - "published-time": "2026-11-04T06:15:47+00:00" + "time": "2026-11-04T12:36:21+00:00", + "published-time": "2026-11-04T13:44:27+00:00" }, { "name": "egulias/email-validator", diff --git a/polyglot/qualified-artifact-tuple.json b/polyglot/qualified-artifact-tuple.json index 2b8f1a8e..0da63eaa 100644 --- a/polyglot/qualified-artifact-tuple.json +++ b/polyglot/qualified-artifact-tuple.json @@ -10,6 +10,6 @@ "sdk-rust": "4.11.2", "server": "3.0.5", "waterline": "2.13.2", - "workflow": "2.20.2" + "workflow": "2.20.3" } }