diff --git a/README.md b/README.md index 58de6913..c0ebaf3e 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ 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.1, Waterline 2.13.2, PHP SDK 3.9.4, -Python SDK 2.14.0, Rust SDK 4.10.3 and CLI 2.3.3. `artifacts.workflow` selects +Python SDK 2.14.1, Rust SDK 4.10.3 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 and runs timers, schedules and activity timeouts itself, so the stacks start no @@ -51,6 +51,11 @@ bootstrap job, queue worker, scheduler or Server Redis. Override the Server with `SAMPLE_APP_SERVER_VERSION` or `SAMPLE_APP_SERVER_IMAGE`; only native 3.x images are accepted. +Upgrade Python workers sharing a task queue together. Once v2 condition waits +are recorded, keep every worker on SDK 2.14.1 or newer. Older versions cannot +replay those waits. See the [Python SDK compatibility notes](https://github.com/durable-workflow/sdk-python/blob/2.14.1/CHANGELOG.md) +for the remaining limits on legacy histories and predicate identity. + ### Conversation on a PHP service-mode worker `App\Workflows\ServiceMode\Conversation\ConversationWorkflow` is the diff --git a/polyglot/qualified-artifact-tuple.json b/polyglot/qualified-artifact-tuple.json index e109239d..87d650c6 100644 --- a/polyglot/qualified-artifact-tuple.json +++ b/polyglot/qualified-artifact-tuple.json @@ -6,7 +6,7 @@ "artifacts": { "cli": "2.3.3", "sdk-php": "3.9.4", - "sdk-python": "2.14.0", + "sdk-python": "2.14.1", "sdk-rust": "4.10.3", "server": "3.0.5", "waterline": "2.13.2",