Commit Graph

1554 Commits

Author SHA1 Message Date
Uddish Verma
7aa925c51b
Merge remote-tracking branch 'origin/master' into api-84-workflow-writes
# Conflicts:
#	packages/cli/src/public-api/types.ts
#	packages/cli/src/public-api/v1/controllers/workflows.public.controller.ts
#	packages/cli/src/public-api/v1/handlers/workflows/spec/paths/workflows.yml
#	packages/cli/src/public-api/v1/handlers/workflows/workflows.handler.ts
2026-08-13 13:56:28 +01:00
Uddish Verma
e47b8d6891
test(API): Drop the shared ActiveWorkflowManager mock workaround
`executions.test.ts` now registers its own `InstanceSettings` mock before
`setupTestServer`, so the shared helper no longer needs to patch the already
constructed instance. Leaves the helper identical to master.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 13:44:58 +01:00
Uddish Verma
fa7579f77a
fix(API): Reject unknown keys on the workflow create and update bodies
The hand-written specs set `additionalProperties: false` on both request
bodies, so express-openapi-validator rejected an unrecognised key with a 400.
`Z.class` strips instead, which silently accepted a client's typo.

`Z.class` now takes an optional `{ strict: true }`, applied to the two workflow
write DTOs. The generated fragments emit `additionalProperties: false` again.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 13:43:54 +01:00
Uddish Verma
03549c71df
Merge remote-tracking branch 'origin/master' into api-84-workflow-writes
# Conflicts:
#	packages/cli/src/public-api/v1/controllers/workflows.public.controller.ts
#	packages/cli/src/public-api/v1/handlers/workflows/workflows.handler.ts
2026-08-13 13:33:11 +01:00
Uddish Verma
5b03945eb0
refactor(API): Migrate GET /workflows to the decorator pattern (no-changelog) (#36015)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 12:28:12 +00:00
Uddish Verma
6ab3f5e83e
feat(API): Migrate workflow tags endpoints to decorator pattern (#35829)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 10:44:28 +00:00
Sam Wooler
40a0f2a016
feat(API): Add endpoint to create role-mapping rules (#36032)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 09:42:15 +00:00
Mike Repeć
1a12af601b
fix(core): Report the real activation mode for triggers activated via the publication outbox (#36123)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 13:17:53 +00:00
Uddish Verma
4e9838b6c4
Merge remote-tracking branch 'origin/master' into api-84-workflow-writes
Some checks failed
CI: Python / Checks (push) Has been cancelled
2026-08-12 12:25:39 +01:00
Emilia
5ac6606e81
test(core): Add durable scheduler poll cursors e2e tests (no-changelog) (#35343)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Lorent Lempereur <lorent.lempereur@n8n.io>
2026-08-11 20:36:24 +00:00
Emilia
a9787fcd6f
feat(core): Commit a poll trigger's cursor and its execution in one transaction (no-changelog) (#35295)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Lorent Lempereur <lorent.lempereur@n8n.io>
2026-08-11 17:59:29 +00:00
Emilia
93ff542e92
feat(core): Add poller_state table for durable poll trigger cursors (no-changelog) (#35128)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Lorent Lempereur <lorent.lempereur@n8n.io>
2026-08-11 16:31:00 +00:00
Guillaume Jacquart
ee03e023d2
fix(editor): Show the connected provider account, not the n8n account email (#35553)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-11 15:25:52 +00:00
Uddish Verma
6d32edbc0d
Merge remote-tracking branch 'origin/master' into api-84-workflow-writes 2026-08-11 16:23:54 +01:00
Jan Kalkan
e65580bf10
feat(core): Add the workflow review activity feed (no-changelog) (#35791)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Sandra Zollner <sandra.zollner@n8n.io>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 14:20:01 +00:00
Jan Kalkan
41d54e77f1
feat(core): Add workflow review activity log tables and migration (no-changelog) (#35517)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Sandra Zollner <sandra.zollner@n8n.io>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 12:25:46 +00:00
Emilia
729c9b46e3
test(cli): Remove clock race from flaky scheduled-task re-claim test (#36031)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 10:48:57 +00:00
Iván Ovejero
4afbd16dc7
ci: Run DB tests against the full supported Postgres range (#35960) 2026-08-11 09:49:07 +00:00
Tomi Turtiainen
25c1521591
fix(core): Stop duplicated workflows from inheriting the original's static data (#35921)
Co-authored-by: Emilia <100027345+sovietspaceship@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 09:10:46 +00:00
Dmitrii
48893eebf0
feat(API): Add endpoint to list all roles (#35609)
Co-authored-by: Sam Wooler <swooler592@gmail.com>
2026-08-11 09:10:36 +00:00
Riqwan Thamir
6ab25697e4
fix(core): Fix non existent workflow id pathway for AIA (#35984)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 08:38:20 +00:00
Daria
ae6b256241
fix(core): Require row read scope when data table writes return rows (#35651)
Co-authored-by: Ricardo Espinoza <ricardo@n8n.io>
2026-08-10 15:28:41 +00:00
Uddish Verma
868a532b74
refactor(API): Migrate GET /workflows/{id} to the decorator pattern (no-changelog) (#35830)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 12:54:55 +00:00
Mat Leszkiewicz
aa03666bc6
fix(core): Strip leading BOM before parsing webhook request bodies (#35933) 2026-08-10 12:45:59 +00:00
James Martin
ddcc94f896
feat(core): Add backend form-trigger submission gate for end-user credentials (no changelog) (#35539) 2026-08-10 07:09:54 +00:00
Kai
fd366ceba1
fix(core): Close review requests when a source control pull archives or cascade-deletes a workflow (#35798)
Some checks failed
CI: Master (Build, Test, Lint) / Build for Github Cache (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (22.23.2) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (24.18.1) (push) Waiting to run
CI: Master (Build, Test, Lint) / Lint (push) Waiting to run
CI: Master (Build, Test, Lint) / Performance (push) Waiting to run
CI: Master (Build, Test, Lint) / Notify Slack on failure (push) Blocked by required conditions
Build: Benchmark Image / build (push) Has been cancelled
Util: Publish API Schema / Cloudflare Pages (push) Has been cancelled
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-07 17:52:12 +00:00
Dmitrii
d225d0317b
feat(API): Add endpoint to create custom roles (#35522)
Co-authored-by: Sam Wooler <swooler592@gmail.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-07 14:43:36 +00:00
Kai
a044c0d1d8
feat(core): Auto-close workflow review requests when a workflow is archived or moved (#35772) 2026-08-07 12:53:25 +00:00
Uddish Verma
26af927404
fix(API): Fix discover schema gap and instance-role timing surfaced by decorator migration
/discover's requestSchema was only ever populated for legacy eov-handled
routes; decorator-routed operations with a body silently had none. That
never showed up before because every previously-migrated decorator route
was a GET without a body - migrating a POST/PUT surfaces it. Have
buildDecoratorEndpoints read each route's own committed, generated path
fragment (the same file the OpenAPI generator writes) to recover it.

Separately, WorkflowsPublicController now depends on WorkflowService, which
depends on ActiveWorkflowManager. Every public-api integration test
constructs this controller as part of router setup, so ActiveWorkflowManager
can now become a cached DI singleton earlier than a test's own
initActiveWorkflowManager() call, which re-mocks InstanceSettings afterwards.
The already-built ActiveWorkflowManager instance keeps its original,
pre-mock InstanceSettings reference, so `.init()`'s leader-role assertion
fails. Patch the mocked InstanceSettings onto whatever instance
Container.get returns instead of assuming it was just constructed.

Part of https://linear.app/n8n/issue/API-84/schema-first-migration-workflows
2026-08-07 12:25:15 +01:00
Denisf88
0e22fdfbc1
feat(API): Add publishIfActive option to workflow update endpoint (#35813) 2026-08-07 10:04:19 +00:00
Ali Elkhateeb
8db0b48ee1
refactor(API): Route public API executions through shared execution services (no-changelog) (#35582) 2026-08-07 08:13:11 +00:00
Nour Alhadi Mahmoud
32f38a3541
fix(core): Report failed publishing when imported workflows share a webhook path (#35525)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 07:18:36 +00:00
Matsu
1deee723a3
fix(core): Handle errors from triggered and polled workflow executions (#35689)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 13:07:01 +00:00
Robin Braumann
4e6fc65f55
feat(core): Add Discord as an agent chat channel (#35331)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 06:09:43 +00:00
Michael Drury
a74c6fd11f
fix(core): Show Agent references in credential usage (#35409) 2026-08-05 15:54:00 +00:00
Nour Alhadi Mahmoud
be890cdc53
feat(core): Add variable conflict policy for package import (no-changelog) (#35265)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 12:20:51 +00:00
James Gee
844752e202
test(API): Make workflow id ordering assertion collation-independent (#35586) 2026-08-05 09:19:25 +00:00
Robin Braumann
1546c95485
feat(core): Persist agent session timelines during execution (#35490)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 08:12:58 +00:00
n8n-assistant[bot]
ca3d42d838
chore: Bundle/2.x (#35563)
Co-authored-by: Matsu <matias.huhta@n8n.io>
2026-08-05 08:29:40 +03:00
Ali Elkhateeb
73841560ad
refactor(API): Route public API workflows through shared workflow services (no-changelog) (#35158)
Some checks are pending
Build: Benchmark Image / build (push) Waiting to run
CI: Master (Build, Test, Lint) / Build for Github Cache (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (22.23.2) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (24.18.1) (push) Waiting to run
CI: Master (Build, Test, Lint) / Lint (push) Waiting to run
CI: Master (Build, Test, Lint) / Performance (push) Waiting to run
CI: Master (Build, Test, Lint) / Notify Slack on failure (push) Blocked by required conditions
Util: Publish API Schema / Cloudflare Pages (push) Waiting to run
Co-authored-by: Konstantin Tieber <46342664+konstantintieber@users.noreply.github.com>
2026-08-04 17:33:07 +00:00
Ricardo Espinoza
936cdaa046
refactor(core): Break folder and workflow service dependency cycle (#35225) 2026-08-04 12:56:58 +00:00
Nour Alhadi Mahmoud
3b89fef4f4
feat(core): Add create-with-value variable policy for package import (no-changelog) (#34895)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 09:12:27 +00:00
Jan Kalkan
c9eeb2e180
feat(core): Reconcile tag ids on name collision when importing packages (#35224)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 07:14:14 +00:00
Danny Martini
1801f65d85
feat(core): Converge leader takeover through the reconciliation loop (#35454)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 06:24:49 +00:00
Danny Martini
fd5ecfff6d
feat(core): Detect and heal trigger-status drift and unreported published workflows in reconciliation (#35356)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-03 14:24:51 +00:00
Robin Braumann
89c9be6266
feat(core): Emit once-per-agent setup completion telemetry (#35359)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 11:00:37 +00:00
Irénée
f3b052a192
fix(core): Keep external secrets available while provider connections reload (#35237)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 13:33:12 +00:00
Danny Martini
9e452bb79f
fix(core): Unify workflow trigger teardown and make it best-effort (#35273)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 11:04:35 +00:00
Danny Martini
2bc0f30256
fix(core): Classify no-op pseudo triggers as persisted (#35287)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 10:59:56 +00:00
Savelii
31c84c03e7
feat(editor): Show restricted API keys and instance roles sections with a reason instead of hiding them (#34644)
Some checks are pending
CI: Master (Build, Test, Lint) / Build for Github Cache (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (22.22.3) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (24.18.0) (push) Waiting to run
CI: Master (Build, Test, Lint) / Lint (push) Waiting to run
CI: Master (Build, Test, Lint) / Performance (push) Waiting to run
CI: Master (Build, Test, Lint) / Notify Slack on failure (push) Blocked by required conditions
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 10:38:00 +00:00