-
Add input streams for bidirectional communication with running tasks. Define typed input streams with
streams.input<T>({ id }), then consume inside tasks via.wait()(suspends the process),.once()(waits for next message), or.on()(subscribes to a continuous stream). Send data from backends with.send(runId, data)or from frontends with the newuseInputStreamSendReact hook. (#3146)Upgrade S2 SDK from 0.17 to 0.22 with support for custom endpoints (s2-lite) via the new
endpointsconfiguration,AppendRecord.string()API, andmaxInflightBytessession option. -
fix(sdk): batch triggerAndWait variants now return correct run.taskIdentifier instead of unknown (#3080)
-
Add PAYLOAD_TOO_LARGE error to handle graceful recovery of sending batch trigger items with payloads that exceed the maximum payload size (#3137)
-
Updated dependencies:
@trigger.dev/core@4.4.2
- Add OTEL metrics pipeline for task workers. Workers collect process CPU/memory, Node.js runtime metrics (event loop utilization, event loop delay, heap usage), and user-defined custom metrics via
otel.metrics.getMeter(). Metrics are exported to ClickHouse with 10-second aggregation buckets and 1m/5m rollups, and are queryable through the dashboard query engine with typed attribute columns,prettyFormat()for human-readable values, and AI query support. (#3061) - Updated dependencies:
@trigger.dev/core@4.4.1
-
Added
query.execute()which lets you query your Trigger.dev data using TRQL (Trigger Query Language) and returns results as typed JSON rows or CSV. It supports configurable scope (environment, project, or organization), time filtering viaperiodorfrom/toranges, and aformatoption for JSON or CSV output. (#3060)import { query } from "@trigger.dev/sdk"; import type { QueryTable } from "@trigger.dev/sdk"; // Basic untyped query const result = await query.execute("SELECT run_id, status FROM runs LIMIT 10"); // Type-safe query using QueryTable to pick specific columns const typedResult = await query.execute<QueryTable<"runs", "run_id" | "status" | "triggered_at">>( "SELECT run_id, status, triggered_at FROM runs LIMIT 10" ); typedResult.results.forEach((row) => { console.log(row.run_id, row.status); // Fully typed }); // Aggregation query with inline types const stats = await query.execute<{ status: string; count: number }>( "SELECT status, COUNT(*) as count FROM runs GROUP BY status", { scope: "project", period: "30d" } ); // CSV export const csv = await query.execute("SELECT run_id, status FROM runs", { format: "csv", period: "7d", }); console.log(csv.results); // Raw CSV string
-
Add
maxDelayoption to debounce feature. This allows setting 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 }, });
-
Aligned the SDK's
getRunIdForOptionslogic with the Core package to handle semantic targets (root,parent) in root tasks. (#2874) -
Export
AnyOnStartAttemptHookFunctiontype to allow definingonStartAttempthooks for individual tasks. (#2966) -
Fixed a minor issue in the deployment command on distinguishing between local builds for the cloud vs local builds for self-hosting setups. (#3070)
-
Updated dependencies:
@trigger.dev/core@4.4.0
-
Add support for AI SDK v6 (Vercel AI SDK) (#2919)
- Updated peer dependency to allow
ai@^6.0.0alongside v4 and v5 - Updated internal code to handle async validation from AI SDK v6's Schema type
- Updated peer dependency to allow
-
Expose user-provided idempotency key and scope in task context.
ctx.run.idempotencyKeynow returns the original key passed toidempotencyKeys.create()instead of the hash, andctx.run.idempotencyKeyScopeshows the scope ("run", "attempt", or "global"). (#2903) -
Updated dependencies:
@trigger.dev/core@4.3.3
- Improve batch trigger error messages, especially when rate limited (#2837)
- Updated dependencies:
@trigger.dev/core@4.3.2
- feat: Support for new batch trigger system (#2779)
- feat(sdk): Support debouncing runs when triggering with new debounce options (#2794)
- Added support for idempotency reset (#2777)
- Updated dependencies:
@trigger.dev/core@4.3.1
- Updated dependencies:
@trigger.dev/core@4.3.0
- fix(sdk): Re-export schemaTask types to prevent the TypeScript error TS2742: The inferred type of 'task' cannot be named without a reference to '@trigger.dev/core/v3'. This is likely not portable. (#2735)
- feat: add ability to set custom resource properties through trigger.config.ts or via the OTEL_RESOURCE_ATTRIBUTES env var (#2704)
- Updated dependencies:
@trigger.dev/core@4.2.0
- Updated dependencies:
@trigger.dev/core@4.1.2
- Updated dependencies:
@trigger.dev/core@4.1.1
-
Realtime streams v2 (#2632)
-
Prevent uncaught errors in the
onSuccess,onComplete, andonFailurelifecycle hooks from failing attempts/runs. (#2515)Deprecated the
onStartlifecycle hook (which only fires before therunfunction on the first attempt). Replaced withonStartAttemptthat fires before the run function on every attempt:export const taskWithOnStartAttempt = task({ id: "task-with-on-start-attempt", onStartAttempt: async ({ payload, ctx }) => { //... }, run: async (payload: any, { ctx }) => { //... }, }); // Default a global lifecycle hook using tasks tasks.onStartAttempt(({ ctx, payload, task }) => { console.log( `Run ${ctx.run.id} started on task ${task} attempt ${ctx.run.attempt.number}`, ctx.run ); });
If you want to execute code before just the first attempt, you can use the
onStartAttemptfunction and checkctx.run.attempt.number === 1:export const taskWithOnStartAttempt = task({ id: "task-with-on-start-attempt", onStartAttempt: async ({ payload, ctx }) => { if (ctx.run.attempt.number === 1) { console.log("Run started on attempt 1", ctx.run); } }, });
- Updated dependencies:
@trigger.dev/core@4.1.0
- Updated dependencies:
@trigger.dev/core@4.0.7
- Updated dependencies:
@trigger.dev/core@4.0.6
- Updated dependencies:
@trigger.dev/core@4.0.5
- Updated dependencies:
@trigger.dev/core@4.0.4
- Added the heartbeats.yield utility to allow tasks that do continuous CPU-heavy work to heartbeat and continue running (#2489)
- Updated dependencies:
@trigger.dev/core@4.0.3
- Updated dependencies:
@trigger.dev/core@4.0.2
- Updated dependencies:
@trigger.dev/core@4.0.1
- Trigger.dev v4 release. Please see our upgrade to v4 docs to view the full changelog: https://trigger.dev/docs/upgrade-to-v4 (#1869)
-
fix: importing from runEngine/index.js breaks non-node runtimes (#2328)
-
Run Engine 2.0 (alpha) (#1575)
-
fix: Logging large objects is now much more performant and uses less memory (#2263)
-
New internal idempotency implementation for trigger and batch trigger to prevent request retries from duplicating work (#2256)
-
When you create a Waitpoint token using
wait.createToken()you get a URL back that can be used to complete it by making an HTTP POST request. (#2025) -
feat: Support AI SDK 5.0.
ai.toolnow accepts either a schemaTask or a task with a provided jsonSchema (#2396) -
External Trace Correlation & OpenTelemetry Package Updates. (#2334)
Package Previous Version New Version Change Type @opentelemetry/api1.9.0 1.9.0 No change (stable API) @opentelemetry/api-logs0.52.1 0.203.0 Major update @opentelemetry/core- 2.0.1 New dependency @opentelemetry/exporter-logs-otlp-http0.52.1 0.203.0 Major update @opentelemetry/exporter-trace-otlp-http0.52.1 0.203.0 Major update @opentelemetry/instrumentation0.52.1 0.203.0 Major update @opentelemetry/instrumentation-fetch0.52.1 0.203.0 Major update @opentelemetry/resources1.25.1 2.0.1 Major update @opentelemetry/sdk-logs0.52.1 0.203.0 Major update @opentelemetry/sdk-node0.52.1 - Removed (functionality consolidated) @opentelemetry/sdk-trace-base1.25.1 2.0.1 Major update @opentelemetry/sdk-trace-node1.25.1 2.0.1 Major update @opentelemetry/semantic-conventions1.25.1 1.36.0 Minor update We will now correlate your external traces with trigger.dev traces and logs when using our external exporters:
import { defineConfig } from "@trigger.dev/sdk"; import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-http"; import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http"; export default defineConfig({ project: process.env.TRIGGER_PROJECT_REF, dirs: ["./src/trigger"], telemetry: { logExporters: [ new OTLPLogExporter({ url: "https://api.axiom.co/v1/logs", headers: { Authorization: `Bearer ${process.env.AXIOM_TOKEN}`, "X-Axiom-Dataset": "test", }, }), ], exporters: [ new OTLPTraceExporter({ url: "https://api.axiom.co/v1/traces", headers: { Authorization: `Bearer ${process.env.AXIOM_TOKEN}`, "X-Axiom-Dataset": "test", }, }), ], }, maxDuration: 3600, });
You can also now propagate your external trace context when calling back into your own backend infra from inside a trigger.dev task:
import { otel, task } from "@trigger.dev/sdk"; import { context, propagation } from "@opentelemetry/api"; async function callNextjsApp() { return await otel.withExternalTrace(async () => { const headersObject = {}; // Now context.active() refers to your external trace context propagation.inject(context.active(), headersObject); const result = await fetch("http://localhost:3000/api/demo-call-from-trigger", { headers: new Headers(headersObject), method: "POST", body: JSON.stringify({ message: "Hello from Trigger.dev", }), }); return result.json(); }); } export const myTask = task({ id: "my-task", run: async (payload: any) => { await callNextjsApp(); }, });
-
Add jsonSchema support when indexing tasks (#2353)
-
Fixed an issue with realtime streams that timeout and resume streaming dropping chunks (#1993)
-
Added and cleaned up the run ctx param: (#2322)
- New optional properties
ctx.run.parentTaskRunIdandctx.run.rootTaskRunIdreference the current run's root/parent ID. - Removed deprecated properties from
ctx - Added a new
ctx.deploymentobject that contains information about the deployment associated with the run.
We also update
metadata.rootandmetadata.parentto work even when the run is a "root" run (meaning it doesn't have a parent or a root associated run). This now works:metadata.root.set("foo", "bar"); metadata.parent.set("baz", 1); metadata.current().foo; // "bar" metadata.current().baz; // 1
- New optional properties
-
The envvars.list() and retrieve() functions receive isSecret for each value. Secret values are always redacted. (#1942)
-
Fix issue where realtime streams would cut off after 5 minutes (#1952)
-
Deprecate toolTask and replace with
ai.tool(mySchemaTask)(#1863) -
Display clickable links in Cursor terminal (#1998)
-
Removes the
releaseConcurrencyOnWaitpointoption on queues and thereleaseConcurrencyoption on various wait functions. Replaced with the following default behavior: (#2284)- Concurrency is never released when a run is first blocked via a waitpoint, at either the env or queue level.
- Concurrency is always released when a run is checkpointed and shutdown, at both the env and queue level.
Additionally, environment concurrency limits now have a new "Burst Factor", defaulting to 2.0x. The "Burst Factor" allows the environment-wide concurrency limit to be higher than any individual queue's concurrency limit. For example, if you have an environment concurrency limit of 100, and a Burst Factor of 2.0x, then you can execute up to 200 runs concurrently, but any one task/queue can still only execute 100 runs concurrently.
We've done some work cleaning up the run statuses. The new statuses are:
PENDING_VERSION: Task is waiting for a version update because it cannot execute without additional information (task, queue, etc.)QUEUED: Task is waiting to be executed by a workerDEQUEUED: Task has been dequeued and is being sent to a worker to start executing.EXECUTING: Task is currently being executed by a workerWAITING: Task has been paused by the system, and will be resumed by the systemCOMPLETED: Task has been completed successfullyCANCELED: Task has been canceled by the userFAILED: Task has failed to complete, due to an error in the systemCRASHED: Task has crashed and won't be retried, most likely the worker ran out of resources, e.g. memory or storageSYSTEM_FAILURE: Task has failed to complete, due to an error in the systemDELAYED: Task has been scheduled to run at a specific timeEXPIRED: Task has expired and won't be executedTIMED_OUT: Task has reached it's maxDuration and has been stopped
We've removed the following statuses:
WAITING_FOR_DEPLOY: This is no longer used, and is replaced byPENDING_VERSIONFROZEN: This is no longer used, and is replaced byWAITINGINTERRUPTED: This is no longer usedREATTEMPTING: This is no longer used, and is replaced byEXECUTING
We've also added "boolean" helpers to runs returned via the API and from Realtime:
isQueued: Returns true when the status isQUEUED,PENDING_VERSION, orDELAYEDisExecuting: Returns true when the status isEXECUTING,DEQUEUED. These count against your concurrency limits.isWaiting: Returns true when the status isWAITING. These do not count against your concurrency limits.isCompleted: Returns true when the status is any of the completed statuses.isCanceled: Returns true when the status isCANCELEDisFailed: Returns true when the status is any of the failed statuses.isSuccess: Returns true when the status isCOMPLETED
This change adds the ability to easily detect which runs are being counted against your concurrency limit by filtering for both
EXECUTINGorDEQUEUED. -
Add onCancel lifecycle hook (#2022)
-
Provide realtime skipColumns option via untamperable public access tokens (#2201)
-
Removed triggerAndPoll. It was never recommended so it's been removed. (#2379)
-
Improve metadata flushing efficiency by collapsing operations (#2106)
-
Upgrade to zod 3.25.76 (#2352)
-
Specify a region override when triggering a run (#2366)
-
Added runs.list filtering for queue and machine (#2277)
-
maintain proper context in metadata.root and parent getters (#1917)
-
v4: New lifecycle hooks (#1817)
-
Updated dependencies:
@trigger.dev/core@4.0.0
- feat: Support AI SDK 5.0.
ai.toolnow accepts either a schemaTask or a task with a provided jsonSchema (#2396) - Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.28
-
External Trace Correlation & OpenTelemetry Package Updates. (#2334)
Package Previous Version New Version Change Type @opentelemetry/api1.9.0 1.9.0 No change (stable API) @opentelemetry/api-logs0.52.1 0.203.0 Major update @opentelemetry/core- 2.0.1 New dependency @opentelemetry/exporter-logs-otlp-http0.52.1 0.203.0 Major update @opentelemetry/exporter-trace-otlp-http0.52.1 0.203.0 Major update @opentelemetry/instrumentation0.52.1 0.203.0 Major update @opentelemetry/instrumentation-fetch0.52.1 0.203.0 Major update @opentelemetry/resources1.25.1 2.0.1 Major update @opentelemetry/sdk-logs0.52.1 0.203.0 Major update @opentelemetry/sdk-node0.52.1 - Removed (functionality consolidated) @opentelemetry/sdk-trace-base1.25.1 2.0.1 Major update @opentelemetry/sdk-trace-node1.25.1 2.0.1 Major update @opentelemetry/semantic-conventions1.25.1 1.36.0 Minor update We will now correlate your external traces with trigger.dev traces and logs when using our external exporters:
import { defineConfig } from "@trigger.dev/sdk"; import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-http"; import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http"; export default defineConfig({ project: process.env.TRIGGER_PROJECT_REF, dirs: ["./src/trigger"], telemetry: { logExporters: [ new OTLPLogExporter({ url: "https://api.axiom.co/v1/logs", headers: { Authorization: `Bearer ${process.env.AXIOM_TOKEN}`, "X-Axiom-Dataset": "test", }, }), ], exporters: [ new OTLPTraceExporter({ url: "https://api.axiom.co/v1/traces", headers: { Authorization: `Bearer ${process.env.AXIOM_TOKEN}`, "X-Axiom-Dataset": "test", }, }), ], }, maxDuration: 3600, });
You can also now propagate your external trace context when calling back into your own backend infra from inside a trigger.dev task:
import { otel, task } from "@trigger.dev/sdk"; import { context, propagation } from "@opentelemetry/api"; async function callNextjsApp() { return await otel.withExternalTrace(async () => { const headersObject = {}; // Now context.active() refers to your external trace context propagation.inject(context.active(), headersObject); const result = await fetch("http://localhost:3000/api/demo-call-from-trigger", { headers: new Headers(headersObject), method: "POST", body: JSON.stringify({ message: "Hello from Trigger.dev", }), }); return result.json(); }); } export const myTask = task({ id: "my-task", run: async (payload: any) => { await callNextjsApp(); }, });
-
Add jsonSchema support when indexing tasks (#2353)
-
Removed triggerAndPoll. It was never recommended so it's been removed. (#2379)
-
Upgrade to zod 3.25.76 (#2352)
-
Specify a region override when triggering a run (#2366)
-
Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.27
-
fix: importing from runEngine/index.js breaks non-node runtimes (#2328)
-
Added and cleaned up the run ctx param: (#2322)
- New optional properties
ctx.run.parentTaskRunIdandctx.run.rootTaskRunIdreference the current run's root/parent ID. - Removed deprecated properties from
ctx - Added a new
ctx.deploymentobject that contains information about the deployment associated with the run.
We also update
metadata.rootandmetadata.parentto work even when the run is a "root" run (meaning it doesn't have a parent or a root associated run). This now works:metadata.root.set("foo", "bar"); metadata.parent.set("baz", 1); metadata.current().foo; // "bar" metadata.current().baz; // 1
- New optional properties
-
Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.26
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.25
-
Removes the
releaseConcurrencyOnWaitpointoption on queues and thereleaseConcurrencyoption on various wait functions. Replaced with the following default behavior: (#2284)- Concurrency is never released when a run is first blocked via a waitpoint, at either the env or queue level.
- Concurrency is always released when a run is checkpointed and shutdown, at both the env and queue level.
Additionally, environment concurrency limits now have a new "Burst Factor", defaulting to 2.0x. The "Burst Factor" allows the environment-wide concurrency limit to be higher than any individual queue's concurrency limit. For example, if you have an environment concurrency limit of 100, and a Burst Factor of 2.0x, then you can execute up to 200 runs concurrently, but any one task/queue can still only execute 100 runs concurrently.
We've done some work cleaning up the run statuses. The new statuses are:
PENDING_VERSION: Task is waiting for a version update because it cannot execute without additional information (task, queue, etc.)QUEUED: Task is waiting to be executed by a workerDEQUEUED: Task has been dequeued and is being sent to a worker to start executing.EXECUTING: Task is currently being executed by a workerWAITING: Task has been paused by the system, and will be resumed by the systemCOMPLETED: Task has been completed successfullyCANCELED: Task has been canceled by the userFAILED: Task has failed to complete, due to an error in the systemCRASHED: Task has crashed and won't be retried, most likely the worker ran out of resources, e.g. memory or storageSYSTEM_FAILURE: Task has failed to complete, due to an error in the systemDELAYED: Task has been scheduled to run at a specific timeEXPIRED: Task has expired and won't be executedTIMED_OUT: Task has reached it's maxDuration and has been stopped
We've removed the following statuses:
WAITING_FOR_DEPLOY: This is no longer used, and is replaced byPENDING_VERSIONFROZEN: This is no longer used, and is replaced byWAITINGINTERRUPTED: This is no longer usedREATTEMPTING: This is no longer used, and is replaced byEXECUTING
We've also added "boolean" helpers to runs returned via the API and from Realtime:
isQueued: Returns true when the status isQUEUED,PENDING_VERSION, orDELAYEDisExecuting: Returns true when the status isEXECUTING,DEQUEUED. These count against your concurrency limits.isWaiting: Returns true when the status isWAITING. These do not count against your concurrency limits.isCompleted: Returns true when the status is any of the completed statuses.isCanceled: Returns true when the status isCANCELEDisFailed: Returns true when the status is any of the failed statuses.isSuccess: Returns true when the status isCOMPLETED
This change adds the ability to easily detect which runs are being counted against your concurrency limit by filtering for both
EXECUTINGorDEQUEUED. -
Added runs.list filtering for queue and machine (#2277)
-
Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.24
- fix: Logging large objects is now much more performant and uses less memory (#2263)
- New internal idempotency implementation for trigger and batch trigger to prevent request retries from duplicating work (#2256)
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.23
- Provide realtime skipColumns option via untamperable public access tokens (#2201)
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.22
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.21
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.20
- Improve metadata flushing efficiency by collapsing operations (#2106)
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.19
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.18
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.17
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.16
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.15
- When you create a Waitpoint token using
wait.createToken()you get a URL back that can be used to complete it by making an HTTP POST request. (#2025) - Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.14
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.13
- Display clickable links in Cursor terminal (#1998)
- Add onCancel lifecycle hook (#2022)
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.12
- Fixed an issue with realtime streams that timeout and resume streaming dropping chunks (#1993)
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.11
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.10
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.9
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.8
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.7
- Fix issue where realtime streams would cut off after 5 minutes (#1952)
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.6
- The envvars.list() and retrieve() functions receive isSecret for each value. Secret values are always redacted. (#1942)
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.5
- maintain proper context in metadata.root and parent getters (#1917)
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.4
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.3
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.2
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.1
- Trigger.dev v4 release. Please see our upgrade to v4 docs to view the full changelog: https://trigger.dev/docs/upgrade-to-v4 (#1869)
- Run Engine 2.0 (alpha) (#1575)
- Deprecate toolTask and replace with
ai.tool(mySchemaTask)(#1863) - v4: New lifecycle hooks (#1817)
- Updated dependencies:
@trigger.dev/core@4.0.0-v4-beta.0
- Add support for two-phase deployments and task version pinning (#1739)
- Updated dependencies:
@trigger.dev/core@3.3.17
-
You can add Alerts in the dashboard. One of these is a webhook, which this change greatly improves. (#1703)
The main change is that there's now an SDK function to verify and parse them (similar to Stripe SDK).
const event = await webhooks.constructEvent(request, process.env.ALERT_WEBHOOK_SECRET!);
If the signature you provide matches the one from the dashboard when you create the webhook, you will get a nicely typed object back for these three types:
- "alert.run.failed"
- "alert.deployment.success"
- "alert.deployment.failed"
-
Updated dependencies:
@trigger.dev/core@3.3.16
- Detect ffmpeg OOM errors, added manual OutOfMemoryError (#1694)
- Updated dependencies:
@trigger.dev/core@3.3.15
- Added the ability to retry runs that fail with an Out Of Memory (OOM) error on a larger machine. (#1691)
- Updated dependencies:
@trigger.dev/core@3.3.14
- Fixed issue with asResponse and withResponse not working on runs.retrieve (#1648)
- Updated dependencies:
@trigger.dev/core@3.3.13
- Updated dependencies:
@trigger.dev/core@3.3.12
-
Add support for specifying machine preset at trigger time. Works with any trigger function: (#1608)
// Same as usual, will use the machine preset on childTask, defaults to "small-1x" await childTask.trigger({ message: "Hello, world!" }); // This will override the task's machine preset and any defaults. Works with all trigger functions. await childTask.trigger({ message: "Hello, world!" }, { machine: "small-2x" }); await childTask.triggerAndWait({ message: "Hello, world!" }, { machine: "small-2x" }); await childTask.batchTrigger([ { payload: { message: "Hello, world!" }, options: { machine: "micro" } }, { payload: { message: "Hello, world!" }, options: { machine: "large-1x" } }, ]); await childTask.batchTriggerAndWait([ { payload: { message: "Hello, world!" }, options: { machine: "micro" } }, { payload: { message: "Hello, world!" }, options: { machine: "large-1x" } }, ]); await tasks.trigger<typeof childTask>( "child", { message: "Hello, world!" }, { machine: "small-2x" } ); await tasks.batchTrigger<typeof childTask>("child", [ { payload: { message: "Hello, world!" }, options: { machine: "micro" } }, { payload: { message: "Hello, world!" }, options: { machine: "large-1x" } }, ]);
-
Updated dependencies:
@trigger.dev/core@3.3.11
- Updated dependencies:
@trigger.dev/core@3.3.10
- Adding ability to update parent run metadata from child runs/tasks (#1563)
- Updated dependencies:
@trigger.dev/core@3.3.9
- Updated dependencies:
@trigger.dev/core@3.3.8
-
- Fixes an issue in streams where "chunks" could get split across multiple reads (#1549)
- Fixed stopping the run subscription after a run is finished, when using useRealtimeRun or useRealtimeRunWithStreams
- Added an
onCompletecallback touseRealtimeRunanduseRealtimeRunWithStreams - Optimized the run subscription to reduce unnecessary updates
- Updated dependencies:
@trigger.dev/core@3.3.7
- Realtime streams now powered by electric. Also, this change fixes a realtime bug that was causing too many re-renders, even on records that didn't change (#1541)
- Add option to trigger batched items sequentially, and default to parallel triggering which is faster (#1536)
- Updated dependencies:
@trigger.dev/core@3.3.6
- Updated dependencies:
@trigger.dev/core@3.3.5
- Updated dependencies:
@trigger.dev/core@3.3.4
- Updated dependencies:
@trigger.dev/core@3.3.3
- Add one-time use public tokens to trigger and batch trigger (#1515)
- Fix for waiting for realtime streams to finish (#1520)
- Updated dependencies:
@trigger.dev/core@3.3.2
- Fixed the missing icons in trigger spans (#1506)
- Public access token scopes with just tags or just a batch can now access runs that have those tags or are in the batch. Previously, the only way to access a run was to have a specific scope for that exact run. (#1511)
- Updated dependencies:
@trigger.dev/core@3.3.1
-
Improved Batch Triggering: (#1502)
-
The new Batch Trigger endpoint is now asynchronous and supports up to 500 runs per request.
-
The new endpoint also supports triggering multiple different tasks in a single batch request (support in the SDK coming soon).
-
The existing
batchTriggermethod now supports the new endpoint, and shouldn't require any changes to your code. -
Idempotency keys now expire after 24 hours, and you can customize the expiration time when creating a new key by using the
idempotencyKeyTTLparameter:
await myTask.batchTrigger([{ payload: { foo: "bar" } }], { idempotencyKey: "my-key", idempotencyKeyTTL: "60s", }); // Works for individual items as well: await myTask.batchTrigger([ { payload: { foo: "bar" }, options: { idempotencyKey: "my-key", idempotencyKeyTTL: "60s" } }, ]); // And `trigger`: await myTask.trigger({ foo: "bar" }, { idempotencyKey: "my-key", idempotencyKeyTTL: "60s" });
- We've removed the
idempotencyKeyoption fromtriggerAndWaitandbatchTriggerAndWait, because it can lead to permanently frozen runs in deployed tasks. We're working on upgrading our entire system to support idempotency keys on these methods, and we'll re-add the option once that's complete.
-
-
Added new batch.trigger and batch.triggerByTask methods that allows triggering multiple different tasks in a single batch: (#1502)
import { batch } from "@trigger.dev/sdk/v3"; import type { myTask1, myTask2 } from "./trigger/tasks"; // Somewhere in your backend code const response = await batch.trigger<typeof myTask1 | typeof myTask2>([ { id: "task1", payload: { foo: "bar" } }, { id: "task2", payload: { baz: "qux" } }, ]); for (const run of response.runs) { if (run.ok) { console.log(run.output); } else { console.error(run.error); } }
Or if you are inside of a task, you can use
triggerByTask:import { batch, task, runs } from "@trigger.dev/sdk/v3"; export const myParentTask = task({ id: "myParentTask", run: async () => { const response = await batch.triggerByTask([ { task: myTask1, payload: { foo: "bar" } }, { task: myTask2, payload: { baz: "qux" } }, ]); const run1 = await runs.retrieve(response.runs[0]); console.log(run1.output); // typed as { foo: string } const run2 = await runs.retrieve(response.runs[1]); console.log(run2.output); // typed as { baz: string } const response2 = await batch.triggerByTaskAndWait([ { task: myTask1, payload: { foo: "bar" } }, { task: myTask2, payload: { baz: "qux" } }, ]); if (response2.runs[0].ok) { console.log(response2.runs[0].output); // typed as { foo: string } } if (response2.runs[1].ok) { console.log(response2.runs[1].output); // typed as { baz: string } } }, }); export const myTask1 = task({ id: "myTask1", run: async () => { return { foo: "bar", }; }, }); export const myTask2 = task({ id: "myTask2", run: async () => { return { baz: "qux", }; }, });
-
Added ability to subscribe to a batch of runs using runs.subscribeToBatch (#1502)
-
Updated dependencies:
@trigger.dev/core@3.3.0
- Updated dependencies:
@trigger.dev/core@3.2.2
- React hooks now all accept accessToken and baseURL options so the use of the Provider is no longer necessary (#1486)
- Upgrade zod to latest (3.23.8) (#1484)
- Realtime streams (#1470)
- Updated dependencies:
@trigger.dev/core@3.2.1
- Updated dependencies:
@trigger.dev/core@3.2.0
- Updated dependencies:
@trigger.dev/core@3.1.2
- Remove browser export condition - not necessary with the react-hooks package that uses core (#1455)
- Updated dependencies:
@trigger.dev/core@3.1.1
- Access run status updates in realtime, from your server or from your frontend (#1402)
- Updated dependencies:
@trigger.dev/core@3.1.0
- README updates (#1408)
- Updated dependencies:
@trigger.dev/core@3.0.13
- Updated dependencies:
@trigger.dev/core@3.0.12
- Updated dependencies:
@trigger.dev/core@3.0.11
- Adding maxDuration to tasks to allow timing out runs after they exceed a certain number of seconds (#1377)
- Updated dependencies:
@trigger.dev/core@3.0.10
- Removed the inline-code accessory from the logs when calling trigger or batchTrigger from a run (#1364)
- Updated dependencies:
@trigger.dev/core@3.0.9
- Add Run metadata to allow for storing up to 4KB of data on a run and update it during the run (#1357)
- Updated dependencies:
@trigger.dev/core@3.0.8
- Updated dependencies:
@trigger.dev/core@3.0.7
- e79f0cc84: runs.retrieve() now includes details about related runs (root, parent, and children) as well how how the runs were triggered and if they are in a batch
- Updated dependencies [4e0bc485a]
- @trigger.dev/core@3.0.6
- @trigger.dev/core@3.0.5
- 4adc773c7: Auto-resolve payload/output presigned urls when retrieving a run with runs.retrieve
- Updated dependencies [4adc773c7]
- @trigger.dev/core@3.0.4
- Updated dependencies [3d53d4c08]
- @trigger.dev/core@3.0.3
- @trigger.dev/core@3.0.2
- 3aa581179: Fixing false-positive package version mismatches
- Updated dependencies [3aa581179]
- @trigger.dev/core@3.0.1
- cf13fbdf3: Release 3.0.0
- 395abe1b9: Updates to support Trigger.dev v3
-
b66d5525e: add machine config and secure zod connection
-
9491a1649: Implement task.onSuccess/onFailure and config.onSuccess/onFailure
-
b271742dc: Configurable log levels in the config file and via env var
-
0591db5f2: Fixes for continuing after waits
-
f9ec66c56: New Build System
-
8cae1d087: Fix trigger functions for custom queues
-
3a1b0c486: v3: Environment variable management API and SDK, along with resolveEnvVars CLI hook
-
979bee50d: Fix return type of runs.retrieve, and allow passing the type of the task to runs.retrieve
-
b68012f81: Make msw a normal dependency (for now) to fix Module Not Found error in Next.js.
It turns out that webpack will "hoist" dynamically imported modules and attempt to resolve them at build time, even though it's an optional peer dep:
-
203e00208: Add runs.retrieve management API method to get info about a run by run ID
-
1b90ffbb8: v3: Usage tracking
-
51bb4c887: Fix for calling trigger and passing a custom queue
-
4986bfda2: Export queue from the SDK
-
086a0f95c: Extract common trigger code into internal functions and add a tasks.batchTriggerAndWait function
-
4f95c9de4: v3: recover from server rate limiting errors in a more reliable way
-
0591db5f2: Rollback to try and fix some dependent attempt issues
-
8578c9b28: Support self-hosters pushing to a custom registry when running deploy
-
0e77e7ef7: v3: Trigger delayed runs and reschedule them
-
ecf1110ab: v3: Export AbortTaskRunError from @trigger.dev/sdk/v3
-
f854cb90e: Added replayRun function to the SDK
-
44e1b8754: Improve the SDK function types and expose a new APIError instead of the APIResult type
-
55264657d: You can now add tags to runs and list runs using them
-
6d9dfbc75: Add configure function to be able to configure the SDK manually
-
ecef19966: Use global setTimeout to ensure cross-runtime support
-
719c0a0b9: Fixed incorrect span timings around checkpoints by implementing a precise wall clock that resets after restores
-
4986bfda2: Adding task with a triggerSource of schedule
-
e9a63a486: Lock SDK and CLI deps on exact core version
-
374edef02: Updates the
trigger,batchTriggerand their*AndWaitvariants to use the first parameter for the payload/items, and the second parameter for options.Before:
await yourTask.trigger({ payload: { foo: "bar" }, options: { idempotencyKey: "key_1234" } }); await yourTask.triggerAndWait({ payload: { foo: "bar" }, options: { idempotencyKey: "key_1234" }, }); await yourTask.batchTrigger({ items: [{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }], }); await yourTask.batchTriggerAndWait({ items: [{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }], });
After:
await yourTask.trigger({ foo: "bar" }, { idempotencyKey: "key_1234" }); await yourTask.triggerAndWait({ foo: "bar" }, { idempotencyKey: "key_1234" }); await yourTask.batchTrigger([{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }]); await yourTask.batchTriggerAndWait([{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }]);
We've also changed the API of the
triggerAndWaitresult. Before, if the subtask that was triggered finished with an error, we would automatically "rethrow" the error in the parent task.Now instead we're returning a
TaskRunResultobject that allows you to discriminate between successful and failed runs in the subtask:Before:
try { const result = await yourTask.triggerAndWait({ foo: "bar" }); // result is the output of your task console.log("result", result); } catch (error) { // handle subtask errors here }
After:
const result = await yourTask.triggerAndWait({ foo: "bar" }); if (result.ok) { console.log(`Run ${result.id} succeeded with output`, result.output); } else { console.log(`Run ${result.id} failed with error`, result.error); }
-
26093896d: When using idempotency keys, triggerAndWait and batchTriggerAndWait will still work even if the existing runs have already been completed (or even partially completed, in the case of batchTriggerAndWait)
- TaskRunExecutionResult.id is now the run friendlyId, not the attempt friendlyId
- A single TaskRun can now have many batchItems, in the case of batchTriggerAndWait while using idempotency keys
- A run’s idempotencyKey is now added to the ctx as well as the TaskEvent and displayed in the span view
- When resolving batchTriggerAndWait, the runtimes no longer reject promises, leading to an error in the parent task
-
b68012f81: Move to our global system from AsyncLocalStorage for the current task context storage
-
c9e1a3e9c: Remove unimplemented batchOptions
-
cf13fbdf3: Add triggerAndWait().unwrap() to more easily get at the output or throw the subtask error
-
3f8b6d8fc: v2: Better handle recovering from platform communication errors by auto-yielding back to the platform in case of temporary API failures
-
1281d40e4: When a v2 run hits the rate limit, reschedule with the reset date
-
ba71f959e: Management SDK overhaul and adding the runs.list API
-
7c36a1a4b: v3: Adding SDK functions for triggering tasks in a typesafe way, without importing task file
-
f93eae300: Dynamically import superjson and fix some bundling issues
-
c405ae711: Added timezone support to schedules
-
34ca7667d: v3: Include presigned urls for downloading large payloads and outputs when using runs.retrieve
-
8ba998794: Added declarative cron schedules
-
f854cb90e: Added cancelRun to the SDK
-
4986bfda2: Added a new global - Task Catalog - to better handle task metadata
-
b68012f81: Extracting out all the non-SDK related features from the main @trigger.dev/core/v3 export
-
8578c9b28: Remove msw and retry.interceptFetch
-
Updated dependencies [ed2a26c86]
-
Updated dependencies [c702d6a9c]
-
Updated dependencies [9882d66f8]
-
Updated dependencies [b66d5525e]
-
Updated dependencies [e3db25739]
-
Updated dependencies [9491a1649]
-
Updated dependencies [1670c4c41]
-
Updated dependencies [b271742dc]
-
Updated dependencies [cf13fbdf3]
-
Updated dependencies [dbda820a7]
-
Updated dependencies [4986bfda2]
-
Updated dependencies [eb6012628]
-
Updated dependencies [f9ec66c56]
-
Updated dependencies [f7d32b83b]
-
Updated dependencies [09413a62a]
-
Updated dependencies [3a1b0c486]
-
Updated dependencies [203e00208]
-
Updated dependencies [b4f9b70ae]
-
Updated dependencies [1b90ffbb8]
-
Updated dependencies [5cf90da72]
-
Updated dependencies [9af2570da]
-
Updated dependencies [7ea8532cc]
-
Updated dependencies [1477a2e30]
-
Updated dependencies [4f95c9de4]
-
Updated dependencies [83dc87155]
-
Updated dependencies [d490bc5cb]
-
Updated dependencies [e3cf456c6]
-
Updated dependencies [14c2bdf89]
-
Updated dependencies [9491a1649]
-
Updated dependencies [0ed93a748]
-
Updated dependencies [8578c9b28]
-
Updated dependencies [0e77e7ef7]
-
Updated dependencies [e417aca87]
-
Updated dependencies [568da0178]
-
Updated dependencies [c738ef39c]
-
Updated dependencies [ece6ca678]
-
Updated dependencies [f854cb90e]
-
Updated dependencies [0e919f56f]
-
Updated dependencies [44e1b8754]
-
Updated dependencies [55264657d]
-
Updated dependencies [6d9dfbc75]
-
Updated dependencies [e337b2165]
-
Updated dependencies [719c0a0b9]
-
Updated dependencies [4986bfda2]
-
Updated dependencies [e30beb779]
-
Updated dependencies [68d32429b]
-
Updated dependencies [374edef02]
-
Updated dependencies [e04d44866]
-
Updated dependencies [26093896d]
-
Updated dependencies [55d1f8c67]
-
Updated dependencies [c405ae711]
-
Updated dependencies [9e5382951]
-
Updated dependencies [b68012f81]
-
Updated dependencies [098932ea9]
-
Updated dependencies [68d32429b]
-
Updated dependencies [9835f4ec5]
-
Updated dependencies [3f8b6d8fc]
-
Updated dependencies [fde939a30]
-
Updated dependencies [1281d40e4]
-
Updated dependencies [ba71f959e]
-
Updated dependencies [395abe1b9]
-
Updated dependencies [03b104a3d]
-
Updated dependencies [f93eae300]
-
Updated dependencies [5ae3da6b4]
-
Updated dependencies [c405ae711]
-
Updated dependencies [34ca7667d]
-
Updated dependencies [8ba998794]
-
Updated dependencies [62c9a5b71]
-
Updated dependencies [392453e8a]
-
Updated dependencies [8578c9b28]
-
Updated dependencies [6a379e4e9]
-
Updated dependencies [f854cb90e]
-
Updated dependencies [584c7da5d]
-
Updated dependencies [4986bfda2]
-
Updated dependencies [e69ffd314]
-
Updated dependencies [b68012f81]
-
Updated dependencies [39885a427]
-
Updated dependencies [8578c9b28]
-
Updated dependencies [e69ffd314]
-
Updated dependencies [8578c9b28]
-
Updated dependencies [f04041744]
-
Updated dependencies [d934feb02]
- @trigger.dev/core@3.0.0
- 0591db5f2: Fixes for continuing after waits
- @trigger.dev/core@3.0.0-beta.55
- @trigger.dev/core-backend@3.0.0-beta.55
- 728eeeff6: Rollback to try and fix some dependent attempt issues
- @trigger.dev/core@3.0.0-beta.54
- @trigger.dev/core-backend@3.0.0-beta.54
- Updated dependencies [5cf90da72]
- @trigger.dev/core@3.0.0-beta.53
- @trigger.dev/core-backend@3.0.0-beta.53
- 8cae1d087: Fix trigger functions for custom queues
- Updated dependencies [9882d66f8]
- Updated dependencies [09413a62a]
- @trigger.dev/core@3.0.0-beta.52
- @trigger.dev/core-backend@3.0.0-beta.52
- 979bee50d: Fix return type of runs.retrieve, and allow passing the type of the task to runs.retrieve
- 086a0f95c: Extract common trigger code into internal functions and add a tasks.batchTriggerAndWait function
- 55264657d: You can now add tags to runs and list runs using them
- Updated dependencies [55264657d]
- @trigger.dev/core@3.0.0-beta.51
- @trigger.dev/core-backend@3.0.0-beta.51
- 8ba998794: Added declarative cron schedules
- Updated dependencies [8ba998794]
- @trigger.dev/core@3.0.0-beta.50
- @trigger.dev/core-backend@3.0.0-beta.50
- Updated dependencies [dbda820a7]
- Updated dependencies [e417aca87]
- Updated dependencies [d934feb02]
- @trigger.dev/core@3.0.0-beta.49
- @trigger.dev/core-backend@3.0.0-beta.49
- ecf1110ab: v3: Export AbortTaskRunError from @trigger.dev/sdk/v3
- @trigger.dev/core@3.0.0-beta.48
- @trigger.dev/core-backend@3.0.0-beta.48
- 4f95c9de4: v3: recover from server rate limiting errors in a more reliable way
- Updated dependencies [4f95c9de4]
- Updated dependencies [e04d44866]
- @trigger.dev/core@3.0.0-beta.47
- @trigger.dev/core-backend@3.0.0-beta.47
- Updated dependencies [14c2bdf89]
- @trigger.dev/core@3.0.0-beta.46
- @trigger.dev/core-backend@3.0.0-beta.46
- 0e77e7ef7: v3: Trigger delayed runs and reschedule them
- Updated dependencies [0e77e7ef7]
- Updated dependencies [568da0178]
- Updated dependencies [5ae3da6b4]
- @trigger.dev/core@3.0.0-beta.45
- @trigger.dev/core-backend@3.0.0-beta.45
- Updated dependencies [39885a427]
- @trigger.dev/core@3.0.0-beta.44
- @trigger.dev/core-backend@3.0.0-beta.44
- 34ca7667d: v3: Include presigned urls for downloading large payloads and outputs when using runs.retrieve
- Updated dependencies [34ca7667d]
- @trigger.dev/core@3.0.0-beta.43
- @trigger.dev/core-backend@3.0.0-beta.43
- ecef19966: Use global setTimeout to ensure cross-runtime support
- @trigger.dev/core@3.0.0-beta.42
- @trigger.dev/core-backend@3.0.0-beta.42
- 7c36a1a4b: v3: Adding SDK functions for triggering tasks in a typesafe way, without importing task file
- @trigger.dev/core@3.0.0-beta.41
- @trigger.dev/core-backend@3.0.0-beta.41
- Updated dependencies [55d1f8c67]
- Updated dependencies [098932ea9]
- Updated dependencies [9835f4ec5]
- @trigger.dev/core@3.0.0-beta.40
- @trigger.dev/core-backend@3.0.0-beta.40
- @trigger.dev/core@3.0.0-beta.39
- @trigger.dev/core-backend@3.0.0-beta.39
- 1b90ffbb8: v3: Usage tracking
- c405ae711: Added timezone support to schedules
- Updated dependencies [1b90ffbb8]
- Updated dependencies [0ed93a748]
- Updated dependencies [c405ae711]
- Updated dependencies [c405ae711]
- @trigger.dev/core@3.0.0-beta.38
- @trigger.dev/core-backend@3.0.0-beta.38
- Updated dependencies [68d32429b]
- Updated dependencies [68d32429b]
- @trigger.dev/core@3.0.0-beta.37
- @trigger.dev/core-backend@3.0.0-beta.37
- 51bb4c887: Fix for calling trigger and passing a custom queue
- ba71f959e: Management SDK overhaul and adding the runs.list API
- Updated dependencies [b4f9b70ae]
- Updated dependencies [ba71f959e]
- @trigger.dev/core@3.0.0-beta.36
- @trigger.dev/core-backend@3.0.0-beta.36
- Updated dependencies [ece6ca678]
- Updated dependencies [e69ffd314]
- Updated dependencies [e69ffd314]
- @trigger.dev/core@3.0.0-beta.35
- @trigger.dev/core-backend@3.0.0-beta.35
- 3a1b0c486: v3: Environment variable management API and SDK, along with resolveEnvVars CLI hook
- 3f8b6d8fc: v2: Better handle recovering from platform communication errors by auto-yielding back to the platform in case of temporary API failures
- 1281d40e4: When a v2 run hits the rate limit, reschedule with the reset date
- Updated dependencies [3a1b0c486]
- Updated dependencies [3f8b6d8fc]
- Updated dependencies [1281d40e4]
- @trigger.dev/core@3.0.0-beta.34
- @trigger.dev/core-backend@3.0.0-beta.34
- Updated dependencies [6a379e4e9]
- @trigger.dev/core@3.0.0-beta.33
- @trigger.dev/core-backend@3.0.0-beta.33
- @trigger.dev/core@3.0.0-beta.32
- @trigger.dev/core-backend@3.0.0-beta.32
- @trigger.dev/core@3.0.0-beta.31
- @trigger.dev/core-backend@3.0.0-beta.31
- Updated dependencies [1477a2e30]
- Updated dependencies [0e919f56f]
- @trigger.dev/core@3.0.0-beta.30
- @trigger.dev/core-backend@3.0.0-beta.30
- @trigger.dev/core@3.0.0-beta.29
- @trigger.dev/core-backend@3.0.0-beta.29
- 6d9dfbc75: Add configure function to be able to configure the SDK manually
- Updated dependencies [d490bc5cb]
- Updated dependencies [6d9dfbc75]
- @trigger.dev/core@3.0.0-beta.28
- @trigger.dev/core-backend@3.0.0-beta.28
- 203e00208: Add runs.retrieve management API method to get info about a run by run ID
- Updated dependencies [1670c4c41]
- Updated dependencies [203e00208]
- @trigger.dev/core@3.0.0-beta.27
- @trigger.dev/core-backend@3.0.0-beta.27
- @trigger.dev/core@3.0.0-beta.26
- @trigger.dev/core-backend@3.0.0-beta.26
- Updated dependencies [e337b2165]
- Updated dependencies [9e5382951]
- @trigger.dev/core@3.0.0-beta.25
- @trigger.dev/core-backend@3.0.0-beta.25
- Updated dependencies [83dc87155]
- @trigger.dev/core@3.0.0-beta.24
- @trigger.dev/core-backend@3.0.0-beta.24
- @trigger.dev/core@3.0.0-beta.23
- @trigger.dev/core-backend@3.0.0-beta.23
- @trigger.dev/core@3.0.0-beta.22
- @trigger.dev/core-backend@3.0.0-beta.22
- 9491a1649: Implement task.onSuccess/onFailure and config.onSuccess/onFailure
- Updated dependencies [9491a1649]
- Updated dependencies [9491a1649]
- @trigger.dev/core@3.0.0-beta.21
- @trigger.dev/core-backend@3.0.0-beta.21
- Updated dependencies [e3db25739]
- @trigger.dev/core@3.0.0-beta.20
- @trigger.dev/core-backend@3.0.0-beta.20
- e9a63a486: Lock SDK and CLI deps on exact core version
- @trigger.dev/core@3.0.0-beta.19
- @trigger.dev/core-backend@3.0.0-beta.19
-
b68012f81: Make msw a normal dependency (for now) to fix Module Not Found error in Next.js.
It turns out that webpack will "hoist" dynamically imported modules and attempt to resolve them at build time, even though it's an optional peer dep:
-
b68012f81: Move to our global system from AsyncLocalStorage for the current task context storage
-
b68012f81: Extracting out all the non-SDK related features from the main @trigger.dev/core/v3 export
-
Updated dependencies [b68012f81]
-
Updated dependencies [b68012f81]
- @trigger.dev/core@3.0.0-beta.18
- @trigger.dev/core-backend@3.0.0-beta.18
- @trigger.dev/core@3.0.0-beta.17
- @trigger.dev/core-backend@3.0.0-beta.17
- Updated dependencies [ed2a26c86]
- @trigger.dev/core@3.0.0-beta.16
- @trigger.dev/core-backend@3.0.0-beta.16
-
374edef02: Updates the
trigger,batchTriggerand their*AndWaitvariants to use the first parameter for the payload/items, and the second parameter for options.Before:
await yourTask.trigger({ payload: { foo: "bar" }, options: { idempotencyKey: "key_1234" } }); await yourTask.triggerAndWait({ payload: { foo: "bar" }, options: { idempotencyKey: "key_1234" }, }); await yourTask.batchTrigger({ items: [{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }], }); await yourTask.batchTriggerAndWait({ items: [{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }], });
After:
await yourTask.trigger({ foo: "bar" }, { idempotencyKey: "key_1234" }); await yourTask.triggerAndWait({ foo: "bar" }, { idempotencyKey: "key_1234" }); await yourTask.batchTrigger([{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }]); await yourTask.batchTriggerAndWait([{ payload: { foo: "bar" } }, { payload: { foo: "baz" } }]);
We've also changed the API of the
triggerAndWaitresult. Before, if the subtask that was triggered finished with an error, we would automatically "rethrow" the error in the parent task.Now instead we're returning a
TaskRunResultobject that allows you to discriminate between successful and failed runs in the subtask:Before:
try { const result = await yourTask.triggerAndWait({ foo: "bar" }); // result is the output of your task console.log("result", result); } catch (error) { // handle subtask errors here }
After:
const result = await yourTask.triggerAndWait({ foo: "bar" }); if (result.ok) { console.log(`Run ${result.id} succeeded with output`, result.output); } else { console.log(`Run ${result.id} failed with error`, result.error); }
-
26093896d: When using idempotency keys, triggerAndWait and batchTriggerAndWait will still work even if the existing runs have already been completed (or even partially completed, in the case of batchTriggerAndWait)
- TaskRunExecutionResult.id is now the run friendlyId, not the attempt friendlyId
- A single TaskRun can now have many batchItems, in the case of batchTriggerAndWait while using idempotency keys
- A run’s idempotencyKey is now added to the ctx as well as the TaskEvent and displayed in the span view
- When resolving batchTriggerAndWait, the runtimes no longer reject promises, leading to an error in the parent task
-
Updated dependencies [374edef02]
-
Updated dependencies [26093896d]
-
Updated dependencies [62c9a5b71]
- @trigger.dev/core@3.0.0-beta.15
- @trigger.dev/core-backend@3.0.0-beta.15
- c9e1a3e9c: Remove unimplemented batchOptions
- Updated dependencies [584c7da5d]
- @trigger.dev/core@3.0.0-beta.14
- @trigger.dev/core-backend@3.0.0-beta.14
- 4986bfda2: Export queue from the SDK
- 44e1b8754: Improve the SDK function types and expose a new APIError instead of the APIResult type
- 4986bfda2: Adding task with a triggerSource of schedule
- 4986bfda2: Added a new global - Task Catalog - to better handle task metadata
- Updated dependencies [4986bfda2]
- Updated dependencies [44e1b8754]
- Updated dependencies [4986bfda2]
- Updated dependencies [fde939a30]
- Updated dependencies [03b104a3d]
- Updated dependencies [4986bfda2]
- @trigger.dev/core@3.0.0-beta.13
- @trigger.dev/core-backend@3.0.0-beta.13
- @trigger.dev/core@3.0.0-beta.12
- @trigger.dev/core-backend@3.0.0-beta.12
- @trigger.dev/core@3.0.0-beta.11
- @trigger.dev/core-backend@3.0.0-beta.11
- f854cb90e: Added replayRun function to the SDK
- f854cb90e: Added cancelRun to the SDK
- Updated dependencies [f854cb90e]
- Updated dependencies [f854cb90e]
- @trigger.dev/core@3.0.0-beta.7
- @trigger.dev/core-backend@3.0.0-beta.7
- Updated dependencies [7ea8532cc]
- @trigger.dev/core@3.0.0-beta.6
- @trigger.dev/core-backend@3.0.0-beta.6
- Updated dependencies [eb6012628]
- @trigger.dev/core@3.0.0-beta.5
- @trigger.dev/core-backend@3.0.0-beta.5
- @trigger.dev/core@3.0.0-beta.4
- @trigger.dev/core-backend@3.0.0-beta.4
- b271742dc: Configurable log levels in the config file and via env var
- Updated dependencies [c702d6a9c]
- Updated dependencies [b271742dc]
- Updated dependencies [9af2570da]
- @trigger.dev/core@3.0.0-beta.3
- @trigger.dev/core-backend@3.0.0-beta.3
- Updated dependencies [e3cf456c6]
- @trigger.dev/core@3.0.0-beta.2
- @trigger.dev/core-backend@3.0.0-beta.2
- b66d5525e: add machine config and secure zod connection
- 719c0a0b9: Fixed incorrect span timings around checkpoints by implementing a precise wall clock that resets after restores
- f93eae300: Dynamically import superjson and fix some bundling issues
- Updated dependencies [b66d5525e]
- Updated dependencies [719c0a0b9]
- Updated dependencies [f93eae300]
- @trigger.dev/core@3.0.0-beta.1
- @trigger.dev/core-backend@3.0.0-beta.1
- 395abe1b9: Updates to support Trigger.dev v3
- Updated dependencies [395abe1b9]
- @trigger.dev/core@3.0.0-beta.0
- @trigger.dev/core-backend@3.0.0-beta.0
- @trigger.dev/core@2.3.18
- @trigger.dev/core-backend@2.3.18
- dd879c8e: Updated run, run statuses and event endpoints to v2 to get full run statuses
- @trigger.dev/core@2.3.17
- @trigger.dev/core-backend@2.3.17
- Updated dependencies [583da458]
- @trigger.dev/core@2.3.16
- @trigger.dev/core-backend@2.3.16
- 6c4047cf: Fix an issue where runs were stuck executing when a child task failed and the parent task retried
- @trigger.dev/core@2.3.15
- @trigger.dev/core-backend@2.3.15
- @trigger.dev/core@2.3.14
- @trigger.dev/core-backend@2.3.14
- a93b554f: Make it clear that schedules are UTC by appending "UTC" to the end.
- 0f342cd1: Don't show duplicate Job warning if it's an internal job
- @trigger.dev/core@2.3.13
- @trigger.dev/core-backend@2.3.13
- 129f023d: Fix for eventTrigger source not getting passed through
- 38f5a903: Don't auto-yield with no-op tasks (e.g. logs) that are subtasks
- ff4ff869: You can pass an Error() instead of properties to all of the
io.loggerfunctions- @trigger.dev/core@2.3.12
- @trigger.dev/core-backend@2.3.12
- @trigger.dev/core@2.3.11
- @trigger.dev/core-backend@2.3.11
- 8277f4d2: Use correct overload param when invoking a job outside of a run #802
- 73cb8839: Fixed invoke inferred payload types #830
- @trigger.dev/core@2.3.10
- @trigger.dev/core-backend@2.3.10
- f7bf25f0: feat: Add ability to cancel all runs for job from SDK
- Updated dependencies [740b7b23]
- @trigger.dev/core@2.3.9
- @trigger.dev/core-backend@2.3.9
- @trigger.dev/core@2.3.8
- @trigger.dev/core-backend@2.3.8
- @trigger.dev/core@2.3.7
- @trigger.dev/core-backend@2.3.7
- @trigger.dev/core@2.3.6
- @trigger.dev/core-backend@2.3.6
- @trigger.dev/core@2.3.5
- @trigger.dev/core-backend@2.3.5
- 6a3c563f: Fixed Job.attachToClient
- @trigger.dev/core@2.3.4
- @trigger.dev/core-backend@2.3.4
- @trigger.dev/core@2.3.3
- @trigger.dev/core-backend@2.3.3
- @trigger.dev/core@2.3.2
- @trigger.dev/core-backend@2.3.2
- f3efcc0c: Moved Logger to core-backend, no longer importing node:buffer in core/react
- Updated dependencies [f3efcc0c]
- @trigger.dev/core-backend@2.3.1
- @trigger.dev/core@2.3.1
-
17f6f29d: Support for Deno, Bun and Cloudflare workers, as well as conditionally exporting ESM versions of the package instead of just commonjs.
Cloudflare worker support requires the node compat flag turned on (https://developers.cloudflare.com/workers/runtime-apis/nodejs/)
- Updated dependencies [17f6f29d]
- @trigger.dev/core-backend@2.3.0
- @trigger.dev/core@2.3.0
- de652c1d: Fix Shopify task types and KV
get()return types- @trigger.dev/core@2.2.11
- @trigger.dev/core-backend@2.2.11
- @trigger.dev/core@2.2.10
- @trigger.dev/core-backend@2.2.10
- 1dcd87a2: Fix:
Key-Value Storekeys will now be URI encoded - 6ebd435e: Feature: Run execution concurrency limits
- Updated dependencies [6ebd435e]
- @trigger.dev/core@2.2.9
- @trigger.dev/core-backend@2.2.9
- 067e19fe: - Simplify
Webhook Triggersand use the new HTTP Endpoints- Add a
Key-Value Storefor use in and outside of Jobs - Add a
@trigger.dev/shopifypackage
- Add a
- 096151c0: Fix
@trigger.dev/shopifyimports, enhance docs, and suppress HTTP Endpoint warnings - Updated dependencies [067e19fe]
- @trigger.dev/core@2.2.8
- @trigger.dev/core-backend@2.2.8
- 756024da: Add support for listening to run notifications
- Updated dependencies [756024da]
- @trigger.dev/core@2.2.7
- @trigger.dev/core-backend@2.2.7
- cb1825bf: OpenAI support for 4.16.0
- cb1825bf: Add support for background polling and use that in OpenAI integration to power assistants
- d0217344: Add
io.sendEvents() - cb1825bf: Adding support for waitForEvent
- Updated dependencies [cb1825bf]
- Updated dependencies [cb1825bf]
- Updated dependencies [d0217344]
- @trigger.dev/core@2.2.6
- @trigger.dev/core-backend@2.2.6
- 7e57f1f3: [TRI-1449] Display warning message when duplicate job IDs are detected
- cf8f9946: Add
io.random()which wrapsMath.random()in a Task with helpful options. - a74716a1: Added waitForRequest built-in tasks
- 620b8383: Added invokeTrigger(), which allows jobs to be manually invoked
- 4a0f030e: Adding no-cache to our client fetch to fix Next.js POST caching
- f4275e50: verifyRequestSignature – added an error if the passed in secret is undefined or empty
- Updated dependencies [620b8383]
- Updated dependencies [578d2e54]
- @trigger.dev/core@2.2.5
- @trigger.dev/core-backend@2.2.5
- c1710ae7: Creates a new package @trigger.dev/core-backend that includes code shared between @trigger.dev/sdk and the Trigger.dev server
- 9c4be40a: use idempotency-key as event-id for dynamic-trigger registrations
- Updated dependencies [c1710ae7]
- @trigger.dev/core-backend@2.2.4
- @trigger.dev/core@2.2.4
- 6e1b8a11: implement functionality to cancel job runs triggered by a given eventId.
- c4533c36: set error messages in runTask and executeJob
- Updated dependencies [6e1b8a11]
- @trigger.dev/core@2.2.3
- @trigger.dev/core@2.2.2
- 044d38e3: Auto-yield run execution to help prevent duplicate task executions
- Updated dependencies [044d38e3]
- Updated dependencies [abc9737a]
- @trigger.dev/core@2.2.1
- 975c5f1d: Drop support for Node v16, require Node >= 18. This allows us to use native fetch in our SDK which paves the way for multi-platform support.
- Updated dependencies [975c5f1d]
- Updated dependencies [50e3d9e4]
- Updated dependencies [59a94c71]
- @trigger.dev/core@2.2.0
- 9a187f9e: upgrade zod to 3.22.3
- 2e9452ab: allow cancelling jobs from trigger-client
- Updated dependencies [9a187f9e]
- @trigger.dev/core@2.1.9
- 6a992a19: First release of
@trigger.dev/replicateintegration with remote callback support. - ab9e4a98: Send client version back to the server via headers
- ab9e4a98: Better performance when resuming a run, especially one with a large amount of tasks
- Updated dependencies [6a992a19]
- Updated dependencies [ab9e4a98]
- Updated dependencies [ab9e4a98]
- @trigger.dev/core@2.1.8
- @trigger.dev/core@2.1.7
- @trigger.dev/core@2.1.6
- @trigger.dev/core@2.1.5
- ad14983e: You can create statuses in your Jobs that can then be read using React hooks
- 15f17d27: First release of
@trigger.dev/linearintegration.io.runTask()error handlers can now prevent further retries. - 50137a6f: Decouple zod
- c0dfa804: Add support for Bring Your Own Auth
- Updated dependencies [ad14983e]
- Updated dependencies [50137a6f]
- Updated dependencies [c0dfa804]
- @trigger.dev/core@2.1.4
- Fix for bad publish
- Updated dependencies:
@trigger.dev/core@2.1.3
- Updated dependencies:
@trigger.dev/core@2.1.2
- Errors now bubbled up. OpenAI background retrying improved (#468)
- Updated dependencies:
@trigger.dev/core@2.1.1
- Integrations are now simpler and support authentication during webhook registration (
878da3c0)
- Updated dependencies:
@trigger.dev/core@2.1.0
- Updated dependencies:
@trigger.dev/core@2.1.0-beta.1
- Integrations are now simpler and support authentication during webhook registration (
878da3c0)
- Updated dependencies:
@trigger.dev/core@2.1.0-beta.0
- Updated dependencies:
@trigger.dev/core@2.0.14
- Only use cached tasks if they are completed, otherwise retrying tasks will be considered successful (
916a3536) - Updated dependencies:
@trigger.dev/core@2.0.13
- @trigger.dev/core@2.0.12
- ac98219b: Adding the ability to cancel events that were sent with a delayed delivery
- 302bd02f: Issue #377: only expose the external eventId in the API
- b5db9f5e: Adding MIT license
- 3ce53970: Support disabling jobs using the
enabledflag - Updated dependencies [302bd02f]
- Updated dependencies [b5db9f5e]
- @trigger.dev/core@2.0.11
- b1b9321a: Fixed IO not setting the cached task key correctly, resulting in unnecessary API calls to trigger.dev
- b1b9321a: Deprecated queue options in the job and removed startPosition
- Updated dependencies [b1b9321a]
- @trigger.dev/core@2.0.10
- Updated dependencies [33184a81]
- @trigger.dev/core@2.0.9
- @trigger.dev/core@2.0.8
- Updated dependencies [fa3a22eb]
- @trigger.dev/core@2.0.7
- Updated dependencies [59075f5f]
- @trigger.dev/core@2.0.6
- @trigger.dev/core@2.0.5
- 96384991: Adding the validate endpoint action to be able to add an endpoint first in the dashboard
- Updated dependencies [96384991]
- @trigger.dev/core@2.0.4
- @trigger.dev/core@2.0.3
- 0a790de2: core version changed to 1.0.0. Dependencies for core set to ^1.0.0
- ee99191f: Sync all package versions
- Updated dependencies [0a790de2]
- Updated dependencies [ee99191f]
- @trigger.dev/core@2.0.2
- aa9fe7d4: core made public. The react and sdk packages now have it as a dependency.
- Updated dependencies [aa9fe7d4]
- @trigger.dev/core@0.0.5
- 99316df8: Preparing packages for V2
- acaae993: run context jsdocs
- 92233f2e: @trigger.dev/core is now a separate package
- cca7da9d: Better docs for io.try
- 9138976d: Multiple eventname support in eventDispatcher
- 486d6818: IO Logging now respects the job and client logLevel, and only outputs locally when ioLogLocalEnabled is true
- 24542d4e: Adding support for trigger source in the run context, and make sure dynamic trigger runs are preprocessed so they have a chance of populating run properties
- c34a02c0: Improved OpenAI task errors
- 5ee0b188: Don't return the apiKey when they don't match
- 28914b87: Creating the init CLI package
- 722fe7b7: registerCron and unregisterCron jsdocs
- 1961b994: added defineJob in TriggerClient
- 1dc42dae: Added support for Runs being canceled
- d6310a79: Set duplex "half" when creating fetch based Request objects when they have a body
- 817b4ed1: Endpoint registration and indexing now is only initiated outside of clients
- f01af9c0: Upgrade to zod 3.21.4
- 6d4922f4: api.trigger.dev is now the default cloud url
- 34ccf345: Add support for task errors and task retrying
- b314178d: Added getEvent(), getRun() and getRuns() methods to the client
- 69af845a: Make isRetry context property backwards compatible and add it to the TriggerContext type
- c83443a4: io.runTask jsdocs
- 8e147dbe: io.sendEvent jsdocs
- 2cbf50b1: deliverAt and timestamp event properties are now dates
- 92233f2e: Packages move to @latest
- b4167a38: Fixed the eventTrigger name
- 931be399: cronTrigger jsdocs
- facae926: Fix for a console warning about "encoding" with node-fetch
- 6d04f6c6: Add default retry settings for integrations tasks
- a11ddf65: Added JSDocs related to logging
- ba446524: intervalTrigger() jsdocs
- 6c869466: Fixed responses from the PING action to match expected schema
- f2f4d4b8: Adding more granular error messages around unauthorized requests
- e4b0b1e3: Added support for backgroundFetch
- 094f6f5a: jsdocs for DynamicTrigger and DynamicSchedule
- 2c0ea0c1: Set Node version to 16.8 and above
- e26923eb: backgroundFetch jsdocs
- 0066971b: added isRetry in context run
- c83443a4: registerTrigger jsdocs
- 99c6cd03: io.registerInterval and io.unregisterInterval jsdocs
- 3ee396d7: Creating the typeform integration package
- 7e2d48ac: Removed the url option for TriggerClient
- 86dbd5d1: Added JSdocs for io.wait and io.logger
- f160b34b: isTriggerError jsdocs
- aaa70a9a: eventTrigger() jsdocs
- 61ed1fb2: Adding support for output properties on tasks
- 01cf5f3b: io.try jsdocs
- 9351c051: Initial Stripe integration
- 953e7fc9: Added human readable cron expression property to cron triggers
- 0012bb21: All logs are now structured logs
- 807b9d4c: Added jsdocs for TriggerClient() and sendEvent()
- 64477f6b: Adding some type helpers for getting the payload and IO types from jobs and triggers
- 7f6bf992: Show the params to updateSource in the dashboard
- 767e09ee: Added io.integration.runTask and initial @trigger.dev/supabase integration
- 917a70fb: Added JSdocs for Job
- 64477f6b: Adding some type helpers for getting the payload and IO types from jobs and triggers
- 9351c051: Initial Stripe integration
- b314178d: Added getEvent(), getRun() and getRuns() methods to the client
- 767e09ee: Added io.integration.runTask and initial @trigger.dev/supabase integration
- 1961b994: added defineJob in TriggerClient
- 69af845a: Make isRetry context property backwards compatible and add it to the TriggerContext type
- 0066971b: added isRetry in context run
- 7f6bf992: Show the params to updateSource in the dashboard
- 1dc42dae: Added support for Runs being canceled
- d6310a79: Set duplex "half" when creating fetch based Request objects when they have a body
- 0012bb21: All logs are now structured logs
- 2c0ea0c1: Set Node version to 16.8 and above
- c34a02c0: Improved OpenAI task errors
- 61ed1fb2: Adding support for output properties on tasks
- 5ee0b188: Don't return the apiKey when they don't match
- f01af9c0: Upgrade to zod 3.21.4
- 931be399: cronTrigger jsdocs
- ba446524: intervalTrigger() jsdocs
- 094f6f5a: jsdocs for DynamicTrigger and DynamicSchedule
- 3ee396d7: Creating the typeform integration package
- 6d4922f4: api.trigger.dev is now the default cloud url
- acaae993: run context jsdocs
- aaa70a9a: eventTrigger() jsdocs
- cca7da9d: Better docs for io.try
- 722fe7b7: registerCron and unregisterCron jsdocs
- c83443a4: io.runTask jsdocs
- c83443a4: registerTrigger jsdocs
- 99c6cd03: io.registerInterval and io.unregisterInterval jsdocs
- f160b34b: isTriggerError jsdocs
- 01cf5f3b: io.try jsdocs
- 2cbf50b1: deliverAt and timestamp event properties are now dates
- e26923eb: backgroundFetch jsdocs
- 486d6818: IO Logging now respects the job and client logLevel, and only outputs locally when ioLogLocalEnabled is true
- 8e147dbe: io.sendEvent jsdocs
- a11ddf65: Added JSDocs related to logging
- 6c869466: Fixed responses from the PING action to match expected schema
- 86dbd5d1: Added JSdocs for io.wait and io.logger
- 953e7fc9: Added human readable cron expression property to cron triggers
- 807b9d4c: Added jsdocs for TriggerClient() and sendEvent()
- 917a70fb: Added JSdocs for Job
- 7e2d48ac: Removed the url option for TriggerClient
- f2f4d4b8: Adding more granular error messages around unauthorized requests
- 24542d4e: Adding support for trigger source in the run context, and make sure dynamic trigger runs are preprocessed so they have a chance of populating run properties
- 28914b87: Creating the init CLI package
- 817b4ed1: Endpoint registration and indexing now is only initiated outside of clients
- e4b0b1e3: Added support for backgroundFetch
- Add support for task errors and task retrying
- b4167a38: Fixed the eventTrigger name
- 53c9bd56: Preparing packages for V2
- ab512157: Fixed an error message
- 1673d452: Added kv storage to persist data in between runs and between workflows
- 0b67b51a: Fix ESM error by dynamically importing ESM packages (chalk, terminal-link, etc.)
- f39bc44e: SDK now passes through the project ID from the env var
- ab512157: Fixed an error message
- 1673d452: Added kv storage to persist data in between runs and between workflows
- 0b67b51a: Fix ESM error by dynamically importing ESM packages (chalk, terminal-link, etc.)
- f39bc44e: SDK now passes through the project ID from the env var
- c5084209: Fix for metadata capture when using npm/yarn
- 5ec71980: Send additional metadata about a workflow when initializing the host
- b5724195: Fixed issue where default webhook schema wasn't being used which caused an error
- c72120ea: Removed accidental log statement
- 3a2cf0dd: Fixed the missing error message when logging invalid API key and improved the error message
- ee20f921: Make the schema an optional param for customEvent and webhookEvent
- 4f47d031: Give a better error message when the API key is invalid
- 87a3bbee: Added a more helpful error message when missing an API key
- 51f9bc9d: Added handly links to the dashboard in log feedback
- 0932ae7d: Log out when a run first starts as well
- Give a better error message when the API key is invalid
- 87a3bbee: Added a more helpful error message when missing an API key
- 0932ae7d: Log out when a run first starts as well
- ee20f921: Make the schema an optional param for customEvent and webhookEvent
- 51f9bc9d: Added handly links to the dashboard in log feedback
- 6b53aeb: New integrations service compatibility
- 9eeacee: Fix: pass in the id from sendEvent through to the API call
- 6b53aeb: New integrations service compatibility
- 179afbb: Automatically pickup on the TRIGGER_WSS_URL for the wss endpoint
- 710bcc2: Handle errors when calling listen and provide some log feedback
- 2a51c5a: Generate and send JSON Schema for custom and webhook events
- 0d2d9a0: Added runOnce and runOnceLocalOnly to support running idempotent actions
- 0e4ec8d: Added views and view submission support to Slack integration
- 2a51c5a: Generate and send JSON Schema for custom and webhook events
- 0d2d9a0: Added runOnce and runOnceLocalOnly to support running idempotent actions
- 0e4ec8d: Added views and view submission support to Slack integration
- 52d21ac: Added support for delaying delivery when sending custom events
- b290410: Slack blocks support
- e37a200: Added lastRunAt to the scheduleEvent payload
- e63d354: Added isTest to TriggerContext
- 039321f: Improved types for the Resend integration
- ddf4255: Added support for webhookEvent trigger
- 2fd9e4f: Added retry options to fetch
- 39b167e: Better handle event parsing errors from Zod
- f316c6e: Add ability to use fetch without having to use context param
- c69c370: Added context.fetch to make generic fetch requests using Trigger.dev
- 6673798: Bundling common-schemas into @trigger.dev/sdk
- 0b17912: Updated dependency to @trigger.dev/core@0.1.0
- ce0d4b9: When posting a message to Slack, you must explicitly specify either channelId or channelName
- 7f26548: Added some logging messages (and disabled any messages by default)
- 5de2a1a: Fixed issue with workflow runs not completing when the run function returned undefined or null
- d3c593c: Added triggerTTL option that prevents old events from running a workflow
- 7d23a7b: Added the sendEvent function
- 8b7b8a8: Added scheduled events
- ae042a7: Providers is now a public package: @trigger.dev/providers
- bcda9c8: Initial publish of the @trigger.dev packages