What's Changed
Added
- Prerelease, Experimental: You can now configure external storage on your
DataConvertervia the new
externalStorageoption 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 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 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.