Trigger.dev

Developer Tools

An open-source background jobs platform with no timeouts and durable runs.

Latest v4.5.10 · by Trigger.devWebsitetriggerdotdev/trigger.dev

Release activity

Release activity — 10 releases across 10 days since Jul 6, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Jul 6, 2026. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026
Monday1 release on Jul 6, 2026No releases on Jul 13, 20261 release on Jul 20, 20261 release on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026
TuesdayNo releases on Jul 7, 20261 release on Jul 14, 20261 release on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026No releases on Aug 11, 2026
WednesdayNo releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026
Thursday1 release on Jul 9, 2026No releases on Jul 16, 20261 release on Jul 23, 20261 release on Jul 30, 2026No releases on Aug 6, 2026
Friday1 release on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 20261 release on Aug 7, 2026
SaturdayNo releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026

10 releases since Jul 6, 2026

Changelog

v4.5.10

trigger.dev v4.5.10

Added 7
  • Allow task-scoped environment API keys to run batch operations for their permitted tasks
  • Export additional-key format helper from @trigger.dev/core/v3/apiKeys
  • Allow choosing the region a run executes in when triggering a task through the MCP server
  • Allow self-hosted deployments to create multiple full-access API keys for each environment
  • Short links like /_/apikeys now take you straight to that page in your current project and environment
  • Additional environment API keys can now create scoped public access tokens
  • Self-hosted Kubernetes deployments can now add tolerations to run pods
Changed 9
  • Refresh package builds for TypeScript 7 compatibility while preserving existing runtime entry points
  • AgentChat.reconnect() now settles promptly when reconnecting to an idle chat instead of holding the connection open for the full long-poll window
  • Upgrade S2 streamstore client to 0.25 and move realtime streams to S2's current hosts
  • Retry transient connection errors when a run starts for longer so a brief connectivity blip no longer delays its first attempt
  • Dashboard gets a refreshed Dark theme as its new default look with Light, System preference, and Classic options available
  • Additional environment API keys can authenticate API requests using their configured permissions with revoked and expired keys rejected
Fixed 3
  • Fix debounce to work when passing an array of items to batchTrigger or batchTriggerAndWait and when triggering from useTaskTrigger
  • Fix a chunk occasionally dropped when a chat.agent run takes over from the warm first turn
  • Fix a preloaded chat.agent run dropping an in-flight message when it retries after an out-of-memory error

trigger.dev v4.5.10

Upgrade
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 Docker image: ghcr.io/triggerdotdev/trigger.dev:v4.5.10

Release notes

Read the full release notes: https://trigger.dev/changelog/v4-5-10

What's changed
Highlights
  • Allow task-scoped environment API keys to run batch operations for their permitted tasks. The SDK declares the batch's task set before creation, and @trigger.dev/core/v3/apiKeys now exports the additional-key format helper. (#4389)
Improvements
  • Refresh package builds for TypeScript 7 compatibility while preserving existing runtime entry points. Projects using emitDecoratorMetadata() with TypeScript 7 can install the @typescript/typescript6 compatibility package alongside it; the package remains optional, so installing the Trigger.dev CLI does not install an additional compiler. (#4318)

  • AgentChat.reconnect() now settles promptly when reconnecting to an idle chat instead of holding the connection open for the full long-poll window. Also upgrades the S2 streamstore client to 0.25 and moves realtime streams to S2's current hosts. (#4349)

  • You can now choose the region a run executes in when triggering a task through the MCP server. (#4439)

  • Transient connection errors when a run starts are now retried for longer, so a brief connectivity blip no longer sends the run back through the queue and delays its first attempt. (#4441)

  • debounce now works when you pass an array of items to batchTrigger or batchTriggerAndWait, and when you trigger from useTaskTrigger. Previously the option was accepted by the types and dropped before the request was sent, so every trigger created its own run instead of collapsing onto the debounce key. (#4520)

    await myTask.batchTrigger([
    {
      payload: { id: "a" },
      options: { debounce: { key: "same-key", delay: "30s" } },
    },
    {
      payload: { id: "b" },
      options: { debounce: { key: "same-key", delay: "30s" } },
    },
    ]);
    

    The streaming (async iterable) forms of the batch calls were already forwarding debounce correctly.

Bug fixes
  • Fix a chunk occasionally dropped when a chat.agent run takes over from the warm first turn. The realtime stream writer now reports the inclusive last-written position as the resume cursor, so the agent's first record after the handover is no longer skipped. (#4349)
  • Fix a preloaded chat.agent run dropping an in-flight message when it retries after an out-of-memory error. The message being processed when the run hit the OOM is now recovered and re-run on the retry, instead of being skipped while the run waited for a new message. (#4349)
Server changes

These changes affect the self-hosted Docker image and Trigger.dev Cloud:

  • Self-hosted deployments can now create multiple full-access API keys for each environment. (#4390)
  • Short links like /_/apikeys now take you straight to that page in your current project and environment, so you no longer need the full URL with your org, project and environment in it. (#4523)
  • The dashboard gets a refreshed Dark theme as its new default look. On the account page you can switch to Light, System preference (follows your OS), or the original Classic look, and fine-tune the new themes with a contrast slider. (#4206)
  • Additional environment API keys can now create scoped public access tokens. (#4390)
  • Additional environment API keys can authenticate API requests using their configured permissions, with revoked and expired keys rejected. Batch responses use server-issued public access tokens so additional keys never need the environment signing secret. (#4389)
  • Self-hosted Kubernetes deployments can now add tolerations to run pods, so runs are allowed onto tainted nodes. An invalid toleration now stops the supervisor at startup instead of failing every run pod, so check existing values before upgrading. (#4491)
  • Lower background database load during deployments and dev sessions for projects that use declarative schedules. (#4522)
  • Triggering a task now does one fewer database write, so runs reach the queue slightly faster. (#4419)
  • Creating or updating a schedule, and deploying a project with declarative schedules, is faster in long-lived projects with many deploys. (#4518)
  • Admins opening an impersonation link from outside the dashboard now get a confirmation page naming the organization and destination instead of being bounced back, and while impersonating they can switch to "View as user" to see the dashboard exactly as that user sees it, with the admin-only UI and the impersonation highlight both hidden. Stopping impersonation is still one click away in the account menu. (#4421)
  • Browser tabs now name the page you're on, and the run, task or queue when you're looking at one, instead of all reading "Trigger.dev". (#4517)
  • Allow the database connection pool and connect timeouts to be tuned separately for each database's writer and read replica, falling back to the shared defaults when unset. (#4515)
  • In-app feedback and add-on/quota requests are now recorded with more account context for the support team. (#4368)
  • Self-hosted Kubernetes deployments now measure running-task count more accurately when deciding whether to pause pulling new work, so the safeguard engages closer to its configured thresholds. (#4442)
  • The Queues pages now open on the last hour instead of the last day, and remember the time period you picked when you navigate between queues or reload the page. (#4438)
  • Speeds up resolving the latest worker version and deployment for an environment, removing an occasional stall when triggering runs in projects that have accumulated many deployed versions. (#4452)
  • API rate limits now apply per environment, so creating extra API keys no longer increases how many requests an environment can make. (#4508)
  • When the capacity signal drops out, the last decision is held for a grace period rather than released. (#4444)
  • Batch triggers no longer fail to start their runs when an environment is under heavy API load. If a batch still can't finish being created, batchTriggerAndWait now fails with an error instead of leaving the parent run waiting forever, and the batches page says so rather than reporting that it resumed. (#4397)
  • Triggering a run with a very large priority no longer fails. The priority is now capped to the highest supported value instead of erroring out. (#4512)
  • Fix debounce doing nothing when the delay was longer than an hour, which made every trigger create its own run instead of collapsing onto the debounce key. Debounced runs now keep being pushed back for as long as triggers keep arriving, so set maxDelay when the work has to happen eventually, and settings that could never debounce are rejected rather than silently ignored. (#4521)
  • Honor the configured database connection timeout so brief connection spikes no longer surface as spurious "can't reach database server" errors. (#4513)
  • Fixed a rare case where a single run or span carrying data that could not be ingested would make other runs or trace events in the same batch go missing from the runs list, traces, and logs. Now the rest of the batch is always kept: an affected run still appears with its status (only its un-ingestable output is dropped), and an affected trace event or payload is skipped instead of taking down everything around it. (#4358)
  • Fix the sidebar "Help & Feedback → Contact us" form sometimes not sending your message. It now sends reliably every time. (#4445)
  • Requests spanning multiple tasks now require permission for every requested task instead of accepting permission for only one task. (#4389)
  • The four charts at the top of the Queues page now always cover the whole environment, so paging through or re-sorting your queues no longer changes them. The scheduling delay chart also leaves a gap where no runs started, instead of dropping to zero. (#4486)
  • Reject alert webhook destinations in reserved benchmarking IP ranges. (#4528)
  • Fix the health report failing with an internal error when requested through the API. (#4488)
  • Triggering a task no longer intermittently fails to create the run when a database write briefly stalls. (#4514)
  • Team members who join an organization through single sign-on or directory sync now get their own development environment for every project, so the dashboard's dev view and trigger dev become available to them without an admin having to set anything up. Members who were already missing one are repaired the next time their membership is synced from your identity provider. (#4426)
  • Fixed a rare error where triggering a task could fail if the idempotency key or debounce key contained an invalid null character. The character is now removed automatically and the run is created as normal. (#4527)
All packages: v4.5.10

@trigger.dev/build, @trigger.dev/core, @trigger.dev/python, @trigger.dev/react-hooks, @trigger.dev/redis-worker, @trigger.dev/rsc, @trigger.dev/schema-to-json, @trigger.dev/sdk, trigger.dev

Contributors

Eric Allam, Chris Arderne, @nicktrn, Matt Aitken, claude[bot], Katia Bulatova, Wes Mason, James Ritchie, @isshaddad, github-actions[bot], Oskar Otwinowski

Full changelog: https://github.com/triggerdotdev/trigger.dev/compare/v4.5.9...v4.5.10

View originalPermalink
How v4.5.10 went
v4.5.9

trigger.dev v4.5.9

Added 5
  • trigger report health command returns a verdict on whether work is flowing, runs are succeeding, and telemetry is fresh enough to trust
  • A queue's concurrency limit can now be set as a percentage of your environment limit from the dashboard or the API
  • Queue metrics page shows backlog, throughput, concurrency against limit, throttling history, and run wait times, with per-concurrency-key breakdown on individual queue pages
  • A queue's concurrency keys are now paged and searchable instead of limited to the busiest 50
  • Self-hosted instances can now serve deployed runs' API traffic from a different origin than the public one per organization via the INTERNAL_API_ORIGIN environment variable
Changed 7
  • Setting a queue concurrency limit higher than your environment limit is now rejected with an error instead of being silently reduced to the environment limit
  • trigger mcp now always starts the MCP server, with the interactive install wizard moved behind trigger mcp --install
  • Agent detail page now uses the same layout as other metrics pages with filters pinned at the top and resizable configuration panel on the right
  • Prevent build debug logs from including environment variable values
  • Send the running CLI version when checking for platform notifications so notices can be limited to compatible CLI releases
  • People who are already in an organization are no longer sent invitations to it
  • A query that fails is now recorded together with the query text that produced it
Fixed 5
  • Correct the expirationTime docs on auth.createPublicToken and trigger-token helpers to clarify that a number is a Unix timestamp in seconds, not milliseconds
  • Accepting an old invitation no longer changes the role of someone who was already in the organization
  • Invite form now says which addresses it skipped instead of failing with an unhelpful error
  • Fixed error reports being attributed to the wrong request when several requests were in flight at once
  • Invalid queries sent to the query API are no longer treated as internal errors
Removed 1
  • Removed an unused internal dashboard sync route

trigger.dev v4.5.9

Upgrade
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 Docker image: ghcr.io/triggerdotdev/trigger.dev:v4.5.9

Release notes

Read the full release notes: https://trigger.dev/changelog/v4-5-9

What's changed
Breaking changes
  • Setting a queue concurrency limit higher than your environment limit is now rejected with an error instead of being silently reduced to the environment limit, so a queue never looks like it has more capacity than it can get. Limits already saved are unchanged. (#4131)
Improvements
  • trigger mcp now always starts the MCP server, and the interactive install wizard has moved behind trigger mcp --install. Previously the wizard opened whenever stdout was a terminal, so any MCP host that spawns the command over a pseudo-terminal waited on a server that never started and eventually timed out. (#4131)

  • Ask whether an environment is healthy and get an answer instead of a wall of charts. trigger report health returns a verdict on three questions: is work flowing, are the runs that start succeeding, and is the telemetry fresh enough to trust either answer. When something looks wrong it names the most likely cause and a next action. (#4131)

    npx trigger.dev@latest report health --env prod --period 24h
    

    The verdict is computed server side, so the CLI, the new get_report MCP tool, and GET /api/v1/reports/health all return the same text with the same sparklines. In MCP hosts that support prompts, report is also available as a slash command.

  • Prevent build debug logs from including environment variable values. (#4420)

  • Send the running CLI version when checking for platform notifications so notices can be limited to compatible CLI releases. (#4407)

  • Correct the expirationTime docs on auth.createPublicToken and the trigger-token helpers: a number is a Unix timestamp in seconds, not milliseconds. (#4388)

Server changes

These changes affect the self-hosted Docker image and Trigger.dev Cloud:

  • A queue's concurrency limit can now be set as a percentage of your environment limit, from the dashboard or the API. Percentage limits track the environment limit, so raising or lowering it re-divides capacity without you editing every queue. (#4131)
  • See how every queue in an environment is doing: backlog, throughput, concurrency against its limit, when it was throttled, and how long runs waited before starting. Each queue also gets its own page, which breaks the same numbers down per concurrency key so you can tell whether one key is starving the rest. (#4131)
  • The agent detail page now uses the same layout as the other metrics pages: filters stay pinned at the top, the activity charts sit in a row beneath them, and the tabs and table scroll with the page, with the agent config in a resizable panel on the right. (#4131)
  • Self-hosted instances can now serve deployed runs' API traffic from a different origin than the public one, per organization, via the INTERNAL_API_ORIGIN environment variable and a feature flag. (#4366)
  • A queue's concurrency keys are now paged and searchable, so a queue with thousands of keys shows all of them instead of only the busiest 50. (#4131)
  • Accepting an old invitation could change the role of someone who was already in the organization. An invitation now leaves an existing member's role untouched, people who are already in an organization are no longer sent invitations to it, and the invite form now says which addresses it skipped instead of failing with an unhelpful error. (#4409)
  • Removed an unused internal dashboard sync route that is no longer part of any product surface. (#4400)
  • Fixed error reports being attributed to the wrong request when several requests were in flight at once. (#4372)
  • Invalid queries sent to the query API are no longer treated as internal errors, and a query that does fail is now recorded together with the query text that produced it. (#4372)
All packages: v4.5.9

@trigger.dev/build, @trigger.dev/core, @trigger.dev/python, @trigger.dev/react-hooks, @trigger.dev/redis-worker, @trigger.dev/rsc, @trigger.dev/schema-to-json, @trigger.dev/sdk, trigger.dev

Contributors

Chris Arderne, Eric Allam, claude[bot], James Ritchie, Matt Aitken, github-actions[bot], @D-K-P, Saadi Myftija

Full changelog: https://github.com/triggerdotdev/trigger.dev/compare/v4.5.8...v4.5.9

View originalPermalink
How v4.5.9 went
v4.5.8

trigger.dev v4.5.8

Added 3
  • Favorite any dashboard page to a new Favorites section in the side menu, and customize the sidebar by renaming favorites, hiding items, and reordering items and sections
  • Add metrics to the realtime backend that measure how often a single changed run is served to multiple subscriptions in one batch
  • Realtime run subscriptions can now be configured to read run data straight from the primary database instead of from a lagging replica, off by default
Changed 7
  • Preserve the partial assistant message when a chat turn's model stream fails mid-response, passing the recovered partial to onTurnComplete and keeping it in chat.createSession before rethrowing
  • List API endpoints now clamp the page size to a maximum of 100 items
  • Organizations without billing alerts now get default spend alert thresholds, and the billing limit page no longer pre-selects an option and prompts configuration
  • When creating a Personal Access Token, the generated token now shows its first and last few characters instead of being fully hidden
  • SSO and Directory Sync are no longer restricted to Enterprise plans
  • Improved supervisor observability with metrics for outbound requests to make failed calls to upstream services easier to monitor
  • The runs list on a task's page now updates live with status changes and newly triggered runs appearing without manual refresh
Fixed 3
  • Speed up the Batches list page for environments with a large number of batches that could previously time out while loading
  • Container startup no longer prints database and ClickHouse connection strings with credentials to the logs
  • The tasks page no longer runs two queries whose results were never displayed, removing wasted work on every page load and a source of hidden server errors
Upgrade
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 Docker image: ghcr.io/triggerdotdev/trigger.dev:v4.5.8

Release notes

Read the full release notes: https://trigger.dev/changelog/v4-5-8

What's changed
Improvements
  • Preserve the partial assistant message when a chat turn's model stream fails mid-response. chat.agent now passes the recovered partial to onTurnComplete, and chat.createSession's turn.complete() keeps it before rethrowing, instead of dropping the streamed-so-far output. (#4348)
Server changes

These changes affect the self-hosted Docker image and Trigger.dev Cloud:

  • Favorite any dashboard page to a new Favorites section in the side menu, and customize the sidebar by renaming favorites, hiding items, and reordering items and sections. (#4375)
  • List API endpoints now clamp the page size to a maximum of 100. Requests asking for a larger page size return up to 100 items and keep paginating, rather than pulling an unbounded page. (#4360)
  • Organizations without billing alerts now get default spend alert thresholds, so you're notified before usage grows unexpectedly. The billing limit page no longer pre-selects an option before you've set a limit and prompts you to configure one. Alert previews now update immediately after you change your billing limit. (#4328)
  • When you create a Personal Access Token, the generated token now shows its first and last few characters instead of being fully hidden, so you can confirm you copied the right value. (#4363)
  • Add metrics to the realtime backend that measure how often a single changed run is served to multiple subscriptions in one batch. (#4341)
  • Realtime run subscriptions can now be configured to read run data straight from the primary database, so a run's latest state is never served from a lagging replica. Off by default; replica reads are unchanged unless you turn it on. (#4378)
  • SSO and Directory Sync are no longer restricted to Enterprise plans — get in touch and we can turn them on for your organization whatever plan you're on. (#4393)
  • Improved supervisor observability: it now reports metrics for its outbound requests, making failed calls to upstream services easier to monitor. (#4350)
  • The runs list on a task's page now updates live — run statuses change and newly triggered runs appear without a manual refresh, matching the main Runs page. (#4377)
  • Speed up the Batches list page for environments with a large number of batches, which could previously time out while loading. (#4361)
  • Container startup no longer prints database and ClickHouse connection strings (with credentials) to the logs. (#4346)
  • The tasks page no longer runs two queries whose results were never displayed, cutting wasted work on every page load and removing a source of hidden server errors (#4380)
All packages: v4.5.8

@trigger.dev/build, @trigger.dev/core, @trigger.dev/python, @trigger.dev/react-hooks, @trigger.dev/redis-worker, @trigger.dev/rsc, @trigger.dev/schema-to-json, @trigger.dev/sdk, trigger.dev

Contributors

claude[bot], Eric Allam, James Ritchie, @nicktrn, Matt Aitken, github-actions[bot], Chris Arderne

Full changelog: https://github.com/triggerdotdev/trigger.dev/compare/v4.5.7...v4.5.8

View originalPermalink
How v4.5.8 went
v4.5.7

trigger.dev v4.5.7

Added 1
  • Add node-24 and node-26 as supported runtime options in trigger.config.ts
Changed 8
  • Avoid logging task run environment variable values at debug level
  • chat.writeTurnComplete() now returns the turn boundary's resume cursors (lastEventId and sessionInEventId) for persistence from the task
  • chat.pipeAndCapture() no longer throws when a stream is stopped or fails, instead returns a PipeAndCaptureResult with message, status, and error fields
  • Suppress a build-time warning in Vite-based projects when the optional @ai-sdk/otel package is not installed
  • Refresh the side menu with separate organization and account menus, new project switcher, and resizable edge
  • Redesign the account Profile page
  • Allow different organization members to use the same development branch name without sharing or colliding with each other's branch environments
  • Limit account settings email input to 254 characters
Fixed 3
  • Fix intermittent trigger dev run crashes with missing dev-run-worker.mjs by retrying cleanly when build directory is missing and providing clear messages for superseded worker versions
  • Prevent duplicate Staging and Preview environments when account setup requests overlap
  • Fix the docs link on the empty Prompts page that pointed to a page that no longer exists
Deprecated 1
  • experimental-node-24 and experimental-node-26 runtime names are now deprecated aliases that emit a deprecation warning, use node-24 and node-26 instead

trigger.dev v4.5.7

Upgrade
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 Docker image: ghcr.io/triggerdotdev/trigger.dev:v4.5.7

Release notes

Read the full release notes: https://trigger.dev/changelog/v4-5-7

What's changed
Improvements
  • Add node-24 and node-26 as supported runtime options in trigger.config.ts. The experimental-node-24 and experimental-node-26 names are now deprecated aliases and emit a deprecation warning; switch to node-24 / node-26 instead. (#4337)

    import { defineConfig } from "@trigger.dev/sdk";
    
    export default defineConfig({
    runtime: "node-24",
    project: "<your-project-ref>",
    });
    
  • Avoid logging task run environment variable values at debug level (#4336)

  • Custom chat agent loops get two ergonomic wins for owning the turn loop. (#4304)

    chat.writeTurnComplete() now returns the turn boundary's resume cursors (lastEventId for the output stream and sessionInEventId for the input stream), so you can persist them straight from the task instead of round-tripping them back from the client.

    const { lastEventId, sessionInEventId } = await chat.writeTurnComplete();
    await db.chats.update(chatId, { lastEventId, sessionInEventId });
    

    chat.pipeAndCapture() no longer throws when a stream is stopped or fails. It now returns a PipeAndCaptureResult whose message holds any partial output captured before the stop or failure, alongside a typed status ("complete" | "aborted" | "error") and, on failure, the error. Read the message off the result:

    const { message, status, error } = await chat.pipeAndCapture(result, {
    signal,
    });
    if (message) conversation.addResponse(message);
    if (status === "error") logger.error("turn failed", { error });
    

    Note: pipeAndCapture previously resolved to UIMessage | undefined. Update call sites to read .message from the returned result.

  • Suppress a build-time warning that could appear in Vite-based projects when the optional @ai-sdk/otel package is not installed. (#4188)

Bug fixes
  • Fixes intermittent trigger dev run crashes where a run could fail at boot with a cryptic Cannot find module .../dev-run-worker.mjs after a rebuild had cleaned up the build directory the run was launched against. Dev runs now retry cleanly instead of hard-crashing when their build directory is missing, the dev watchdog no longer removes the build tree of a still-running session, and a run assigned to a worker version that was superseded by a rebuild now fails fast with a clear message instead of silently hanging until it times out. (#4276)
Server changes

These changes affect the self-hosted Docker image and Trigger.dev Cloud:

  • Refreshed the side menu: separate organization and account menus, a new project switcher, and the menu is now resizable by dragging its edge. The account Profile page has also been redesigned. (#4066)
  • Allow different organization members to use the same development branch name without sharing or colliding with each other's branch environments. (#4323)
  • Limit account settings email input to 254 characters. (#4330)
  • Prevent duplicate Staging and Preview environments when account setup requests overlap (#4261)
  • Fix the docs link on the empty Prompts page, which pointed to a page that no longer exists. (#4247)
All packages: v4.5.7

@trigger.dev/build, @trigger.dev/core, @trigger.dev/python, @trigger.dev/react-hooks, @trigger.dev/redis-worker, @trigger.dev/rsc, @trigger.dev/schema-to-json, @trigger.dev/sdk, trigger.dev

Contributors

Chris Arderne, James Ritchie, Matt Aitken, Katia Bulatova, @nicktrn, github-actions[bot], Eric Allam, @D-K-P

Full changelog: https://github.com/triggerdotdev/trigger.dev/compare/v4.5.6...v4.5.7

View originalPermalink
How v4.5.7 went
v4.5.6

trigger.dev v4.5.6

Added 2
  • Add helpers to mint and verify the deployment-scoped token used to authenticate run controllers to the platform
  • Add optional request rate limiting for telemetry ingestion endpoints
Changed 1
  • Deployed task telemetry now reports the deployment identifier in the worker.id attribute instead of an opaque internal value
Security 13
  • Self-hosted deployments no longer ship shared default credentials; fresh installs generate their own
  • Require explicit browser approval for CLI and MCP login, with resilient polling while approval is pending
  • Prevent prototype pollution when applying run metadata operations or reconstructing nested telemetry attributes
  • Background-worker deployment lookups are now scoped to the authenticated environment
  • Updating a GitHub App installation from the callback flow is now scoped to your own organization
  • GitHub App installation session is now single-use, invalidated after completing an installation callback

trigger.dev v4.5.6

Upgrade
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 Docker image: ghcr.io/triggerdotdev/trigger.dev:v4.5.6

Release notes

Read the full release notes: https://trigger.dev/changelog/v4-5-6

What's changed
Breaking changes
  • Self-hosted deployments no longer ship shared default credentials; fresh installs generate their own. If yours still uses a previously published default, set a unique value before upgrading, or set ALLOW_INSECURE_DEFAULT_SECRETS=true to keep booting while you migrate. (#4316)
Security patches
  • Require explicit browser approval for CLI and MCP login, with resilient polling while approval is pending. (#4316)
  • Deployed task telemetry now reports the deployment identifier (e.g. deployment_abc123) in the worker.id attribute, instead of an opaque internal value. Upgrade to get the readable identifier in your own OpenTelemetry exporters. (#4316)
  • Prevent prototype pollution when applying run metadata operations or reconstructing nested telemetry attributes, while preserving legitimate constructor and prototype fields. (#4316)
  • Add helpers to mint and verify the deployment-scoped token used to authenticate run controllers to the platform. (#4316)
  • Added optional request rate limiting for telemetry ingestion endpoints. (#4316)
  • Background-worker deployment lookups are now scoped to the authenticated environment. (#4316)
  • Updating a GitHub App installation from the callback flow is now scoped to your own organization, so an installation ID belonging to another organization can no longer be used to refresh that organization's installation record. The GitHub App installation session is also now single-use, so completing an installation callback invalidates its state and it can no longer be replayed. (#4316)
  • Scope schedule and environment-variable writes to the caller's project and environment (#4316)
  • Reject compute snapshot callbacks that do not match the snapshot request that created them. (#4316)
  • Require secret-key authentication to initialize the session out (agent→client) stream, matching the append route. (#4316)
  • Live run and trace subscriptions now validate their identifiers more strictly and only return data from your own organization. (#4316)
  • Window-function names in the query compiler are now validated against the allowlist, matching how other function calls are handled. (#4316)
  • Authenticate run controllers to the platform with a signed, deployment-scoped token. (#4316)
  • Verify that worker actions (starting, completing, and continuing a run, and reading its snapshots) target a run belonging to the caller's environment. (#4316)
All packages: v4.5.6

@trigger.dev/build, @trigger.dev/core, @trigger.dev/python, @trigger.dev/react-hooks, @trigger.dev/redis-worker, @trigger.dev/rsc, @trigger.dev/schema-to-json, @trigger.dev/sdk, trigger.dev

Contributors

Chris Arderne, github-actions[bot]

Full changelog: https://github.com/triggerdotdev/trigger.dev/compare/v4.5.5...v4.5.6

View originalPermalink
How v4.5.6 went
v4.5.5

trigger.dev v4.5.5

Added 2
  • Add experimental Node.js 24 and 26 task runtimes via runtime option in trigger.config.ts
  • Add defaultRegion to the project GET and list API responses
Changed 4
  • Transient internal sync failures are now retried quietly instead of surfacing as errors
  • Optionally route ClickHouse read traffic to a read replica while writes stay on the primary using CLICKHOUSE_READER_URL, RUNS_LIST_CLICKHOUSE_URL, or EVENTS_READER_CLICKHOUSE_URL
  • Speed up idempotency checks on batchTrigger calls that use idempotency keys for large batches
  • The Preview branches usage on the Limits page now counts only preview branches
Fixed 3
  • Fix batchTrigger requests that set a per-item idempotency key failing with an error instead of creating and deduplicating the runs
  • Fix pages occasionally loading unstyled or failing to load during a deploy by automatically reloading the dashboard
  • Avoid opening a redundant database connection pool when the legacy and primary databases are the same server
Removed 1
  • Remove the deprecated realtime stream write endpoint used by retired v3 task clients

trigger.dev v4.5.5

Upgrade
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 Docker image: ghcr.io/triggerdotdev/trigger.dev:v4.5.5

Release notes

Read the full release notes: https://trigger.dev/changelog/v4-5-5

What's changed
Improvements
  • Add experimental Node.js 24 and 26 task runtimes. Set runtime to experimental-node-24 or experimental-node-26 in trigger.config.ts. (#4085)
  • Add defaultRegion to the project GET and list API responses; null when unset. (#4146)
Server changes

These changes affect the self-hosted Docker image and Trigger.dev Cloud:

  • Transient internal sync failures are now retried quietly instead of surfacing as errors. (#4270)
  • Optionally route ClickHouse read traffic to a read replica while writes stay on the primary. Set CLICKHOUSE_READER_URL to move all reads, or target the busiest paths with RUNS_LIST_CLICKHOUSE_URL (runs list) and EVENTS_READER_CLICKHOUSE_URL (traces, spans, logs). All optional; unset keeps current behavior. (#4081)
  • Remove the deprecated realtime stream write endpoint used by retired v3 task clients. (#4250)
  • Fix batchTrigger requests that set a per-item idempotency key failing with an error instead of creating and deduplicating the runs (#4271)
  • Speed up idempotency checks on batchTrigger calls that use idempotency keys. Large batches against a task with a big run history no longer degrade to multi-second lookups. (#4255)
  • The "Preview branches" usage on the Limits page now counts only preview branches. (#4283)
  • Avoid opening a redundant database connection pool when the legacy and primary databases are the same server, preventing connection usage from doubling. (#4253)
  • Fix pages occasionally loading unstyled or failing to load during a deploy. The dashboard now reloads automatically to recover. (#4282)
All packages: v4.5.5

@trigger.dev/build, @trigger.dev/core, @trigger.dev/python, @trigger.dev/react-hooks, @trigger.dev/redis-worker, @trigger.dev/rsc, @trigger.dev/schema-to-json, @trigger.dev/sdk, trigger.dev

Contributors

Chris Arderne, @nicktrn, @d-cs, Eric Allam, github-actions[bot], @isshaddad, Katia Bulatova, Matt Aitken

Full changelog: https://github.com/triggerdotdev/trigger.dev/compare/v4.5.4...v4.5.5

View originalPermalink
How v4.5.5 went
v4.5.4

trigger.dev v4.5.4

Added 5
  • Mark environment variables synced via the syncEnvVars build extension as secrets by returning { name, value, isSecret: true } from your callback
  • Add EVENT_REPOSITORY_POSTGRES_WRITES_DISABLED env var to skip all PostgreSQL task-event writes for deployments that store task events in ClickHouse
  • Add promo credits feature with a /promo signup landing page, redeeming a promo code when a new org selects a plan, and showing remaining credits on the usage page
  • Optionally process high-volume telemetry ingestion in parallel by setting OTEL_TRANSFORM_WORKER_POOL_ENABLED=1
  • Add REALTIME_BACKEND_DEFAULT env var to choose the default realtime backend (electric, native, or shadow)
Changed 6
  • Speed up retrieving a background worker by version by reusing already-loaded data instead of scanning the full task table
  • Clarify login error message when an email address is blocked by WHITELISTED_EMAILS setting
  • Make the native build server the default in project build settings, now opt-out with a disableNativeBuildServer key
  • Clarify on the Regions page that a region only affects where runs execute, not where data is stored
  • Improve the reliability of how run data is read and written
  • Show better details on the Errors page with meaningful titles for errors without messages and grouping by error name
Fixed 4
  • Fix a chat.agent message-loss race where sending a message right after an action could drop the follow-up's response from the UI until a refresh
  • Fix stale login errors that reappear on the login page and make later successful attempts look like they failed
  • Return a clear client error when SSO form submissions use an unsupported content type
  • Fix Query page error when extracting fields from a run's output with JSON functions
Removed 4
  • Trigger.dev v3 is no longer supported; v3 triggers, batch triggers, reschedules, and deploys now return a clear upgrade message instead of running
  • Remove the legacy --mcp and --mcp-port options from the dev command in favor of the dedicated trigger mcp command
  • Remove the unused ResourceMonitor export from @trigger.dev/core/v3/serverOnly
  • Remove the unused @trigger.dev/core/v3/zodNamespace export and the legacy v3 socket message schemas
Upgrade
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 Docker image: ghcr.io/triggerdotdev/trigger.dev:v4.5.4

Release notes

Read the full release notes: https://trigger.dev/changelog/v4-5-4

What's changed
Breaking changes
  • Trigger.dev v3 is no longer supported. For self-hosted deployments, 4.5.0 is the last version we officially support for running v3; stay on 4.5.0 or upgrade to v4. v3 triggers, batch triggers, reschedules, and deploys now return a clear upgrade message instead of running. (#4236)
Improvements
  • You can now mark environment variables synced via the syncEnvVars build extension as secrets. Return { name, value, isSecret: true } from your callback and those variables are stored redacted in the dashboard, just like manually created secret env vars. (#4203)
  • Remove the legacy --mcp and --mcp-port options from the dev command. Run the dedicated trigger mcp command to start the Trigger.dev MCP server. (#4246)
  • Removed the unused ResourceMonitor export from @trigger.dev/core/v3/serverOnly. It was a server-side logging helper with no remaining consumers. (#4244)
  • Removed the unused @trigger.dev/core/v3/zodNamespace export and the legacy v3 socket message schemas. These were only used by the now-retired v3 engine and have no v4 consumers. (#4236)
Bug fixes
  • Fix a chat.agent message-loss race where sending a message right after an action (such as an undo) could drop the follow-up's response from the UI until a refresh. (#4234)
Server changes

These changes affect the self-hosted Docker image and Trigger.dev Cloud:

  • Added EVENT_REPOSITORY_POSTGRES_WRITES_DISABLED to skip all PostgreSQL task-event writes for deployments that store task events in ClickHouse. Leave it off unless EVENT_REPOSITORY_DEFAULT_STORE is clickhouse_v2, otherwise task events are lost. (#4242)
  • Promo credits: a /promo signup landing page, redeeming a promo code when a new org selects a plan, and showing remaining credits on the usage page. (#4138)
  • Speed up retrieving a background worker by version. The endpoint no longer runs a slow lookup that scanned the full task table for large deployments; it now reuses data it already loads, so the response is the same but returns much faster. (#4245)
  • Clearer login error when an email address is blocked by the WHITELISTED_EMAILS setting: the message now explains the address isn't allowed on this instance instead of the ambiguous "This email is unauthorized". (#4220)
  • Make the native build server the default in project build settings. It's now opt-out, stored as a new disableNativeBuildServer key. Also clarifies in the UI that build settings apply to GitHub-triggered and native build server deployments. (#3980)
  • Optionally process high-volume telemetry ingestion in parallel for higher throughput under heavy load by setting OTEL_TRANSFORM_WORKER_POOL_ENABLED=1. Off by default. (#4232)
  • Add a REALTIME_BACKEND_DEFAULT env var to choose the default realtime backend (electric, native, or shadow) for environments whose org has no per-org override. Defaults to electric, so existing behavior is unchanged. (#4231)
  • Clarified on the Regions page that a region only affects where your runs execute, not where your data is stored. This shows as a tooltip on the Location column and in the confirmation dialog when you change your default region. (#4226)
  • Improved the reliability of how run data is read and written. (#4237)
  • Fixed stale login errors: an error from a previous login attempt (for example a rejected email address) no longer keeps reappearing on the login page and no longer makes later, successful attempts look like they failed. (#4220)
  • The Errors page now shows better details for each error. Errors that don't carry a message — such as errors thrown without a message, or values thrown that aren't Error objects — get a meaningful title instead of all reading "Unknown error", and are grouped by their name (or value) rather than collapsed into a single group. The error type now shows the actual error name, and stack traces now appear where previously they were missing. (#4225)
  • Return a clear client error when SSO form submissions use an unsupported content type (#4238)
  • Query page: extracting fields from a run's output with JSON functions (such as JSONExtractString or JSONExtractInt) no longer fails with an "illegal type: JSON" error. (#4221)
All packages: v4.5.4

@trigger.dev/build, @trigger.dev/core, @trigger.dev/python, @trigger.dev/react-hooks, @trigger.dev/redis-worker, @trigger.dev/rsc, @trigger.dev/schema-to-json, @trigger.dev/sdk, trigger.dev

Contributors

Chris Arderne, Eric Allam, @d-cs, Matt Aitken, @isshaddad, github-actions[bot], @nicktrn, Saadi Myftija, Oskar Otwinowski, @D-K-P, claude[bot], Wes Mason, James Ritchie

Full changelog: https://github.com/triggerdotdev/trigger.dev/compare/v4.5.3...v4.5.4

View originalPermalink
How v4.5.4 went
v4.5.3

trigger.dev v4.5.3

Changed 1
  • Reduce primary database load on the runs page by serving its empty-state check from ClickHouse instead of Postgres
Fixed 2
  • Fix TS2742 (inferred type cannot be named) when exporting a chat.agent from a project with declaration emit by declaring ChatTaskWirePayload and ChatInputChunk in the public @trigger.dev/sdk/chat subpath
  • Fixed submitting your email on the login page reloading back to an empty form instead of showing the magic link confirmation screen
Removed 1
  • Removed support for the end-of-life v3 trigger dev CLI; starting a dev session with an old v3 CLI now returns an upgrade message instead of connecting
Upgrade
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 Docker image: ghcr.io/triggerdotdev/trigger.dev:v4.5.3

Release notes

Read the full release notes: https://trigger.dev/changelog/v4-5-3

What's changed
Breaking changes
  • Removed support for the end-of-life v3 trigger dev CLI. Starting a dev session with an old v3 CLI now returns an upgrade message instead of connecting - upgrade to the v4 CLI to continue using trigger dev. (#4198)
Bug fixes
  • Fix TS2742 ("inferred type cannot be named") when exporting a chat.agent from a project with declaration emit: ChatTaskWirePayload and ChatInputChunk are now declared in the public @trigger.dev/sdk/chat subpath, so inferred agent types emit portable declarations and the wire types are directly importable. (#4218)
Server changes

These changes affect the self-hosted Docker image and Trigger.dev Cloud:

  • Reduce primary database load on the runs page by serving its empty-state check from ClickHouse instead of Postgres. (#4202)
  • Fixed submitting your email on the login page reloading back to an empty form instead of showing the magic link confirmation screen. (#4215)
All packages: v4.5.3

@trigger.dev/build, @trigger.dev/core, @trigger.dev/python, @trigger.dev/react-hooks, @trigger.dev/redis-worker, @trigger.dev/rsc, @trigger.dev/schema-to-json, @trigger.dev/sdk, trigger.dev

Contributors

Eric Allam, Oskar Otwinowski, github-actions[bot], Matt Aitken, James Ritchie, claude[bot], Chris Arderne, @nicktrn

Full changelog: https://github.com/triggerdotdev/trigger.dev/compare/v4.5.2...v4.5.3

View originalPermalink
How v4.5.3 went
v4.5.2

trigger.dev v4.5.2

Added 2
  • Bulk actions allow runs to be re-run based on a filter or run IDs via API and in the official SDK, supporting create, list, retrieve, poll and abort operations with targeting to different compute regions
  • Add an onEvent callback to TriggerChatTransport and useTriggerChatTransport that emits typed lifecycle events for sends, stream connects, first chunk, and turn completion
Changed 7
  • Large batch payloads now offload to object storage instead of riding inline in the trigger request, offloading any per-item payload over 128KB before sending
  • The environment and branch selector dropdown will automatically revalidate when opened so that new branches show up
  • Cleaner sign-in flow that requests a magic link right from the login page or continues with SSO
  • Serve PostHog analytics from a same-origin /ph path that reverse-proxies to PostHog Cloud EU
  • Refreshed the SSO & Directory Sync settings page layout and copy
  • Migrated the webapp to Tailwind CSS v4 with a CSS-first @theme and semantic color tokens as CSS variables overridable per theme
  • Replaced raw charcoal-* Tailwind classes with semantic theme tokens across the dashboard
Fixed 5
  • Fix chat turns that throw from an onTurnStart hook leaking their message listener
  • Fix chat.agent and chat.createSession permanently dropping user messages when several arrived during a single turn
  • Fix chat continuation runs replaying already-answered messages by advancing the session.in resume cursor
  • Fix chat.createSession swallowing a message sent shortly after stopping a turn
  • Fix AI generation cost to use the exact provider-reported cost from OpenRouter/Vercel AI Gateway when present instead of catalog pricing
Removed 1
  • Removed internal helpers that were only used by the end-of-life v3 self-hosted compute providers
Security 7
  • Harden account and access-control handling across auth, RBAC, org membership, and impersonation
  • Harden URL handling for alert webhooks and platform notifications
  • Harden the query and prompt-override APIs and rate-limit the query ai-title endpoint
  • Improve redaction of secrets from debug logs
  • Tighten environment scoping when replaying a run
  • Scope run, batch, and trigger lookups to the caller's tenant
  • Honor the MCP server's --dev-only flag

trigger.dev v4.5.2

Upgrade
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 Docker image: ghcr.io/triggerdotdev/trigger.dev:v4.5.2

Release notes

Read the full release notes: https://trigger.dev/changelog/v4-5-2

What's changed
Security
  • Harden account and access-control handling across auth, RBAC, org membership, and impersonation. (#4199)
  • Harden URL handling for alert webhooks and platform notifications. (#4199)
  • Harden the query and prompt-override APIs and rate-limit the query ai-title endpoint. (#4199)
  • Improve redaction of secrets from debug logs. (#4199)
  • Tighten environment scoping when replaying a run. (#4199)
  • Scope run, batch, and trigger lookups to the caller's tenant. (#4199)
  • Honor the MCP server's --dev-only flag. (#4199)
Features
  • Bulk actions allow runs to be re-run based on a filter or run IDs. Now it's also available via API and in the official SDK. Create, list, retrieve, poll and abort bulk actions. Runs can be targeted to a different compute region, just like in the web UI. (#4105)
Improvements
  • Large batch payloads now offload to object storage instead of riding inline in the trigger request. batchTrigger and batchTriggerAndWait (and the by-id and by-task variants) offload any per-item payload over 128KB before sending, the same way single trigger and triggerAndWait already do, so a big batch no longer blows past the API body limit. (#4165)

  • Removed internal helpers that were only used by the end-of-life v3 self-hosted compute providers. (#4194)

  • Add an onEvent callback to TriggerChatTransport / useTriggerChatTransport that emits typed lifecycle events for sends, stream connects, first chunk, and turn completion. Send-success metrics, time-to-first-token, and "sent but never answered" watchdogs become a few lines of client code. (#4187)

    onEvent: (event) => {
      if (event.type === "message-sent") metrics.timing("chat.send_ms", event.durationMs);
      if (event.type === "first-chunk") metrics.timing("chat.ttft_ms", event.sinceSendMs ?? 0);
    },
    
  • The environment and branch selector dropdown will automatically revalidate when opened so that new branches show up. (#4171)

  • A cleaner sign-in flow: request a magic link right from the login page, or continue with SSO. (#4182)

  • Serve PostHog analytics from a same-origin /ph path that reverse-proxies to PostHog Cloud EU, following PostHog's first-party reverse-proxy guidance. (#4183)

  • Refreshed the SSO & Directory Sync settings page layout and copy. (#4196)

  • Migrated the webapp to Tailwind CSS v4 with a CSS-first @theme. Semantic color tokens are now CSS variables overridable per theme. Tailwind runs through @tailwindcss/postcss; plugins replaced or upgraded to v4-compatible versions. (#4139)

  • Replaced raw charcoal-* Tailwind classes with semantic theme tokens across the dashboard. Adds surface, border, and text tokens to the themable layer so future themes only override CSS variables. (#4139)

Bug fixes
  • Fix chat turns that throw, for example from an onTurnStart hook, leaking their message listener, which lost or duplicated messages sent during later turns. (#4176)
  • Fix chat.agent and chat.createSession permanently dropping user messages when several arrived during a single turn: every buffered message is now dispatched as its own turn instead of only the first. (#4176)
  • Fix chat continuation runs replaying already-answered messages: turns delivered while the run was suspended now advance the session.in resume cursor, so a new run picks up exactly where the previous one left off. (#4176)
  • Fix chat.createSession swallowing a message sent shortly after stopping a turn: the turn's message listener now detaches when the stream settles, so those messages run as the next turn. (#4176)
  • Anchor batch item run-ops residency on the batch's own friendlyId so a mid-batch flag change can no longer mint an item into a different physical store than its BatchTaskRun row. (#4178)
  • AI generation cost now uses the exact provider-reported cost from OpenRouter/Vercel AI Gateway when present, instead of catalog pricing, so cache-discounted and fallback-routed requests match the amount the provider actually billed. (#4186)
  • Deleting a project no longer triggers a slow database cleanup that could hang on projects with many runs. (#4191)
  • Fixed the agent playground chat failing to send messages, with "Failed to fetch" errors in some environments. Messages now reach the agent reliably. (#4193)
  • Deploying with an outdated CLI could produce an image that fails to start on every run. These deploys are now stopped before going live, with a message asking you to upgrade the CLI and re-deploy. (#4184)
  • Runs resuming after a wait no longer fail with TASK_EXECUTION_ABORTED when the database is briefly unreachable; the resume endpoint returns a retryable response for transient infrastructure errors instead of a permanent one. (#4161)
All packages: v4.5.2

@trigger.dev/build, @trigger.dev/core, @trigger.dev/plugins, @trigger.dev/python, @trigger.dev/react-hooks, @trigger.dev/redis-worker, @trigger.dev/rsc, @trigger.dev/schema-to-json, @trigger.dev/sdk, trigger.dev

Contributors

Chris Arderne, Matt Aitken, Eric Allam, James Ritchie, @nicktrn, @d-cs, Katia Bulatova, Wes Mason, github-actions[bot], @isshaddad, @D-K-P, claude[bot]

Full changelog: https://github.com/triggerdotdev/trigger.dev/compare/v4.5.1...v4.5.2

View originalPermalink
How v4.5.2 went
v4.5.1

trigger.dev v4.5.1

Changed 1
  • Extend the SSO plugin contract with WorkOS Directory Sync (SCIM) support

trigger.dev v4.5.1

Upgrade
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 Docker image: ghcr.io/triggerdotdev/trigger.dev:v4.5.1

Release notes

Read the full release notes: https://trigger.dev/changelog/v4-5-1

What's changed
Improvements
  • Extend the SSO plugin contract with WorkOS Directory Sync (SCIM) support. (#4148)
All packages: v4.5.1

@trigger.dev/build, @trigger.dev/core, @trigger.dev/python, @trigger.dev/react-hooks, @trigger.dev/redis-worker, @trigger.dev/rsc, @trigger.dev/schema-to-json, @trigger.dev/sdk, trigger.dev

Contributors

@d-cs, Chris Arderne, @nicktrn, Oskar Otwinowski, claude[bot], Eric Allam, James Ritchie, Matt Aitken, github-actions[bot], Wes Mason

Full changelog: https://github.com/triggerdotdev/trigger.dev/compare/v4.5.0...v4.5.1

View originalPermalink
How v4.5.1 went
View all

Discussion