Skip to content

trigger.dev v4.5.4

Latest

Choose a tag to compare

@github-actions github-actions released this 14 Jul 09:12
1659557

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

Release notes

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

What's changed

Breaking changes

  • Trigger.dev v3 is no longer supported. For self-hosted deployments, 4.5.0 is the last version we officially support for running v3; stay on 4.5.0 or upgrade to v4. v3 triggers, batch triggers, reschedules, and deploys now return a clear upgrade message instead of running. (#4236)

Improvements

  • You can now mark environment variables synced via the syncEnvVars build extension as secrets. Return { name, value, isSecret: true } from your callback and those variables are stored redacted in the dashboard, just like manually created secret env vars. (#4203)
  • Remove the legacy --mcp and --mcp-port options from the dev command. Run the dedicated trigger mcp command to start the Trigger.dev MCP server. (#4246)
  • Removed the unused ResourceMonitor export from @trigger.dev/core/v3/serverOnly. It was a server-side logging helper with no remaining consumers. (#4244)
  • Removed the unused @trigger.dev/core/v3/zodNamespace export and the legacy v3 socket message schemas. These were only used by the now-retired v3 engine and have no v4 consumers. (#4236)

Bug fixes

  • Fix a chat.agent message-loss race where sending a message right after an action (such as an undo) could drop the follow-up's response from the UI until a refresh. (#4234)

Server changes

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

  • Added EVENT_REPOSITORY_POSTGRES_WRITES_DISABLED to skip all PostgreSQL task-event writes for deployments that store task events in ClickHouse. Leave it off unless EVENT_REPOSITORY_DEFAULT_STORE is clickhouse_v2, otherwise task events are lost. (#4242)
  • Promo credits: a /promo signup landing page, redeeming a promo code when a new org selects a plan, and showing remaining credits on the usage page. (#4138)
  • Speed up retrieving a background worker by version. The endpoint no longer runs a slow lookup that scanned the full task table for large deployments; it now reuses data it already loads, so the response is the same but returns much faster. (#4245)
  • Clearer login error when an email address is blocked by the WHITELISTED_EMAILS setting: the message now explains the address isn't allowed on this instance instead of the ambiguous "This email is unauthorized". (#4220)
  • Make the native build server the default in project build settings. It's now opt-out, stored as a new disableNativeBuildServer key. Also clarifies in the UI that build settings apply to GitHub-triggered and native build server deployments. (#3980)
  • Optionally process high-volume telemetry ingestion in parallel for higher throughput under heavy load by setting OTEL_TRANSFORM_WORKER_POOL_ENABLED=1. Off by default. (#4232)
  • Add a REALTIME_BACKEND_DEFAULT env var to choose the default realtime backend (electric, native, or shadow) for environments whose org has no per-org override. Defaults to electric, so existing behavior is unchanged. (#4231)
  • Clarified on the Regions page that a region only affects where your runs execute, not where your data is stored. This shows as a tooltip on the Location column and in the confirmation dialog when you change your default region. (#4226)
  • Improved the reliability of how run data is read and written. (#4237)
  • Fixed stale login errors: an error from a previous login attempt (for example a rejected email address) no longer keeps reappearing on the login page and no longer makes later, successful attempts look like they failed. (#4220)
  • The Errors page now shows better details for each error. Errors that don't carry a message — such as errors thrown without a message, or values thrown that aren't Error objects — get a meaningful title instead of all reading "Unknown error", and are grouped by their name (or value) rather than collapsed into a single group. The error type now shows the actual error name, and stack traces now appear where previously they were missing. (#4225)
  • Return a clear client error when SSO form submissions use an unsupported content type (#4238)
  • Query page: extracting fields from a run's output with JSON functions (such as JSONExtractString or JSONExtractInt) no longer fails with an "illegal type: JSON" error. (#4221)

All packages: v4.5.4

@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, Eric Allam, @d-cs, Matt Aitken, @isshaddad, github-actions[bot], @nicktrn, Saadi Myftija, Oskar Otwinowski, @D-K-P, claude[bot], Wes Mason, James Ritchie

Full changelog: v4.5.3...v4.5.4