Chat message loss fixed; large batches offload to object storage
v4.5.2
Upgrade
npx trigger.dev@latest update # npm
pnpm dlx trigger.dev@latest update # pnpm
yarn dlx trigger.dev@latest update # yarn
bunx trigger.dev@latest update # bun
Self-hosted Docker image: ghcr.io/triggerdotdev/trigger.dev:v4.5.2
Release notes
Read the full release notes: https://trigger.dev/changelog/v4-5-2
What's changed
Improvements
-
Add SDK and API client helpers for run bulk actions. (#4105)
-
Large batch payloads now offload to object storage instead of riding inline in the trigger request.
batchTriggerandbatchTriggerAndWait(and the by-id and by-task variants) offload any per-item payload over 128KB before sending, the same way singletriggerandtriggerAndWaitalready do, so a big batch no longer blows past the API body limit. (#4165) -
Removed internal helpers that were only used by the end-of-life v3 self-hosted compute providers. (#4194)
-
Add an
onEventcallback toTriggerChatTransport/useTriggerChatTransportthat emits typed lifecycle events for sends, stream connects, first chunk, and turn completion. Send-success metrics, time-to-first-token, and "sent but never answered" watchdogs become a few lines of client code. (#4187)onEvent: (event) => { if (event.type === "message-sent") metrics.timing("chat.send_ms", event.durationMs); if (event.type === "first-chunk") metrics.timing("chat.ttft_ms", event.sinceSendMs ?? 0); },
Bug fixes
- fix(cli): honor the MCP server's
--dev-onlyflag (#4199) - Fix chat turns that throw (for example from an
onTurnStarthook) leaking their message listener, which lost or duplicated messages sent during later turns. (#4176) - Fix
chat.agentandchat.createSessionpermanently dropping user messages when several arrived during a single turn: every buffered message is now dispatched as its own turn instead of only the first. (#4176) - Fix chat continuation runs replaying already-answered messages: turns delivered while the run was suspended now advance the session.in resume cursor, so a new run picks up exactly where the previous one left off. (#4176)
- Fix
chat.createSessionswallowing a message sent shortly after stopping a turn: the turn's message listener now detaches when the stream settles, so those messages run as the next turn. (#4176)
All packages: v4.5.2
@trigger.dev/build, @trigger.dev/core, @trigger.dev/python, @trigger.dev/react-hooks, @trigger.dev/redis-worker, @trigger.dev/rsc, @trigger.dev/schema-to-json, @trigger.dev/sdk, trigger.dev
Contributors
Chris Arderne, Matt Aitken, Eric Allam, James Ritchie, @nicktrn, @d-cs, Katia Bulatova, Wes Mason, github-actions[bot], @isshaddad, @D-K-P, claude[bot]
Full changelog: https://github.com/triggerdotdev/trigger.dev/compare/v4.5.1...v4.5.2
Fetched July 9, 2026


