Skip to content

trigger.dev v4.5.7

Latest

Choose a tag to compare

@github-actions github-actions released this 23 Jul 06:34
e9ac98b

trigger.dev v4.5.7

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.7

Release notes

Read the full release notes: https://trigger.dev/changelog/v4-5-7

What's changed

Improvements

  • Add node-24 and node-26 as supported runtime options in trigger.config.ts. The experimental-node-24 and experimental-node-26 names are now deprecated aliases and emit a deprecation warning; switch to node-24 / node-26 instead. (#4337)

    import { defineConfig } from "@trigger.dev/sdk";
    
    export default defineConfig({
    runtime: "node-24",
    project: "<your-project-ref>",
    });
  • Avoid logging task run environment variable values at debug level (#4336)

  • Custom chat agent loops get two ergonomic wins for owning the turn loop. (#4304)

    chat.writeTurnComplete() now returns the turn boundary's resume cursors (lastEventId for the output stream and sessionInEventId for the input stream), so you can persist them straight from the task instead of round-tripping them back from the client.

    const { lastEventId, sessionInEventId } = await chat.writeTurnComplete();
    await db.chats.update(chatId, { lastEventId, sessionInEventId });

    chat.pipeAndCapture() no longer throws when a stream is stopped or fails. It now returns a PipeAndCaptureResult whose message holds any partial output captured before the stop or failure, alongside a typed status ("complete" | "aborted" | "error") and, on failure, the error. Read the message off the result:

    const { message, status, error } = await chat.pipeAndCapture(result, {
    signal,
    });
    if (message) conversation.addResponse(message);
    if (status === "error") logger.error("turn failed", { error });

    Note: pipeAndCapture previously resolved to UIMessage | undefined. Update call sites to read .message from the returned result.

  • Suppress a build-time warning that could appear in Vite-based projects when the optional @ai-sdk/otel package is not installed. (#4188)

Bug fixes

  • Fixes intermittent trigger dev run crashes where a run could fail at boot with a cryptic Cannot find module .../dev-run-worker.mjs after a rebuild had cleaned up the build directory the run was launched against. Dev runs now retry cleanly instead of hard-crashing when their build directory is missing, the dev watchdog no longer removes the build tree of a still-running session, and a run assigned to a worker version that was superseded by a rebuild now fails fast with a clear message instead of silently hanging until it times out. (#4276)

Server changes

These changes affect the self-hosted Docker image and Trigger.dev Cloud:

  • Refreshed the side menu: separate organization and account menus, a new project switcher, and the menu is now resizable by dragging its edge. The account Profile page has also been redesigned. (#4066)
  • Allow different organization members to use the same development branch name without sharing or colliding with each other's branch environments. (#4323)
  • Limit account settings email input to 254 characters. (#4330)
  • Prevent duplicate Staging and Preview environments when account setup requests overlap (#4261)
  • Fix the docs link on the empty Prompts page, which pointed to a page that no longer exists. (#4247)

All packages: v4.5.7

@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, James Ritchie, Matt Aitken, Katia Bulatova, @nicktrn, github-actions[bot], Eric Allam, @D-K-P

Full changelog: v4.5.6...v4.5.7