Trigger.dev v4.4.0

Metrics dashboards and query engine, Vercel integration, debounce maxDelay, and more.

3 new features, 8 improvements, 7 bug fixes, and 16 server changes.

Highlights

Metrics and query dashboards

New metrics dashboards and a query engine for monitoring task worker performance and exploring your Trigger.dev data. Workers collect process CPU/memory and Node.js runtime metrics, which are queryable through the dashboard using TRQL (Trigger Query Language). The SDK also exposes query.execute() for programmatic access to your data with typed results. (#3019, #3060)

Query docs | Metrics docs

Vercel integration

Automatically deploy your Trigger.dev tasks whenever you deploy to Vercel. The integration syncs environment variables bidirectionally, maps Vercel environments to Trigger.dev environments, and supports atomic deployments that gate your Vercel deployment until the task build completes — ensuring your app and tasks always use matching versions. (#2994, #3037)

Read more

Debounce maxDelay

New maxDelay option sets a maximum time limit for how long a debounced run can be delayed, ensuring execution happens within a specified window even with continuous triggers. (#2984)


await myTask.trigger(payload, {
debounce: {
key: "my-key",
delay: "5s",
maxDelay: "30m", // Execute within 30 minutes regardless of continuous triggers
},
});

Improvements

  • New query.execute() SDK method for querying Trigger.dev data using TRQL with typed JSON or CSV results, configurable scope, and time filtering (#3060)
  • Export AnyOnStartAttemptHookFunction type for defining onStartAttempt hooks on individual tasks (#2966)
  • Add optional timeoutInSeconds parameter to the MCP wait_for_run_to_complete tool, defaulting to 60 seconds (#3035)
  • Aligned SDK getRunIdForOptions logic with core package to handle semantic targets (root, parent) in root tasks (#2874)

Bug fixes

  • Fix onComplete callback firing prematurely when the realtime stream disconnects before the run finishes (#2929)
  • Vendor superjson to fix ERR_REQUIRE_ESM errors on Node.js versions that don't support require(ESM) by default and AWS Lambda (#2949)
  • Fix runner getting stuck indefinitely when execute() is called on a dead child process (#2978)
  • Fix deployment command distinguishing between local builds for cloud vs self-hosting setups (#3070)

Server changes

These changes are included in the v4.4.0 Docker image and are already live on Trigger.dev Cloud:

  • Collapsible side menu for more workspace (#2939)
  • Queue Management API endpoints (#3087)
  • Region selector for test and replay (#3082)
  • Link git SHA and ref to GitHub on project settings page (#3034)
  • Priority option in task test and replay (#2936)
  • Show Betterstack incident title in the dashboard (#3006)
  • Project-based scheduling affinity for image cache locality (#2995)
  • Optimized logs search with new database table (#3036)
  • Logs materialized view and UI improvements (#3069)
  • Fix queue cache memory leak, replace MemoryStore with LRU cache (#2945)
  • Avoid NAPI string overflow in getExecutionSnapshotsSince by only fetching waitpoints for latest snapshot (#2972)
  • Recover runs that failed to dequeue (#2931)
  • Fix batch completion to prevent heavy row-level contention under load (#2930)
  • Show error to user when add-on upgrade payment fails (#3050)

How to upgrade

Update the trigger.dev/* packages to v4.4.0 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.0.

Ready to start building?

Build and deploy your first task in 3 minutes.

Get started now