tag:github.com,2008:https://github.com/triggerdotdev/trigger.dev/releases Tags from trigger.dev 2026-03-10T10:17:24Z tag:github.com,2008:Repository/572570113/v4.4.3 2026-03-10T11:13:31Z trigger.dev v4.4.3 <p>chore: release v4.4.3 (<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3182">#3182</a>)</p> <p>## Summary <br />2 new features, 2 improvements.</p> <p>## Improvements <br />- Add syncSupabaseEnvVars to pull database connection strings and save <br />them as trigger.dev environment variables <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3152">#3152</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3152">#3152</a>)) <br />- Auto-cancel in-flight dev runs when the CLI exits, using a detached <br />watchdog process that survives pnpm SIGKILL <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3191">#3191</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3191">#3191</a>))</p> <p>## Server changes</p> <p>These changes affect the self-hosted Docker image and Trigger.dev Cloud:</p> <p>- A new Errors page for viewing and tracking errors that cause runs to <br />fail <br /> <br /> - Errors are grouped using error fingerprinting <br />- View top errors for a time period, filter by task, or search the text <br /> - View occurrences over time <br />- View all the runs for an error and bulk replay them <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3172">#3172</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3172">#3172</a>)) <br />- Add sidebar tabs (Options, AI, Schema) to the Test page for schemaTask <br />payload generation and schema viewing. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3188">#3188</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3188">#3188</a>))</p> <p>&lt;details&gt; <br />&lt;summary&gt;Raw changeset output&lt;/summary&gt;</p> <p># Releases <br />## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Add syncSupabaseEnvVars to pull database connection strings and save <br />them as trigger.dev environment variables <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3152">#3152</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3152">#3152</a>)) <br />- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## [email protected]</p> <p>### Patch Changes</p> <p>- Auto-cancel in-flight dev runs when the CLI exits, using a detached <br />watchdog process that survives pnpm SIGKILL <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3191">#3191</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3191">#3191</a>)) <br />- Updated dependencies: <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Auto-cancel in-flight dev runs when the CLI exits, using a detached <br />watchdog process that survives pnpm SIGKILL <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3191">#3191</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3191">#3191</a>))</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>&lt;/details&gt;</p> <p>---------</p> <p>Co-authored-by: github-actions[bot] &lt;41898282+github-actions[bot]@users.noreply.github.com&gt; <br />Co-authored-by: github-actions[bot] &lt;github-actions[bot]@users.noreply.github.com&gt;</p> github-actions tag:github.com,2008:Repository/572570113/v.docker.4.4.3 2026-03-10T10:17:24Z v.docker.4.4.3: chore: release v4.4.3 (#3182) <p>chore: release v4.4.3 (<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3182">#3182</a>)</p> <p>## Summary <br />2 new features, 2 improvements.</p> <p>## Improvements <br />- Add syncSupabaseEnvVars to pull database connection strings and save <br />them as trigger.dev environment variables <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3152">#3152</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3152">#3152</a>)) <br />- Auto-cancel in-flight dev runs when the CLI exits, using a detached <br />watchdog process that survives pnpm SIGKILL <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3191">#3191</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3191">#3191</a>))</p> <p>## Server changes</p> <p>These changes affect the self-hosted Docker image and Trigger.dev Cloud:</p> <p>- A new Errors page for viewing and tracking errors that cause runs to <br />fail <br /> <br /> - Errors are grouped using error fingerprinting <br />- View top errors for a time period, filter by task, or search the text <br /> - View occurrences over time <br />- View all the runs for an error and bulk replay them <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3172">#3172</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3172">#3172</a>)) <br />- Add sidebar tabs (Options, AI, Schema) to the Test page for schemaTask <br />payload generation and schema viewing. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3188">#3188</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3188">#3188</a>))</p> <p>&lt;details&gt; <br />&lt;summary&gt;Raw changeset output&lt;/summary&gt;</p> <p># Releases <br />## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Add syncSupabaseEnvVars to pull database connection strings and save <br />them as trigger.dev environment variables <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3152">#3152</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3152">#3152</a>)) <br />- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## [email protected]</p> <p>### Patch Changes</p> <p>- Auto-cancel in-flight dev runs when the CLI exits, using a detached <br />watchdog process that survives pnpm SIGKILL <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3191">#3191</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3191">#3191</a>)) <br />- Updated dependencies: <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Auto-cancel in-flight dev runs when the CLI exits, using a detached <br />watchdog process that survives pnpm SIGKILL <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3191">#3191</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3191">#3191</a>))</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>&lt;/details&gt;</p> <p>---------</p> <p>Co-authored-by: github-actions[bot] &lt;41898282+github-actions[bot]@users.noreply.github.com&gt; <br />Co-authored-by: github-actions[bot] &lt;github-actions[bot]@users.noreply.github.com&gt;</p> github-actions tag:github.com,2008:Repository/572570113/v4.4.2 2026-03-04T13:38:22Z trigger.dev v4.4.2 <p>chore: release v4.4.2 (<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3127">#3127</a>)</p> <p># trigger.dev v4.4.2</p> <p>## Summary <br />2 new features, 2 improvements, 8 bug fixes.</p> <p>## Improvements <br />- Add input streams for bidirectional communication with running tasks. <br />Define typed input streams with `streams.input&lt;T&gt;({ id })`, then consume <br />inside tasks via `.wait()` (suspends the process), `.once()` (waits for <br />next message), or `.on()` (subscribes to a continuous stream). Send data <br />from backends with `.send(runId, data)` or from frontends with the new <br />`useInputStreamSend` React hook. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>)) <br />- Add PAYLOAD_TOO_LARGE error to handle graceful recovery of sending <br />batch trigger items with payloads that exceed the maximum payload size <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3137">#3137</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3137">#3137</a>))</p> <p>## Bug fixes <br />- Fix slow batch queue processing by removing spurious cooloff on <br />concurrency blocks and fixing a race condition where retry attempt <br />counts were not atomically updated during message re-queue. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3079">#3079</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3079">#3079</a>)) <br />- fix(sdk): batch triggerAndWait variants now return correct <br />run.taskIdentifier instead of unknown <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3080">#3080</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3080">#3080</a>))</p> <p>## Server changes</p> <p>These changes affect the self-hosted Docker image and Trigger.dev Cloud:</p> <p>- Two-level tenant dispatch architecture for batch queue processing. <br />Replaces the <br />single master queue with a two-level index: a dispatch index (tenant → <br />shard) <br />and per-tenant queue indexes (tenant → queues). This enables O(1) tenant <br />selection and fair scheduling across tenants regardless of queue count. <br />Improves batch queue processing performance. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3133">#3133</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3133">#3133</a>)) <br />- Add input streams with API routes for sending data to running tasks, <br />SSE reading, and waitpoint creation. Includes Redis cache for fast <br />`.send()` to `.wait()` bridging, dashboard span support for input stream <br />operations, and s2-lite support with configurable S2 endpoint, access <br />token skipping, and S2-Basin headers for self-hosted deployments. Adds <br />s2-lite to Docker Compose for local development. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>)) <br />- Speed up batch queue processing by disabling cooloff and increasing <br />the batch queue processing concurrency limits on the cloud: <br /> <br /> - Pro plan: increase to 50 from 10. <br /> - Hobby plan: increase to 10 from 5. <br />- Free plan: increase to 5 from 1. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3079">#3079</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3079">#3079</a>)) <br />- Move batch queue global rate limiter from FairQueue claim phase to <br />BatchQueue worker queue consumer for accurate per-item rate limiting. <br />Add worker queue depth cap to prevent unbounded growth that could cause <br />visibility timeouts. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3166">#3166</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3166">#3166</a>)) <br />- Fix a race condition in the waitpoint system where a run could be <br />blocked by a completed waitpoint but never be resumed because of a <br />PostgreSQL MVCC issue. This was most likely to occur when creating a <br />waitpoint via `wait.forToken()` at the same moment as completing the <br />token with `wait.completeToken()`. Other types of waitpoints (timed, <br />child runs) were not affected. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3075">#3075</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3075">#3075</a>)) <br />- Fix metrics dashboard chart series colors going out of sync and <br />widgets not reloading stale data when scrolled back into view <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3126">#3126</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3126">#3126</a>)) <br />- Gracefully handle oversized batch items instead of aborting the <br />stream. <br /> <br />When an NDJSON batch item exceeds the maximum size, the parser now emits <br />an error marker instead of throwing, allowing the batch to seal <br />normally. The oversized item becomes a pre-failed run with <br />`PAYLOAD_TOO_LARGE` error code, while other items in the batch process <br />successfully. This prevents `batchTriggerAndWait` from seeing connection <br />errors and retrying with exponential backoff. <br /> <br />Also fixes the NDJSON parser not consuming the remainder of an oversized <br />line split across multiple chunks, which caused "Invalid JSON" errors on <br />subsequent lines. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3137">#3137</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3137">#3137</a>)) <br />- Require the user is an admin during an impersonation session. <br />Previously only the impersonation cookie was checked; now the real <br />user's admin flag is verified on every request. If admin has been <br />revoked, the session falls back to the real user's ID. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3078">#3078</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3078">#3078</a>))</p> <p>&lt;details&gt; <br />&lt;summary&gt;Raw changeset output&lt;/summary&gt;</p> <p># Releases <br />## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## [email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Add input streams for bidirectional communication with running tasks. <br />Define typed input streams with `streams.input&lt;T&gt;({ id })`, then consume <br />inside tasks via `.wait()` (suspends the process), `.once()` (waits for <br />next message), or `.on()` (subscribes to a continuous stream). Send data <br />from backends with `.send(runId, data)` or from frontends with the new <br />`useInputStreamSend` React hook. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>))</p> <p>Upgrade S2 SDK from 0.17 to 0.22 with support for custom endpoints <br />(s2-lite) via the new `endpoints` configuration, `AppendRecord.string()` <br />API, and `maxInflightBytes` session option.</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Fix slow batch queue processing by removing spurious cooloff on <br />concurrency blocks and fixing a race condition where retry attempt <br />counts were not atomically updated during message re-queue. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3079">#3079</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3079">#3079</a>)) <br />- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Add input streams for bidirectional communication with running tasks. <br />Define typed input streams with `streams.input&lt;T&gt;({ id })`, then consume <br />inside tasks via `.wait()` (suspends the process), `.once()` (waits for <br />next message), or `.on()` (subscribes to a continuous stream). Send data <br />from backends with `.send(runId, data)` or from frontends with the new <br />`useInputStreamSend` React hook. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>))</p> <p>Upgrade S2 SDK from 0.17 to 0.22 with support for custom endpoints <br />(s2-lite) via the new `endpoints` configuration, `AppendRecord.string()` <br />API, and `maxInflightBytes` session option.</p> <p>- fix(sdk): batch triggerAndWait variants now return correct <br />run.taskIdentifier instead of unknown <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3080">#3080</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3080">#3080</a>))</p> <p>- Add PAYLOAD_TOO_LARGE error to handle graceful recovery of sending <br />batch trigger items with payloads that exceed the maximum payload size <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3137">#3137</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3137">#3137</a>))</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>&lt;/details&gt;</p> <p>---------</p> <p>Co-authored-by: github-actions[bot] &lt;41898282+github-actions[bot]@users.noreply.github.com&gt; <br />Co-authored-by: github-actions[bot] &lt;github-actions[bot]@users.noreply.github.com&gt;</p> github-actions tag:github.com,2008:Repository/572570113/v.docker.4.4.2 2026-03-04T09:47:24Z v.docker.4.4.2: chore: release v4.4.2 (#3127) <p>chore: release v4.4.2 (<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3127">#3127</a>)</p> <p># trigger.dev v4.4.2</p> <p>## Summary <br />2 new features, 2 improvements, 8 bug fixes.</p> <p>## Improvements <br />- Add input streams for bidirectional communication with running tasks. <br />Define typed input streams with `streams.input&lt;T&gt;({ id })`, then consume <br />inside tasks via `.wait()` (suspends the process), `.once()` (waits for <br />next message), or `.on()` (subscribes to a continuous stream). Send data <br />from backends with `.send(runId, data)` or from frontends with the new <br />`useInputStreamSend` React hook. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>)) <br />- Add PAYLOAD_TOO_LARGE error to handle graceful recovery of sending <br />batch trigger items with payloads that exceed the maximum payload size <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3137">#3137</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3137">#3137</a>))</p> <p>## Bug fixes <br />- Fix slow batch queue processing by removing spurious cooloff on <br />concurrency blocks and fixing a race condition where retry attempt <br />counts were not atomically updated during message re-queue. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3079">#3079</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3079">#3079</a>)) <br />- fix(sdk): batch triggerAndWait variants now return correct <br />run.taskIdentifier instead of unknown <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3080">#3080</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3080">#3080</a>))</p> <p>## Server changes</p> <p>These changes affect the self-hosted Docker image and Trigger.dev Cloud:</p> <p>- Two-level tenant dispatch architecture for batch queue processing. <br />Replaces the <br />single master queue with a two-level index: a dispatch index (tenant → <br />shard) <br />and per-tenant queue indexes (tenant → queues). This enables O(1) tenant <br />selection and fair scheduling across tenants regardless of queue count. <br />Improves batch queue processing performance. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3133">#3133</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3133">#3133</a>)) <br />- Add input streams with API routes for sending data to running tasks, <br />SSE reading, and waitpoint creation. Includes Redis cache for fast <br />`.send()` to `.wait()` bridging, dashboard span support for input stream <br />operations, and s2-lite support with configurable S2 endpoint, access <br />token skipping, and S2-Basin headers for self-hosted deployments. Adds <br />s2-lite to Docker Compose for local development. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>)) <br />- Speed up batch queue processing by disabling cooloff and increasing <br />the batch queue processing concurrency limits on the cloud: <br /> <br /> - Pro plan: increase to 50 from 10. <br /> - Hobby plan: increase to 10 from 5. <br />- Free plan: increase to 5 from 1. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3079">#3079</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3079">#3079</a>)) <br />- Move batch queue global rate limiter from FairQueue claim phase to <br />BatchQueue worker queue consumer for accurate per-item rate limiting. <br />Add worker queue depth cap to prevent unbounded growth that could cause <br />visibility timeouts. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3166">#3166</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3166">#3166</a>)) <br />- Fix a race condition in the waitpoint system where a run could be <br />blocked by a completed waitpoint but never be resumed because of a <br />PostgreSQL MVCC issue. This was most likely to occur when creating a <br />waitpoint via `wait.forToken()` at the same moment as completing the <br />token with `wait.completeToken()`. Other types of waitpoints (timed, <br />child runs) were not affected. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3075">#3075</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3075">#3075</a>)) <br />- Fix metrics dashboard chart series colors going out of sync and <br />widgets not reloading stale data when scrolled back into view <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3126">#3126</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3126">#3126</a>)) <br />- Gracefully handle oversized batch items instead of aborting the <br />stream. <br /> <br />When an NDJSON batch item exceeds the maximum size, the parser now emits <br />an error marker instead of throwing, allowing the batch to seal <br />normally. The oversized item becomes a pre-failed run with <br />`PAYLOAD_TOO_LARGE` error code, while other items in the batch process <br />successfully. This prevents `batchTriggerAndWait` from seeing connection <br />errors and retrying with exponential backoff. <br /> <br />Also fixes the NDJSON parser not consuming the remainder of an oversized <br />line split across multiple chunks, which caused "Invalid JSON" errors on <br />subsequent lines. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3137">#3137</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3137">#3137</a>)) <br />- Require the user is an admin during an impersonation session. <br />Previously only the impersonation cookie was checked; now the real <br />user's admin flag is verified on every request. If admin has been <br />revoked, the session falls back to the real user's ID. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3078">#3078</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3078">#3078</a>))</p> <p>&lt;details&gt; <br />&lt;summary&gt;Raw changeset output&lt;/summary&gt;</p> <p># Releases <br />## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## [email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Add input streams for bidirectional communication with running tasks. <br />Define typed input streams with `streams.input&lt;T&gt;({ id })`, then consume <br />inside tasks via `.wait()` (suspends the process), `.once()` (waits for <br />next message), or `.on()` (subscribes to a continuous stream). Send data <br />from backends with `.send(runId, data)` or from frontends with the new <br />`useInputStreamSend` React hook. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>))</p> <p>Upgrade S2 SDK from 0.17 to 0.22 with support for custom endpoints <br />(s2-lite) via the new `endpoints` configuration, `AppendRecord.string()` <br />API, and `maxInflightBytes` session option.</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Fix slow batch queue processing by removing spurious cooloff on <br />concurrency blocks and fixing a race condition where retry attempt <br />counts were not atomically updated during message re-queue. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3079">#3079</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3079">#3079</a>)) <br />- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Add input streams for bidirectional communication with running tasks. <br />Define typed input streams with `streams.input&lt;T&gt;({ id })`, then consume <br />inside tasks via `.wait()` (suspends the process), `.once()` (waits for <br />next message), or `.on()` (subscribes to a continuous stream). Send data <br />from backends with `.send(runId, data)` or from frontends with the new <br />`useInputStreamSend` React hook. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3146">#3146</a>))</p> <p>Upgrade S2 SDK from 0.17 to 0.22 with support for custom endpoints <br />(s2-lite) via the new `endpoints` configuration, `AppendRecord.string()` <br />API, and `maxInflightBytes` session option.</p> <p>- fix(sdk): batch triggerAndWait variants now return correct <br />run.taskIdentifier instead of unknown <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3080">#3080</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3080">#3080</a>))</p> <p>- Add PAYLOAD_TOO_LARGE error to handle graceful recovery of sending <br />batch trigger items with payloads that exceed the maximum payload size <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3137">#3137</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3137">#3137</a>))</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>&lt;/details&gt;</p> <p>---------</p> <p>Co-authored-by: github-actions[bot] &lt;41898282+github-actions[bot]@users.noreply.github.com&gt; <br />Co-authored-by: github-actions[bot] &lt;github-actions[bot]@users.noreply.github.com&gt;</p> github-actions tag:github.com,2008:Repository/572570113/build-compute.rc5 2026-03-02T19:35:25Z build-compute.rc5 <p>Merge remote-tracking branch 'origin/main' into feat/compute-workload…</p> <p>…-manager</p> nicktrn tag:github.com,2008:Repository/572570113/build-compute.rc4 2026-02-21T11:33:10Z build-compute.rc4: feat(supervisor): add flag to enable compute snapshots <p>feat(supervisor): add flag to enable compute snapshots</p> <p>Gates snapshot/restore behaviour independently of compute mode. <br />When disabled, VMs won't receive the metadata URL and suspend/restore <br />are no-ops. Defaults to off so compute mode can be used without snapshots.</p> nicktrn tag:github.com,2008:Repository/572570113/v.docker.4.4.1 2026-02-20T16:40:06Z v.docker.4.4.1: chore: release v4.4.1 (#3100) <p>chore: release v4.4.1 (<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3100">#3100</a>)</p> <p>This PR was opened by the [Changesets <br />release](<a href="https://github.com/changesets/action">https://github.com/changesets/action</a>) GitHub action. When <br />you're ready to do a release, you can merge this and publish to npm <br />yourself or [setup this action to publish <br />automatically](<a href="https://github.com/changesets/action#with-publishing">https://github.com/changesets/action#with-publishing</a>). If <br />you're not ready to do a release yet, that's fine, whenever you add more <br />changesets to main, this PR will be updated.</p> <p># Releases <br />## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## [email protected]</p> <p>### Patch Changes</p> <p>- Add OTEL metrics pipeline for task workers. Workers collect process <br />CPU/memory, Node.js runtime metrics (event loop utilization, event loop <br />delay, heap usage), and user-defined custom metrics via <br />`otel.metrics.getMeter()`. Metrics are exported to ClickHouse with <br />10-second aggregation buckets and 1m/5m rollups, and are queryable <br />through the dashboard query engine with typed attribute columns, <br />`prettyFormat()` for human-readable values, and AI query support. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3061">#3061</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3061">#3061</a>)) <br />- Updated dependencies: <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]` <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>### Patch Changes</p> <p>- Add OTEL metrics pipeline for task workers. Workers collect process <br />CPU/memory, Node.js runtime metrics (event loop utilization, event loop <br />delay, heap usage), and user-defined custom metrics via <br />`otel.metrics.getMeter()`. Metrics are exported to ClickHouse with <br />10-second aggregation buckets and 1m/5m rollups, and are queryable <br />through the dashboard query engine with typed attribute columns, <br />`prettyFormat()` for human-readable values, and AI query support. <br />([<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3061">#3061</a>](<a class="issue-link js-issue-link" href="https://github.com/triggerdotdev/trigger.dev/pull/3061">#3061</a>)) <br />- Updated dependencies: <br /> - `@trigger.dev/[email protected]`</p> <p>## @trigger.dev/[email protected]</p> <p>---------</p> <p>Co-authored-by: github-actions[bot] &lt;41898282+github-actions[bot]@users.noreply.github.com&gt; <br />Co-authored-by: github-actions[bot] &lt;github-actions[bot]@users.noreply.github.com&gt;</p> github-actions tag:github.com,2008:Repository/572570113/[email protected] 2026-02-20T16:45:23Z trigger.dev@4.4.1 github-actions tag:github.com,2008:Repository/572570113/@trigger.dev/[email protected] 2026-02-20T16:45:32Z @trigger.dev/sdk@4.4.1 github-actions tag:github.com,2008:Repository/572570113/@trigger.dev/[email protected] 2026-02-20T16:45:20Z @trigger.dev/schema-to-json@4.4.1 github-actions