-
chore: release v4.4.6 (#3501)
released this
2026-05-12 10:33:00 +00:00 | 766 commits to main since this releaseSummary
1 improvement, 1 bug fix.
Improvements
- Fail attempts on uncaught exceptions instead of hanging to
MAX_DURATION_EXCEEDED. A NodeEventEmitter(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 statusFAILED, 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.
Orphanedtrigger-dev-run-worker(and indexer) processes were caught in
anuncaughtExceptionfeedback loop: a periodic IPC send via
process.sendwould throwERR_IPC_CHANNEL_CLOSEDonce the parent
closed the channel, which re-entered the same handler that itself called
process.send, scheduled viasetImmediateand amplified by
source-map-support'sprepareStackTrace. Fixed by (1) silently dropping
packets inZodIpcConnectionwhen the channel is disconnected, (2)
adding aprocess.on("disconnect", ...)handler in dev workers so they
exit cleanly when the CLI closes the IPC channel, and (3) wrapping all
uncaughtException-pathprocess.sendcalls in asafeSendguard that
checksprocess.connectedand 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.
Orphanedtrigger-dev-run-worker(and indexer) processes were caught in
anuncaughtExceptionfeedback loop: a periodic IPC send via
process.sendwould throwERR_IPC_CHANNEL_CLOSEDonce the parent
closed the channel, which re-entered the same handler that itself called
process.send, scheduled viasetImmediateand amplified by
source-map-support'sprepareStackTrace. Fixed by (1) silently dropping
packets inZodIpcConnectionwhen the channel is disconnected, (2)
adding aprocess.on("disconnect", ...)handler in dev workers so they
exit cleanly when the CLI closes the IPC channel, and (3) wrapping all
uncaughtException-pathprocess.sendcalls in asafeSendguard that
checksprocess.connectedand swallows synchronous throws.
(#3491) - Fail attempts on uncaught exceptions instead of hanging to
MAX_DURATION_EXCEEDED. A NodeEventEmitter(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 statusFAILED, 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.
Orphanedtrigger-dev-run-worker(and indexer) processes were caught in
anuncaughtExceptionfeedback loop: a periodic IPC send via
process.sendwould throwERR_IPC_CHANNEL_CLOSEDonce the parent
closed the channel, which re-entered the same handler that itself called
process.send, scheduled viasetImmediateand amplified by
source-map-support'sprepareStackTrace. Fixed by (1) silently dropping
packets inZodIpcConnectionwhen the channel is disconnected, (2)
adding aprocess.on("disconnect", ...)handler in dev workers so they
exit cleanly when the CLI closes the IPC channel, and (3) wrapping all
uncaughtException-pathprocess.sendcalls in asafeSendguard that
checksprocess.connectedand swallows synchronous throws.
(#3491) - Fail attempts on uncaught exceptions instead of hanging to
MAX_DURATION_EXCEEDED. A NodeEventEmitter(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 statusFAILED, 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
- Fail attempts on uncaught exceptions instead of hanging to