From 2b0d78d45e5a0a4932cfe7eded6a7c7686006246 Mon Sep 17 00:00:00 2001 From: Thomas Hardy Date: Tue, 3 Feb 2026 07:46:08 -0800 Subject: [PATCH 1/5] Remove experimental warnings for worker versioning and envconfig, for GA (also a lingering warning for UwS) --- temporalio/client.py | 3 --- temporalio/common.py | 11 ++--------- temporalio/envconfig.py | 15 +-------------- temporalio/worker/_worker.py | 5 +---- temporalio/workflow.py | 3 --- 5 files changed, 4 insertions(+), 33 deletions(-) diff --git a/temporalio/client.py b/temporalio/client.py index 765f662fb..413ae85a0 100644 --- a/temporalio/client.py +++ b/temporalio/client.py @@ -1094,9 +1094,6 @@ async def start_update_with_start_workflow( means that the call will not return successfully until the update has been delivered to a worker. - .. warning:: - This API is experimental - Args: update: Update function or name on the workflow. arg: Single argument to the update. diff --git a/temporalio/common.py b/temporalio/common.py index b6dd67a4e..73a23941e 100644 --- a/temporalio/common.py +++ b/temporalio/common.py @@ -1040,10 +1040,7 @@ def __post_init__(self): class VersioningBehavior(IntEnum): - """Specifies when a workflow might move from a worker of one Build Id to another. - - WARNING: Experimental API. - """ + """Specifies when a workflow might move from a worker of one Build Id to another.""" UNSPECIFIED = ( temporalio.api.enums.v1.VersioningBehavior.VERSIONING_BEHAVIOR_UNSPECIFIED @@ -1108,11 +1105,7 @@ def _to_proto(self) -> temporalio.api.workflow.v1.VersioningOverride: @dataclass(frozen=True) class PinnedVersioningOverride(VersioningOverride): - """Workflow will be pinned to a specific deployment version. - - .. warning:: - Experimental API. - """ + """Workflow will be pinned to a specific deployment version.""" version: WorkerDeploymentVersion diff --git a/temporalio/envconfig.py b/temporalio/envconfig.py index 1406270a2..ad413b9a9 100644 --- a/temporalio/envconfig.py +++ b/temporalio/envconfig.py @@ -100,11 +100,7 @@ def _read_source(source: DataSource | None) -> bytes | None: @dataclass(frozen=True) class ClientConfigTLS: - """TLS configuration as specified as part of client configuration - - .. warning:: - Experimental API. - """ + """TLS configuration as specified as part of client configuration""" disabled: bool | None = None """If True, TLS is explicitly disabled. If False, TLS is explicitly enabled. If None, TLS behavior was not configured.""" @@ -168,9 +164,6 @@ def from_dict(cls, d: ClientConfigTLSDict | None) -> Self | None: class ClientConnectConfig(TypedDict, total=False): """Arguments for `temporalio.client.Client.connect` that are configurable via environment configuration. - - .. warning:: - Experimental API. """ target_host: str @@ -187,9 +180,6 @@ class ClientConfigProfile: This class holds the configuration as loaded from a file or environment. See `to_client_connect_config` to transform the profile to `ClientConnectConfig`, which can be used to create a client. - - .. warning:: - Experimental API. """ address: str | None = None @@ -307,9 +297,6 @@ class ClientConfig: This contains a mapping of profile names to client profiles. Use `ClientConfigProfile.to_client_connect_config` to create a `ClientConnectConfig` from a profile. See `ClientConfigProfile.load` to load an individual profile. - - .. warning:: - Experimental API. """ profiles: Mapping[str, ClientConfigProfile] diff --git a/temporalio/worker/_worker.py b/temporalio/worker/_worker.py index f664c0877..6026f38fb 100644 --- a/temporalio/worker/_worker.py +++ b/temporalio/worker/_worker.py @@ -957,10 +957,7 @@ def _warn_if_nexus_task_executor_max_workers_is_inconsistent( @dataclass class WorkerDeploymentConfig: - """Options for configuring the Worker Versioning feature. - - WARNING: This is an experimental feature and may change in the future. - """ + """Options for configuring the Worker Versioning feature.""" version: WorkerDeploymentVersion use_worker_versioning: bool diff --git a/temporalio/workflow.py b/temporalio/workflow.py index 1fbcc0717..a1b3cb918 100644 --- a/temporalio/workflow.py +++ b/temporalio/workflow.py @@ -139,7 +139,6 @@ def defn( ``Exception`` is set, it effectively will fail a workflow/update in all user exception cases. WARNING: This setting is experimental. versioning_behavior: Specifies the versioning behavior to use for this workflow. - WARNING: This setting is experimental. """ def decorator(cls: ClassType) -> ClassType: @@ -444,8 +443,6 @@ class DynamicWorkflowConfig: """Specifies the versioning behavior to use for this workflow. Always overrides the equivalent parameter on :py:func:`defn`. - - WARNING: This setting is experimental. """ From d6a03c20868265278899b6dc0f3b5b1e5468eba8 Mon Sep 17 00:00:00 2001 From: Thomas Hardy Date: Tue, 3 Feb 2026 08:26:32 -0800 Subject: [PATCH 2/5] mark old worker versioning client-side APIs as deprecated --- temporalio/client.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/temporalio/client.py b/temporalio/client.py index 413ae85a0..3fd4462f0 100644 --- a/temporalio/client.py +++ b/temporalio/client.py @@ -1428,8 +1428,7 @@ async def update_worker_build_id_compatibility( For more on this feature, see https://docs.temporal.io/workers#worker-versioning - .. warning:: - This API is experimental + .. deprecated:: Args: task_queue: The task queue to target. @@ -1458,8 +1457,7 @@ async def get_worker_build_id_compatibility( For more on this feature, see https://docs.temporal.io/workers#worker-versioning - .. warning:: - This API is experimental + .. deprecated:: Args: task_queue: The task queue to target. @@ -1490,8 +1488,7 @@ async def get_worker_task_reachability( For more on this feature, see https://docs.temporal.io/workers#worker-versioning - .. warning:: - This API is experimental + .. deprecated:: Args: build_ids: The Build IDs to query the reachability of. At least one must be specified. From b7fdf68671c3dcdaeaa480d57ef433ee7b6ed027 Mon Sep 17 00:00:00 2001 From: Thomas Hardy Date: Tue, 3 Feb 2026 08:38:17 -0800 Subject: [PATCH 3/5] more experimental notice removals (forgot to save file) --- temporalio/common.py | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/temporalio/common.py b/temporalio/common.py index 73a23941e..e11ec5e7e 100644 --- a/temporalio/common.py +++ b/temporalio/common.py @@ -1058,10 +1058,7 @@ class VersioningBehavior(IntEnum): @dataclass(frozen=True) class WorkerDeploymentVersion: - """Represents the version of a specific worker deployment. - - WARNING: Experimental API. - """ + """Represents the version of a specific worker deployment.""" deployment_name: str build_id: str @@ -1091,11 +1088,7 @@ def _to_proto(self) -> temporalio.api.deployment.v1.WorkerDeploymentVersion: class VersioningOverride(ABC): - """Represents the override of a worker's versioning behavior for a workflow execution. - - .. warning:: - Experimental API. - """ + """Represents the override of a worker's versioning behavior for a workflow execution.""" @abstractmethod def _to_proto(self) -> temporalio.api.workflow.v1.VersioningOverride: @@ -1124,11 +1117,7 @@ def _to_proto(self) -> temporalio.api.workflow.v1.VersioningOverride: @dataclass(frozen=True) class AutoUpgradeVersioningOverride(VersioningOverride): - """The workflow will auto-upgrade to the current deployment version on the next workflow task. - - .. warning:: - Experimental API. - """ + """The workflow will auto-upgrade to the current deployment version on the next workflow task.""" def _to_proto(self) -> temporalio.api.workflow.v1.VersioningOverride: """Convert to proto representation.""" From 91a0edd926ef43646516613769c582374256da67 Mon Sep 17 00:00:00 2001 From: Thomas Hardy Date: Tue, 3 Feb 2026 09:11:25 -0800 Subject: [PATCH 4/5] add deprecation arguments --- temporalio/client.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/temporalio/client.py b/temporalio/client.py index 3fd4462f0..93549988b 100644 --- a/temporalio/client.py +++ b/temporalio/client.py @@ -1429,6 +1429,7 @@ async def update_worker_build_id_compatibility( For more on this feature, see https://docs.temporal.io/workers#worker-versioning .. deprecated:: + Legacy API, see the docs above for new usage Args: task_queue: The task queue to target. @@ -1458,6 +1459,7 @@ async def get_worker_build_id_compatibility( For more on this feature, see https://docs.temporal.io/workers#worker-versioning .. deprecated:: + Legacy API, see the docs above for new usage Args: task_queue: The task queue to target. @@ -1489,6 +1491,7 @@ async def get_worker_task_reachability( For more on this feature, see https://docs.temporal.io/workers#worker-versioning .. deprecated:: + Legacy API, see the docs above for new usage Args: build_ids: The Build IDs to query the reachability of. At least one must be specified. From 13f76a0a33ac0c3138e972c749e6546ad51b29a7 Mon Sep 17 00:00:00 2001 From: Thomas Hardy Date: Tue, 3 Feb 2026 09:49:37 -0800 Subject: [PATCH 5/5] formatting --- temporalio/client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/temporalio/client.py b/temporalio/client.py index 93549988b..7d0ea9f6a 100644 --- a/temporalio/client.py +++ b/temporalio/client.py @@ -1429,7 +1429,7 @@ async def update_worker_build_id_compatibility( For more on this feature, see https://docs.temporal.io/workers#worker-versioning .. deprecated:: - Legacy API, see the docs above for new usage + Legacy API, see the docs above for new usage Args: task_queue: The task queue to target.