diff --git a/.changeset/afraid-waves-divide.md b/.changeset/afraid-waves-divide.md deleted file mode 100644 index 3ab19fb2df7..00000000000 --- a/.changeset/afraid-waves-divide.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Make the default of legacyDevProcessCwdBehaviour true instead of false (prevents breaking prismaExtension) diff --git a/.changeset/beige-horses-juggle.md b/.changeset/beige-horses-juggle.md deleted file mode 100644 index 9c2f5c40e28..00000000000 --- a/.changeset/beige-horses-juggle.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Added experimental_devProcessCwdInBuildDir config option to opt-in to new process.cwd behavior when executing tasks in the dev CLI. Currently process.cwd maps to the "root" of your trigger.dev project (the directory that contains your trigger.config.ts file). Setting experimental_devProcessCwdInBuildDir to true changes process.cwd to instead be the temporary build directory inside of the .trigger directory. diff --git a/.changeset/big-carrots-fail.md b/.changeset/big-carrots-fail.md deleted file mode 100644 index 0dc095499b6..00000000000 --- a/.changeset/big-carrots-fail.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Fix dev runs diff --git a/.changeset/big-garlics-own.md b/.changeset/big-garlics-own.md deleted file mode 100644 index 3df6d66f742..00000000000 --- a/.changeset/big-garlics-own.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -fix: importing from runEngine/index.js breaks non-node runtimes diff --git a/.changeset/blue-eyes-tickle.md b/.changeset/blue-eyes-tickle.md deleted file mode 100644 index ab4ca8b92c6..00000000000 --- a/.changeset/blue-eyes-tickle.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -The dev command will now use the platform-provided engine URL diff --git a/.changeset/breezy-turtles-talk.md b/.changeset/breezy-turtles-talk.md deleted file mode 100644 index da208cb2c8f..00000000000 --- a/.changeset/breezy-turtles-talk.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@trigger.dev/react-hooks": patch -"@trigger.dev/sdk": patch -"trigger.dev": patch -"@trigger.dev/build": patch -"@trigger.dev/core": patch -"@trigger.dev/rsc": patch ---- - -Run Engine 2.0 (alpha) diff --git a/.changeset/chatty-snakes-hope.md b/.changeset/chatty-snakes-hope.md deleted file mode 100644 index e0d2083a5d3..00000000000 --- a/.changeset/chatty-snakes-hope.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -fix: Logging large objects is now much more performant and uses less memory diff --git a/.changeset/chilled-weeks-switch.md b/.changeset/chilled-weeks-switch.md deleted file mode 100644 index b49f9c57f4c..00000000000 --- a/.changeset/chilled-weeks-switch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Fix update command version mismatch detection diff --git a/.changeset/clean-beans-compete.md b/.changeset/clean-beans-compete.md deleted file mode 100644 index 520ca16c81e..00000000000 --- a/.changeset/clean-beans-compete.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -New internal idempotency implementation for trigger and batch trigger to prevent request retries from duplicating work diff --git a/.changeset/clean-beans-run.md b/.changeset/clean-beans-run.md deleted file mode 100644 index 0d996d744fb..00000000000 --- a/.changeset/clean-beans-run.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -fix: prevent circular reference errors on task indexing when using schemaTask diff --git a/.changeset/cuddly-boats-press.md b/.changeset/cuddly-boats-press.md deleted file mode 100644 index 7d442639363..00000000000 --- a/.changeset/cuddly-boats-press.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Add external log exporters and fix missing external trace exporters in deployed tasks diff --git a/.changeset/curvy-dogs-share.md b/.changeset/curvy-dogs-share.md deleted file mode 100644 index a0071042aab..00000000000 --- a/.changeset/curvy-dogs-share.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -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. diff --git a/.changeset/cyan-news-design.md b/.changeset/cyan-news-design.md deleted file mode 100644 index c7db9189f10..00000000000 --- a/.changeset/cyan-news-design.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Allow any runs to finish after SIGTERM but disable warm starts diff --git a/.changeset/early-points-jam.md b/.changeset/early-points-jam.md deleted file mode 100644 index 645a50002fa..00000000000 --- a/.changeset/early-points-jam.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Gracefully shutdown task run processes using SIGTERM followed by SIGKILL after a 1s timeout. This also prevents cancelled or completed runs from leaving orphaned Ttask run processes behind diff --git a/.changeset/eight-ligers-help.md b/.changeset/eight-ligers-help.md deleted file mode 100644 index 57c832b0bec..00000000000 --- a/.changeset/eight-ligers-help.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Enhance deploy command output to better distinguish between local and remote builds diff --git a/.changeset/eighty-rings-divide.md b/.changeset/eighty-rings-divide.md deleted file mode 100644 index 193b46ca7bf..00000000000 --- a/.changeset/eighty-rings-divide.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/core": patch ---- - -Configurable queue consumer count in supervisor session diff --git a/.changeset/empty-dolls-judge.md b/.changeset/empty-dolls-judge.md deleted file mode 100644 index 477cc9ef473..00000000000 --- a/.changeset/empty-dolls-judge.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Switch to profile after successful login diff --git a/.changeset/famous-clocks-thank.md b/.changeset/famous-clocks-thank.md deleted file mode 100644 index 7294c4e9ea9..00000000000 --- a/.changeset/famous-clocks-thank.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -feat: Support AI SDK 5.0. `ai.tool` now accepts either a schemaTask or a task with a provided jsonSchema diff --git a/.changeset/fifty-beers-bake.md b/.changeset/fifty-beers-bake.md deleted file mode 100644 index 63c431c480a..00000000000 --- a/.changeset/fifty-beers-bake.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Fixes a bug that would allow processes that had OOM errors to be incorrectly reused when experimental_processKeepAlive was enabled diff --git a/.changeset/five-nails-whisper.md b/.changeset/five-nails-whisper.md deleted file mode 100644 index 185f4a0cf6a..00000000000 --- a/.changeset/five-nails-whisper.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -External Trace Correlation & OpenTelemetry Package Updates. - -| Package | Previous Version | New Version | Change Type | -|---------|------------------|-------------|-------------| -| `@opentelemetry/api` | 1.9.0 | 1.9.0 | No change (stable API) | -| `@opentelemetry/api-logs` | 0.52.1 | 0.203.0 | Major update | -| `@opentelemetry/core` | - | 2.0.1 | New dependency | -| `@opentelemetry/exporter-logs-otlp-http` | 0.52.1 | 0.203.0 | Major update | -| `@opentelemetry/exporter-trace-otlp-http` | 0.52.1 | 0.203.0 | Major update | -| `@opentelemetry/instrumentation` | 0.52.1 | 0.203.0 | Major update | -| `@opentelemetry/instrumentation-fetch` | 0.52.1 | 0.203.0 | Major update | -| `@opentelemetry/resources` | 1.25.1 | 2.0.1 | Major update | -| `@opentelemetry/sdk-logs` | 0.52.1 | 0.203.0 | Major update | -| `@opentelemetry/sdk-node` | 0.52.1 | - | Removed (functionality consolidated) | -| `@opentelemetry/sdk-trace-base` | 1.25.1 | 2.0.1 | Major update | -| `@opentelemetry/sdk-trace-node` | 1.25.1 | 2.0.1 | Major update | -| `@opentelemetry/semantic-conventions` | 1.25.1 | 1.36.0 | Minor update | - -### External trace correlation and propagation - -We will now correlate your external traces with trigger.dev traces and logs when using our external exporters: - -```ts -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: - -```ts -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() - } -}) -``` - - diff --git a/.changeset/flat-pianos-live.md b/.changeset/flat-pianos-live.md deleted file mode 100644 index c1f915195cf..00000000000 --- a/.changeset/flat-pianos-live.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -Runtime agnostic SDK config via env vars diff --git a/.changeset/fluffy-mirrors-live.md b/.changeset/fluffy-mirrors-live.md deleted file mode 100644 index 97e741ecab5..00000000000 --- a/.changeset/fluffy-mirrors-live.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -Add jsonSchema support when indexing tasks diff --git a/.changeset/four-needles-add.md b/.changeset/four-needles-add.md deleted file mode 100644 index 7dd18092dfb..00000000000 --- a/.changeset/four-needles-add.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@trigger.dev/redis-worker": major -"@trigger.dev/react-hooks": major -"@trigger.dev/sdk": major -"trigger.dev": major -"@trigger.dev/python": major -"@trigger.dev/build": major -"@trigger.dev/core": major -"@trigger.dev/rsc": major ---- - -Trigger.dev v4 release. Please see our upgrade to v4 docs to view the full changelog: https://trigger.dev/docs/upgrade-to-v4 diff --git a/.changeset/fuzzy-snakes-beg.md b/.changeset/fuzzy-snakes-beg.md deleted file mode 100644 index f5bd55cdeb0..00000000000 --- a/.changeset/fuzzy-snakes-beg.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/core": patch ---- - -Add supervisor http client option to disable debug logs diff --git a/.changeset/gentle-waves-suffer.md b/.changeset/gentle-waves-suffer.md deleted file mode 100644 index d96452b7757..00000000000 --- a/.changeset/gentle-waves-suffer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -Fixed an issue with realtime streams that timeout and resume streaming dropping chunks diff --git a/.changeset/giant-plums-smash.md b/.changeset/giant-plums-smash.md deleted file mode 100644 index 7b23fb870ce..00000000000 --- a/.changeset/giant-plums-smash.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -Added and cleaned up the run ctx param: - -- New optional properties `ctx.run.parentTaskRunId` and `ctx.run.rootTaskRunId` reference the current run's root/parent ID. -- Removed deprecated properties from `ctx` -- Added a new `ctx.deployment` object that contains information about the deployment associated with the run. - -We also update `metadata.root` and `metadata.parent` to work even when the run is a "root" run (meaning it doesn't have a parent or a root associated run). This now works: - -```ts -metadata.root.set("foo", "bar"); -metadata.parent.set("baz", 1); -metadata.current().foo // "bar" -metadata.current().baz // 1 -``` diff --git a/.changeset/giant-rivers-tease.md b/.changeset/giant-rivers-tease.md deleted file mode 100644 index 43ff6b9428a..00000000000 --- a/.changeset/giant-rivers-tease.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -improve contrast for chalkWorker in light mode diff --git a/.changeset/gold-insects-invite.md b/.changeset/gold-insects-invite.md deleted file mode 100644 index 7b260ed6076..00000000000 --- a/.changeset/gold-insects-invite.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -Expose esbuild `keepNames` option (experimental) diff --git a/.changeset/green-lions-relate.md b/.changeset/green-lions-relate.md deleted file mode 100644 index da2a96b29d6..00000000000 --- a/.changeset/green-lions-relate.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -The envvars.list() and retrieve() functions receive isSecret for each value. Secret values are always redacted. diff --git a/.changeset/grumpy-wasps-fold.md b/.changeset/grumpy-wasps-fold.md deleted file mode 100644 index 78b74f73b74..00000000000 --- a/.changeset/grumpy-wasps-fold.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -Add `experimental_autoDetectExternal` trigger config option diff --git a/.changeset/healthy-apricots-drop.md b/.changeset/healthy-apricots-drop.md deleted file mode 100644 index aae2b175e84..00000000000 --- a/.changeset/healthy-apricots-drop.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -Add project details to the whoami command diff --git a/.changeset/healthy-oranges-refuse.md b/.changeset/healthy-oranges-refuse.md deleted file mode 100644 index dfc781ccce3..00000000000 --- a/.changeset/healthy-oranges-refuse.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -fix: waitUntil now correctly waits for metadata.streams to finish diff --git a/.changeset/hip-cups-wave.md b/.changeset/hip-cups-wave.md deleted file mode 100644 index c21b94e37bc..00000000000 --- a/.changeset/hip-cups-wave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -Fix issue where realtime streams would cut off after 5 minutes diff --git a/.changeset/honest-files-decide.md b/.changeset/honest-files-decide.md deleted file mode 100644 index 6bc65f34ccf..00000000000 --- a/.changeset/honest-files-decide.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -Deprecate toolTask and replace with `ai.tool(mySchemaTask)` diff --git a/.changeset/itchy-frogs-care.md b/.changeset/itchy-frogs-care.md deleted file mode 100644 index 72cb57c867d..00000000000 --- a/.changeset/itchy-frogs-care.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Log images sizes for self-hosted deploys diff --git a/.changeset/itchy-games-sort.md b/.changeset/itchy-games-sort.md deleted file mode 100644 index 3f04f68228e..00000000000 --- a/.changeset/itchy-games-sort.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@trigger.dev/sdk": patch -"trigger.dev": patch ---- - -Display clickable links in Cursor terminal diff --git a/.changeset/late-chairs-ring.md b/.changeset/late-chairs-ring.md deleted file mode 100644 index cd7c9f36202..00000000000 --- a/.changeset/late-chairs-ring.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Fix init.ts in custom trigger dirs diff --git a/.changeset/late-dancers-smile.md b/.changeset/late-dancers-smile.md deleted file mode 100644 index 58026740d8e..00000000000 --- a/.changeset/late-dancers-smile.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -Add import timings and bundle size analysis, the dev command will now warn about slow imports diff --git a/.changeset/lazy-panthers-shop.md b/.changeset/lazy-panthers-shop.md deleted file mode 100644 index fa622e087ec..00000000000 --- a/.changeset/lazy-panthers-shop.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/core": patch ---- - -Improve structured logs diff --git a/.changeset/lazy-plums-fetch.md b/.changeset/lazy-plums-fetch.md deleted file mode 100644 index 515d6f85d03..00000000000 --- a/.changeset/lazy-plums-fetch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/build": patch ---- - -syncVercelEnvVars() fix for syncing the wrong preview branch env vars diff --git a/.changeset/light-peas-melt.md b/.changeset/light-peas-melt.md deleted file mode 100644 index 52d184b6cce..00000000000 --- a/.changeset/light-peas-melt.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Fix update command version range handling diff --git a/.changeset/little-birds-appear.md b/.changeset/little-birds-appear.md deleted file mode 100644 index 870f253b852..00000000000 --- a/.changeset/little-birds-appear.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -Removes the `releaseConcurrencyOnWaitpoint` option on queues and the `releaseConcurrency` option on various wait functions. Replaced with the following default behavior: - -- 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 worker -- `DEQUEUED`: Task has been dequeued and is being sent to a worker to start executing. -- `EXECUTING`: Task is currently being executed by a worker -- `WAITING`: Task has been paused by the system, and will be resumed by the system -- `COMPLETED`: Task has been completed successfully -- `CANCELED`: Task has been canceled by the user -- `FAILED`: Task has failed to complete, due to an error in the system -- `CRASHED`: Task has crashed and won't be retried, most likely the worker ran out of resources, e.g. memory or storage -- `SYSTEM_FAILURE`: Task has failed to complete, due to an error in the system -- `DELAYED`: Task has been scheduled to run at a specific time -- `EXPIRED`: Task has expired and won't be executed -- `TIMED_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 by `PENDING_VERSION` -- `FROZEN`: This is no longer used, and is replaced by `WAITING` -- `INTERRUPTED`: This is no longer used -- `REATTEMPTING`: This is no longer used, and is replaced by `EXECUTING` - -We've also added "boolean" helpers to runs returned via the API and from Realtime: - -- `isQueued`: Returns true when the status is `QUEUED`, `PENDING_VERSION`, or `DELAYED` -- `isExecuting`: Returns true when the status is `EXECUTING`, `DEQUEUED`. These count against your concurrency limits. -- `isWaiting`: Returns true when the status is `WAITING`. 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 is `CANCELED` -- `isFailed`: Returns true when the status is any of the failed statuses. -- `isSuccess`: Returns true when the status is `COMPLETED` - -This change adds the ability to easily detect which runs are being counted against your concurrency limit by filtering for both `EXECUTING` or `DEQUEUED`. diff --git a/.changeset/little-lemons-grab.md b/.changeset/little-lemons-grab.md deleted file mode 100644 index 71041f13858..00000000000 --- a/.changeset/little-lemons-grab.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -All experimental flags have been promoted to non-experimental, but the experimental ones still work (for now). keepNames and autoDetectExternal now default to true. diff --git a/.changeset/loud-rules-dream.md b/.changeset/loud-rules-dream.md deleted file mode 100644 index ce6688c6cb3..00000000000 --- a/.changeset/loud-rules-dream.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -fix(runner): prevent retry immediately race condition which can cause stuck runs that end up being system failures diff --git a/.changeset/mean-wolves-stare.md b/.changeset/mean-wolves-stare.md deleted file mode 100644 index 26ca5243192..00000000000 --- a/.changeset/mean-wolves-stare.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Upgrade to bun v1.2.20 diff --git a/.changeset/moody-squids-count.md b/.changeset/moody-squids-count.md deleted file mode 100644 index e475088102f..00000000000 --- a/.changeset/moody-squids-count.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Init command will now correctly install v4-beta packages diff --git a/.changeset/nasty-cobras-wonder.md b/.changeset/nasty-cobras-wonder.md deleted file mode 100644 index 0cd7c417d18..00000000000 --- a/.changeset/nasty-cobras-wonder.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Fix metadata collapsing correctness diff --git a/.changeset/nice-colts-boil.md b/.changeset/nice-colts-boil.md deleted file mode 100644 index bd395ae9dd9..00000000000 --- a/.changeset/nice-colts-boil.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Improve warm start times by eagerly creating the child TaskRunProcess when a previous run as completed diff --git a/.changeset/ninety-games-grow.md b/.changeset/ninety-games-grow.md deleted file mode 100644 index df22eff4ee8..00000000000 --- a/.changeset/ninety-games-grow.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -- Resolve issue where CLI could get stuck during deploy finalization -- Unify local and remote build logic, with multi-platform build support -- Improve switch command; now accepts profile name as an argument -- Registry configuration is now fully managed by the webapp -- The deploy `--self-hosted` flag is no longer required -- Enhance deployment error reporting and image digest retrieval diff --git a/.changeset/orange-pens-smile.md b/.changeset/orange-pens-smile.md deleted file mode 100644 index 9a4948cda55..00000000000 --- a/.changeset/orange-pens-smile.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/redis-worker": patch ---- - -Now each worker gets it's own pLimit concurrency limiter, and we will only ever dequeue items where there is concurrency capacity, preventing incorrectly retried jobs due to visibility timeout expiry diff --git a/.changeset/orange-rocks-grow.md b/.changeset/orange-rocks-grow.md deleted file mode 100644 index c8a6bdaa232..00000000000 --- a/.changeset/orange-rocks-grow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Fix init.ts detection when using the sentry esbuild plugin diff --git a/.changeset/plenty-dolphins-act.md b/.changeset/plenty-dolphins-act.md deleted file mode 100644 index 59d2c7fc44a..00000000000 --- a/.changeset/plenty-dolphins-act.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -- Correctly resolve waitpoints that come in early -- Ensure correct state before requesting suspension -- Fix race conditions in snapshot processing diff --git a/.changeset/polite-badgers-suffer.md b/.changeset/polite-badgers-suffer.md deleted file mode 100644 index bba234e21d9..00000000000 --- a/.changeset/polite-badgers-suffer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -experimental processKeepAlive diff --git a/.changeset/polite-impalas-care.md b/.changeset/polite-impalas-care.md deleted file mode 100644 index 134ff3dd4a1..00000000000 --- a/.changeset/polite-impalas-care.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Fixes runLimiter check on #dequeueRuns diff --git a/.changeset/polite-lies-fix.md b/.changeset/polite-lies-fix.md deleted file mode 100644 index 6e60a776041..00000000000 --- a/.changeset/polite-lies-fix.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Update nypm package to support test-based bun.lock files diff --git a/.changeset/pre.json b/.changeset/pre.json deleted file mode 100644 index f53ca9d0d83..00000000000 --- a/.changeset/pre.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "mode": "exit", - "tag": "v4-beta", - "initialVersions": { - "coordinator": "0.0.1", - "docker-provider": "0.0.1", - "kubernetes-provider": "0.0.1", - "supervisor": "0.0.1", - "webapp": "1.0.0", - "@trigger.dev/build": "3.3.17", - "trigger.dev": "3.3.17", - "@trigger.dev/core": "3.3.17", - "@trigger.dev/python": "3.3.17", - "@trigger.dev/react-hooks": "3.3.17", - "@trigger.dev/redis-worker": "3.3.17", - "@trigger.dev/rsc": "3.3.17", - "@trigger.dev/sdk": "3.3.17", - "@trigger.dev/schema-to-json": "4.0.0-v4-beta.26" - }, - "changesets": [ - "afraid-waves-divide", - "beige-horses-juggle", - "big-carrots-fail", - "big-garlics-own", - "blue-eyes-tickle", - "breezy-turtles-talk", - "chatty-snakes-hope", - "chilled-weeks-switch", - "clean-beans-compete", - "clean-beans-run", - "cuddly-boats-press", - "curvy-dogs-share", - "cyan-news-design", - "early-points-jam", - "eight-ligers-help", - "eighty-rings-divide", - "empty-dolls-judge", - "famous-clocks-thank", - "fifty-beers-bake", - "five-nails-whisper", - "flat-pianos-live", - "fluffy-mirrors-live", - "four-needles-add", - "fuzzy-snakes-beg", - "gentle-waves-suffer", - "giant-plums-smash", - "giant-rivers-tease", - "gold-insects-invite", - "green-lions-relate", - "grumpy-wasps-fold", - "healthy-apricots-drop", - "healthy-oranges-refuse", - "hip-cups-wave", - "honest-files-decide", - "itchy-frogs-care", - "itchy-games-sort", - "late-chairs-ring", - "late-dancers-smile", - "lazy-panthers-shop", - "lazy-plums-fetch", - "light-peas-melt", - "little-birds-appear", - "little-lemons-grab", - "loud-rules-dream", - "mean-wolves-stare", - "moody-squids-count", - "nasty-cobras-wonder", - "nice-colts-boil", - "ninety-games-grow", - "orange-pens-smile", - "orange-rocks-grow", - "plenty-dolphins-act", - "polite-badgers-suffer", - "polite-impalas-care", - "polite-lies-fix", - "proud-nails-grin", - "rare-beds-accept", - "rare-mails-fail", - "real-rats-drop", - "red-chairs-begin", - "red-rings-marry", - "red-wasps-cover", - "shiny-kiwis-beam", - "silent-lobsters-march", - "silly-cows-serve", - "silly-timers-repair", - "sixty-beers-share", - "slow-games-drum", - "small-birds-arrive", - "small-dancers-smell", - "smart-coins-hammer", - "smooth-planets-flow", - "soft-candles-do", - "sour-mirrors-accept", - "spotty-ducks-punch", - "spotty-pants-wink", - "strong-pianos-provide", - "sweet-dolphins-invent", - "swift-vans-dress", - "tender-jobs-collect", - "thick-bikes-laugh", - "thick-poets-yawn", - "tidy-books-smell", - "tiny-buckets-teach", - "tricky-houses-invite", - "twelve-actors-hide", - "two-eagles-report", - "two-tigers-dream", - "violet-llamas-roll", - "weak-jobs-hide", - "weak-parents-sip", - "wet-deers-think", - "wet-dragons-boil", - "wet-steaks-reflect", - "wicked-ads-walk", - "wild-mirrors-return", - "witty-cherries-tan", - "witty-donkeys-unite", - "yellow-cars-tell" - ] -} diff --git a/.changeset/proud-nails-grin.md b/.changeset/proud-nails-grin.md deleted file mode 100644 index 9c4f822f6c6..00000000000 --- a/.changeset/proud-nails-grin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/core": patch ---- - -Add optional placement tags to dequeued messages for targeted scheduling diff --git a/.changeset/rare-beds-accept.md b/.changeset/rare-beds-accept.md deleted file mode 100644 index dccd97a96a9..00000000000 --- a/.changeset/rare-beds-accept.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/core": patch ---- - -Add verbose structured log level diff --git a/.changeset/rare-mails-fail.md b/.changeset/rare-mails-fail.md deleted file mode 100644 index ef4e9861b03..00000000000 --- a/.changeset/rare-mails-fail.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/build": patch ---- - -Add Lightpanda extension diff --git a/.changeset/real-rats-drop.md b/.changeset/real-rats-drop.md deleted file mode 100644 index 953794afd42..00000000000 --- a/.changeset/real-rats-drop.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -Add onCancel lifecycle hook diff --git a/.changeset/red-chairs-begin.md b/.changeset/red-chairs-begin.md deleted file mode 100644 index e54857e5529..00000000000 --- a/.changeset/red-chairs-begin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Added AI assistance link when you have build errors diff --git a/.changeset/red-rings-marry.md b/.changeset/red-rings-marry.md deleted file mode 100644 index 87fb25647ad..00000000000 --- a/.changeset/red-rings-marry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -Provide realtime skipColumns option via untamperable public access tokens diff --git a/.changeset/red-wasps-cover.md b/.changeset/red-wasps-cover.md deleted file mode 100644 index 035e7549fa7..00000000000 --- a/.changeset/red-wasps-cover.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/core": patch ---- - -Suppress external instrumentation for fetch calls from ApiClient diff --git a/.changeset/shiny-kiwis-beam.md b/.changeset/shiny-kiwis-beam.md deleted file mode 100644 index c01b131162d..00000000000 --- a/.changeset/shiny-kiwis-beam.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Handle flush errors gracefully in dev diff --git a/.changeset/silent-lobsters-march.md b/.changeset/silent-lobsters-march.md deleted file mode 100644 index a6ca8a3b5e3..00000000000 --- a/.changeset/silent-lobsters-march.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/build": patch ---- - -- Improve playwright non-headless chrome installation -- Prevent spinner message duplication in narrow terminals \ No newline at end of file diff --git a/.changeset/silly-cows-serve.md b/.changeset/silly-cows-serve.md deleted file mode 100644 index d655dbed805..00000000000 --- a/.changeset/silly-cows-serve.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Added support for Preview branches in v4 projects diff --git a/.changeset/silly-timers-repair.md b/.changeset/silly-timers-repair.md deleted file mode 100644 index 711fbc7f2b7..00000000000 --- a/.changeset/silly-timers-repair.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Can now set project ref using the TRIGGER_PROJECT_REF env var diff --git a/.changeset/sixty-beers-share.md b/.changeset/sixty-beers-share.md deleted file mode 100644 index 862628e2c13..00000000000 --- a/.changeset/sixty-beers-share.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -Add runtime version detection for display in the dashboard diff --git a/.changeset/slow-games-drum.md b/.changeset/slow-games-drum.md deleted file mode 100644 index c1ab229f862..00000000000 --- a/.changeset/slow-games-drum.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -Removed triggerAndPoll. It was never recommended so it's been removed. diff --git a/.changeset/small-birds-arrive.md b/.changeset/small-birds-arrive.md deleted file mode 100644 index cf1039b83e7..00000000000 --- a/.changeset/small-birds-arrive.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -"@trigger.dev/react-hooks": patch ---- - -Added the ability to specify a "createdAt" filter when subscribing to tags in our useRealtime hooks: - -```tsx -// Only subscribe to runs created in the last 10 hours -useRealtimeRunWithTags("my-tag", { createdAt: "10h" }) -``` - -You can also now choose to skip subscribing to specific columns by specifying the `skipColumns` option: - -```tsx -useRealtimeRun(run.id, { skipColumns: ["usageDurationMs"] }); -``` diff --git a/.changeset/small-dancers-smell.md b/.changeset/small-dancers-smell.md deleted file mode 100644 index ff9b68c00fd..00000000000 --- a/.changeset/small-dancers-smell.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@trigger.dev/sdk": patch -"@trigger.dev/core": patch ---- - -Improve metadata flushing efficiency by collapsing operations diff --git a/.changeset/smart-coins-hammer.md b/.changeset/smart-coins-hammer.md deleted file mode 100644 index bea810c6cad..00000000000 --- a/.changeset/smart-coins-hammer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/core": patch ---- - -fix: Realtime streams: prevent enqueuing into closed ReadableStream diff --git a/.changeset/smooth-planets-flow.md b/.changeset/smooth-planets-flow.md deleted file mode 100644 index 708932fccad..00000000000 --- a/.changeset/smooth-planets-flow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Update profile switcher diff --git a/.changeset/soft-candles-do.md b/.changeset/soft-candles-do.md deleted file mode 100644 index e423053d453..00000000000 --- a/.changeset/soft-candles-do.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Update base images to latest compatible versions. The `node-22` runtime now uses v22.16.0 and `bun` uses the latest v1.2.18 release. The default `node` runtime is unchanged and points at v21.7.3. diff --git a/.changeset/sour-mirrors-accept.md b/.changeset/sour-mirrors-accept.md deleted file mode 100644 index 34084228cae..00000000000 --- a/.changeset/sour-mirrors-accept.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -Improve usage flushing diff --git a/.changeset/spotty-ducks-punch.md b/.changeset/spotty-ducks-punch.md deleted file mode 100644 index f6c02980119..00000000000 --- a/.changeset/spotty-ducks-punch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -fix: default machine config indexing now works diff --git a/.changeset/spotty-pants-wink.md b/.changeset/spotty-pants-wink.md deleted file mode 100644 index 7021ecc8fab..00000000000 --- a/.changeset/spotty-pants-wink.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -Prevent large outputs from overwriting each other diff --git a/.changeset/strong-pianos-provide.md b/.changeset/strong-pianos-provide.md deleted file mode 100644 index 728179393bc..00000000000 --- a/.changeset/strong-pianos-provide.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -Fail fast in CI when running deploy with missing `TRIGGER_ACCESS_TOKEN` and add useful error message with link to docs diff --git a/.changeset/sweet-dolphins-invent.md b/.changeset/sweet-dolphins-invent.md deleted file mode 100644 index df758a89e9c..00000000000 --- a/.changeset/sweet-dolphins-invent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Always print full deploy logs in CI diff --git a/.changeset/swift-vans-dress.md b/.changeset/swift-vans-dress.md deleted file mode 100644 index 1ccbf2027ac..00000000000 --- a/.changeset/swift-vans-dress.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@trigger.dev/sdk": patch -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -Upgrade to zod 3.25.76 diff --git a/.changeset/tender-jobs-collect.md b/.changeset/tender-jobs-collect.md deleted file mode 100644 index 829c628b6db..00000000000 --- a/.changeset/tender-jobs-collect.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -TriggerApiError 4xx errors will no longer cause tasks to be retried diff --git a/.changeset/thick-bikes-laugh.md b/.changeset/thick-bikes-laugh.md deleted file mode 100644 index 7166bfca645..00000000000 --- a/.changeset/thick-bikes-laugh.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/build": patch ---- - -Add ffmpeg v7 support to existing extension: `ffmpeg({ version: "7" })` diff --git a/.changeset/thick-poets-yawn.md b/.changeset/thick-poets-yawn.md deleted file mode 100644 index 56f1151b542..00000000000 --- a/.changeset/thick-poets-yawn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -Specify a region override when triggering a run diff --git a/.changeset/tidy-books-smell.md b/.changeset/tidy-books-smell.md deleted file mode 100644 index b8ecf87f55a..00000000000 --- a/.changeset/tidy-books-smell.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -- Fix polling interval reset bug that could create duplicate intervals -- Protect against unexpected attempt number changes -- Prevent run execution zombies after warm starts \ No newline at end of file diff --git a/.changeset/tiny-buckets-teach.md b/.changeset/tiny-buckets-teach.md deleted file mode 100644 index fdf3ae3a946..00000000000 --- a/.changeset/tiny-buckets-teach.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Fix stalled run detection diff --git a/.changeset/tricky-houses-invite.md b/.changeset/tricky-houses-invite.md deleted file mode 100644 index e21e7b58185..00000000000 --- a/.changeset/tricky-houses-invite.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -Managed run controller performance and reliability improvements diff --git a/.changeset/twelve-actors-hide.md b/.changeset/twelve-actors-hide.md deleted file mode 100644 index 7187b92ab0c..00000000000 --- a/.changeset/twelve-actors-hide.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Fix init.ts auto-import for deployed workers diff --git a/.changeset/two-eagles-report.md b/.changeset/two-eagles-report.md deleted file mode 100644 index 11f034ed3fa..00000000000 --- a/.changeset/two-eagles-report.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -Added runs.list filtering for queue and machine diff --git a/.changeset/two-tigers-dream.md b/.changeset/two-tigers-dream.md deleted file mode 100644 index b4fee01cbea..00000000000 --- a/.changeset/two-tigers-dream.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/sdk": patch ---- - -maintain proper context in metadata.root and parent getters diff --git a/.changeset/violet-llamas-roll.md b/.changeset/violet-llamas-roll.md deleted file mode 100644 index a2d90ee049f..00000000000 --- a/.changeset/violet-llamas-roll.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -fix: external traces now respect parent sampling, and prevent broken traces when there is no external trace context diff --git a/.changeset/weak-jobs-hide.md b/.changeset/weak-jobs-hide.md deleted file mode 100644 index 0be1f49588c..00000000000 --- a/.changeset/weak-jobs-hide.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@trigger.dev/sdk": patch -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -v4: New lifecycle hooks diff --git a/.changeset/weak-parents-sip.md b/.changeset/weak-parents-sip.md deleted file mode 100644 index fb8589baeae..00000000000 --- a/.changeset/weak-parents-sip.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Output esbuild metafile, can be inspected after `deploy --dry run` diff --git a/.changeset/wet-deers-think.md b/.changeset/wet-deers-think.md deleted file mode 100644 index 9002d7b94f2..00000000000 --- a/.changeset/wet-deers-think.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -Fix QUEUED status snapshot handler diff --git a/.changeset/wet-dragons-boil.md b/.changeset/wet-dragons-boil.md deleted file mode 100644 index becd48dd8c5..00000000000 --- a/.changeset/wet-dragons-boil.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Serialize metadata to prevent invalid metadata from breaking run completions diff --git a/.changeset/wet-steaks-reflect.md b/.changeset/wet-steaks-reflect.md deleted file mode 100644 index 3a777416896..00000000000 --- a/.changeset/wet-steaks-reflect.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -If you pass a directory when calling deploy we validate it exists and give helpful hints diff --git a/.changeset/wicked-ads-walk.md b/.changeset/wicked-ads-walk.md deleted file mode 100644 index c9190c709f1..00000000000 --- a/.changeset/wicked-ads-walk.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@trigger.dev/react-hooks": patch -"@trigger.dev/core": patch ---- - -Fixes an issue with realtime when re-subscribing to a run, that would temporarily display stale data and the changes. Now when re-subscribing to a run only the latest changes will be vended diff --git a/.changeset/wild-mirrors-return.md b/.changeset/wild-mirrors-return.md deleted file mode 100644 index baee7565a3b..00000000000 --- a/.changeset/wild-mirrors-return.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"trigger.dev": patch -"@trigger.dev/core": patch ---- - -Expose esbuild `minify` option (experimental) diff --git a/.changeset/witty-cherries-tan.md b/.changeset/witty-cherries-tan.md deleted file mode 100644 index 062f1c68de9..00000000000 --- a/.changeset/witty-cherries-tan.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"trigger.dev": patch ---- - -Fix `syncEnvVars` for non-preview deployments diff --git a/.changeset/witty-donkeys-unite.md b/.changeset/witty-donkeys-unite.md deleted file mode 100644 index f1a17eb7ff5..00000000000 --- a/.changeset/witty-donkeys-unite.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/build": patch ---- - -Add playwright extension diff --git a/.changeset/yellow-cars-tell.md b/.changeset/yellow-cars-tell.md deleted file mode 100644 index a27ce329c28..00000000000 --- a/.changeset/yellow-cars-tell.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@trigger.dev/core": patch ---- - -Fix Bun runtime path resolution fallback diff --git a/packages/build/CHANGELOG.md b/packages/build/CHANGELOG.md index 29e449527fd..11f59f7ccd7 100644 --- a/packages/build/CHANGELOG.md +++ b/packages/build/CHANGELOG.md @@ -1,5 +1,23 @@ # @trigger.dev/build +## 4.0.0 + +### Major Changes + +- Trigger.dev v4 release. Please see our upgrade to v4 docs to view the full changelog: https://trigger.dev/docs/upgrade-to-v4 ([#1869](https://github.com/triggerdotdev/trigger.dev/pull/1869)) + +### Patch Changes + +- Run Engine 2.0 (alpha) ([#1575](https://github.com/triggerdotdev/trigger.dev/pull/1575)) +- syncVercelEnvVars() fix for syncing the wrong preview branch env vars ([#2141](https://github.com/triggerdotdev/trigger.dev/pull/2141)) +- Add Lightpanda extension ([#2192](https://github.com/triggerdotdev/trigger.dev/pull/2192)) +- - Improve playwright non-headless chrome installation ([#2347](https://github.com/triggerdotdev/trigger.dev/pull/2347)) + - Prevent spinner message duplication in narrow terminals +- Add ffmpeg v7 support to existing extension: `ffmpeg({ version: "7" })` ([#1777](https://github.com/triggerdotdev/trigger.dev/pull/1777)) +- Add playwright extension ([#1764](https://github.com/triggerdotdev/trigger.dev/pull/1764)) +- Updated dependencies: + - `@trigger.dev/core@4.0.0` + ## 4.0.0-v4-beta.28 ### Patch Changes diff --git a/packages/build/package.json b/packages/build/package.json index c95670915dd..3a0c1e3a691 100644 --- a/packages/build/package.json +++ b/packages/build/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/build", - "version": "4.0.0-v4-beta.28", + "version": "4.0.0", "description": "trigger.dev build extensions", "license": "MIT", "publishConfig": { @@ -77,7 +77,7 @@ "check-exports": "attw --pack ." }, "dependencies": { - "@trigger.dev/core": "workspace:4.0.0-v4-beta.28", + "@trigger.dev/core": "workspace:4.0.0", "pkg-types": "^1.1.3", "tinyglobby": "^0.2.2", "tsconfck": "3.1.3" diff --git a/packages/cli-v3/CHANGELOG.md b/packages/cli-v3/CHANGELOG.md index 236cbe632d4..c198865faf6 100644 --- a/packages/cli-v3/CHANGELOG.md +++ b/packages/cli-v3/CHANGELOG.md @@ -1,5 +1,91 @@ # trigger.dev +## 4.0.0 + +### Major Changes + +- Trigger.dev v4 release. Please see our upgrade to v4 docs to view the full changelog: https://trigger.dev/docs/upgrade-to-v4 ([#1869](https://github.com/triggerdotdev/trigger.dev/pull/1869)) + +### Patch Changes + +- Make the default of legacyDevProcessCwdBehaviour true instead of false (prevents breaking prismaExtension) ([#2387](https://github.com/triggerdotdev/trigger.dev/pull/2387)) +- Added experimental_devProcessCwdInBuildDir config option to opt-in to new process.cwd behavior when executing tasks in the dev CLI. Currently process.cwd maps to the "root" of your trigger.dev project (the directory that contains your trigger.config.ts file). Setting experimental_devProcessCwdInBuildDir to true changes process.cwd to instead be the temporary build directory inside of the .trigger directory. ([#2269](https://github.com/triggerdotdev/trigger.dev/pull/2269)) +- Fix dev runs ([#2094](https://github.com/triggerdotdev/trigger.dev/pull/2094)) +- The dev command will now use the platform-provided engine URL ([#1949](https://github.com/triggerdotdev/trigger.dev/pull/1949)) +- Run Engine 2.0 (alpha) ([#1575](https://github.com/triggerdotdev/trigger.dev/pull/1575)) +- Fix update command version mismatch detection ([#2199](https://github.com/triggerdotdev/trigger.dev/pull/2199)) +- fix: prevent circular reference errors on task indexing when using schemaTask ([#2383](https://github.com/triggerdotdev/trigger.dev/pull/2383)) +- Add external log exporters and fix missing external trace exporters in deployed tasks ([#2038](https://github.com/triggerdotdev/trigger.dev/pull/2038)) +- Allow any runs to finish after SIGTERM but disable warm starts ([#2316](https://github.com/triggerdotdev/trigger.dev/pull/2316)) +- Gracefully shutdown task run processes using SIGTERM followed by SIGKILL after a 1s timeout. This also prevents cancelled or completed runs from leaving orphaned Ttask run processes behind ([#2299](https://github.com/triggerdotdev/trigger.dev/pull/2299)) +- Enhance deploy command output to better distinguish between local and remote builds ([#2254](https://github.com/triggerdotdev/trigger.dev/pull/2254)) +- Switch to profile after successful login ([#2192](https://github.com/triggerdotdev/trigger.dev/pull/2192)) +- Fixes a bug that would allow processes that had OOM errors to be incorrectly reused when experimental_processKeepAlive was enabled ([#2261](https://github.com/triggerdotdev/trigger.dev/pull/2261)) +- Runtime agnostic SDK config via env vars ([#2132](https://github.com/triggerdotdev/trigger.dev/pull/2132)) +- improve contrast for chalkWorker in light mode ([#2239](https://github.com/triggerdotdev/trigger.dev/pull/2239)) +- Expose esbuild `keepNames` option (experimental) ([#2091](https://github.com/triggerdotdev/trigger.dev/pull/2091)) +- Add `experimental_autoDetectExternal` trigger config option ([#2083](https://github.com/triggerdotdev/trigger.dev/pull/2083)) +- Add project details to the whoami command ([#2231](https://github.com/triggerdotdev/trigger.dev/pull/2231)) +- fix: waitUntil now correctly waits for metadata.streams to finish ([#2399](https://github.com/triggerdotdev/trigger.dev/pull/2399)) +- Log images sizes for self-hosted deploys ([#1764](https://github.com/triggerdotdev/trigger.dev/pull/1764)) +- Display clickable links in Cursor terminal ([#1998](https://github.com/triggerdotdev/trigger.dev/pull/1998)) +- Fix init.ts in custom trigger dirs ([#1914](https://github.com/triggerdotdev/trigger.dev/pull/1914)) +- Add import timings and bundle size analysis, the dev command will now warn about slow imports ([#2114](https://github.com/triggerdotdev/trigger.dev/pull/2114)) +- Fix update command version range handling ([#2153](https://github.com/triggerdotdev/trigger.dev/pull/2153)) +- All experimental flags have been promoted to non-experimental, but the experimental ones still work (for now). keepNames and autoDetectExternal now default to true. ([#2371](https://github.com/triggerdotdev/trigger.dev/pull/2371)) +- fix(runner): prevent retry immediately race condition which can cause stuck runs that end up being system failures ([#2402](https://github.com/triggerdotdev/trigger.dev/pull/2402)) +- Upgrade to bun v1.2.20 ([#2398](https://github.com/triggerdotdev/trigger.dev/pull/2398)) +- Init command will now correctly install v4-beta packages ([#1914](https://github.com/triggerdotdev/trigger.dev/pull/1914)) +- Fix metadata collapsing correctness ([#2115](https://github.com/triggerdotdev/trigger.dev/pull/2115)) +- Improve warm start times by eagerly creating the child TaskRunProcess when a previous run as completed ([#1879](https://github.com/triggerdotdev/trigger.dev/pull/1879)) +- - Resolve issue where CLI could get stuck during deploy finalization ([#2138](https://github.com/triggerdotdev/trigger.dev/pull/2138)) + - Unify local and remote build logic, with multi-platform build support + - Improve switch command; now accepts profile name as an argument + - Registry configuration is now fully managed by the webapp + - The deploy `--self-hosted` flag is no longer required + - Enhance deployment error reporting and image digest retrieval +- Fix init.ts detection when using the sentry esbuild plugin ([#2051](https://github.com/triggerdotdev/trigger.dev/pull/2051)) +- - Correctly resolve waitpoints that come in early ([#2006](https://github.com/triggerdotdev/trigger.dev/pull/2006)) + - Ensure correct state before requesting suspension + - Fix race conditions in snapshot processing +- experimental processKeepAlive ([#2183](https://github.com/triggerdotdev/trigger.dev/pull/2183)) +- Fixes runLimiter check on #dequeueRuns ([#1953](https://github.com/triggerdotdev/trigger.dev/pull/1953)) +- Update nypm package to support test-based bun.lock files ([#1914](https://github.com/triggerdotdev/trigger.dev/pull/1914)) +- Added AI assistance link when you have build errors ([#1925](https://github.com/triggerdotdev/trigger.dev/pull/1925)) +- Handle flush errors gracefully in dev ([#1914](https://github.com/triggerdotdev/trigger.dev/pull/1914)) +- - Improve playwright non-headless chrome installation ([#2347](https://github.com/triggerdotdev/trigger.dev/pull/2347)) + - Prevent spinner message duplication in narrow terminals +- Added support for Preview branches in v4 projects ([#2086](https://github.com/triggerdotdev/trigger.dev/pull/2086)) +- Can now set project ref using the TRIGGER_PROJECT_REF env var ([#2109](https://github.com/triggerdotdev/trigger.dev/pull/2109)) +- Add runtime version detection for display in the dashboard ([#2254](https://github.com/triggerdotdev/trigger.dev/pull/2254)) +- Update profile switcher ([#2150](https://github.com/triggerdotdev/trigger.dev/pull/2150)) +- Update base images to latest compatible versions. The `node-22` runtime now uses v22.16.0 and `bun` uses the latest v1.2.18 release. The default `node` runtime is unchanged and points at v21.7.3. ([#2254](https://github.com/triggerdotdev/trigger.dev/pull/2254)) +- Improve usage flushing ([#1931](https://github.com/triggerdotdev/trigger.dev/pull/1931)) +- fix: default machine config indexing now works ([#1979](https://github.com/triggerdotdev/trigger.dev/pull/1979)) +- Prevent large outputs from overwriting each other ([#1971](https://github.com/triggerdotdev/trigger.dev/pull/1971)) +- Fail fast in CI when running deploy with missing `TRIGGER_ACCESS_TOKEN` and add useful error message with link to docs ([#2258](https://github.com/triggerdotdev/trigger.dev/pull/2258)) +- Always print full deploy logs in CI ([#2006](https://github.com/triggerdotdev/trigger.dev/pull/2006)) +- Upgrade to zod 3.25.76 ([#2352](https://github.com/triggerdotdev/trigger.dev/pull/2352)) +- TriggerApiError 4xx errors will no longer cause tasks to be retried ([#1970](https://github.com/triggerdotdev/trigger.dev/pull/1970)) +- - Fix polling interval reset bug that could create duplicate intervals ([#1987](https://github.com/triggerdotdev/trigger.dev/pull/1987)) + - Protect against unexpected attempt number changes + - Prevent run execution zombies after warm starts +- Fix stalled run detection ([#1934](https://github.com/triggerdotdev/trigger.dev/pull/1934)) +- Managed run controller performance and reliability improvements ([#1927](https://github.com/triggerdotdev/trigger.dev/pull/1927)) +- Fix init.ts auto-import for deployed workers ([#2041](https://github.com/triggerdotdev/trigger.dev/pull/2041)) +- fix: external traces now respect parent sampling, and prevent broken traces when there is no external trace context ([#2395](https://github.com/triggerdotdev/trigger.dev/pull/2395)) +- v4: New lifecycle hooks ([#1817](https://github.com/triggerdotdev/trigger.dev/pull/1817)) +- Output esbuild metafile, can be inspected after `deploy --dry run` ([#2087](https://github.com/triggerdotdev/trigger.dev/pull/2087)) +- Fix QUEUED status snapshot handler ([#1963](https://github.com/triggerdotdev/trigger.dev/pull/1963)) +- Serialize metadata to prevent invalid metadata from breaking run completions ([#2219](https://github.com/triggerdotdev/trigger.dev/pull/2219)) +- If you pass a directory when calling deploy we validate it exists and give helpful hints ([#2013](https://github.com/triggerdotdev/trigger.dev/pull/2013)) +- Expose esbuild `minify` option (experimental) ([#2091](https://github.com/triggerdotdev/trigger.dev/pull/2091)) +- Fix `syncEnvVars` for non-preview deployments ([#2131](https://github.com/triggerdotdev/trigger.dev/pull/2131)) +- Updated dependencies: + - `@trigger.dev/core@4.0.0` + - `@trigger.dev/build@4.0.0` + - `@trigger.dev/schema-to-json@4.0.0` + ## 4.0.0-v4-beta.28 ### Patch Changes diff --git a/packages/cli-v3/package.json b/packages/cli-v3/package.json index 3e727a6c72b..184e36ef076 100644 --- a/packages/cli-v3/package.json +++ b/packages/cli-v3/package.json @@ -1,6 +1,6 @@ { "name": "trigger.dev", - "version": "4.0.0-v4-beta.28", + "version": "4.0.0", "description": "A Command-Line Interface for Trigger.dev (v3) projects", "type": "module", "license": "MIT", @@ -89,9 +89,9 @@ "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-trace-node": "2.0.1", "@opentelemetry/semantic-conventions": "1.36.0", - "@trigger.dev/build": "workspace:4.0.0-v4-beta.28", - "@trigger.dev/core": "workspace:4.0.0-v4-beta.28", - "@trigger.dev/schema-to-json": "workspace:4.0.0-v4-beta.28", + "@trigger.dev/build": "workspace:4.0.0", + "@trigger.dev/core": "workspace:4.0.0", + "@trigger.dev/schema-to-json": "workspace:4.0.0", "ansi-escapes": "^7.0.0", "braces": "^3.0.3", "c12": "^1.11.1", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index e30e32314ba..fdbbe8cdf01 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,52 @@ # internal-platform +## 4.0.0 + +### Major Changes + +- Trigger.dev v4 release. Please see our upgrade to v4 docs to view the full changelog: https://trigger.dev/docs/upgrade-to-v4 ([#1869](https://github.com/triggerdotdev/trigger.dev/pull/1869)) + +### Patch Changes + +- The dev command will now use the platform-provided engine URL ([#1949](https://github.com/triggerdotdev/trigger.dev/pull/1949)) +- Run Engine 2.0 (alpha) ([#1575](https://github.com/triggerdotdev/trigger.dev/pull/1575)) +- Configurable queue consumer count in supervisor session ([#1949](https://github.com/triggerdotdev/trigger.dev/pull/1949)) +- Runtime agnostic SDK config via env vars ([#2132](https://github.com/triggerdotdev/trigger.dev/pull/2132)) +- Add supervisor http client option to disable debug logs ([#2116](https://github.com/triggerdotdev/trigger.dev/pull/2116)) +- Expose esbuild `keepNames` option (experimental) ([#2091](https://github.com/triggerdotdev/trigger.dev/pull/2091)) +- Add `experimental_autoDetectExternal` trigger config option ([#2083](https://github.com/triggerdotdev/trigger.dev/pull/2083)) +- Add project details to the whoami command ([#2231](https://github.com/triggerdotdev/trigger.dev/pull/2231)) +- Add import timings and bundle size analysis, the dev command will now warn about slow imports ([#2114](https://github.com/triggerdotdev/trigger.dev/pull/2114)) +- Improve structured logs ([#2062](https://github.com/triggerdotdev/trigger.dev/pull/2062)) +- - Resolve issue where CLI could get stuck during deploy finalization ([#2138](https://github.com/triggerdotdev/trigger.dev/pull/2138)) + - Unify local and remote build logic, with multi-platform build support + - Improve switch command; now accepts profile name as an argument + - Registry configuration is now fully managed by the webapp + - The deploy `--self-hosted` flag is no longer required + - Enhance deployment error reporting and image digest retrieval +- - Correctly resolve waitpoints that come in early ([#2006](https://github.com/triggerdotdev/trigger.dev/pull/2006)) + - Ensure correct state before requesting suspension + - Fix race conditions in snapshot processing +- Add optional placement tags to dequeued messages for targeted scheduling ([#2390](https://github.com/triggerdotdev/trigger.dev/pull/2390)) +- Add verbose structured log level ([#2062](https://github.com/triggerdotdev/trigger.dev/pull/2062)) +- Suppress external instrumentation for fetch calls from ApiClient ([#1788](https://github.com/triggerdotdev/trigger.dev/pull/1788)) +- Add runtime version detection for display in the dashboard ([#2254](https://github.com/triggerdotdev/trigger.dev/pull/2254)) +- Improve metadata flushing efficiency by collapsing operations ([#2106](https://github.com/triggerdotdev/trigger.dev/pull/2106)) +- fix: Realtime streams: prevent enqueuing into closed ReadableStream ([#1781](https://github.com/triggerdotdev/trigger.dev/pull/1781)) +- Improve usage flushing ([#1931](https://github.com/triggerdotdev/trigger.dev/pull/1931)) +- Prevent large outputs from overwriting each other ([#1971](https://github.com/triggerdotdev/trigger.dev/pull/1971)) +- Fail fast in CI when running deploy with missing `TRIGGER_ACCESS_TOKEN` and add useful error message with link to docs ([#2258](https://github.com/triggerdotdev/trigger.dev/pull/2258)) +- Upgrade to zod 3.25.76 ([#2352](https://github.com/triggerdotdev/trigger.dev/pull/2352)) +- - Fix polling interval reset bug that could create duplicate intervals ([#1987](https://github.com/triggerdotdev/trigger.dev/pull/1987)) + - Protect against unexpected attempt number changes + - Prevent run execution zombies after warm starts +- Managed run controller performance and reliability improvements ([#1927](https://github.com/triggerdotdev/trigger.dev/pull/1927)) +- v4: New lifecycle hooks ([#1817](https://github.com/triggerdotdev/trigger.dev/pull/1817)) +- Fix QUEUED status snapshot handler ([#1963](https://github.com/triggerdotdev/trigger.dev/pull/1963)) +- Fixes an issue with realtime when re-subscribing to a run, that would temporarily display stale data and the changes. Now when re-subscribing to a run only the latest changes will be vended ([#2162](https://github.com/triggerdotdev/trigger.dev/pull/2162)) +- Expose esbuild `minify` option (experimental) ([#2091](https://github.com/triggerdotdev/trigger.dev/pull/2091)) +- Fix Bun runtime path resolution fallback ([#2254](https://github.com/triggerdotdev/trigger.dev/pull/2254)) + ## 4.0.0-v4-beta.28 ### Patch Changes diff --git a/packages/core/package.json b/packages/core/package.json index ad553432912..f6f511d68e8 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/core", - "version": "4.0.0-v4-beta.28", + "version": "4.0.0", "description": "Core code used across the Trigger.dev SDK and platform", "license": "MIT", "publishConfig": { diff --git a/packages/python/CHANGELOG.md b/packages/python/CHANGELOG.md index 5d5ae197506..ea8132ebe5b 100644 --- a/packages/python/CHANGELOG.md +++ b/packages/python/CHANGELOG.md @@ -1,5 +1,18 @@ # @trigger.dev/python +## 4.0.0 + +### Major Changes + +- Trigger.dev v4 release. Please see our upgrade to v4 docs to view the full changelog: https://trigger.dev/docs/upgrade-to-v4 ([#1869](https://github.com/triggerdotdev/trigger.dev/pull/1869)) + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/sdk@4.0.0` + - `@trigger.dev/core@4.0.0` + - `@trigger.dev/build@4.0.0` + ## 4.0.0-v4-beta.28 ### Patch Changes diff --git a/packages/python/package.json b/packages/python/package.json index c22e6f92f20..8252b150ef6 100644 --- a/packages/python/package.json +++ b/packages/python/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/python", - "version": "4.0.0-v4-beta.28", + "version": "4.0.0", "description": "Python runtime and build extension for Trigger.dev", "license": "MIT", "publishConfig": { @@ -45,7 +45,7 @@ "check-exports": "attw --pack ." }, "dependencies": { - "@trigger.dev/core": "workspace:4.0.0-v4-beta.28", + "@trigger.dev/core": "workspace:4.0.0", "tinyexec": "^0.3.2" }, "devDependencies": { @@ -56,12 +56,12 @@ "tsx": "4.17.0", "esbuild": "^0.23.0", "@arethetypeswrong/cli": "^0.15.4", - "@trigger.dev/build": "workspace:4.0.0-v4-beta.28", - "@trigger.dev/sdk": "workspace:4.0.0-v4-beta.28" + "@trigger.dev/build": "workspace:4.0.0", + "@trigger.dev/sdk": "workspace:4.0.0" }, "peerDependencies": { - "@trigger.dev/sdk": "workspace:^4.0.0-v4-beta.28", - "@trigger.dev/build": "workspace:^4.0.0-v4-beta.28" + "@trigger.dev/sdk": "workspace:^4.0.0", + "@trigger.dev/build": "workspace:^4.0.0" }, "engines": { "node": ">=18.20.0" diff --git a/packages/react-hooks/CHANGELOG.md b/packages/react-hooks/CHANGELOG.md index 40a055e47b0..bf0e028dfbf 100644 --- a/packages/react-hooks/CHANGELOG.md +++ b/packages/react-hooks/CHANGELOG.md @@ -1,5 +1,31 @@ # @trigger.dev/react-hooks +## 4.0.0 + +### Major Changes + +- Trigger.dev v4 release. Please see our upgrade to v4 docs to view the full changelog: https://trigger.dev/docs/upgrade-to-v4 ([#1869](https://github.com/triggerdotdev/trigger.dev/pull/1869)) + +### Patch Changes + +- Run Engine 2.0 (alpha) ([#1575](https://github.com/triggerdotdev/trigger.dev/pull/1575)) +- Added the ability to specify a "createdAt" filter when subscribing to tags in our useRealtime hooks: ([#2158](https://github.com/triggerdotdev/trigger.dev/pull/2158)) + + ```tsx + // Only subscribe to runs created in the last 10 hours + useRealtimeRunWithTags("my-tag", { createdAt: "10h" }); + ``` + + You can also now choose to skip subscribing to specific columns by specifying the `skipColumns` option: + + ```tsx + useRealtimeRun(run.id, { skipColumns: ["usageDurationMs"] }); + ``` + +- Fixes an issue with realtime when re-subscribing to a run, that would temporarily display stale data and the changes. Now when re-subscribing to a run only the latest changes will be vended ([#2162](https://github.com/triggerdotdev/trigger.dev/pull/2162)) +- Updated dependencies: + - `@trigger.dev/core@4.0.0` + ## 4.0.0-v4-beta.28 ### Patch Changes diff --git a/packages/react-hooks/package.json b/packages/react-hooks/package.json index fdb898d6ba8..ae7a3d75083 100644 --- a/packages/react-hooks/package.json +++ b/packages/react-hooks/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/react-hooks", - "version": "4.0.0-v4-beta.28", + "version": "4.0.0", "description": "trigger.dev react hooks", "license": "MIT", "publishConfig": { @@ -37,7 +37,7 @@ "check-exports": "attw --pack ." }, "dependencies": { - "@trigger.dev/core": "workspace:^4.0.0-v4-beta.28", + "@trigger.dev/core": "workspace:^4.0.0", "swr": "^2.2.5" }, "devDependencies": { diff --git a/packages/redis-worker/CHANGELOG.md b/packages/redis-worker/CHANGELOG.md index b2cb84493d5..ae77455cbef 100644 --- a/packages/redis-worker/CHANGELOG.md +++ b/packages/redis-worker/CHANGELOG.md @@ -1,5 +1,17 @@ # @trigger.dev/redis-worker +## 4.0.0 + +### Major Changes + +- Trigger.dev v4 release. Please see our upgrade to v4 docs to view the full changelog: https://trigger.dev/docs/upgrade-to-v4 ([#1869](https://github.com/triggerdotdev/trigger.dev/pull/1869)) + +### Patch Changes + +- Now each worker gets it's own pLimit concurrency limiter, and we will only ever dequeue items where there is concurrency capacity, preventing incorrectly retried jobs due to visibility timeout expiry ([#2235](https://github.com/triggerdotdev/trigger.dev/pull/2235)) +- Updated dependencies: + - `@trigger.dev/core@4.0.0` + ## 4.0.0-v4-beta.28 ### Patch Changes diff --git a/packages/redis-worker/package.json b/packages/redis-worker/package.json index ede6bb66d8f..d3e395a3f3a 100644 --- a/packages/redis-worker/package.json +++ b/packages/redis-worker/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/redis-worker", - "version": "4.0.0-v4-beta.28", + "version": "4.0.0", "description": "Redis worker for trigger.dev", "license": "MIT", "publishConfig": { @@ -23,7 +23,7 @@ "test": "vitest --sequence.concurrent=false --no-file-parallelism" }, "dependencies": { - "@trigger.dev/core": "workspace:4.0.0-v4-beta.28", + "@trigger.dev/core": "workspace:4.0.0", "lodash.omit": "^4.5.0", "nanoid": "^5.0.7", "p-limit": "^6.2.0", diff --git a/packages/rsc/CHANGELOG.md b/packages/rsc/CHANGELOG.md index 6eb07453c4c..b5c57f862a5 100644 --- a/packages/rsc/CHANGELOG.md +++ b/packages/rsc/CHANGELOG.md @@ -1,5 +1,17 @@ # @trigger.dev/rsc +## 4.0.0 + +### Major Changes + +- Trigger.dev v4 release. Please see our upgrade to v4 docs to view the full changelog: https://trigger.dev/docs/upgrade-to-v4 ([#1869](https://github.com/triggerdotdev/trigger.dev/pull/1869)) + +### Patch Changes + +- Run Engine 2.0 (alpha) ([#1575](https://github.com/triggerdotdev/trigger.dev/pull/1575)) +- Updated dependencies: + - `@trigger.dev/core@4.0.0` + ## 4.0.0-v4-beta.28 ### Patch Changes diff --git a/packages/rsc/package.json b/packages/rsc/package.json index 269543106c5..310e2438cc0 100644 --- a/packages/rsc/package.json +++ b/packages/rsc/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/rsc", - "version": "4.0.0-v4-beta.28", + "version": "4.0.0", "description": "trigger.dev rsc", "license": "MIT", "publishConfig": { @@ -37,14 +37,14 @@ "check-exports": "attw --pack ." }, "dependencies": { - "@trigger.dev/core": "workspace:^4.0.0-v4-beta.28", + "@trigger.dev/core": "workspace:^4.0.0", "mlly": "^1.7.1", "react": "19.0.0-rc.1", "react-dom": "19.0.0-rc.1" }, "devDependencies": { "@arethetypeswrong/cli": "^0.15.4", - "@trigger.dev/build": "workspace:^4.0.0-v4-beta.28", + "@trigger.dev/build": "workspace:^4.0.0", "@types/node": "^20.14.14", "@types/react": "*", "@types/react-dom": "*", diff --git a/packages/schema-to-json/CHANGELOG.md b/packages/schema-to-json/CHANGELOG.md index 51930c8226d..96fba56fb2a 100644 --- a/packages/schema-to-json/CHANGELOG.md +++ b/packages/schema-to-json/CHANGELOG.md @@ -1,5 +1,12 @@ # @trigger.dev/schema-to-json +## 4.0.0 + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/core@4.0.0` + ## 4.0.0-v4-beta.28 ### Patch Changes diff --git a/packages/schema-to-json/package.json b/packages/schema-to-json/package.json index c01a2924952..b3002555353 100644 --- a/packages/schema-to-json/package.json +++ b/packages/schema-to-json/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/schema-to-json", - "version": "4.0.0-v4-beta.28", + "version": "4.0.0", "description": "Convert various schema validation libraries to JSON Schema", "license": "MIT", "publishConfig": { diff --git a/packages/trigger-sdk/CHANGELOG.md b/packages/trigger-sdk/CHANGELOG.md index 3f9af43d4c4..aad363e80dd 100644 --- a/packages/trigger-sdk/CHANGELOG.md +++ b/packages/trigger-sdk/CHANGELOG.md @@ -1,5 +1,181 @@ # @trigger.dev/sdk +## 4.0.0 + +### Major Changes + +- Trigger.dev v4 release. Please see our upgrade to v4 docs to view the full changelog: https://trigger.dev/docs/upgrade-to-v4 ([#1869](https://github.com/triggerdotdev/trigger.dev/pull/1869)) + +### Patch Changes + +- fix: importing from runEngine/index.js breaks non-node runtimes ([#2328](https://github.com/triggerdotdev/trigger.dev/pull/2328)) +- Run Engine 2.0 (alpha) ([#1575](https://github.com/triggerdotdev/trigger.dev/pull/1575)) +- fix: Logging large objects is now much more performant and uses less memory ([#2263](https://github.com/triggerdotdev/trigger.dev/pull/2263)) +- New internal idempotency implementation for trigger and batch trigger to prevent request retries from duplicating work ([#2256](https://github.com/triggerdotdev/trigger.dev/pull/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](https://github.com/triggerdotdev/trigger.dev/pull/2025)) +- feat: Support AI SDK 5.0. `ai.tool` now accepts either a schemaTask or a task with a provided jsonSchema ([#2396](https://github.com/triggerdotdev/trigger.dev/pull/2396)) +- External Trace Correlation & OpenTelemetry Package Updates. ([#2334](https://github.com/triggerdotdev/trigger.dev/pull/2334)) + + | Package | Previous Version | New Version | Change Type | + | ----------------------------------------- | ---------------- | ----------- | ------------------------------------ | + | `@opentelemetry/api` | 1.9.0 | 1.9.0 | No change (stable API) | + | `@opentelemetry/api-logs` | 0.52.1 | 0.203.0 | Major update | + | `@opentelemetry/core` | - | 2.0.1 | New dependency | + | `@opentelemetry/exporter-logs-otlp-http` | 0.52.1 | 0.203.0 | Major update | + | `@opentelemetry/exporter-trace-otlp-http` | 0.52.1 | 0.203.0 | Major update | + | `@opentelemetry/instrumentation` | 0.52.1 | 0.203.0 | Major update | + | `@opentelemetry/instrumentation-fetch` | 0.52.1 | 0.203.0 | Major update | + | `@opentelemetry/resources` | 1.25.1 | 2.0.1 | Major update | + | `@opentelemetry/sdk-logs` | 0.52.1 | 0.203.0 | Major update | + | `@opentelemetry/sdk-node` | 0.52.1 | - | Removed (functionality consolidated) | + | `@opentelemetry/sdk-trace-base` | 1.25.1 | 2.0.1 | Major update | + | `@opentelemetry/sdk-trace-node` | 1.25.1 | 2.0.1 | Major update | + | `@opentelemetry/semantic-conventions` | 1.25.1 | 1.36.0 | Minor update | + + ### External trace correlation and propagation + + We will now correlate your external traces with trigger.dev traces and logs when using our external exporters: + + ```ts + 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: + + ```ts + 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](https://github.com/triggerdotdev/trigger.dev/pull/2353)) +- Fixed an issue with realtime streams that timeout and resume streaming dropping chunks ([#1993](https://github.com/triggerdotdev/trigger.dev/pull/1993)) +- Added and cleaned up the run ctx param: ([#2322](https://github.com/triggerdotdev/trigger.dev/pull/2322)) + + - New optional properties `ctx.run.parentTaskRunId` and `ctx.run.rootTaskRunId` reference the current run's root/parent ID. + - Removed deprecated properties from `ctx` + - Added a new `ctx.deployment` object that contains information about the deployment associated with the run. + + We also update `metadata.root` and `metadata.parent` to work even when the run is a "root" run (meaning it doesn't have a parent or a root associated run). This now works: + + ```ts + metadata.root.set("foo", "bar"); + metadata.parent.set("baz", 1); + metadata.current().foo; // "bar" + metadata.current().baz; // 1 + ``` + +- The envvars.list() and retrieve() functions receive isSecret for each value. Secret values are always redacted. ([#1942](https://github.com/triggerdotdev/trigger.dev/pull/1942)) +- Fix issue where realtime streams would cut off after 5 minutes ([#1952](https://github.com/triggerdotdev/trigger.dev/pull/1952)) +- Deprecate toolTask and replace with `ai.tool(mySchemaTask)` ([#1863](https://github.com/triggerdotdev/trigger.dev/pull/1863)) +- Display clickable links in Cursor terminal ([#1998](https://github.com/triggerdotdev/trigger.dev/pull/1998)) +- Removes the `releaseConcurrencyOnWaitpoint` option on queues and the `releaseConcurrency` option on various wait functions. Replaced with the following default behavior: ([#2284](https://github.com/triggerdotdev/trigger.dev/pull/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 worker + - `DEQUEUED`: Task has been dequeued and is being sent to a worker to start executing. + - `EXECUTING`: Task is currently being executed by a worker + - `WAITING`: Task has been paused by the system, and will be resumed by the system + - `COMPLETED`: Task has been completed successfully + - `CANCELED`: Task has been canceled by the user + - `FAILED`: Task has failed to complete, due to an error in the system + - `CRASHED`: Task has crashed and won't be retried, most likely the worker ran out of resources, e.g. memory or storage + - `SYSTEM_FAILURE`: Task has failed to complete, due to an error in the system + - `DELAYED`: Task has been scheduled to run at a specific time + - `EXPIRED`: Task has expired and won't be executed + - `TIMED_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 by `PENDING_VERSION` + - `FROZEN`: This is no longer used, and is replaced by `WAITING` + - `INTERRUPTED`: This is no longer used + - `REATTEMPTING`: This is no longer used, and is replaced by `EXECUTING` + + We've also added "boolean" helpers to runs returned via the API and from Realtime: + + - `isQueued`: Returns true when the status is `QUEUED`, `PENDING_VERSION`, or `DELAYED` + - `isExecuting`: Returns true when the status is `EXECUTING`, `DEQUEUED`. These count against your concurrency limits. + - `isWaiting`: Returns true when the status is `WAITING`. 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 is `CANCELED` + - `isFailed`: Returns true when the status is any of the failed statuses. + - `isSuccess`: Returns true when the status is `COMPLETED` + + This change adds the ability to easily detect which runs are being counted against your concurrency limit by filtering for both `EXECUTING` or `DEQUEUED`. + +- Add onCancel lifecycle hook ([#2022](https://github.com/triggerdotdev/trigger.dev/pull/2022)) +- Provide realtime skipColumns option via untamperable public access tokens ([#2201](https://github.com/triggerdotdev/trigger.dev/pull/2201)) +- Removed triggerAndPoll. It was never recommended so it's been removed. ([#2379](https://github.com/triggerdotdev/trigger.dev/pull/2379)) +- Improve metadata flushing efficiency by collapsing operations ([#2106](https://github.com/triggerdotdev/trigger.dev/pull/2106)) +- Upgrade to zod 3.25.76 ([#2352](https://github.com/triggerdotdev/trigger.dev/pull/2352)) +- Specify a region override when triggering a run ([#2366](https://github.com/triggerdotdev/trigger.dev/pull/2366)) +- Added runs.list filtering for queue and machine ([#2277](https://github.com/triggerdotdev/trigger.dev/pull/2277)) +- maintain proper context in metadata.root and parent getters ([#1917](https://github.com/triggerdotdev/trigger.dev/pull/1917)) +- v4: New lifecycle hooks ([#1817](https://github.com/triggerdotdev/trigger.dev/pull/1817)) +- Updated dependencies: + - `@trigger.dev/core@4.0.0` + ## 4.0.0-v4-beta.28 ### Patch Changes diff --git a/packages/trigger-sdk/package.json b/packages/trigger-sdk/package.json index 130659066dd..6709da1d6dc 100644 --- a/packages/trigger-sdk/package.json +++ b/packages/trigger-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/sdk", - "version": "4.0.0-v4-beta.28", + "version": "4.0.0", "description": "trigger.dev Node.JS SDK", "license": "MIT", "publishConfig": { @@ -51,7 +51,7 @@ "dependencies": { "@opentelemetry/api": "1.9.0", "@opentelemetry/semantic-conventions": "1.36.0", - "@trigger.dev/core": "workspace:4.0.0-v4-beta.28", + "@trigger.dev/core": "workspace:4.0.0", "chalk": "^5.2.0", "cronstrue": "^2.21.0", "debug": "^4.3.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 93a8029b077..6decddb309f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1236,7 +1236,7 @@ importers: packages/build: dependencies: '@trigger.dev/core': - specifier: workspace:4.0.0-v4-beta.28 + specifier: workspace:4.0.0 version: link:../core pkg-types: specifier: ^1.1.3 @@ -1300,13 +1300,13 @@ importers: specifier: 1.36.0 version: 1.36.0 '@trigger.dev/build': - specifier: workspace:4.0.0-v4-beta.28 + specifier: workspace:4.0.0 version: link:../build '@trigger.dev/core': - specifier: workspace:4.0.0-v4-beta.28 + specifier: workspace:4.0.0 version: link:../core '@trigger.dev/schema-to-json': - specifier: workspace:4.0.0-v4-beta.28 + specifier: workspace:4.0.0 version: link:../schema-to-json ansi-escapes: specifier: ^7.0.0 @@ -1650,7 +1650,7 @@ importers: packages/python: dependencies: '@trigger.dev/core': - specifier: workspace:4.0.0-v4-beta.28 + specifier: workspace:4.0.0 version: link:../core tinyexec: specifier: ^0.3.2 @@ -1660,10 +1660,10 @@ importers: specifier: ^0.15.4 version: 0.15.4 '@trigger.dev/build': - specifier: workspace:4.0.0-v4-beta.28 + specifier: workspace:4.0.0 version: link:../build '@trigger.dev/sdk': - specifier: workspace:4.0.0-v4-beta.28 + specifier: workspace:4.0.0 version: link:../trigger-sdk '@types/node': specifier: 20.14.14 @@ -1687,7 +1687,7 @@ importers: packages/react-hooks: dependencies: '@trigger.dev/core': - specifier: workspace:^4.0.0-v4-beta.28 + specifier: workspace:^4.0.0 version: link:../core react: specifier: ^18.0 || ^19.0 || ^19.0.0-rc @@ -1721,7 +1721,7 @@ importers: packages/redis-worker: dependencies: '@trigger.dev/core': - specifier: workspace:4.0.0-v4-beta.28 + specifier: workspace:4.0.0 version: link:../core cron-parser: specifier: ^4.9.0 @@ -1764,7 +1764,7 @@ importers: packages/rsc: dependencies: '@trigger.dev/core': - specifier: workspace:^4.0.0-v4-beta.28 + specifier: workspace:^4.0.0 version: link:../core mlly: specifier: ^1.7.1 @@ -1780,7 +1780,7 @@ importers: specifier: ^0.15.4 version: 0.15.4 '@trigger.dev/build': - specifier: workspace:^4.0.0-v4-beta.28 + specifier: workspace:^4.0.0 version: link:../build '@types/node': specifier: ^20.14.14 @@ -1856,7 +1856,7 @@ importers: specifier: 1.36.0 version: 1.36.0 '@trigger.dev/core': - specifier: workspace:4.0.0-v4-beta.28 + specifier: workspace:4.0.0 version: link:../core chalk: specifier: ^5.2.0