v1.21.0
What's Changed
Added
- Prerelease, Experimental: You can now configure external storage on your
DataConvertervia the newexternalStorageoption to offload large payloads out of Temporal Server. When set, payloads larger than the configuredpayloadSizeThresholdare stored via yourStorageDriver(s) and retrieved transparently, keeping large arguments, return values, and heartbeat details out of the Temporal Server database.ExternalStorageand theStorageDrivertypes 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.
ResourceBasedControllercan now be shared by resource-based tuners across multiple Workers in the same process.- Experimental New
@temporalio/strands-agentspackage for building workflows with Strand Agents. - Experimental:
@temporalio/openai-agentsnow 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]atWARN) but still sent, while a task completion over the error limit is failed retryably ([TMPRL1103]atERROR) 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 viaNativeConnectionOptions.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 settingdisablePayloadErrorLimit: trueon the worker. @temporalio/ai-sdknow 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.HandlerErrorvalues thrown by payload codecs and converters. temporal_worker_task_slots_usedno 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.
Fetched July 23, 2026

