You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 2a22b01
Browse filesBrowse the repository at this point in the historyBrowse files
v3 (engine V1) is end-of-life. This removes the V1 execution stack while keeping
every still-on-v3 request on a graceful 4xx path (never a 5xx):
- the MarQS queue and its shared/dev queue consumers
- the V1 socket.io namespaces (coordinator, provider, shared-queue) and the V1
attempt, checkpoint, and batch-resume lifecycle services
- the graphile-worker / zod-worker background job stack
- the DEPRECATE_V3_ENABLED flag (V1 is now rejected unconditionally) and the
@trigger.dev/core v3/zodNamespace export
Live queue reads (concurrency limits, env queue length, project metrics, admin
queue debug) now read from the v2 run engine instead of MarQS. The batchTriggerV3
service and batch-completion worker stay live for current clients. A fresh dev
environment now defaults to V2.
Copy file name to clipboardExpand all lines: .claude/rules/legacy-v3-code.md
+14-21Lines changed: 14 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,31 +3,24 @@ paths:
3
3
- "apps/webapp/app/v3/**"
4
4
---
5
5
6
-
# Legacy V1 Engine Code in `app/v3/`
6
+
# v3 (engine V1) has been removed
7
7
8
-
The `v3/` directory name is misleading - most code here is actively used by the current V2 engine. Only the specific files below are legacy V1-only code.
8
+
The v3 engine (RunEngineVersion `V1`: MarQS queue + Graphile worker) is end-of-life and its execution code has been removed from the webapp. The `app/v3/` directory name is historical: everything under it now serves the current V2 engine (`@internal/run-engine` + `@trigger.dev/redis-worker`).
9
9
10
-
## V1-Only Files - Never Modify
10
+
There is no `V1` execution path anymore. If you find a `RunEngineVersion` branch, the `V1` arm should only ever produce a graceful rejection, never run work. Do not reintroduce MarQS, the graphile worker, or the v3 socket.io namespaces.
-`authenticatedSocketConnection.server.ts` (V1 dev WebSocket using DevQueueConsumer)
17
-
-`sharedSocketConnection.ts` (V1 shared queue socket using SharedQueueConsumer)
12
+
## The deprecation boundary (keep this)
18
13
19
-
## V1/V2 Branching Pattern
14
+
Requests from clients still on v3 (old SDK/CLI) or historical V1 runs must return a clean 4xx, never a 5xx. The boundary lives in:
20
15
21
-
Some services act as routers that branch on `RunEngineVersion`:
22
-
-`services/cancelTaskRun.server.ts` - calls V1 service or `engine.cancelRun()` for V2
23
-
-`services/batchTriggerV3.server.ts` - uses marqs for V1 path, run-engine for V2
16
+
-`engineDeprecation.server.ts` - the `V3_TRIGGER_DEPRECATION_MESSAGE` / `V3_DEV_DEPRECATION_MESSAGE` / `V3_MIGRATION_URL` upgrade messages.
17
+
-`engineVersion.server.ts` - `determineEngineVersion()` still detects a V1 project/run so callers can reject it.
18
+
-`services/triggerTask.server.ts`, `services/cancelTaskRun.server.ts`, `services/rescheduleTaskRun.server.ts` - the `V1` arm rejects or finalizes gracefully instead of executing.
19
+
-`services/initializeDeployment.server.ts` - the `DEPRECATE_V3_CLI_DEPLOYS_ENABLED`-gated v3 CLI deploy rejection.
20
+
-`handleWebsockets.server.ts` - the legacy `trigger dev` websocket closes with the upgrade message.
24
21
25
-
When editing these shared services, only modify V2 code paths.
-**Background jobs**: `@trigger.dev/redis-worker` (`commonWorker.server.ts`, `alertsWorker.server.ts`, `batchTriggerWorker.server.ts`; `legacyRunEngineWorker.server.ts` still hosts the live batch-completion jobs)
26
+
-**Queue operations**: RunQueue inside run-engine (`runQueue.server.ts`), not MarQS
Removed support for the end-of-life v3 engine. Instances or projects still on v3 must stay on the 4.5.x release line or upgrade to v4; v3 triggers, batch triggers, reschedules, and deploys now return a clear upgrade message instead of running.
0 commit comments