tag:github.com,2008:https://github.com/triggerdotdev/trigger.dev/releasesTags from trigger.dev2026-03-10T10:17:24Ztag:github.com,2008:Repository/572570113/v4.4.32026-03-10T11:13:31Ztrigger.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><details>
<br /><summary>Raw changeset output</summary></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></details></p>
<p>---------</p>
<p>Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
<br />Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com></p>github-actionstag:github.com,2008:Repository/572570113/v.docker.4.4.32026-03-10T10:17:24Zv.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><details>
<br /><summary>Raw changeset output</summary></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></details></p>
<p>---------</p>
<p>Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
<br />Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com></p>github-actionstag:github.com,2008:Repository/572570113/v4.4.22026-03-04T13:38:22Ztrigger.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<T>({ 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><details>
<br /><summary>Raw changeset output</summary></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<T>({ 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<T>({ 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></details></p>
<p>---------</p>
<p>Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
<br />Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com></p>github-actionstag:github.com,2008:Repository/572570113/v.docker.4.4.22026-03-04T09:47:24Zv.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<T>({ 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><details>
<br /><summary>Raw changeset output</summary></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<T>({ 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<T>({ 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></details></p>
<p>---------</p>
<p>Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
<br />Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com></p>github-actionstag:github.com,2008:Repository/572570113/build-compute.rc52026-03-02T19:35:25Zbuild-compute.rc5<p>Merge remote-tracking branch 'origin/main' into feat/compute-workload…</p>
<p>…-manager</p>nicktrntag:github.com,2008:Repository/572570113/build-compute.rc42026-02-21T11:33:10Zbuild-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>nicktrntag:github.com,2008:Repository/572570113/v.docker.4.4.12026-02-20T16:40:06Zv.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] <41898282+github-actions[bot]@users.noreply.github.com>
<br />Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com></p>github-actionstag:github.com,2008:Repository/572570113/[email protected]2026-02-20T16:45:23Ztrigger.dev@4.4.1github-actionstag:github.com,2008:Repository/572570113/@trigger.dev/[email protected]2026-02-20T16:45:32Z@trigger.dev/sdk@4.4.1github-actionstag:github.com,2008:Repository/572570113/@trigger.dev/[email protected]2026-02-20T16:45:20Z@trigger.dev/schema-to-json@4.4.1github-actions