Trigger.dev v4.4.6

Faster failure on uncaught exceptions and a fix for dev workers spinning at 100% CPU.

1 improvement and 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 via setImmediate, amplified by source-map-support's prepareStackTrace. Fixed by silently dropping packets in ZodIpcConnection when the channel is disconnected, adding a process.on("disconnect", ...) handler in dev workers so they exit cleanly, and wrapping all uncaughtException-path process.send calls in a safeSend guard. (#3491)

How to upgrade

Update the trigger.dev/* packages to v4.4.6 using your package manager:


npx trigger.dev@latest update # npm
pnpm dlx trigger.dev@latest update # pnpm
yarn dlx trigger.dev@latest update # yarn
bunx trigger.dev@latest update # bun

Self-hosted users: update your Docker image to ghcr.io/triggerdotdev/trigger.dev:v4.4.6.

Ready to start building?

Build and deploy your first task in 3 minutes.

Get started now