Skip to content

chore(deps): bump go.temporal.io/sdk from 1.48.0 to 1.49.0 - #95

Merged
duynhne merged 2 commits into
mainfrom
dependabot/go_modules/go.temporal.io/sdk-1.49.0
Oct 2, 2026
Merged

duynhne merged 2 commits into
mainfrom
dependabot/go_modules/go.temporal.io/sdk-1.49.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

Bumps go.temporal.io/sdk from 1.48.0 to 1.49.0.

Release notes

Sourced from go.temporal.io/sdk's releases.

v1.49.0

Highlights

Standalone Activities are now GA

With the following updates, Standalone Activities are now generally available (GA)!

  • Renamed the standalone activity client.StartActivityOptions.Details option to StaticDetails, and client.ActivityExecutionDescription.GetDetails to GetStaticDetails.
  • Added missing description fields: ExecutionTime and TotalHeartbeatCount.
  • Corrected stand-alone activity API documentation to use activity terminology, document that GetActivityHandleOptions.RunID may be empty to target the latest run, and describe TerminateActivityOptions.Reason as a termination reason.
  • Added opt-in payload fields to client.DescribeActivityOptions: IncludeInput, IncludeOutcome, IncludeHeartbeatDetails and IncludeLastFailure.
  • Standalone activity client calls now supply converter.ActivitySerializationContext when encoding and decoding activity payloads: ExecuteActivity (input and static summary/details), ActivityHandle.Describe (heartbeat details, last failure, and static summary/details), and ActivityHandle.Get (result and failure).
  • Standalone activities started from a redelivered Nexus operation handler now reuse the Nexus request ID, preventing duplicate Nexus links when an idempotent start resolves to the original run.
  • client.ActivityHandle now supports operator commands for standalone activities: Pause, Unpause, UpdateOptions and RestoreOriginalOptions. Operator commands remain experimental.
  • Standalone Activities as Nexus operations remain experimental.

Local Activity memory savings

Local activity scheduling no longer uses a fixed 100,000-entry task queue. The queue now grows with demand, avoiding both the up-front allocation and a possible worker deadlock when the queue and all local activity execution slots were full.

Other Notable Changes

Added

  • Worker heartbeats now report the Go runtime version (plus RoadRunner, when the SDK is embedded in a RoadRunner binary), detected hosting environments (Docker, Kubernetes, and common cloud platforms), and the operating system and architecture. This is sent once per worker with the first heartbeat accepted by the server and can be turned off with client.Options.DisableWorkerEnvironmentInfo.
  • Added converter.NexusSerializationContext support for Nexus callers and handlers. Callers use it for inputs, results, and failures; handlers use it for inputs, synchronous results, and failures. Asynchronous handler results and detached standalone handles are not yet supported. Standalone USE_EXISTING handles use their start request's context.
  • Added temporal.NewPayloadValidationError to create non-retryable application errors with optional structured details for payload validation failures. Passing nil omits details.
  • Added Go 1.27+ generic methods on the experimental temporalnexus.NexusClient for starting workflow-, activity-, and workflow-update-backed Nexus operations.
  • Workflow task completions larger than the gRPC request size limit are now paginated automatically when the namespace supports it. Paginated workflow task completions require Temporal Server 1.32.0 or later.

... (truncated)

Changelog

Sourced from go.temporal.io/sdk's changelog.

[1.49.0] - 2026-09-14

Added

  • Worker heartbeats now report the Go runtime version (plus RoadRunner, when the SDK is embedded in a RoadRunner binary), detected hosting environments (Docker, Kubernetes, and common cloud platforms), and the operating system and architecture. This is sent once per worker with the first heartbeat accepted by the server and can be turned off with client.Options.DisableWorkerEnvironmentInfo.
  • Standalone activity client calls now supply converter.ActivitySerializationContext when encoding and decoding activity payloads: ExecuteActivity (input and static summary/details), ActivityHandle.Describe (heartbeat details, last failure, and static summary/details), and ActivityHandle.Get (result and failure).
  • Added converter.NexusSerializationContext support for Nexus callers and handlers. Callers use it for inputs, results, and failures; handlers use it for inputs, synchronous results, and failures. Asynchronous handler results and detached standalone handles are not yet supported. Standalone USE_EXISTING handles use their start request's context.
  • Added temporal.NewPayloadValidationError to create non-retryable application errors with optional structured details for payload validation failures. Passing nil omits details.
  • Added Go 1.27+ generic methods on the experimental temporalnexus.NexusClient for starting workflow-, activity-, and workflow-update-backed Nexus operations.
  • Workflow task completions larger than the gRPC request size limit are now paginated automatically when the namespace supports it. Paginated workflow task completions require Temporal Server 1.32.0 or later.
  • The temporal_activity_execution_failed and temporal_local_activity_execution_failed worker metrics now carry a failure_reason attribute. Each is now split into one time series per reason, which may affect existing dashboards.
  • Added support for Workflow Queries as Nexus Operations.

Standalone Activity operator commands

  • client.ActivityHandle now supports operator commands for standalone activities: Pause, Unpause, UpdateOptions and RestoreOriginalOptions.
  • Added opt-in payload fields to client.DescribeActivityOptions: IncludeInput, IncludeOutcome, IncludeHeartbeatDetails and IncludeLastFailure.
  • Added missing description fields: ExecutionTime and TotalHeartbeatCount.

Changed

  • Standalone Activities are now generally available (GA). (Standalone Activities as Nexus operations and Standalone Activities operator commands remain experimental. Operator commands are pause, unpause, updateOptions, restoreOriginal.)

💥 Breaking Changes

  • Description payload fields that previously came back unconditionally are now opt-in and must be requested via client.DescribeActivityOptions: GetHeartbeatDetails (IncludeHeartbeatDetails) and GetLastFailure (IncludeLastFailure).
  • Renamed the standalone activity client.StartActivityOptions.Details option to StaticDetails, and client.ActivityExecutionDescription.GetDetails to GetStaticDetails.

... (truncated)

Commits

@dependabot @github

dependabot Bot commented on behalf of github Sep 18, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: dependencies, go. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot
dependabot Bot requested a review from duynhne as a code owner September 18, 2026 06:47
@dependabot
dependabot Bot force-pushed the dependabot/go_modules/go.temporal.io/sdk-1.49.0 branch from 1da1156 to 56ead37 Compare September 23, 2026 10:15
@dependabot
dependabot Bot force-pushed the dependabot/go_modules/go.temporal.io/sdk-1.49.0 branch from 56ead37 to 12b28b5 Compare September 24, 2026 05:30
@duynhne

duynhne commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

Hold — not merged in the 2026-09-28 bot-PR sweep. Temporal Go SDK v1.49.0 has a Breaking Changes section: minimum Go 1.26.0, and description payload fields that used to come back unconditionally are now opt-in. Workflow replay caching also changes. Retest: saga + cancellation + worker versioning drill (local-stack A12/A14/A15, k6 saga) before merging.

Bumps [go.temporal.io/sdk](https://github.com/temporalio/sdk-go) from 1.48.0 to 1.49.0.
- [Release notes](https://github.com/temporalio/sdk-go/releases)
- [Changelog](https://github.com/temporalio/sdk-go/blob/main/CHANGELOG.md)
- [Commits](temporalio/sdk-go@v1.48.0...v1.49.0)

---
updated-dependencies:
- dependency-name: go.temporal.io/sdk
  dependency-version: 1.49.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/go_modules/go.temporal.io/sdk-1.49.0 branch from 12b28b5 to cec3b19 Compare September 28, 2026 03:01
@duynhne

duynhne commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Pre-merge check for SDK 1.49.0 (G3/G4 in duynhlab/homelab#1107):

  • GOTOOLCHAIN=go1.27.1 go test -race ./... on this branch passes in all 7 packages.
  • TestReplayRecordedHistories replays the gen1 corpus.
  • None of the 1.49 breaking changes reach this repo. It never calls DescribeActivity, has no context-aware converter or codec, runs no local activities and does not use WorkflowRandomStream.

Merge after duynhlab/homelab#1191 (server 1.32.0).

@sonarqubecloud

sonarqubecloud Bot commented Oct 2, 2026

Copy link
Copy Markdown

@duynhne
duynhne merged commit 8afc665 into main Oct 2, 2026
12 checks passed
@duynhne
duynhne deleted the dependabot/go_modules/go.temporal.io/sdk-1.49.0 branch October 2, 2026 05:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant