From 8c29eccb3d1870f6443b1dbfa4d9a36fdf3f3228 Mon Sep 17 00:00:00 2001 From: Durable Workflow Date: Sun, 6 Sep 2026 07:59:47 +0000 Subject: [PATCH] Prepare Python SDK 2.0.2 terminal timeout correction --- CHANGELOG.md | 8 ++++++++ pyproject.toml | 6 +++--- tests/test_release_metadata.py | 4 ++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b91c67..c2f2257 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.0.2] - 2026-09-06 + +### Fixed +- Persisted execution and run deadlines now raise the exported + `WorkflowTimedOut` exception instead of returning `None` from workflow results. + This terminal runtime outcome is distinct from the caller's polling + `TimeoutError`; selected history and other terminal exceptions are unchanged. + ## [2.0.1] - 2026-09-02 ### Fixed diff --git a/pyproject.toml b/pyproject.toml index 2d85e64..e742a49 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "durable-workflow" -version = "2.0.1" +version = "2.0.2" description = "Python client and worker SDK for Durable Workflow Cloud and self-hosted Server" readme = "README.md" requires-python = ">=3.10" @@ -71,8 +71,8 @@ durable-workflow-replay-conformance = "durable_workflow.replay_conformance:main" durable-workflow-workflow-updates-conformance = "durable_workflow.workflow_updates_conformance:main" [tool.durable-workflow] -product-train = "2.0.1" -registry-version = "2.0.1" +product-train = "2.0.2" +registry-version = "2.0.2" supported-server-versions = "2.0.0" worker-protocol-version = "1.19" control-plane-version = "2" diff --git a/tests/test_release_metadata.py b/tests/test_release_metadata.py index 082b109..7d4bbac 100644 --- a/tests/test_release_metadata.py +++ b/tests/test_release_metadata.py @@ -41,9 +41,9 @@ def test_worker_release_identity_matches_supported_server_and_protocol() -> None project = manifest["project"] release = manifest["tool"]["durable-workflow"] - assert project["version"] == "2.0.1" + assert project["version"] == "2.0.2" assert release["product-train"] == project["version"] - assert release["registry-version"] == "2.0.1" + assert release["registry-version"] == "2.0.2" assert release["supported-server-versions"] == "2.0.0" assert release["worker-protocol-version"] == PROTOCOL_VERSION == "1.19" assert release["durable-selection"] is True