Trigger.dev v4.5.4

v3 engine removed, syncEnvVars secret marking, and a fix for chat.agent message drops.

1 breaking change, 4 improvements, 1 bug fix, and 13 server changes.

Highlights

v3 support removed

Trigger.dev v3 is no longer supported in v4.5.4+. For self-hosted deployments, 4.5.0 is the last version with v3 support. v3 triggers, batch triggers, reschedules, and deploys now return a clear upgrade message instead of executing silently. (#4236)

Secret env vars via syncEnvVars

The syncEnvVars build extension now lets you mark synced variables as secrets. Return isSecret: true alongside any variable and it's stored redacted in the dashboard, the same as manually created secret env vars.


syncEnvVars(async () => {
return [
{ name: "MY_API_KEY", value: await fetchSecret(), isSecret: true },
{ name: "PUBLIC_URL", value: "https://example.com" },
];
});

(#4203)

Improvements

  • Removed the --mcp and --mcp-port flags from the dev command. Run trigger mcp to start the MCP server instead. (#4246)
  • Removed the unused ResourceMonitor export from @trigger.dev/core/v3/serverOnly. (#4244)
  • Removed the unused @trigger.dev/core/v3/zodNamespace export and legacy v3 socket message schemas, which had no v4 consumers. (#4236)

Bug fixes

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

Server changes

These changes are included in the v4.5.4 Docker image and are already live on Trigger.dev Cloud:

  • Added EVENT_REPOSITORY_POSTGRES_WRITES_DISABLED to skip all PostgreSQL task-event writes for deployments using ClickHouse as the event store. Only enable if EVENT_REPOSITORY_DEFAULT_STORE is clickhouse_v2, otherwise task events are lost. (#4242)
  • Added a promo code system: a /promo signup landing page, promo code redemption when a new org selects a plan, and remaining credits shown on the usage page. (#4138)
  • Background worker lookups by version are faster. The endpoint now reuses data it already loads instead of scanning the full task table. (#4245)
  • Clearer login error when an email is blocked by WHITELISTED_EMAILS: the message now says the address isn't permitted on this instance instead of "This email is unauthorized". (#4220)
  • The native build server is now opt-out by default. Project build settings store this as disableNativeBuildServer. The UI also clarifies that build settings apply to GitHub-triggered and native build server deployments. (#3980)
  • Added OTEL_TRANSFORM_WORKER_POOL_ENABLED=1 to process high-volume telemetry ingestion in parallel for higher throughput under heavy load. Off by default. (#4232)
  • Added REALTIME_BACKEND_DEFAULT env var to set the default realtime backend (electric, native, or shadow) for environments without a per-org override. Defaults to electric, so existing behavior is unchanged. (#4231)
  • Clarified on the Regions page that a region only affects where runs execute, not where data is stored. Shown as a tooltip on the Location column and in the region-change confirmation dialog. (#4226)
  • Improved reliability of run data reads and writes. (#4237)
  • Fixed stale login errors: a rejected email from a prior attempt no longer persists on the login page or makes later successful attempts appear to have failed. (#4220)
  • Errors page now shows better detail for errors without a message. Errors thrown without a message, or non-Error values, get a meaningful title instead of "Unknown error", are grouped by name or value, and include stack traces where previously they were missing. (#4225)
  • Return a clear client error when SSO form submissions use an unsupported content type. (#4238)
  • Query page: JSONExtractString, JSONExtractInt, and similar JSON functions no longer fail with "illegal type: JSON". (#4221)

How to upgrade

Update the trigger.dev/* packages to v4.5.4 using your package manager:


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 users: update your Docker image to ghcr.io/triggerdotdev/trigger.dev:v4.5.4.

Ready to start building?

Build and deploy your first task in 3 minutes.

Get started now