# Trigger.dev v4.5.10 — trigger.dev v4.5.10 - Product: Trigger.dev (https://whatsnew.fyi/product/trigger-dev) - Vendor: Trigger.dev - Date: 2026-08-07 - Version: v4.5.10 - Original notes: https://github.com/triggerdotdev/trigger.dev/releases/tag/v4.5.10 - Permalink: https://whatsnew.fyi/product/trigger-dev/releases/v4.5.10 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'. --- - **added** — Allow task-scoped environment API keys to run batch operations for their permitted tasks - **added** — Export additional-key format helper from @trigger.dev/core/v3/apiKeys - **changed** — Refresh package builds for TypeScript 7 compatibility while preserving existing runtime entry points - **changed** — AgentChat.reconnect() now settles promptly when reconnecting to an idle chat instead of holding the connection open for the full long-poll window - **changed** — Upgrade S2 streamstore client to 0.25 and move realtime streams to S2's current hosts - **added** — Allow choosing the region a run executes in when triggering a task through the MCP server - **changed** — Retry transient connection errors when a run starts for longer so a brief connectivity blip no longer delays its first attempt - **fixed** — Fix debounce to work when passing an array of items to batchTrigger or batchTriggerAndWait and when triggering from useTaskTrigger - **fixed** — Fix a chunk occasionally dropped when a chat.agent run takes over from the warm first turn - **fixed** — Fix a preloaded chat.agent run dropping an in-flight message when it retries after an out-of-memory error - **added** — Allow self-hosted deployments to create multiple full-access API keys for each environment - **added** — Short links like /_/apikeys now take you straight to that page in your current project and environment - **changed** — Dashboard gets a refreshed Dark theme as its new default look with Light, System preference, and Classic options available - **added** — Additional environment API keys can now create scoped public access tokens - **changed** — Additional environment API keys can authenticate API requests using their configured permissions with revoked and expired keys rejected - **added** — Self-hosted Kubernetes deployments can now add tolerations to run pods - **changed** — Lower background database load during deployments and dev sessions for projects that use declarative schedules - **changed** — Triggering a task now does one fewer database write so runs reach the queue slightly faster - **changed** — Creating or updating a schedule and deploying a project with declarative schedules is faster in long-lived projects with many deploys #### trigger.dev v4.5.10 ##### 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.10`](https://github.com/triggerdotdev/trigger.dev/pkgs/container/trigger.dev/1108758079?tag=v4.5.10) ##### Release notes Read the full release notes: https://trigger.dev/changelog/v4-5-10 ##### What's changed ##### Highlights - Allow task-scoped environment API keys to run batch operations for their permitted tasks. The SDK declares the batch's task set before creation, and `@trigger.dev/core/v3/apiKeys` now exports the additional-key format helper. ([#4389](https://github.com/triggerdotdev/trigger.dev/pull/4389)) ##### Improvements - Refresh package builds for TypeScript 7 compatibility while preserving existing runtime entry points. Projects using `emitDecoratorMetadata()` with TypeScript 7 can install the `@typescript/typescript6` compatibility package alongside it; the package remains optional, so installing the Trigger.dev CLI does not install an additional compiler. ([#4318](https://github.com/triggerdotdev/trigger.dev/pull/4318)) - `AgentChat.reconnect()` now settles promptly when reconnecting to an idle chat instead of holding the connection open for the full long-poll window. Also upgrades the S2 streamstore client to 0.25 and moves realtime streams to S2's current hosts. ([#4349](https://github.com/triggerdotdev/trigger.dev/pull/4349)) - You can now choose the region a run executes in when triggering a task through the MCP server. ([#4439](https://github.com/triggerdotdev/trigger.dev/pull/4439)) - Transient connection errors when a run starts are now retried for longer, so a brief connectivity blip no longer sends the run back through the queue and delays its first attempt. ([#4441](https://github.com/triggerdotdev/trigger.dev/pull/4441)) - `debounce` now works when you pass an array of items to `batchTrigger` or `batchTriggerAndWait`, and when you trigger from `useTaskTrigger`. Previously the option was accepted by the types and dropped before the request was sent, so every trigger created its own run instead of collapsing onto the debounce key. ([#4520](https://github.com/triggerdotdev/trigger.dev/pull/4520)) ```ts await myTask.batchTrigger([ { payload: { id: "a" }, options: { debounce: { key: "same-key", delay: "30s" } }, }, { payload: { id: "b" }, options: { debounce: { key: "same-key", delay: "30s" } }, }, ]); ``` The streaming (async iterable) forms of the batch calls were already forwarding `debounce` correctly. ##### Bug fixes - Fix a chunk occasionally dropped when a chat.agent run takes over from the warm first turn. The realtime stream writer now reports the inclusive last-written position as the resume cursor, so the agent's first record after the handover is no longer skipped. ([#4349](https://github.com/triggerdotdev/trigger.dev/pull/4349)) - Fix a preloaded `chat.agent` run dropping an in-flight message when it retries after an out-of-memory error. The message being processed when the run hit the OOM is now recovered and re-run on the retry, instead of being skipped while the run waited for a new message. ([#4349](https://github.com/triggerdotdev/trigger.dev/pull/4349)) ##### Server changes These changes affect the self-hosted Docker image and Trigger.dev Cloud: - Self-hosted deployments can now create multiple full-access API keys for each environment. ([#4390](https://github.com/triggerdotdev/trigger.dev/pull/4390)) - Short links like /_/apikeys now take you straight to that page in your current project and environment, so you no longer need the full URL with your org, project and environment in it. ([#4523](https://github.com/triggerdotdev/trigger.dev/pull/4523)) - The dashboard gets a refreshed Dark theme as its new default look. On the account page you can switch to Light, _[Truncated at 4000 characters — full notes: https://github.com/triggerdotdev/trigger.dev/releases/tag/v4.5.10]_