Skip to content

Releases: temporalio/sdk-typescript

v1.17.0

30 Apr 22:20
b2ad2d3

Choose a tag to compare

Notable Changes

  • [lamba-worker, pre-release] New @temporalio/lambda-worker package (#1995) that wraps the full per-invocation lifecycle for running
    Temporal workers inside AWS Lambda (connect, create worker, poll, graceful shutdown). Now in pre-release!
  • [client, pre-release] 💥 Standalone Activities support (#2029). Activities can now be started directly from a Temporal Client, independent of any workflow. See https://docs.temporal.io/standalone-activity for documentation. Standalone Activity as a server feature is in Public Preview, but TS implementation is still pre-release.

Features

  • [worker] feat(metrics): add UpDownCounter to Buffered Metrics and RuntimeMetricMeter (#2007). First contribution from @gibbonjj! Thank you!

Bug Fixes

  • [workflow] fix(workflow): do not import @temporalio/proto from workflow code (#2010)
  • [worker] fix(worker): 'occured' -> 'occurred' in error log message (#2013). First contribution from @SAY-5! Thank you!

Chores / Cleanup

  • chore: prune pnpm deps overrides (#2012)
  • chore: enforce type only imports (#2015)
  • [ci]: Update and pin all GHA actions (#2016)
  • [core]: update submodule to sdk-rust (#2026)

Dependencies

  • [core, deps] bump sdk-core and protobufjs (#2011)
  • [core] core commit to latest (#2028)

New Contributors

Full Changelog: v1.16.0...v1.17.0

1.16.1

21 Apr 20:20
50f4d71

Choose a tag to compare

Bug Fixes

  • [workflow] Fix NDE when multiple patches in a single WFT exceed SA's 2048-byte limit (Core SDK #1225)

Full Changelog: v1.16.0...v1.16.1

1.16.0

09 Apr 23:29
54eb0c8

Choose a tag to compare

Notable Changes

  • 💥 The Nexus API has several breaking changes in this release; see items marked 💥 in the sections below. Of particular note: NexusClient has been renamed to NexusServiceClient (#1993), and NexusInboundCallsInterceptor now requires executeStartOperation and executeCancelOperation instead of the old generic execute method (#1979).

Features

  • [worker] Extend bundler to support pre-loading modules into the reusable V8 context via a new preloadModules option on BundleOptions/WorkerOptions.bundleOptions; pre-loaded modules are shared across workflow executions, reducing per-workflow memory and startup overhead (#1999)
  • [nexus] 💥 Add Nexus Inbound Interceptors — NexusInboundCallsInterceptor now exposes executeStartOperation and executeCancelOperation, replacing the previous generic execute interceptor (#1979)
  • [opentelemetry] 💥 Nexus OpenTelemetry support — adds inbound interceptors and distributed trace context propagation across Nexus service boundaries; renames interceptor I/O types from ExecuteNexusOperation* to NexusStartOperation*/NexusCancelOperation*, and adds RunStartNexusOperation and RunCancelNexusOperation span names (#1998)
  • [nexus] 💥 Nexus error serialization now uses Temporal ProtoFailure end-to-end, aligning with other SDKs; also fixes a JS bug where comma-separated case values in gRPC status code mapping silently matched only the last value (#1973)
  • [nexus] 💥 Rename NexusClient to NexusServiceClient in preparation for upcoming Nexus Standalone Operations (#1993)
  • [nexus] Add scheduleToStartTimeout and startToCloseTimeout options to the workflow Nexus client API (#1942)
  • [nexus] Standardize Nexus operation input deserialization error handling: payload codec decode failures are now surfaced as retryable INTERNAL handler errors, while payload converter failures remain non-retryable BAD_REQUEST; ApplicationFailure is passed through directly (#1949)
  • [nexus] Infer workflow result type from WorkflowRunOperationHandlerstartWorkflow now returns WorkflowHandle<WorkflowResultType<T>>, removing the need to explicitly type the handler (#1968)
  • [worker] Allow WorkerDeploymentOptions to omit defaultVersioningBehavior when useWorkerVersioning is false, enabling workers to report a build ID to the Temporal UI without opting into full worker versioning (#1963)
  • [worker] Propagate targetWorkerDeploymentVersionChanged and Continue-As-New suggested reasons for worker deployment versioning trampolining (#1972)

Bug Fixes

  • [client] Suppress spurious unhandled rejection from WithStartWorkflowOperation when executeUpdateWithStart fails before a response is received (#1990)
  • [opentelemetry] Do not mark CompleteAsyncError as a span error (#1989)
  • [opentelemetry] Avoid TypeError when user code throws a non-Error value (#1984)
  • [worker] Tolerate empty rootWorkflowExecution/parentWorkflowExecution objects from pre-v1.24 servers, preventing IllegalStateError on resumed workflows (#1969)
  • [ai] Use activityOptions in callTool proxy (#1954)

Dependencies

  • [core] Update sdk-core (#1959)
  • [deps] Bump vulnerable dependencies (#1957, #1988)
  • [deps] Bump rustls-webpki from 0.103.9 to 0.103.10 (#1978)
  • [deps] Bump quinn-proto from 0.11.13 to 0.11.14 (#1961)
  • [deps] Bump tar (#1976, #1946)

Breaking changes are marked with 💥

Full Changelog: v1.15.0...v1.16.0

1.15.0

18 Feb 18:51
6148da0

Choose a tag to compare

Notable Changes

  • ⚠️ Fixed potential request storms when worker is configured with poller autoscaling, due to missing exponential backoff on ResourceExhausted and other gRPC errors. See PRs temporalio/sdk-rust#1110 and temporalio/sdk-rust#1111 for more details.
  • 💥 Node.js 18 is no longer supported (#1930)
  • 🧪 Added experimental support for Bun runtime (#1906)

Features

  • [opentelemetry] Expose functionality as plugin (#1884)
  • [worker] Worker Connection Replacement (#1902)
  • [workflow] Nexus Cancellation Types (#1894)
  • [worker] Worker deployment versioning is now GA (#1924)
  • [envconfig] Environment configuration is now GA (#1924)
  • [testing] Add API to setup Nexus endpoint on ephemeral test server (#1897)
  • [nexus] Expose Temporal Nexus operation info to Temporal Nexus operation (#1896)
  • [bun] 🧪 Bun support - experimental (#1906)
  • [runtime] 🧪 Buffered metrics - experimental (#1922)

Bug Fixes

  • [worker] Add exponential backoff on ResourceExhausted and other gRPC errors in Poller autoscaler (#1938 and #1944)
  • [native] Correct native binding type for workerValidate (#1939)
  • [client] Expose operatorService on ConnectionLike interface (#1904)
  • [opentelemetry] Serialize TraceState before exporting to sink (#1891)
  • [opentelemetry] makeWorkflowExporter accepts SpanProcessor (#1886)
  • [ai] Add await to tool execution (#1882)
  • [ai] Description was missing from the derived mcp tools (#1905)
  • [ai] Fix a bug in AI SDK MCP Schema conversion (#1890)
  • [common] Make search attribute type more lenient when parsing (#1943)
  • [workflow] Allow logging queries validators during replay (#1927)
  • [ai] Add missing dependency to ai package (#1878)
  • [worker] Fix wf_task_replay_latency metric recording for non-replay tasks (#1083)
  • [worker] Always send shutdown_worker RPC, fix WorkerStatus state when shutting down worker (#1082)
  • [worker] Fix bug where we count first WFT as sticky cache hit (#1091)

Dependencies

  • 💥 Drop node 18 support (#1930)
  • [api] Update Temporal Protobuf APIs to v1.61.0 (#1100)
  • [deps] Bump vulnerable dependencies (hono, jws, tar, ...) (#1900)
  • [deps] Run cargo update (#1937)
  • [deps] Bump webpack from 5.94.0 to 5.104.1 (#1929)
  • Upgrade eslint (#1933)
  • [deps] Bump bytes from 1.10.1 to 1.11.1 in /packages/core-bridge (#1921)
  • [deps] Bump @modelcontextprotocol/sdk from 1.25.2 to 1.26.0 (#1928)
  • [deps] Bump tar from 7.5.3 to 7.5.7 (#1916)

Breaking changes are marked with 💥
Experimental features are marked with 🧪

Full Changelog: v1.14.1...v1.15.0

1.14.1

08 Jan 21:17
7eb312e

Choose a tag to compare

Minor Features

  • [ai-sdk] Upgrade to AI SDK v6 with embedding model support (#1865, thabnks @ItsWendell)

Bug Fixes

  • [workflow] Automatically cleanup AsyncLocalStorage on workflow context disposal (#1871)
  • [OpenTelemetry] Avoid lazy loading workflow package in interceptors (#1872)
  • Fix Env Config path to match docs (#1870)
  • Fix typos in heartbeat JSDoc (#1863, thanks @daveyarwood)

Security

  • Bump lru from 0.16.1 to 0.16.3 (#1873)

Full Changelog: v1.14.0...v1.14.1

1.14.0

18 Dec 17:07
2fbcbe7

Choose a tag to compare

Noteworthy Features

  • 🧪 [ai] Introduced (experimental) AI SDK Integration (#1792).
  • 💥 [client] TLS is enabled by default if an API key is provided (#1847). To disable TLS in that specific context, explicitly set tls: false.

Minor Features

  • [opentelemetry] Create spans for all interceptor events (#1835)
  • [worker] Enable Worker heartbeating (#1818). Worker heartbeating allows smoother server-side behaviors when a Worker is shut down or somehow become unreachable.

Bug Fixes

  • [worker] The reusable workflow executor now properly runs dispose interceptors (#1834, thanks @mnahkies 🙏).
  • [core-bridge] Include bridge macros rust package in core-bridge npm package to allow building from source (#1852, thanks @stathis-alexander 🙏)

Security

  • [@temporalio/create]: bump glob from 10.3.10 to 10.5.0 (#1828)

SDK-Core update

Commit temporalio/sdk-rust@bd02cce -> temporalio/sdk-rust@44a6576

Full Changelog: v1.13.2...v1.14.0

1.13.2

11 Nov 00:40

Choose a tag to compare

[1.13.2] - 2025-11-10

Note Worthy Features

  • (experimental) Plugins Implementation (#1794)
    • Plugins are a new way of providing easy configuration of workers and clients
  • (experimental) Introduce envconfig package (#1795)
    • envconfig provides a way to configure clients using TOML files

Minor Features

  • Create RawValue from direct payload using identity payload converter (#1806)
  • Add support for gRPC binary metadata values (#1791)
  • Make address of test server public (#1819)
  • Bump uuid to 11.1.0 (#1789, thanks to @TastyPi 🙏)

Bug Fixes

  • [otel] Mark peer dependencies as optional (#1812)
  • [otel] Remove await from OTEL handleSignal interceptor (#1803)

Security

  • Set explicit permissions for GitHub Actions workflows (#1815)

Notable Changes

  • Remove experimental notices from poller behavior (#1821)
  • Remove experimental notices from worker tuner APIs (#1797)

SDK-Core update

Commit 871b320 -> bd02cce:

1.13.1

08 Oct 20:27
9a67b06

Choose a tag to compare

[1.13.1] - 2025-10-08

Minor features

  • Eager Workflow Start (#1757)
  • Activity reset (#1730)

Bug Fixes

  • Added retry policy to activity info (#1788)
  • Don't set error status on otel spans for benign exceptions (#1786)

Vulnerabilities

  • Bump tracing-subscriber from 0.3.19 to 0.3.20 in /packages/core-bridge (#1780)

1.13.0

27 Aug 21:41
9089bc6

Choose a tag to compare

Note Worthy Features

  • [Experimental] Initial Nexus support (#1708)
  • [Experimental] Fairness Keys & Weights (#1768)
  • [Experimental] Expose Client on Activity Context (#1769)

Bug Fixes

  • Fix worker logs not getting flushed in Core log level set to ERROR (#1777)

New Contributors

Full Changelog: v1.12.3...v1.13.0

1.12.3

19 Aug 23:44
f9c94a5

Choose a tag to compare

[1.12.3] - 2025-08-19

Bug Fixes

  • Fix a recurring "Network error while sending worker heartbeat error due to PermissionDenied" warning messages in worker logs observed by Temporal Cloud users after upgrading to TS SDK 1.12.2 (#1766)
  • Fix "Critical dependency: the request of a dependency is an expression" warning message emitted by workflow bundler since TS SDK 1.12.2 (#1767).
  • Set default workflowExecution.runId to a UUID in MockActivityEnvironment (#1723, thanks @TastyPi).

Minor features

  • [Experimental] Activity pause/unpause (#1729)

Full Changelog: v1.12.2...v1.12.3