trigger.dev v4.5.15
- Named side channels on a Session for durable, two-way realtime streams that outlive a single run and are shared across runs, opened with sessions.open(id).channel(name) or chat.channel(name)
- Stop shipping compiled test files in the published packages to reduce package size and remove vitest dependency from tarballs
- Session triggerConfig.tags now accepts up to 10 tags instead of 5 to match the run tag limit
From Trigger.dev
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.15
Release notes
Read the full release notes: https://trigger.dev/changelog/v4-5-15
What's changed
Improvements
-
Stop shipping compiled test files in the published packages. The
*.test.tssources were being emitted intodist, adding dead weight to every install and leaving modules thatrequire("vitest")(not a dependency) inside the tarball, which tripped tooling that walks every file in a package. (#4833) -
Named side channels on a Session: durable, two-way realtime streams that outlive a single run and are shared across runs. Open a channel with
sessions.open(id).channel(name)(orchat.channel(name)inside achat.agent) to get an.in/.outpair addressed by name rather than the reserved default pair. Writing a side channel's.indoes not wake or trigger a run, so a channel can carry out-of-band data (a stream of frames, a control signal) that many clients read while the agent produces it. (#4815)// Inside a chat.agent: stream frames on a named channel, wakes nothing const frames = chat.channel("screenshots"); await frames.out.append(frame); frames.in.on((control) => { /* client control, no suspend */ });Declare channel record types once with
sessions.defineChannel(...)and infer them on both the producer and the consumer, includinguseSessionStreamChannelin React. Channels get a default retention that keeps them bounded, overridable per channel. -
Session
triggerConfig.tagsnow accepts up to 10 tags, matching the run tag limit. Previously it was capped at 5, which forchat.agentleft room for only 4 of your own tags after the automaticchat:{chatId}tag. (#4832)
All packages: v4.5.15
@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
Matt Aitken, github-actions[bot], Saadi Myftija, claude[bot], Eric Allam, James Ritchie
Full changelog: https://github.com/triggerdotdev/trigger.dev/compare/v4.5.14...v4.5.15