Skip to content

housekeeping: Update module go.temporal.io/sdk to v1.35.0 #3324

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jul 8, 2025

This PR contains the following updates:

Package Change Age Confidence
go.temporal.io/sdk v1.26.1 -> v1.35.0 age confidence

Release Notes

temporalio/sdk-go (go.temporal.io/sdk)

v1.35.0

Compare Source

Breaking Changes

Nexus - Deprecate API removed

Some Nexus APIs previously deprecated are now removed. Most notably OperationID was removed, users should switch to OperationToken .

Highlights

Nexus Operation Cancellation Types (Pre-release)

Users can now specify the cancellation type when cancelling a Nexus operations from a workflow. This allows for more granular control over how Nexus operations are cancelled, and how the caller is notified of the cancellation.

Dynamic Workflow and Activities

Dynamic workflow and activities, which are nameless, can now be registered with RegisterDynamicWorkflow and RegisterDynamicActivity. This allows users to specify a default workflow to run if a worker does not recognize the workflow or activity being run on it.

Workflow Metadata - Local Activity Summary

Local activities now support a Summary like normal activities and child workflows.

Application Error Category

Application errors can specify a category, called ApplicationErrorCategory, to control logging and metrics behavior of activity failures

What’s Changed

2025-04-18 - 0517ec9 - Make doc comment name match code name (#​1920)
2025-04-21 - a921890 - Add support for root workflow execution to workflow info (#​1923)
2025-04-23 - 50118c6 - Remove old Nexus workflow run operation token format (#​1927)
2025-04-25 - ee78d25 - Add application err category (#​1925)
2025-04-28 - 3db4820 - Add missing lock (#​1938)
2025-04-29 - f3fcc94 - Update [golang.org/x/net](http://golang.org/x/net) for CVE-2025-22872 (#​1939)
2025-04-30 - 2c90009 - Fix trying to decode nil summary fields (#​1941)
2025-04-30 - 4a43228 - Handle mix of RawValue and non-RawValue inputs for CompositeDataConverter (#​1937)
2025-04-30 - 5a87f01 - Remove deprecated nexus APIs (#​1944)
2025-04-30 - e2dfd9d - Add high level workflow describe (#​1924)
2025-05-01 - 5de51a1 - Support for RequestIdReference in Link (#​1877)
2025-05-02 - a10de39 - Encode the event type short string in the links (#​1949)
2025-05-05 - 876aaaf - Remove per-file copyright headers (#​1950)
2025-05-06 - 6d2cb6a - Implement Nexus operation cancellation types (#​1917)
2025-05-07 - 52c7523 - Set Nexus links in the callback (#​1945)
2025-05-08 - 46420c2 - Handle links from ExecuteWorkflow in Nexus WorkflowRunOperation (#​1934)
2025-05-15 - b13a953 - Add SearchAttributes.Copy exception to workflowcheck (#​1958)
2025-05-16 - f55d382 - Dynamic workflows and activities (#​1946)
2025-05-27 - 71ce2dc - fix comments and grammar (#​1959)
2025-05-28 - df05d05 - Mark Nexus operation cancellation type as Experimental. (#​1960)
2025-05-30 - 22952b3 - Don't heartbeat local activity on non-graceful worker shutdown (#​1933)
2025-06-03 - b955aa8 - Improve docs on NexusOperationCancellationTypeTryCancel (#​1964)
2025-06-04 - 9de36a9 - Handle activity cancel due to worker shutdown properly (#​1910)
2025-06-04 - a15c294 - 💥 [Breaking] Update versioning APIs to use struct (#​1962)
2025-06-05 - f3b6fd4 - Use system time as started time (#​1952)
2025-06-09 - 918fea8 - Fix missed spot w/ versioning string (#​1969)
2025-06-10 - 28be770 - Deprecate versioning intents (#​1970)
2025-06-10 - 2fb80f2 - Enable SDKFlagBlockedSelectorSignalReceive by default (#​1762)
2025-06-17 - 46d0b10 - Stop Nexus worker. (#​1974)
2025-06-18 - 4a4b322 - Deprecate more old versioning APIs (#​1979)
2025-06-20 - 9682a69 - fix a typo (#​1981)
2025-06-22 - a569259 - Clarify WithTags behaviour in metrics handler (#​1975)
2025-06-25 - a1a14b9 - Fix GetWorkerStopChannel() for Local Activities (#​1965)
2025-07-03 - 5be3364 - Plumb Summary through LocalActivityOptions (#​1987)
2025-07-03 - f7174c2 - Fix TestActivityPause for Temporal Server v1.28.0 (#​1989)
2025-07-04 - 8ee3a8a - Expose StartToCloseTimeout in ActivityInfo struct (#​1990)
2025-07-07 - 4736849 - Release Go SDK v1.35.0
2025-07-07 - d68db26 - Apply context to data converter in update (#​1991)

v1.34.0

Compare Source

Highlights

Priority (Pre-release)

User can now set a priority key when scheduling a workflow, activity or child workflow. The priority key will be used to help prioritize certain tasks over others when there is a backlog. Priority is currently not supported in any OSS Temporal release, but support will be coming soon. To experiment with this feature please see the pre-release development server or if you are a Temporal Cloud customer reach out to your SA.

Activity Pause (Pre-release)

The Go SDK now supports activity pause for heart beating activities. If an activity is paused while an attempt is running and the activity is heart-beating the activity context will be cancelled like the activity was cancelled.

Breaking Changes

Workflow Metadata Query

The built in __temporal_workflow_metadata will now use RawValue to encoded the query response. This should help with issues when a users data converter did not support protobuf payloads. The SDK's default data converter will already handle RawValue, but users custom data converter may need to be updated to handle RawValue correctly.

What’s Changed

2025-02-26 - 9ce2508 - Remove WithStartOperation from docs (#​1850)
2025-02-27 - 884681f - Add assertions for labels on Nexus metrics and logs (#​1855)
2025-03-12 - 5371970 - Unblock using conflict policy UseExisting for Nexus WorkflowRunOperation (#​1858)
2025-03-13 - 9f876e3 - Replace github.com/pborman/uuid with github.com/google/uuid (#​1854)
2025-03-13 - efa70b9 - Add WorkflowExecutionAlreadyStarted error type to description (#​1866)
2025-03-14 - 2dcb1b9 - Fix possibly failing to reserve slots due to stale issued number (#​1870)
2025-03-14 - 54571a2 - Fix broken docstring (#​1871)
2025-03-14 - 76cebd8 - Better Nexus error message (#​1863)
2025-03-17 - 08d04be - Doc: Add blank lines before "Optional", "default", and "note" lines for clarity (#​1873)
2025-03-17 - 695e720 - Point to WorkflowExecutionErrorWhenAlreadyStarted in WorkflowIDReusePolicy/ConflictPolicy docstrings (#​1872)
2025-03-20 - 07a817f - Add summary to Nexus operation (#​1878)
2025-03-25 - 61cafbd - Allow local activities to finish running when stopping a worker (#​1875)
2025-03-26 - 132f356 - Extract BuilID from Version (#​1881)
2025-03-26 - a80e6d5 - Add note that NewPayloadCodecGRPCClientInterceptor comes before NewFailureGRPCClientInterceptor (#​1888)
2025-03-27 - 4b15a0c - Add RawValue support (#​1879)
2025-03-27 - 9cd4d23 - Add FIPs to CI (#​1892)
2025-03-28 - 31c4c30 - Disable some know flaky tests (#​1893)
2025-03-28 - 9f5a441 - Make sure schedule Update treats CatchupWindow properly (#​1896)
2025-03-28 - ceab52c - Fix WorkflowId being wrongly capitalized on example comments (#​1891)
2025-03-31 - 0c9f60d - Add warning about anonymous functions as local activities (#​1897)
2025-03-31 - 84f7482 - Update documentation for Next history iterator (#​1853)
2025-04-01 - 4c897cd - Support environment configuration (#​1849)
2025-04-02 - 5d5b2ff - Use RawValue for built-in query responses (#​1894)
2025-04-02 - 9ba19ac - Make sure GetSystemInfo uses client timeout (#​1900)
2025-04-03 - b9afba9 - Add Task Queue Priority (#​1902)
2025-04-07 - 729bc24 - Add worker shutdown cause to context (#​1904)
2025-04-09 - 797e9aa - Clarify ReusePolicy and ConflictPolicy doc comments (#​1907)
2025-04-10 - 0ead7f5 - [doclink] Fix interface parsing (#​1909)
2025-04-14 - 5940638 - Add support for activity pause (#​1903)
2025-04-14 - a507124 - Update golang.org/x/net (#​1913)
2025-04-14 - bba43df - don't try to call nil functions for TestUpdateCallback (#​1914)

v1.33.1

Compare Source

Highlights

Nexus

Attaching multiple Nexus callers to an underlying handler Workflow is now available in Pre-release.

What’s Changed

2025-04-02 - e6f4d22 - Unblock using conflict policy UseExisting for Nexus WorkflowRunOperation (#​1858)

v1.33.0

Compare Source

Breaking Changes

Nexus

  • ⚠️ IMPORTANT ⚠️ This SDK release requires server >=1.27.0 to properly support the full set of changes from the previous SDK release. Most notably the built-in error translation logic changed in a way that may cause Nexus tasks to retry until the caller specified schedule-to-close timeout on certain failures, see more below.
  • Setting WorkflowIDConflictPolicy to WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING has been temporarily disabled, and will fail requests with a retryable internal error.
    • This is to protect users from making a false assumption that the same workflow can be used to back multiple operations. This capability will be enabled in a follow up release.
  • Error translation logic changed in the following ways:
    • serviceerrors returned by the client with codes.AlreadyExists, codes.FailedPrecondition, codes.OutOfRange now get translated to non retryable internal Nexus handler errors.
  • Non retryable ApplicationErrors get translated to non retryable internal Nexus handler errors instead of bad request errors.
  • QueryRejectedError and WorkflowExecutionError no longer get translated to a bad request automatically.
  • Removed operation and service labels from Nexus schedule to start metric.

Versioning / Safe Deploy

This release introduces a preview of new APIs that gracefully manage code changes and worker pools that support them. The goal is to better control which workers should execute new, and existing, workflows and activities tasks, based on their code and configuration.

A Worker Deployment is a collection of Worker Deployment Versions, typically associated with a single application. Each Version abstracts away the multiple Task Queues associated with this application, providing a common interface to set versioning policy to the workers polling those queues for tasks. A Worker Deployment has a Current Version, where tasks for new workflows and activities, and also tasks for AutoUpgrade existing workflows, are dispatched. A Worker Deployment can also have a Ramping Version to gradually move tasks from the Current Version to another one.

AutoUpgrade and Pinned are two Versioning Behaviors that can be specified when registering a workflow type. Pinned workflows are typically short lived, and are never affected by new versions, i.e., they do not need to use the patch API for compatibility. AutoUpgrade workflows are mostly long running, but they need to use patching to safely transition to new versions. The choice of Pinned vs AutoUpgrade ultimately depends on your willingness to keep old worker fleets running vs the complexity of patching.

In cases when you need to override the existing Versioning Behavior for a workflow, or a set of workflows, you can use the new UpdateWorkflowExecutionOptions API, which also operates on batches.

The following EXPERIMENTAL Versioning APIs implement Worker Deployments and Workflow Versioning Behavior annotations. It requires a server with version v1.27.0 or later.

  • Client.WorkerDeploymentClient():
    • Delete(): Remove a Worker Deployment.
    • GetHandle(): Return a handle to a Worker Deployment.
    • List(): Enumerate Worker Deployments in the client's namespace
  • Client.WorkerDeploymentHandle():
    • SetCurrentVersion(): Set the Current Version for a Worker Deployment.
    • SetRampingVersion(): Set the Ramping Version for a Worker Deployment.
    • Describe(): Return a description of this Worker Deployment.
    • DescribeVersion(): Return a description of a Version in this Worker Deployment.
    • DeleteVersion(): Remove a Version in this Worker Deployment.
    • UpdateVersionMetadata(): Change user-provided metadata associated with a Version.
  • UpdateWorkflowExecutionOptions: Override options of a workflow execution.
  • Worker.Options.DeploymentOptions: Set Deployment Version and Workflow Behavior defaults.
  • Workflow.RegisterOptions.VersioningBehavior: Annotate Workflow Behavior.

Documentation is coming soon. Do not use above APIs in production.

Cloud Operator API

Removed the Cloud Operations Client from this SDK. Users should use https://github.com/temporalio/cloud-sdk-go instead.

Highlights

Nexus

🎉 Nexus is now generally available 🎉

  • Added experimental support for Nexus operation interceptors.
  • Added experimental tracing interceptor support for tracing calls from a workflow to a Nexus handler through client operations, such as starting a workflow.
  • The test environment behavior is now more consistent with the server behavior, especially with changes made since the 1.25 release.
  • Main Nexus APIs are no longer marked as experimental.
  • The Nexus APIs and fields were marked as deprecated and will be removed in the next minor release:
    • OperationID was renamed to OperationToken and the content of it was changed to a structured token instead of copying the workflow ID directly.
    • temporalnexus.NewSyncOperation is now deprecated, use nexus.NewSyncOperation in combination with temporalnexus.GetClient to get similar functionality.
  • Nexus now supports full error rehydration from the handler back to the caller workflow including support for the SDK’s FailureConverter.
  • Upgraded Nexus SDK from 0.1.0 to 0.3.0, see changes here:

Workflow Reset

This release fixes a long standing issue in the Go SDK where workflows reset with a completed child workflow with the default WorkflowID would fail to replay due to a non-determinism error.

Note: This change will cause workflows that were previously stuck by https://github.com/temporalio/sdk-go/issues/723 to become unstuck.

What’s Changed

2025-01-16 - 1c6e01b - Disable TestPinnedBehaviorThreeWorkers() test (#​1780)
2025-01-17 - 2bf36d6 - Expose user metadata fields on scheduling workflows (#​1782)
2025-01-17 - 454a8a8 - Add Nexus SignalWorkflowOperation (#​1770)
2025-01-21 - 3befe6b - Upgrade api to 1.43.2 and Nexus to 0.1.1 (#​1784)
2025-01-22 - b43588c - Fix update docstring to include context (#​1785)
2025-01-23 - d2f4c14 - Update bug issue template to use bug label (#​1787)
2025-01-24 - 34bbbbf - Clarify warning log on activity deadlone (#​1786)
2025-01-25 - 751fa9a - Remove protolegacy build tag and InvalidUTF8Suite (#​1789)
2025-01-28 - 7728bd7 - Unpin CLI (#​1794)
2025-01-28 - c0ac008 - Expose workflow client from Activity (#​1783)
2025-01-31 - 0262297 - Enable speculative workflow task with commands (#​1724)
2025-02-03 - 349283d - Fix Update-with-Start grpc deadline (#​1798)
2025-02-03 - 8f05d01 - Don't replay commands from non-completed task (#​1750)
2025-02-03 - bfd12ac - Fail Nexus Operation for incompatible input type (#​1800)
2025-02-04 - 2030f9b - Revert WorkflowSignalOperation (#​1801)
2025-02-04 - 24542f7 - Set Temporal-Namespace header on every namespace-specific gRPC request (#​1467)
2025-02-06 - 6e75f6d - Expand arguments in UpdateWorkflow call when args equal one (#​1799)
2025-02-07 - 150b4bd - Reserve _temporal prefix (#​1806)
2025-02-07 - b8bc1c5 - Fix missing variadic ellipsis, added test to validate (#​1804)
2025-02-08 - b9ad14a - Add option to override UI port (#​1793)
2025-02-10 - 1540ba4 - Fix doc links on pkg.go.dev (#​1795)
2025-02-10 - 22ebdc0 - Upgrade to Nexus SDK 0.2.0 (#​1802)
2025-02-10 - e5ce2c4 - Replace golang.org/x/exp with stdlib (#​1807)
2025-02-11 - 9d4a99a - Add note that SetOnActivityHeartbeatListener may be called concurrently (#​1818)
2025-02-11 - f29a8c5 - Rename operationID to token in TestWorkflowEnvironment (#​1813)
2025-02-12 - 8101b82 - Remove Experimental annotation on Nexus APIs (#​1816)
2025-02-13 - 82c56a9 - Only fallback to workflow ID as operation token when needed (#​1821)
2025-02-13 - e5bc298 - Stop checking for definitions inside of functions (#​1819)
2025-02-14 - 4fb50dc - Properly convert Nexus HandlerErrors in the test env (#​1822)
2025-02-14 - b19fc66 - Catchup tasks for Nexus features in the test env (#​1824)
2025-02-14 - f223359 - temporarily disable TestNumPollersCounter while I look into why it's flaking (#​1826)
2025-02-18 - 617de7e - Add tests for nexus error rehydration (#​1767)
2025-02-18 - 623badd - Remove cloud ops client (#​1831)
2025-02-18 - 8f38795 - Remove operation and service labels from Nexus schedule to start metric (#​1830)
2025-02-19 - 7e3d821 - Fix child WF ID generation (#​1803)
2025-02-19 - e44e74e - Move SetStickyWorkflowCacheSize to global config setup (#​1836)
2025-02-20 - c99ec47 - Translate relevant errors to non retryable internal Nexus handler errors (#​1833)
2025-02-21 - 1720257 - More user-friendly NDE error message (#​1837)
2025-02-21 - f5882aa - Support Worker Deployments 3.1 (#​1832)
2025-02-22 - d32c252 - Nexus interceptors (#​1841)
2025-02-24 - 2449502 - Support conflict options for starting Nexus operations in test framework (#​1828)
2025-02-24 - 61c10ce - Fix AsTime() for nil proto timestamp (#​1847)
2025-02-24 - b2b75c9 - [Nexus] Set OnConflictOptions for WorkflowRunOperation (#​1797)
2025-02-25 - 24db567 - Release Go SDK v1.33.0
2025-02-25 - ab1c356 - Block using conflict policy UseExisting for Nexus WorkflowRunOperation (#​1845)
2025-02-25 - f3da1f5 - Add Nexus tracing interceptor (#​1844)

v1.32.1

Compare Source

Versioning / Safe Deploy (pre-release)

This release introduces a preview of new APIs that gracefully manage code changes and worker pools that support them. The goal is to better control which workers should execute new, and existing, workflows and activities tasks, based on their code and configuration.

Worker Deployments provide a consistent interface to set versioning policy for multiple Task Queues within a versioned application. Versioning Behaviors eliminate the need of patching short-running Workflows by pinning them to a particular version. The new UpdateWorkflowExecutionOptions API overrides versioning attributes for a particular workflow, or, using a batch command, for a set of workflows.

The following EXPERIMENTAL Versioning APIs implement Worker Deployments and Workflow Versioning Behavior annotations. It requires a server with version v1.26.2 or later.

  • Client.DeploymentClient():
    • Describe(): Show properties of a Worker Deployment.
    • GetReachability(): Return information to safely decommission Workers.
    • List(): Enumerate Worker Deployments in the client's namespace
    • SetCurrent(): Set the current Deployment for a Deployment Series.
    • GetCurrent(): Find the current Deployment for a Deployment Series.
  • UpdateWorkflowExecutionOptions: Override options of a workflow execution.
  • Worker.Options.DeploymentOptions: Set Deployment and Workflow Behavior defaults.
  • Workflow.RegisterOptions.VersioningBehavior: Annotate Workflow Behavior

Documentation is coming soon. Do not use above APIs in production.

Workflow Update

Workflow Update, excluding Update-with-Start, is no longer marked as experimental.

What’s Changed

2024-12-12 - ccb28ef - Versioning 3 (#​1744)
2024-12-20 - 380add9 - Add Nexus links tests (#​1613)
2025-01-08 - 423a9a3 - Remove Nexus OpCanceledBeforeStarted test (#​1763)
2025-01-08 - 4dd46b8 - Resolve workflow name alias in Nexus WorkflowRunOperation (#​1766)
2025-01-08 - 938dcad - Fix versioning override with AutoUpgrade behavior (#​1765)
2025-01-10 - 815c648 - small docs/rendering fixes (#​1769)
2025-01-10 - a708f7e - Remove docker flag that disables versioning tests (#​1771)
2025-01-10 - b8f9b44 - docs: fix bullets in intellisense (#​1768)
2025-01-14 - 3506cd2 - Fix doclink tool's duplicate docstring generation issue (#​1773)

New Contributors

Full Changelog: temporalio/sdk-go@v1.31.0...v1.32.1

v1.32.0

Compare Source

v1.31.0

Compare Source

Nexus Breaking Changes

Add support for full Temporal error rehydration to provide a more consistent experience for Temporal users and on par debugging experience with workflows and activities..
Any Temporal errors returned over the Nexus boundary will now automatically be fully rehydrated on the caller side.

Some notable points:

  • The Nexus SDK was upgraded to v0.1.0, which is a breaking change. Temporal Nexus users should refer to the release notes before upgrading the Temporal SDK.
  • nexus.HandlerError now has a Failure representation and is visible to the caller workflow.
  • Arbitrary errors are translated to ApplicationError as they do in the rest of the Temporal SDK.
  • WorkflowExecutionError, QueryRejectedError, and non retryable ApplicationErrors are no longer translated to bad request handler errors, instead they're translated to OperationErrors.
Update With Start

UpdateWithStartWorkflow issues an update-with-start request. A WorkflowIDConflictPolicy must be set in the options. If the specified workflow execution is not running, then a new workflow execution is started and the update is sent in the first workflow task. Alternatively if the specified workflow execution is running then, if the WorkflowIDConflictPolicy is USE_EXISTING, the update is issued against the specified workflow, and if the WorkflowIDConflictPolicy is FAIL, an error is returned. The call will block until the update has reached the WaitForStage in the options. Note that this means that the call will notreturn successfully until the update has been delivered to a worker.

Changes in this release:

Instead of using the ExecuteWorkflow client method, update-with-start is invoked via a new client method UpdateWithStartWorkflow.
To use this method, you should first use NewWithStartWorkflowOperation to define the start-workflow operation. A workflow ID conflict policy is required. Then call UpdateWithStartWorkflow, passing it an UpdateWithStartWorkflowOptions containing your WithStartWorkflowOperation, together with an UpdateWorkflowOptions defining the update operation. This will return an UpdateHandle. The WithStartWorkflowOperation exposes a blocking .Get(ctx) method to obtain the workflow run targeted by the update.

New Contributors

What's Changed

2024-12-02 - 2c6bc1d - Introduce separate slot supplier for session activities (#​1736)
2024-12-03 - 9c4dde8 - Use constant case in Nexus link URL eventType query param (#​1741)
2024-12-03 - aa4535d - WorkflowTestSuite.UpdateWorkflow generate an update ID if none (#​1738)
2024-12-05 - 01b52a2 - Tweak UpdateWorfklow docs (#​1745)
2024-12-05 - 9d59447 - New Update-With-Start API (#​1731)
2024-12-06 - 1f35a5b - mock: in order mock calls using new testify mock.InOrder() method (#​1743)
2024-12-06 - 7828e06 - Update Godoc for internal structs/funcs to clarify the package they are exposed under (#​1735)
2024-12-09 - 41e9b33 - Tweak Update-with-Start error reporting (#​1746)
2024-12-10 - 1b21084 - Bump SDKVersion to 1.31.0 (#​1753)
2024-12-10 - d21ede2 - Nexus error rehydration (#​1751)

Full Changelog: temporalio/sdk-go@v1.30.1...v1.31.0

v1.30.1

Compare Source

Breaking Changes

Nexus async Operations backed by ExecuteUntypedWorkflow (i.e. NewWorkflowRunOperation and NewWorkflowRunOperationWithOptions) are now required to set the workflow ID on the StartWorkflowOptions parameter. If workflow ID is unset, the new error ErrMissingWorkflowID will be returned.

What's Changed

New Contributors

Full Changelog: temporalio/sdk-go@v1.30.0...v1.30.1

v1.30.0

Compare Source

Highlights

Nexus

We have made some improvements in Nexus metrics, nexus_task_execution_failed is now tagged with a failure_reason to help users understand the cause of the task failure.

see also: https://docs.temporal.io/references/sdk-metrics#nexus\_task\_execution\_failed

Test Environment

Improved support for mocking Nexus operations so you won’t need to have access to the operation itself or implementing a dummy operation. You can mock by calling OnNexusOperation and, when appropriate, RegisterNexusAsyncOperationCompletion.

Docs coming soon.

Worker shutdown

When a Go SDK worker s shutting down it will now communicate to the Temporal service through a new ShutdownWorker API that the worker is no longer taking more tasks. If the Temporal service supports this feature all sticky workflow tasks will be assigned back to the normal task queue. This should reduce latency caused by shutting down a worker due to stick task queue timeout.

What's Changed

2024-09-17 - 03e0341 - Use stable CLI for tests (#​1637)
2024-09-17 - 8283604 - Remove DISABLE_NEXUS_TESTS env var from test code (#​1640)
2024-09-23 - d10e871 - Update workflowcheck and allow it to handle aliased context (#​1642)
2024-09-24 - cf3153e - expose ScheduleDescription (#​1649)
2024-10-01 - 974ccc0 - Call the ShutdownWorker API as part of workflow worker cleanup (#​1645)
2024-10-01 - f0ac2ee - Fix Nexus test env to respect ScheduleToCloseTimeout (#​1636)
2024-10-02 - 772bc83 - MultiOperation retries non-durable Update (#​1652)
2024-10-03 - 4e8380c - Error for unused Update operation (#​1655)
2024-10-03 - cdd3070 - Remove history truncation (#​1656)
2024-10-03 - d7a2128 - Enforce nexus request timeout in workflow test suite (#​1653)
2024-10-03 - ea60ad5 - Evict the workflow from cache if their is a panic in the SDK (#​1654)
2024-10-04 - 7d57a66 - ensure WorkflowTaskExecutionFailureCounter is called with a tag (#​1658)
2024-10-08 - 75bd94b - Panic if endpoint or service is empty in NewNexusClient (#​1661)
2024-10-08 - b300e50 - Nexus: Fix link not being attached to a workflow started via a Handler function (#​1659)
2024-10-08 - b4e934e - Include updateID and updateName in update logger (#​1660)
2024-10-08 - c82a8ac - Error if history contains unexpected events after the StartedEventId (#​1662)
2024-10-09 - 3671c99 - fix link (#​1665)
2024-10-14 - e503995 - Fix nexus_task_execution_failed to include OperationError outcome in start requests (#​1664)
2024-10-15 - 7432064 - Add regression test to validate temporal_workflow_task_execution_failed on replay (#​1669)
2024-10-16 - 959f581 - Read cgroups for resource tuner limits (#​1632)
2024-10-16 - cfc38de - Fix TestNonDeterminismFailureCauseReplay integration test (#​1674)
2024-10-18 - 1a13bf3 - Add Nexus failure_reason metric tag (#​1671)
2024-10-24 - 5505d04 - Fix failure_reason label for nexus_task_execution_failed metric on task timeout (#​1684)
2024-10-24 - 56b601d - Bump Nexus sdk-go to v0.0.11 (#​1685)
2024-10-25 - 2bd372c - Upgrade API to v1.40.0 (#​1688)
2024-10-25 - c0a1b59 - Translate gRPC Canceled code to Nexus HandlerErrorTypeInternal (#​1680)
2024-10-28 - 37d1775 - Support for mocking nexus operations (#​1666)
2024-10-28 - 4afb587 - Update-with-Start incompatible options (#​1690)

v1.29.1

Compare Source

What's Changed

Full Changelog: temporalio/sdk-go@v1.29.0...v1.29.1

v1.29.0

Compare Source

Highlights

Workflow Update-With-Start (Private Preview)

Note: This feature requires a server version 1.24+ and must be enabled. For self hosted you can set frontend.enableExecuteMultiOperation for Temporal Cloud please reach out to your Temporal account team or Temporal Support Team to enable update with start in your namespace.

This release add support for Workflow Update-With-Start. Update-With-Start allows users to send a Workflow Update request along with a Start Workflow request in the same RPC. Users can think of Update-With-Start as analogous to Signal-With-Start except for Updates instead of Signals. To create a Update with start request users call client.NewUpdateWithStartWorkflowOperation and pass it to WorkflowOptions.WithStartOperation .

Slot auto tuning (Private Preview)

  • Added WorkerOptions.Tuner which is a WorkerTuner composed of SlotSupplier s. These interfaces can be used to customize how the worker decides to make slots available for Workflow and Activity Tasks. Some default slot suppliers are included:

  • ResourceBasedSlotSupplier can be used to tune the workers slot count based on available memory and cpu resources. Make a ready-to-go WorkerTuner by using NewResourceBasedTuner. You can set a memory/cpu target and the worker will automatically try to reach those target usage levels.

  • FixedSizeSlotSupplier always hands out slots until an upper bound

  • CompositeTuner can be used to combine different kinds of SlotSuppliers to implement WorkerTuner.

Please give the resource based tuning a try and let us know how it works for you (feedback on community slack is welcome)! It'll work best if the worker is the only thing on your host using significant resources. Try setting the thresholds to a reasonable value like 0.8

Note: Resource based tuning and custom Slot Supplier implementations are currently considered experimental.

User Metadata (Public Preview)

Note: This feature requires a server version 1.25+

This release add support for user metadata inside Workflows. This lets users set custom metadata on Workflow executions and certain APIs inside workflow that will be visible on the UI

Currently the Go SDK support:

  • Fixed "summary" and "details" on workflow start
  • Details on timer names through workflow.NewTimerWithOptions
  • Details on signals, updates and query handlers through workflow.SignalChannelOptions, workflow.QueryHandlerOptions and workflow.UpdateHandlerOptions

See also: https://github.com/temporalio/features/issues/486

What's Changed

2024-07-23 - 9c40461 - Add utility to get metrics handler for a Nexus operation (#​1559)
2024-07-25 - bcc623d - Add support for managing schedule search attributes when when updating a schedule (#​1562)
2024-07-26 - 1f0296c - Support for WorkflowIdConflictPolicy (#​1563)
2024-07-29 - 2baa60e - Test duplicate rejected updates (#​1569)
2024-07-29 - 6bb8f99 - Add rule code to warning (#​1572)
2024-07-29 - dd28ced - Protect against legacy queries when state is destroyed (#​1568)
2024-08-05 - 9b9201f - Use correct branch when not a pull request (#​1578)
2024-08-05 - c5b519e - Build omes worker image w/ pending changes (#​1577)
2024-08-06 - [a1d05a6](https://


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Jul 8, 2025
@renovate renovate bot requested a review from a team as a code owner July 8, 2025 03:08
Copy link
Contributor Author

renovate bot commented Jul 8, 2025

ℹ Artifact update notice

File name: backend/go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 16 additional dependencies were updated

Details:

Package Change
github.com/envoyproxy/go-control-plane v0.12.0 -> v0.12.1-0.20240621013728-1eb8caab5155
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 -> v2.22.0
golang.org/x/net v0.37.0 -> v0.39.0
golang.org/x/sync v0.12.0 -> v0.13.0
google.golang.org/genproto/googleapis/api v0.0.0-20240415180920-8c6c420018be -> v0.0.0-20240827150818-7e3bb234dfed
google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be -> v0.0.0-20240827150818-7e3bb234dfed
google.golang.org/grpc v1.63.2 -> v1.66.0
google.golang.org/protobuf v1.33.0 -> v1.36.5
github.com/cespare/xxhash/v2 v2.2.0 -> v2.3.0
github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa -> v0.0.0-20240423153145-555b57ec207b
github.com/prometheus/client_model v0.5.0 -> v0.6.0
go.temporal.io/api v1.32.0 -> v1.49.1
golang.org/x/crypto v0.36.0 -> v0.37.0
golang.org/x/sys v0.31.0 -> v0.32.0
golang.org/x/term v0.30.0 -> v0.31.0
golang.org/x/text v0.23.0 -> v0.24.0

Copy link

This PR has been marked as stale after 7 or more days of inactivity. Please have a maintainer add the on hold label if this PR should remain open. If there is no further activity or the on hold label is not added, this PR will be closed in 3 days.

@github-actions github-actions bot added the stale Issue hasn't had activity in awhile label Jul 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file stale Issue hasn't had activity in awhile
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants