• v4.4.6 41a486ea7e

    chore: release v4.4.6 (#3501)

    frostbyte_neo released this 2026-05-12 10:33:00 +00:00 | 766 commits to main since this release

    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)

    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)
    Raw changeset output

    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)
    • 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)
    • 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)
    • 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)

    @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

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

    Downloads