Temporal v1.32.0 - Standalone Activities GA


Temporal v1.32.0 was published on 11 September 2026. Standalone Activities and start delay are now enabled by default through activity.enableStandalone and activity.startDelayEnabled. This release also makes the unified Visibility query converter the default. v1.32.0 is the last server release that still ships the deprecated Worker Versioning implementations.

The full release notes and downloads are on the GitHub release page.

The release is titled Standalone Activities GA. activity.enableStandalone and activity.startDelayEnabled turn on without an operator change, so delayed starts are part of the default. Operator commands and batch operations stay off.

Operator APIs can pause or resume an Activity, reset its attempt state, and change options. A reset can include heartbeat cleanup or option restoration. An update can change selected options or restore the originals. Those commands need history.enableStandaloneActivityOperatorCommands set to true. Batch cancel, terminate, and delete select Standalone Activities with a Visibility query or an explicit execution list. That path needs frontend.enableBatchOperationsForStandaloneActivities set to true. Both keys are namespace scoped and default to false. Server defaults provide the Activity type and start delay. Pause, reset, and batch cancel stay behind those two keys.

Describe and List responses for existing Workflow batch operations now use explicit *_WORKFLOW enum values. Clients that compare those fields with the deprecated enum values must be updated. Batch status readers that still match the old enum constants need the same client update.

Standalone Nexus Operations are a prerelease in this server version. A Temporal client starts a top level Nexus Operation Execution with no caller Workflow. The server persists the caller side execution in the caller Namespace, with durable retries, timeouts, cancellation, result retrieval, and Visibility. Handlers, Workers, Nexus Endpoints, and the Nexus Service contract match workflow started Nexus Operations.

history.enableChasm is namespace scoped and defaults to true. It enables the CHASM durable state machine framework, which this feature requires. nexusoperation.enableStandalone is namespace scoped and defaults to off. With that flag on, the server can send a cancel command to the worker.

The experimental command group is temporal nexus operation. It requires Temporal CLI v1.9.0 or later. The UI needs Temporal UI Server v2.54.1 or later and the EnableStandaloneNexusOperations feature flag. Minimum SDK versions in the notes are Go SDK v1.46.0, Java SDK v1.36.1, .NET SDK 1.16.0, Python SDK 1.30.0, and TypeScript SDK v1.20.2.

The unified query converter from Temporal v1.30.1 is now the default. Set system.visibilityEnableUnifiedQueryConverter to false to keep the legacy converter. Removal of the legacy converter is planned for v1.33.0.

Elasticsearch and SQL used separate converters, so one store could accept a query the other rejected. The unified converter errors when a search attribute of type T is compared with a different type. CustomKeyword = 123 and CustomInt = '123' fail. For Int and Double, CustomInt = 1.5 and CustomDouble = 15 remain valid.

A Text attribute compared with an empty string, or with a string of only spaces, also errors. CustomText = '' and CustomText = ' ' are the examples. Text needs at least one token for full text search. The legacy path sometimes accepted these expressions, and they matched no workflows.

VisibilityRow.ExecutionDuration changed from *time.Duration to *int64, matching the BIGINT column execution_duration on executions_visibility. A driver can map time.Duration to a string. A custom VisibilityStore that reads VisibilityRow must use *int64.

Elasticsearch queries now set allow_partial_search_results=false. ListWorkflowExecutions and related APIs should not drop matches, and pagination should cover every matching execution.

Admin search attribute APIs, including AddSearchAttributes, are deprecated and forward to the operator handler. tctl called the admin handler. Use the temporal CLI, documented in the Temporal CLI docs.

In v1.33.0, system.visibilityAllowList defaults to false. That can cause problems for Elasticsearch clusters that store a list in any custom search attribute type other than KeywordList. The notes cite ["foo", "bar"] on a Keyword field and [1, 2, 3] on an Int field. The v1.20.0 release notes already marked that pattern as unsupported.

system.enableActivityEagerExecution is enabled by default. Clusters that never set the flag now run activity eager execution. Set it to false to keep the previous implicit default.

v1.32.0 is the last release that contains the deprecated Worker Versioning implementations. The v1.31 notes had scheduled removal for v1.32. Removal is now planned for server v1.33.

These deprecated APIs are on the v1.33 removal list:

  • UpdateWorkerBuildIdCompatibility
  • GetWorkerBuildIdCompatibility
  • UpdateWorkerVersioningRules
  • GetWorkerVersioningRules
  • GetWorkerTaskReachability
  • SetCurrentDeployment
  • GetCurrentDeployment
  • DescribeDeployment
  • ListDeployments
  • GetDeploymentReachability

Build ID compatibility APIs and versioning rules management APIs remain disabled by default in v1.32.0. Legacy routing information and workflow progress behavior stay available so operators can finish the move. The deprecated prerelease Deployment APIs already return Unimplemented.

Before v1.33, migrate to the current Worker Deployment APIs. Drain or complete every running, sleeping, or backlogged Workflow that still depends on a legacy Build ID, a compatible Version Set, an Assignment Rule, a Redirect Rule, or deprecated Deployment routing state. Treat a rollback to v1.32.0 as emergency recovery for a missed legacy Workflow.