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 )
...
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 )
...
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 )
...
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 )
...
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