Trigger.dev v4.5.15

v4.5.15

trigger.dev v4.5.15

Added 1
  • 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)
Changed 2
  • 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.ts sources were being emitted into dist, adding dead weight to every install and leaving modules that require("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) (or chat.channel(name) inside a chat.agent) to get an .in/.out pair addressed by name rather than the reserved default pair. Writing a side channel's .in does 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, including useSessionStreamChannel in React. Channels get a default retention that keeps them bounded, overridable per channel.

  • Session triggerConfig.tags now accepts up to 10 tags, matching the run tag limit. Previously it was capped at 5, which for chat.agent left room for only 4 of your own tags after the automatic chat:{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

View original

Upgraded? How did it go?

Discussion