Repository navigation
Commit 3349df0
chore: release v4.7.5 (#5031)
## Summary
1 new feature, 10 improvements, 7 bug fixes.
## Improvements
- Update the @modelcontextprotocol/sdk dependency to ^1.31.0.
([`b5354d188`](b5354d1))
- Add `trigger.dev tasks trigger <task id>` to trigger a task from your
terminal. It uses the dev environment unless you pass `--env`, and
`--wait` waits for the run and prints its output or error, exiting with
code 1 if it failed. The `runs` commands now use the same dev branch as
`trigger dev` when you pass `--env dev`.
([`d5dc48424`](d5dc484))
```bash
npx trigger.dev@latest tasks trigger hello-world --payload
'{"name":"Ada"}' --wait
```
- Manage custom metric dashboards from code. `query.dashboards` lists,
creates, updates and deletes custom dashboards and their widgets, and
every widget query is checked when it is saved. The MCP server adds
`create_dashboard` and `set_dashboard_widgets`, so your AI assistant can
build a dashboard for you.
([`252624c92`](252624c))
```ts
import { query } from "@trigger.dev/sdk";
await query.dashboards.create({
title: "Email tasks",
widgets: [
{
title: "Total runs",
query: "SELECT count() AS total FROM runs",
display: { type: "bignumber", column: "total", aggregation: "sum" },
},
],
});
```
- `trigger deploy` and `trigger promote` now say which environment
they're targeting, and accept `--prod` as a shorthand for `--env prod`.
When `TRIGGER_ACCESS_TOKEN` holds an environment API key and you don't
pass `--env`, they now use that key's environment instead of assuming
prod. Passing an `--env` that doesn't match the key is now an error,
where before the deploy went to the key's environment.
([`70ea83d38`](70ea83d))
Preview deploys now detect the branch on CI providers that check out a
detached HEAD, such as GitLab, Bitbucket, CircleCI, Buildkite, Travis
CI, Jenkins and Azure Pipelines, instead of creating a branch called
`HEAD`. Test links printed after a preview deploy now open the preview
branch you deployed instead of staging.
The MCP `deploy` tool no longer defaults to prod, so your AI assistant
has to choose the environment.
- `trigger dev` works better when a coding agent like Claude Code,
Cursor or Codex runs it: it skips the install prompts, lists the tasks
it registered, and prints each run's dashboard URL and output. For
everyone, a failed build now ends with a line saying it will rebuild
when you fix the errors, and retried attempts and crashed task processes
now show their errors.
([`d5dc48424`](d5dc484))
- Redact span content before it leaves the worker.
`telemetry.spanProcessors` in `trigger.config.ts` runs your own span
processors ahead of every export, to Trigger.dev and to your own
exporters, so you can redact or drop span content before it reaches the
run trace. `chat.agent` also takes a `telemetry` option to stop
recording the user's message and `clientData` on its spans.
([`32b36b143`](32b36b1))
```ts
export default defineConfig({
telemetry: { spanProcessors: [new MyRedactingSpanProcessor()] },
});
chat.agent({
id: "my-chat",
telemetry: { recordUserMessage: false, recordClientData: false },
run: async ({ messages, signal, streamText }) =>
streamText({ model, messages, abortSignal: signal }),
});
```
## Bug fixes
- Fix run subscriptions crashing Node with `Controller is already
closed` after you `break` out of the loop, and stop polling once you do.
`ApiClient` subscribe methods also accept a custom `fetchClient`.
([`9f4295bff`](9f4295b))
## Server changes
These changes affect the self-hosted Docker image and Trigger.dev Cloud:
- Recent deployments made with `--local-bundle` can now be redeployed
from the deployments list, rebuilding the same bundle with its
build-time environment variables.
- The API keys page now prompts you to create your first key instead of
showing an empty table.
- The short link /_/billing now takes you straight to the billing page
of your current organization.
- Show the $500/month price for the HIPAA BAA add-on on the Hobby and
Pro plans in the plan picker.
- You can now buy or reduce extra schedules from the Schedules row on
the Limits page.
- A `batchTriggerAndWait` could stay stuck executing after all of its
child runs finished, if creating the batch was retried while the server
was slow to respond. The parent now resumes with its child runs'
results.
- The natural-language field on the schedule form returns a cron
expression again instead of an error.
- Fixed runs failing to resume from a wait when the platform had already
resumed them but the confirmation was lost.
- Run traces returned by the API no longer include internal debug
events.
- Fixed natural-language schedule generation in the schedule side panel.
- A run whose process is killed is now only reported as out of memory
when the machine actually ran out of memory. Any other kill (e.g. the
machine being shut down or reclaimed) fails the attempt straight away as
a crash, which is retried using your task's retry settings on the same
machine size.
<details>
<summary>Raw changeset output</summary>
# Releases
## @trigger.dev/build@4.7.5
### Patch Changes
- Updated dependencies:
- `@trigger.dev/core@4.7.5`
## trigger.dev@4.7.5
### Patch Changes
- Update the @modelcontextprotocol/sdk dependency to ^1.31.0.
([`b5354d188`](b5354d1))
- Add `trigger.dev tasks trigger <task id>` to trigger a task from your
terminal. It uses the dev environment unless you pass `--env`, and
`--wait` waits for the run and prints its output or error, exiting with
code 1 if it failed. The `runs` commands now use the same dev branch as
`trigger dev` when you pass `--env dev`.
([`d5dc48424`](d5dc484))
```bash
npx trigger.dev@latest tasks trigger hello-world --payload
'{"name":"Ada"}' --wait
```
- Manage custom metric dashboards from code. `query.dashboards` lists,
creates, updates and deletes custom dashboards and their widgets, and
every widget query is checked when it is saved. The MCP server adds
`create_dashboard` and `set_dashboard_widgets`, so your AI assistant can
build a dashboard for you.
([`252624c92`](252624c))
```ts
import { query } from "@trigger.dev/sdk";
await query.dashboards.create({
title: "Email tasks",
widgets: [
{
title: "Total runs",
query: "SELECT count() AS total FROM runs",
display: { type: "bignumber", column: "total", aggregation: "sum" },
},
],
});
```
- `trigger deploy` and `trigger promote` now say which environment
they're targeting, and accept `--prod` as a shorthand for `--env prod`.
When `TRIGGER_ACCESS_TOKEN` holds an environment API key and you don't
pass `--env`, they now use that key's environment instead of assuming
prod. Passing an `--env` that doesn't match the key is now an error,
where before the deploy went to the key's environment.
([`70ea83d38`](70ea83d))
Preview deploys now detect the branch on CI providers that check out a
detached HEAD, such as GitLab, Bitbucket, CircleCI, Buildkite, Travis
CI, Jenkins and Azure Pipelines, instead of creating a branch called
`HEAD`. Test links printed after a preview deploy now open the preview
branch you deployed instead of staging.
The MCP `deploy` tool no longer defaults to prod, so your AI assistant
has to choose the environment.
- `trigger dev` works better when a coding agent like Claude Code,
Cursor or Codex runs it: it skips the install prompts, lists the tasks
it registered, and prints each run's dashboard URL and output. For
everyone, a failed build now ends with a line saying it will rebuild
when you fix the errors, and retried attempts and crashed task processes
now show their errors.
([`d5dc48424`](d5dc484))
- Redact span content before it leaves the worker.
`telemetry.spanProcessors` in `trigger.config.ts` runs your own span
processors ahead of every export, to Trigger.dev and to your own
exporters, so you can redact or drop span content before it reaches the
run trace. `chat.agent` also takes a `telemetry` option to stop
recording the user's message and `clientData` on its spans.
([`32b36b143`](32b36b1))
```ts
export default defineConfig({
telemetry: { spanProcessors: [new MyRedactingSpanProcessor()] },
});
chat.agent({
id: "my-chat",
telemetry: { recordUserMessage: false, recordClientData: false },
run: async ({ messages, signal, streamText }) =>
streamText({ model, messages, abortSignal: signal }),
});
```
- Updated dependencies:
- `@trigger.dev/core@4.7.5`
- `@trigger.dev/build@4.7.5`
- `@trigger.dev/schema-to-json@4.7.5`
## @trigger.dev/core@4.7.5
### Patch Changes
- Manage custom metric dashboards from code. `query.dashboards` lists,
creates, updates and deletes custom dashboards and their widgets, and
every widget query is checked when it is saved. The MCP server adds
`create_dashboard` and `set_dashboard_widgets`, so your AI assistant can
build a dashboard for you.
([`252624c92`](252624c))
```ts
import { query } from "@trigger.dev/sdk";
await query.dashboards.create({
title: "Email tasks",
widgets: [
{
title: "Total runs",
query: "SELECT count() AS total FROM runs",
display: { type: "bignumber", column: "total", aggregation: "sum" },
},
],
});
```
- `trigger deploy` and `trigger promote` now say which environment
they're targeting, and accept `--prod` as a shorthand for `--env prod`.
When `TRIGGER_ACCESS_TOKEN` holds an environment API key and you don't
pass `--env`, they now use that key's environment instead of assuming
prod. Passing an `--env` that doesn't match the key is now an error,
where before the deploy went to the key's environment.
([`70ea83d38`](70ea83d))
Preview deploys now detect the branch on CI providers that check out a
detached HEAD, such as GitLab, Bitbucket, CircleCI, Buildkite, Travis
CI, Jenkins and Azure Pipelines, instead of creating a branch called
`HEAD`. Test links printed after a preview deploy now open the preview
branch you deployed instead of staging.
The MCP `deploy` tool no longer defaults to prod, so your AI assistant
has to choose the environment.
- Redact span content before it leaves the worker.
`telemetry.spanProcessors` in `trigger.config.ts` runs your own span
processors ahead of every export, to Trigger.dev and to your own
exporters, so you can redact or drop span content before it reaches the
run trace. `chat.agent` also takes a `telemetry` option to stop
recording the user's message and `clientData` on its spans.
([`32b36b143`](32b36b1))
```ts
export default defineConfig({
telemetry: { spanProcessors: [new MyRedactingSpanProcessor()] },
});
chat.agent({
id: "my-chat",
telemetry: { recordUserMessage: false, recordClientData: false },
run: async ({ messages, signal, streamText }) =>
streamText({ model, messages, abortSignal: signal }),
});
```
- Fix run subscriptions crashing Node with `Controller is already
closed` after you `break` out of the loop, and stop polling once you do.
`ApiClient` subscribe methods also accept a custom `fetchClient`.
([`9f4295bff`](9f4295b))
## @trigger.dev/python@4.7.5
### Patch Changes
- Updated dependencies:
- `@trigger.dev/sdk@4.7.5`
- `@trigger.dev/core@4.7.5`
- `@trigger.dev/build@4.7.5`
## @trigger.dev/react-hooks@4.7.5
### Patch Changes
- Updated dependencies:
- `@trigger.dev/core@4.7.5`
## @trigger.dev/redis-worker@4.7.5
### Patch Changes
- Updated dependencies:
- `@trigger.dev/core@4.7.5`
## @trigger.dev/rsc@4.7.5
### Patch Changes
- Updated dependencies:
- `@trigger.dev/core@4.7.5`
## @trigger.dev/schema-to-json@4.7.5
### Patch Changes
- Updated dependencies:
- `@trigger.dev/core@4.7.5`
## @trigger.dev/sdk@4.7.5
### Patch Changes
- Manage custom metric dashboards from code. `query.dashboards` lists,
creates, updates and deletes custom dashboards and their widgets, and
every widget query is checked when it is saved. The MCP server adds
`create_dashboard` and `set_dashboard_widgets`, so your AI assistant can
build a dashboard for you.
([`252624c92`](252624c))
```ts
import { query } from "@trigger.dev/sdk";
await query.dashboards.create({
title: "Email tasks",
widgets: [
{
title: "Total runs",
query: "SELECT count() AS total FROM runs",
display: { type: "bignumber", column: "total", aggregation: "sum" },
},
],
});
```
- Redact span content before it leaves the worker.
`telemetry.spanProcessors` in `trigger.config.ts` runs your own span
processors ahead of every export, to Trigger.dev and to your own
exporters, so you can redact or drop span content before it reaches the
run trace. `chat.agent` also takes a `telemetry` option to stop
recording the user's message and `clientData` on its spans.
([`32b36b143`](32b36b1))
```ts
export default defineConfig({
telemetry: { spanProcessors: [new MyRedactingSpanProcessor()] },
});
chat.agent({
id: "my-chat",
telemetry: { recordUserMessage: false, recordClientData: false },
run: async ({ messages, signal, streamText }) =>
streamText({ model, messages, abortSignal: signal }),
});
```
- Updated dependencies:
- `@trigger.dev/core@4.7.5`
</details>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Eric Allam <eric@trigger.dev>1 parent f8e2e40 commit 3349df0
38 files changed
Lines changed: 217 additions & 177 deletions
File tree
- .changeset
- .server-changes
- hosting/k8s/helm
- packages
- build
- cli-v3
- core
- python
- react-hooks
- redis-worker
- rsc
- schema-to-json
- trigger-sdk
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
0 commit comments