diff --git a/README.md b/README.md index b9b75172..973bc131 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.2, Waterline 2.13.2, PHP SDK 3.9.4, -Python SDK 2.14.1, Rust SDK 4.10.3 and CLI 2.3.3. `artifacts.workflow` selects +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 and runs timers, schedules and activity timeouts itself, so the stacks start no @@ -56,6 +56,11 @@ 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. +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 22870739..2b8f1a8e 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.1", - "sdk-rust": "4.10.3", + "sdk-rust": "4.11.2", "server": "3.0.5", "waterline": "2.13.2", "workflow": "2.20.2" 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"] }