Files
github-actions[bot] 41a486ea7e
🚀 Publish Trigger.dev Docker / typecheck (push) Failing after 0s
🚀 Publish Trigger.dev Docker / publish-webapp (push) Has been skipped
🚀 Publish Trigger.dev Docker / publish-worker (push) Has been skipped
🚀 Publish Trigger.dev Docker / publish-worker-v4 (push) Has been skipped
🚀 Publish Trigger.dev Docker / units (push) Failing after 5s
🧭 Helm Chart Release / lint-and-test (push) Has been cancelled
🧭 Helm Chart Release / release (push) Has been cancelled
chore: release v4.4.6 (#3501)
## Summary
1 improvement, 1 bug fix.

## Improvements
- Fail attempts on uncaught exceptions instead of hanging to
`MAX_DURATION_EXCEEDED`. A Node `EventEmitter` (e.g. `node-redis`)
emitting `"error"` with no `.on("error", ...)` listener escalates to
`uncaughtException`, which the worker previously reported but did not
act on — runs drifted to maxDuration with empty attempts. They now fail
fast with the original error and status `FAILED`, and respect the task's
normal retry policy. You should still attach `.on("error", ...)`
listeners to long-lived clients to handle errors gracefully.
([#3529](https://github.com/triggerdotdev/trigger.dev/pull/3529))

## Bug fixes
- Fix dev workers spinning at 100% CPU after the parent CLI disconnects.
Orphaned `trigger-dev-run-worker` (and indexer) processes were caught in
an `uncaughtException` feedback loop: a periodic IPC send via
`process.send` would throw `ERR_IPC_CHANNEL_CLOSED` once the parent
closed the channel, which re-entered the same handler that itself called
`process.send`, scheduled via `setImmediate` and amplified by
source-map-support's `prepareStackTrace`. Fixed by (1) silently dropping
packets in `ZodIpcConnection` when the channel is disconnected, (2)
adding a `process.on("disconnect", ...)` handler in dev workers so they
exit cleanly when the CLI closes the IPC channel, and (3) wrapping all
`uncaughtException`-path `process.send` calls in a `safeSend` guard that
checks `process.connected` and swallows synchronous throws.
([#3491](https://github.com/triggerdotdev/trigger.dev/pull/3491))

<details>
<summary>Raw changeset output</summary>

# Releases
## @trigger.dev/build@4.4.6

### Patch Changes

-   Updated dependencies:
    -   `@trigger.dev/core@4.4.6`

## trigger.dev@4.4.6

### Patch Changes

- Fix dev workers spinning at 100% CPU after the parent CLI disconnects.
Orphaned `trigger-dev-run-worker` (and indexer) processes were caught in
an `uncaughtException` feedback loop: a periodic IPC send via
`process.send` would throw `ERR_IPC_CHANNEL_CLOSED` once the parent
closed the channel, which re-entered the same handler that itself called
`process.send`, scheduled via `setImmediate` and amplified by
source-map-support's `prepareStackTrace`. Fixed by (1) silently dropping
packets in `ZodIpcConnection` when the channel is disconnected, (2)
adding a `process.on("disconnect", ...)` handler in dev workers so they
exit cleanly when the CLI closes the IPC channel, and (3) wrapping all
`uncaughtException`-path `process.send` calls in a `safeSend` guard that
checks `process.connected` and swallows synchronous throws.
([#3491](https://github.com/triggerdotdev/trigger.dev/pull/3491))
- Fail attempts on uncaught exceptions instead of hanging to
`MAX_DURATION_EXCEEDED`. A Node `EventEmitter` (e.g. `node-redis`)
emitting `"error"` with no `.on("error", ...)` listener escalates to
`uncaughtException`, which the worker previously reported but did not
act on — runs drifted to maxDuration with empty attempts. They now fail
fast with the original error and status `FAILED`, and respect the task's
normal retry policy. You should still attach `.on("error", ...)`
listeners to long-lived clients to handle errors gracefully.
([#3529](https://github.com/triggerdotdev/trigger.dev/pull/3529))
-   Updated dependencies:
    -   `@trigger.dev/core@4.4.6`
    -   `@trigger.dev/build@4.4.6`
    -   `@trigger.dev/schema-to-json@4.4.6`

## @trigger.dev/core@4.4.6

### Patch Changes

- Fix dev workers spinning at 100% CPU after the parent CLI disconnects.
Orphaned `trigger-dev-run-worker` (and indexer) processes were caught in
an `uncaughtException` feedback loop: a periodic IPC send via
`process.send` would throw `ERR_IPC_CHANNEL_CLOSED` once the parent
closed the channel, which re-entered the same handler that itself called
`process.send`, scheduled via `setImmediate` and amplified by
source-map-support's `prepareStackTrace`. Fixed by (1) silently dropping
packets in `ZodIpcConnection` when the channel is disconnected, (2)
adding a `process.on("disconnect", ...)` handler in dev workers so they
exit cleanly when the CLI closes the IPC channel, and (3) wrapping all
`uncaughtException`-path `process.send` calls in a `safeSend` guard that
checks `process.connected` and swallows synchronous throws.
([#3491](https://github.com/triggerdotdev/trigger.dev/pull/3491))
- Fail attempts on uncaught exceptions instead of hanging to
`MAX_DURATION_EXCEEDED`. A Node `EventEmitter` (e.g. `node-redis`)
emitting `"error"` with no `.on("error", ...)` listener escalates to
`uncaughtException`, which the worker previously reported but did not
act on — runs drifted to maxDuration with empty attempts. They now fail
fast with the original error and status `FAILED`, and respect the task's
normal retry policy. You should still attach `.on("error", ...)`
listeners to long-lived clients to handle errors gracefully.
([#3529](https://github.com/triggerdotdev/trigger.dev/pull/3529))

## @trigger.dev/python@4.4.6

### Patch Changes

-   Updated dependencies:
    -   `@trigger.dev/core@4.4.6`
    -   `@trigger.dev/build@4.4.6`
    -   `@trigger.dev/sdk@4.4.6`

## @trigger.dev/react-hooks@4.4.6

### Patch Changes

-   Updated dependencies:
    -   `@trigger.dev/core@4.4.6`

## @trigger.dev/redis-worker@4.4.6

### Patch Changes

-   Updated dependencies:
    -   `@trigger.dev/core@4.4.6`

## @trigger.dev/rsc@4.4.6

### Patch Changes

-   Updated dependencies:
    -   `@trigger.dev/core@4.4.6`

## @trigger.dev/schema-to-json@4.4.6

### Patch Changes

-   Updated dependencies:
    -   `@trigger.dev/core@4.4.6`

## @trigger.dev/sdk@4.4.6

### Patch Changes

-   Updated dependencies:
    -   `@trigger.dev/core@4.4.6`

</details>

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-12 11:33:00 +01:00

14 KiB

@trigger.dev/react-hooks

4.4.6

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.4.6

4.4.5

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.4.5

4.4.4

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.4.4

4.4.3

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.4.3

4.4.2

Patch Changes

  • Add input streams for bidirectional communication with running tasks. Define typed input streams with streams.input<T>({ id }), then consume inside tasks via .wait() (suspends the process), .once() (waits for next message), or .on() (subscribes to a continuous stream). Send data from backends with .send(runId, data) or from frontends with the new useInputStreamSend React hook. (#3146)

    Upgrade S2 SDK from 0.17 to 0.22 with support for custom endpoints (s2-lite) via the new endpoints configuration, AppendRecord.string() API, and maxInflightBytes session option.

  • Updated dependencies:

    • @trigger.dev/core@4.4.2

4.4.1

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.4.1

4.4.0

Patch Changes

  • Fix onComplete callback firing prematurely when the realtime stream disconnects before the run finishes. (#2929)
  • Updated dependencies:
    • @trigger.dev/core@4.4.0

4.3.3

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.3.3

4.3.2

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.3.2

4.3.1

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.3.1

4.3.0

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.3.0

4.2.0

Patch Changes

  • fix: prevent infinite useEffect when passing an array of tags to useRealtimeRunsWithTag (#2705)
  • Updated dependencies:
    • @trigger.dev/core@4.2.0

4.1.2

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.1.2

4.1.1

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.1.1

4.1.0

Minor Changes

  • Realtime streams v2 (#2632)

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.1.0

4.0.7

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.7

4.0.6

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.6

4.0.5

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.5

4.0.4

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.4

4.0.3

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.3

4.0.2

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.2

4.0.1

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.1

4.0.0

Major Changes

Patch Changes

  • Run Engine 2.0 (alpha) (#1575)

  • Added the ability to specify a "createdAt" filter when subscribing to tags in our useRealtime hooks: (#2158)

    // Only subscribe to runs created in the last 10 hours
    useRealtimeRunWithTags("my-tag", { createdAt: "10h" });
    

    You can also now choose to skip subscribing to specific columns by specifying the skipColumns option:

    useRealtimeRun(run.id, { skipColumns: ["usageDurationMs"] });
    
  • Fixes an issue with realtime when re-subscribing to a run, that would temporarily display stale data and the changes. Now when re-subscribing to a run only the latest changes will be vended (#2162)

  • Updated dependencies:

    • @trigger.dev/core@4.0.0

4.0.0-v4-beta.28

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.28

4.0.0-v4-beta.27

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.27

4.0.0-v4-beta.26

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.26

4.0.0-v4-beta.25

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.25

4.0.0-v4-beta.24

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.24

4.0.0-v4-beta.23

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.23

4.0.0-v4-beta.22

Patch Changes

  • Added the ability to specify a "createdAt" filter when subscribing to tags in our useRealtime hooks: (#2158)

    // Only subscribe to runs created in the last 10 hours
    useRealtimeRunWithTags("my-tag", { createdAt: "10h" });
    

    You can also now choose to skip subscribing to specific columns by specifying the skipColumns option:

    useRealtimeRun(run.id, { skipColumns: ["usageDurationMs"] });
    
  • Fixes an issue with realtime when re-subscribing to a run, that would temporarily display stale data and the changes. Now when re-subscribing to a run only the latest changes will be vended (#2162)

  • Updated dependencies:

    • @trigger.dev/core@4.0.0-v4-beta.22

4.0.0-v4-beta.21

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.21

4.0.0-v4-beta.20

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.20

4.0.0-v4-beta.19

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.19

4.0.0-v4-beta.18

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.18

4.0.0-v4-beta.17

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.17

4.0.0-v4-beta.16

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.16

4.0.0-v4-beta.15

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.15

4.0.0-v4-beta.14

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.14

4.0.0-v4-beta.13

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.13

4.0.0-v4-beta.12

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.12

4.0.0-v4-beta.11

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.11

4.0.0-v4-beta.10

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.10

4.0.0-v4-beta.9

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.9

4.0.0-v4-beta.8

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.8

4.0.0-v4-beta.7

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.7

4.0.0-v4-beta.6

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.6

4.0.0-v4-beta.5

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.5

4.0.0-v4-beta.4

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.4

4.0.0-v4-beta.3

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.3

4.0.0-v4-beta.2

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.2

4.0.0-v4-beta.1

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.1

4.0.0-v4-beta.0

Major Changes

Patch Changes

  • Run Engine 2.0 (alpha) (#1575)
  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.0

3.3.17

Patch Changes

  • Add support for two-phase deployments and task version pinning (#1739)
  • Updated dependencies:
    • @trigger.dev/core@3.3.17

3.3.16

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@3.3.16

3.3.15

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@3.3.15

3.3.14

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@3.3.14

3.3.13

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@3.3.13

3.3.12

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@3.3.12

3.3.11

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@3.3.11

3.3.10

Patch Changes

  • Make sure useRealtimeRun onComplete hook fires at the correct time (#1599)
  • Handle errors thrown by requests in Realtime react hooks (#1599)
  • Updated dependencies:
    • @trigger.dev/core@3.3.10

3.3.9

Patch Changes

  • Adding ability to update parent run metadata from child runs/tasks (#1563)
  • Updated dependencies:
    • @trigger.dev/core@3.3.9

3.3.8

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@3.3.8

3.3.7

Patch Changes

  • Now compatible with React 19 (#1559)
    • Fixes an issue in streams where "chunks" could get split across multiple reads (#1549)
    • Fixed stopping the run subscription after a run is finished, when using useRealtimeRun or useRealtimeRunWithStreams
    • Added an onComplete callback to useRealtimeRun and useRealtimeRunWithStreams
    • Optimized the run subscription to reduce unnecessary updates
  • Updated dependencies:
    • @trigger.dev/core@3.3.7

3.3.6

Patch Changes

  • Realtime streams now powered by electric. Also, this change fixes a realtime bug that was causing too many re-renders, even on records that didn't change (#1541)
  • Updated dependencies:
    • @trigger.dev/core@3.3.6

3.3.5

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@3.3.5

3.3.4

Patch Changes

  • Add trigger options to all trigger hooks (#1528)
  • Updated dependencies:
    • @trigger.dev/core@3.3.4

3.3.3

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@3.3.3

3.3.2

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@3.3.2

3.3.1

Patch Changes

  • Public access token scopes with just tags or just a batch can now access runs that have those tags or are in the batch. Previously, the only way to access a run was to have a specific scope for that exact run. (#1511)
  • Updated dependencies:
    • @trigger.dev/core@3.3.1

3.3.0

Minor Changes

  • Improved Batch Triggering: (#1502)

    • The new Batch Trigger endpoint is now asynchronous and supports up to 500 runs per request.

    • The new endpoint also supports triggering multiple different tasks in a single batch request (support in the SDK coming soon).

    • The existing batchTrigger method now supports the new endpoint, and shouldn't require any changes to your code.

    • Idempotency keys now expire after 24 hours, and you can customize the expiration time when creating a new key by using the idempotencyKeyTTL parameter:

    await myTask.batchTrigger([{ payload: { foo: "bar" } }], {
      idempotencyKey: "my-key",
      idempotencyKeyTTL: "60s",
    });
    // Works for individual items as well:
    await myTask.batchTrigger([
      { payload: { foo: "bar" }, options: { idempotencyKey: "my-key", idempotencyKeyTTL: "60s" } },
    ]);
    // And `trigger`:
    await myTask.trigger({ foo: "bar" }, { idempotencyKey: "my-key", idempotencyKeyTTL: "60s" });
    

    Breaking Changes

    • We've removed the idempotencyKey option from triggerAndWait and batchTriggerAndWait, because it can lead to permanently frozen runs in deployed tasks. We're working on upgrading our entire system to support idempotency keys on these methods, and we'll re-add the option once that's complete.

Patch Changes

  • Added ability to subscribe to a batch of runs using runs.subscribeToBatch (#1502)
  • Updated dependencies:
    • @trigger.dev/core@3.3.0

3.2.2

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@3.2.2

3.2.1

Patch Changes

  • React hooks now all accept accessToken and baseURL options so the use of the Provider is no longer necessary (#1486)
  • Upgrade zod to latest (3.23.8) (#1484)
  • Realtime streams (#1470)
  • Updated dependencies:
    • @trigger.dev/core@3.2.1

3.2.0

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@3.2.0

3.1.2

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@3.1.2

3.1.1

Patch Changes

  • useBatch renamed to useRealtimeBatch (#1447)
  • Updated dependencies:
    • @trigger.dev/core@3.1.1

3.1.0

Minor Changes

  • Access run status updates in realtime, from your server or from your frontend (#1402)

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@3.1.0