Commit Graph

1550 Commits

Author SHA1 Message Date
Uddish Verma
94046cfb83
refactor(API): Migrate workflow update and delete to the decorator pattern
Moves `PUT /workflows/{id}` and `DELETE /workflows/{id}` onto
`@PublicApiController` and removes the legacy handlers, their hand-written spec
file and the now-unused request types. `workflows.id.yml` held only these two
operations, so the file and its `openapi.yml` entry go with them.

One behaviour change, deliberate: the update response now includes `shared`.
`WorkflowService.update` re-fetches with only the `tags` and `activeVersion`
relations, so `shared` came back undefined and the response mapper threw on
`workflow.shared.map(...)`. The update now re-fetches through
`findWorkflowForUser` for its response, as `getWorkflow` does and as
`createWorkflow` already does internally. The response gains a field; nothing is
removed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 15:10:18 +01:00
Uddish Verma
4bf334f3b6
refactor(API): Migrate POST /workflows to the decorator pattern
Moves workflow creation onto `@PublicApiController` and removes the legacy
handler, its hand-written spec files, and the now-unused request type. Behaviour
is unchanged: the same `WorkflowCreationService` call, the same redaction check,
the same derived settings stripped before saving.

`workflows.yml` held only this operation once the list route moved in #36015, so
the file and its `openapi.yml` entry go with it.

`workflowPublicDto.generated.yml` appears because a second route now references
the response DTO, so the generator hoists it into a shared component. The 237
lines it gains are the 237 `getWorkflow.generated.yml` loses.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 15:02:48 +01:00
mfsiega
28307f35eb
feat(core): Validate trigger node id uniqueness before publish (no-changelog) (#35379)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 12:44:31 +00: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
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
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
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
Kai
f52e2b831d
feat(editor): Show the latest workflow review state in the canvas header (#35233)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 08:47:32 +00:00
Kai
eb07728511
feat(core): Block publishing a workflow while its review is open (#35199) 2026-07-30 15:37:27 +00:00
Eugene
0932806c05
feat: Support inbound binary attachments for agents (no-changelog) (#34869)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 14:20:06 +00:00
Emilia
8672d9567c
feat(core): Add a misfire policy to the durable scheduler (#35075)
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 Opus 5 <noreply@anthropic.com>
2026-07-30 10:10:31 +00:00