From 69a09047e4a0bdf38de9cf332b40533b1c457577 Mon Sep 17 00:00:00 2001 From: Richard McDaniel <1130888+rmcdaniel@users.noreply.github.com> Date: Wed, 4 Nov 2026 03:49:36 -0600 Subject: [PATCH] Adopt Rust SDK 4.11.2 --- README.md | 7 ++++++- playground/templates/rust/Cargo.lock | 4 ++-- playground/templates/rust/Cargo.toml | 2 +- polyglot/qualified-artifact-tuple.json | 2 +- polyglot/rust_worker/Cargo.lock | 4 ++-- polyglot/rust_worker/Cargo.toml | 2 +- 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 58de6913..96da7c6c 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.0, 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 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. +Rust SDK 4.11.2 preserves the original deadline of standalone condition waits +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). + ### Conversation on a PHP service-mode worker `App\Workflows\ServiceMode\Conversation\ConversationWorkflow` is the diff --git a/playground/templates/rust/Cargo.lock b/playground/templates/rust/Cargo.lock index 32409b3d..cc21c768 100644 --- a/playground/templates/rust/Cargo.lock +++ b/playground/templates/rust/Cargo.lock @@ -268,9 +268,9 @@ dependencies = [ [[package]] name = "durable-workflow" -version = "4.10.3" +version = "4.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cabe18df18b8c87aae089e22355c9ebfce5508de04016c91b4fad80332e26167" +checksum = "fbd4aeae15dc3ab0b677bf04fcdcc22b13e6cf18c93296e648172424b38d6d81" dependencies = [ "apache-avro", "base64", diff --git a/playground/templates/rust/Cargo.toml b/playground/templates/rust/Cargo.toml index 822b79a3..86c00994 100644 --- a/playground/templates/rust/Cargo.toml +++ b/playground/templates/rust/Cargo.toml @@ -6,6 +6,6 @@ publish = false rust-version = "1.86" [dependencies] -durable-workflow = "4.10.3" +durable-workflow = "4.11.2" serde_json = "=1.0.150" tokio = { version = "=1.47.1", features = ["macros", "rt-multi-thread", "signal", "time"] } diff --git a/polyglot/qualified-artifact-tuple.json b/polyglot/qualified-artifact-tuple.json index e109239d..34242091 100644 --- a/polyglot/qualified-artifact-tuple.json +++ b/polyglot/qualified-artifact-tuple.json @@ -7,7 +7,7 @@ "cli": "2.3.3", "sdk-php": "3.9.4", "sdk-python": "2.14.0", - "sdk-rust": "4.10.3", + "sdk-rust": "4.11.2", "server": "3.0.5", "waterline": "2.13.2", "workflow": "2.20.1" diff --git a/polyglot/rust_worker/Cargo.lock b/polyglot/rust_worker/Cargo.lock index a4a20a07..f8e47bf8 100644 --- a/polyglot/rust_worker/Cargo.lock +++ b/polyglot/rust_worker/Cargo.lock @@ -244,9 +244,9 @@ dependencies = [ [[package]] name = "durable-workflow" -version = "4.10.3" +version = "4.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cabe18df18b8c87aae089e22355c9ebfce5508de04016c91b4fad80332e26167" +checksum = "fbd4aeae15dc3ab0b677bf04fcdcc22b13e6cf18c93296e648172424b38d6d81" dependencies = [ "apache-avro", "base64", diff --git a/polyglot/rust_worker/Cargo.toml b/polyglot/rust_worker/Cargo.toml index 3103de2f..d5288202 100644 --- a/polyglot/rust_worker/Cargo.toml +++ b/polyglot/rust_worker/Cargo.toml @@ -7,7 +7,7 @@ publish = false [dependencies] apache-avro = "=0.21.0" base64 = "=0.22.1" -durable-workflow = "4.10.3" +durable-workflow = "4.11.2" reqwest = { version = "=0.12.28", default-features = false, features = ["json", "rustls-tls"] } tokio = { version = "1.47.1", features = ["macros", "rt-multi-thread", "signal"] }