From 7f6e130847428a894723dae191eee692c4029a47 Mon Sep 17 00:00:00 2001 From: Durable Workflow Date: Wed, 21 Oct 2026 20:41:29 +0000 Subject: [PATCH] release: prepare Python SDK 2.8.0 activity lease maintenance --- CHANGELOG.md | 14 ++++++++++++++ pyproject.toml | 6 +++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31d4cc5..d77d662 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,8 +6,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.8.0] - 2026-10-21 + +### Added + +- Capability-gated activity runtime lease renewal, including automatic Worker + maintenance during loading, callbacks and publication. Preserve the original + task, attempt, owner and business deadlines without recording application + progress or adding a protocol floor. Older runtimes retain their behavior. +- A bounded `Client.renew_activity_task_lease` method using the connected + runtime's affirmative discovery and the Client's actual transport credentials. + ### Fixed +- Stop settled activity maintenance independently of cancellation, including + callbacks that catch cancellation. Late outcomes remain fenced, and a running + synchronous callback keeps its executor slot until it physically exits. - Stop default async and synchronous activities when a heartbeat explicitly refuses continued execution. Preserve the Server reason separately from cancellation and fence completion/failure even when user code catches the diff --git a/pyproject.toml b/pyproject.toml index 83696e2..be29f0b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "durable-workflow" -version = "2.7.0" +version = "2.8.0" description = "Python client and worker SDK for Durable Workflow Cloud and self-hosted Server" readme = "README.md" requires-python = ">=3.10" @@ -75,8 +75,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.7.0" -registry-version = "2.7.0" +product-train = "2.8.0" +registry-version = "2.8.0" supported-server-versions = "2.8.0" worker-protocol-version = "1.20" control-plane-version = "2"