# Trigger.dev v4.5.4 — trigger.dev v4.5.4 - Product: Trigger.dev (https://whatsnew.fyi/product/trigger-dev) - Vendor: Trigger.dev - Date: 2026-07-14 - Version: v4.5.4 - Original notes: https://github.com/triggerdotdev/trigger.dev/releases/tag/v4.5.4 - Permalink: https://whatsnew.fyi/product/trigger-dev/releases/v4.5.4 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **removed** — Trigger.dev v3 is no longer supported; v3 triggers, batch triggers, reschedules, and deploys now return a clear upgrade message instead of running - **added** — Mark environment variables synced via the syncEnvVars build extension as secrets by returning { name, value, isSecret: true } from your callback - **removed** — Remove the legacy --mcp and --mcp-port options from the dev command in favor of the dedicated trigger mcp command - **removed** — Remove the unused ResourceMonitor export from @trigger.dev/core/v3/serverOnly - **removed** — Remove the unused @trigger.dev/core/v3/zodNamespace export and the legacy v3 socket message schemas - **fixed** — Fix a chat.agent message-loss race where sending a message right after an action could drop the follow-up's response from the UI until a refresh - **added** — Add EVENT_REPOSITORY_POSTGRES_WRITES_DISABLED env var to skip all PostgreSQL task-event writes for deployments that store task events in ClickHouse - **added** — Add promo credits feature with a /promo signup landing page, redeeming a promo code when a new org selects a plan, and showing remaining credits on the usage page - **changed** — Speed up retrieving a background worker by version by reusing already-loaded data instead of scanning the full task table - **changed** — Clarify login error message when an email address is blocked by WHITELISTED_EMAILS setting - **changed** — Make the native build server the default in project build settings, now opt-out with a disableNativeBuildServer key - **added** — Optionally process high-volume telemetry ingestion in parallel by setting OTEL_TRANSFORM_WORKER_POOL_ENABLED=1 - **added** — Add REALTIME_BACKEND_DEFAULT env var to choose the default realtime backend (electric, native, or shadow) - **changed** — Clarify on the Regions page that a region only affects where runs execute, not where data is stored - **changed** — Improve the reliability of how run data is read and written - **fixed** — Fix stale login errors that reappear on the login page and make later successful attempts look like they failed - **changed** — Show better details on the Errors page with meaningful titles for errors without messages and grouping by error name - **fixed** — Return a clear client error when SSO form submissions use an unsupported content type - **fixed** — Fix Query page error when extracting fields from a run's output with JSON functions ##### Upgrade ```sh 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`](https://github.com/triggerdotdev/trigger.dev/pkgs/container/trigger.dev/1028583537?tag=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](https://github.com/triggerdotdev/trigger.dev/pull/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](https://github.com/triggerdotdev/trigger.dev/pull/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](https://github.com/triggerdotdev/trigger.dev/pull/4246)) - Removed the unused `ResourceMonitor` export from `@trigger.dev/core/v3/serverOnly`. It was a server-side logging helper with no remaining consumers. ([#4244](https://github.com/triggerdotdev/trigger.dev/pull/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](https://github.com/triggerdotdev/trigger.dev/pull/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](https://github.com/triggerdotdev/trigger.dev/pull/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](https://github.com/triggerdotdev/trigger.dev/pull/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](https://github.com/triggerdotdev/trigger.dev/pull/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](https://github.com/triggerdotdev/trigger.dev/pull/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](https://github.com/triggerdotdev/trigger.dev/pull/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](https://github.com/triggerdotdev/trigger.dev/pull/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](https://github.com/triggerdotdev/trigger.dev/pull/4232)) - Add a `REALTIME_BACKEND_DEFAULT` env var to choose the default realtime backend (`el _[Truncated at 4000 characters — full notes: https://github.com/triggerdotdev/trigger.dev/releases/tag/v4.5.4]_