From 09e71e711c0e55c308c91d7d7b908c0bdf3d6dba Mon Sep 17 00:00:00 2001 From: Donald Pinckney Date: Wed, 1 Apr 2026 18:00:59 -0400 Subject: [PATCH 1/2] Edits to python versioning fixes --- references/python/versioning.md | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/references/python/versioning.md b/references/python/versioning.md index 1daab78..b7c84f4 100644 --- a/references/python/versioning.md +++ b/references/python/versioning.md @@ -226,13 +226,12 @@ worker = Worker( Workflows stay locked to their original Worker version: ```python -from temporalio.workflow import VersioningBehavior +from temporalio.common import VersioningBehavior -@workflow.defn +@workflow.defn(versioning_behavior=VersioningBehavior.PINNED) class StableWorkflow: @workflow.run async def run(self) -> str: - # This workflow will always run on its assigned version return await workflow.execute_activity( process_order, start_to_close_timeout=timedelta(minutes=5), @@ -250,6 +249,19 @@ class StableWorkflow: Workflows can move to newer versions: +```python +from temporalio.common import VersioningBehavior + +@workflow.defn(versioning_behavior=VersioningBehavior.AUTO_UPGRADE) +class UpgradableWorkflow: + @workflow.run + async def run(self) -> str: + return await workflow.execute_activity( + process_order, + start_to_close_timeout=timedelta(minutes=5), + ) +``` + **When to use AUTO_UPGRADE:** - Long-running workflows (weeks or months) @@ -262,7 +274,6 @@ Workflows can move to newer versions: ### Worker Configuration with Default Behavior ```python -# For short-running workflows, prefer PINNED worker = Worker( client, task_queue="orders-task-queue", @@ -274,7 +285,7 @@ worker = Worker( build_id=os.environ["BUILD_ID"], ), use_worker_versioning=True, - # default_versioning_behavior=VersioningBehavior.PINNED, + default_versioning_behavior=VersioningBehavior.PINNED, ), ) ``` From ce65ebde4a07452c8276ef032bde37b3578bcf8b Mon Sep 17 00:00:00 2001 From: Donald Pinckney Date: Fri, 17 Apr 2026 15:00:51 -0400 Subject: [PATCH 2/2] add missing workflow imports --- references/python/versioning.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/references/python/versioning.md b/references/python/versioning.md index b7c84f4..c1ad39a 100644 --- a/references/python/versioning.md +++ b/references/python/versioning.md @@ -226,6 +226,7 @@ worker = Worker( Workflows stay locked to their original Worker version: ```python +from temporalio import workflow from temporalio.common import VersioningBehavior @workflow.defn(versioning_behavior=VersioningBehavior.PINNED) @@ -250,6 +251,7 @@ class StableWorkflow: Workflows can move to newer versions: ```python +from temporalio import workflow from temporalio.common import VersioningBehavior @workflow.defn(versioning_behavior=VersioningBehavior.AUTO_UPGRADE)