github temporalio/sdk-typescript v1.21.0

6 hours ago

What's Changed

Added

  • Prerelease, Experimental: You can now configure external storage on your DataConverter via the new
    externalStorage option to offload large payloads out of Temporal Server. When set, payloads larger
    than the configured payloadSizeThreshold are stored via your StorageDriver(s) and retrieved
    transparently, keeping large arguments, return values, and heartbeat details out of the Temporal Server
    database. ExternalStorage and the StorageDriver types are exported from @temporalio/common.
  • Prerelease, Experimental: AWS S3 external storage driver: This release introduces a
    package which
    can be used with external storage to offload large payloads to S3 buckets in AWS instead of inlining them
    into workflow history.
  • Prerelease, Experimental: GCP GCS external storage driver: This release introduces a
    package which
    can be used with external storage to offload large payloads to GCS buckets in GCP instead of inlining them
    into workflow history.
  • ResourceBasedController can now be shared by resource-based tuners across multiple Workers in the same process.
  • Experimental New @temporalio/strands-agents package for building workflows with Strand Agents.
  • Experimental: @temporalio/openai-agents now supports streaming model events from Workflows.

Breaking Changes

  • By default, workers now proactively validate outbound payload/memo sizes before sending: a field
    over the warn threshold is logged
    ([TMPRL1103] at WARN) but still sent, while a task completion over the error limit is failed
    retryably ([TMPRL1103] at ERROR) instead of sent. Previously these reached the server, which
    terminated the workflow or failed the activity non-retryably; failing retryably instead lets a
    corrected workflow or activity be redeployed and recover. Tune warn thresholds via
    NativeConnectionOptions.payloadLimits. If you use a proxy between the worker and server that
    alters the size of payloads (e.g. compression, encryption, external storage), it is advised that
    you disable size enforcement by setting disablePayloadErrorLimit: true on the worker.
  • @temporalio/ai-sdk now targets Vercel AI SDK v7, requiring Node 22.12.0+.

Changed

  • User metadata fields (staticSummary, staticDetails, currentDetails, activity summary, timer
    summary) are no longer marked as experimental.

Fixed

  • Nexus operation handlers now preserve nexus.HandlerError values thrown by payload codecs and converters.
  • temporal_worker_task_slots_used no longer counts reserved but unused task slots as in use.
  • When worker heartbeats are enabled, host CPU and memory are sampled at the configured heartbeat interval rather than every 100ms.

Don't miss a new sdk-typescript release

NewReleases is sending notifications on new releases.