Commit Graph

1534 Commits

Author SHA1 Message Date
Robin Braumann
83ffad6289
fix(agents): preserve queued turn context and attachments
Share immediate and queued draft configuration. Return execution IDs directly and consolidate turn completion. Test queue ownership and recovery on SQLite and PostgreSQL.
2026-09-15 12:43:12 +02:00
Robin Braumann
0afd257a02
Merge origin/master into agent-882-feature-message-queueing 2026-09-15 11:40:46 +02:00
Eugene
7efefc7347
feat(editor): Show background tasks in the agent preview (#38360) 2026-09-15 07:35:56 +00:00
Arvin A
8bff5da5a2
feat: Add the AI preferences API and the Context settings UI (no-changelog) (#38213)
Co-authored-by: Svetoslav Dekov <svetoslav.dekov@n8n.io>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-14 18:56:45 +00:00
Robin Braumann
38595748aa
fix: harden queued agent turn handling
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 17:38:05 +02:00
Sam Wooler
6307a5aaf1
refactor(API): Migrate DELETE /credentials/{credentialId} and PUT /credentials/{credentialId}/transfer to the decorator pattern (#38454)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-14 14:28:25 +00:00
Robin Braumann
3163f426ae
refactor: simplify agent thread claims
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 16:20:51 +02:00
Robin Braumann
afadc621b1
Merge remote-tracking branch 'origin/master' into agent-882-feature-message-queueing
Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	packages/cli/src/modules/agents/__tests__/agent-execution-orchestrator.service.test.ts
#	packages/cli/src/modules/agents/agent-execution-orchestrator.service.ts
2026-09-14 15:59:48 +02:00
n8n-cat-bot[bot]
f886fff9fd
refactor(API): Migrate GET /tags/{id} to the decorator pattern (no-changelog) (#38468)
Co-authored-by: n8n-cat-bot[bot] <n8n-cat-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Uddish Verma <uddish.verma@n8n.io>
2026-09-14 13:52:37 +00:00
Robin Braumann
d50d02555b
feat(core): Queue all agent turns durably
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 15:52:10 +02:00
Jaakko Husso
7b10a16ca4
feat(core): Tell Instance AI when a verified draft is not the live workflow (#38289)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-14 13:47:19 +00:00
n8n-cat-bot[bot]
d58c7db803
refactor(API): Migrate POST /tags to the decorator pattern (no-changelog) (#38472)
Co-authored-by: n8n-cat-bot[bot] <n8n-cat-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Uddish Verma <uddish.verma@n8n.io>
2026-09-14 12:30:14 +00:00
Veljko Terzic
53cbe9700d
fix(core): Clear the scheduled task error message when a retried occurrence succeeds (no-changelog) (#38604) 2026-09-14 12:15:10 +00:00
James Gee
82d284f547
feat(core): Add project promotion change preview (no-changelog) (#38361)
Co-authored-by: Jan K. <jan.kalkan@n8n.io>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 10:13:36 +00:00
Andreas Fitzek
016ce8ba1b
feat(core): Add email change confirmation flow (no-changelog) (#37950)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-14 10:10:00 +00:00
Sam Wooler
e9860b34e1
refactor(API): Migrate POST /credentials and PATCH /credentials/{id} to the decorator pattern (no-changelog) (#37985) 2026-09-14 08:42:00 +00:00
Robin Braumann
fb65257ca5
refactor(core): Simplify turn lease loss and claim finalization
Abort the thread lease signal with a reason in the coordinator, so the
orchestrator no longer names lease loss itself. Merge the three
finalization methods of the execution repository into one with an
optional stale guard. Remove the wake service suspension pre-check; the
orchestrator keeps the post-admission check. Drop the unused conflict
error field and the one-field waiter interface.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 12:07:30 +02:00
Robin Braumann
0f3a5b388d
fix(core): re-check thread state after queue admission and release held resources on failure
Address review findings on the per-thread turn queue:

- Stop a queued turn when its thread lease is lost while it waits for a running row or a claim conflict.
- Re-validate the HITL checkpoint and the wake suspension check after admission; a stale click or wake no longer claims the thread.
- Consume the HITL callback key only inside the admitted resume so a full queue keeps the card usable.
- Cancel a queued /new reset when the session lock is lost.
- Finalize an abandoned execution only while its liveness timestamp stays stale.
- Release the runtime lease when chat message context preparation fails.
2026-09-12 11:38:37 +02:00
Robin Braumann
bdcc8da6bf
feat(core): Queue concurrent agent messages per thread
One turn per durable agent thread at a time, on every surface: preview chat,
published chat integrations, background wake, task runs, HITL resume.

- AgentThreadTurnCoordinator: bounded FIFO per thread and main (50 waiters),
  distributed agent-thread-turn lease, abort-aware waiting, queue-full error.
- agent_execution.activeThreadId claim with a unique partial index as the
  fail-closed fence; heartbeat drops the claim when the row is no longer ours.
- Chat SDK runs with concurrency 'concurrent'; the coordinator orders turns.
- Preview chat surfaces the queue-full error; channel threads post a notice.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 10:31:18 +02:00
Rúben Castro
f7f92c7107
feat(API): Add node type policy instance and project endpoints (no-changelog) (#38239)
Some checks failed
CI: Master (Build, Test, Lint) / Build for Github Cache (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (24.18.1) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (26.5.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) / Verify single-instance deps (npm-install) (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) Has been cancelled
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 16:57:33 +00:00
Sam Wooler
b9a7f0341a
fix(API): Return null variable values as empty string & fix newly imported source control variable values (#38488)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 16:26:32 +00:00
n8n-cat-bot[bot]
ce58a153c8
refactor(API): Migrate the variables write routes to @PublicApiController (#38313)
Co-authored-by: n8n-cat-bot[bot] <n8n-cat-bot[bot]@users.noreply.github.com>
Co-authored-by: Uddish Verma <uddish.verma@n8n.io>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 14:26:49 +00:00
Uddish Verma
697b538c95
refactor(API): Migrate the project member routes to the decorator pattern (no-changelog) (#37979)
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 13:01:51 +00:00
James Martin
fc8a02113f
fix(editor): Fixes issue that prevented some users from revoking their end-user credentials (#38311) 2026-09-11 11:48:22 +00:00
Andreas Fitzek
840aef623e
fix(core): Redact execution data on partial private-credential runs (#38364) 2026-09-11 11:24:54 +00:00
n8n-cat-bot[bot]
35fb4f1324
chore: Rename the role path parameter from slug to roleSlug (#38118)
Co-authored-by: n8n-cat-bot[bot] <n8n-cat-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Sam Wooler <swooler592@gmail.com>
2026-09-11 10:53:21 +00:00
n8n-cat-bot[bot]
b0e8476766
chore: Rename the workflow version path parameter from versionId to workflowVersionId (#38119)
Co-authored-by: n8n-cat-bot[bot] <n8n-cat-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Sam Wooler <swooler592@gmail.com>
2026-09-11 10:49:41 +00:00
n8n-cat-bot[bot]
7bac547878
fix: Serve binary data stored in the temp execution dir (#38270)
Co-authored-by: n8n-cat-bot[bot] <n8n-cat-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Emilia <100027345+sovietspaceship@users.noreply.github.com>
2026-09-11 09:51:30 +00:00
Robin Braumann
5de6a4071a
feat(core): Add agent-directed episodic memory capture (#38134)
Co-authored-by: Michael Drury <michael.drury@n8n.io>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-11 05:03:28 +00:00
Nour Alhadi Mahmoud
9f3f2be215
refactor(core): Keep isArchived in workflow.json and rename the sidecar to workflow-metadata.json (#38356)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 15:13:17 +00:00
mfsiega
0a6709fac9
feat(core): Enable the workflow publication service by default (#37835)
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-10 13:23:38 +00:00
Uddish Verma
0ae8240e03
refactor(API): Migrate PUT and DELETE /projects/{projectId} to the decorator pattern (no-changelog) (#37977)
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-10 12:08:10 +00:00
Matsu
7be94a1184
chore: Update eslint configuration (#38307)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-10 14:40:35 +03:00
Uddish Verma
0bff510085
refactor(API): Migrate GET and POST /projects to the decorator pattern (no-changelog) (#37971)
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-10 11:17:35 +00:00
Svetoslav Dekov
1cfd0959e3
feat(core): Add the shared AI preference repository and resolver service (no-changelog) (#38174)
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: Roman Makowiak <roman.makowiak@n8n.io>
2026-09-10 09:59:30 +00:00
Sam Wooler
a33a23bb10
refactor(API): Migrate POST /source-control/pull to the decorator pattern (#38186) 2026-09-10 09:34:53 +00:00
n8n-cat-bot[bot]
21238959c7
refactor: Migrate GET /api/v1/variables to the decorator pattern (#38091)
Co-authored-by: n8n-cat-bot[bot] <n8n-cat-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-10 09:33:27 +00:00
Tuukka Kantola
5807183432
feat: Rename AI Assistant to n8n Assistant (#38065)
Co-authored-by: Claude <noreply@anthropic.com>
2026-09-10 08:56:53 +00:00
Guillaume Jacquart
b4fee56db3
fix(core): Apply the SSO expression mapping env var in the provisioning loader (#37170)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-09 18:59:54 +00:00
Guillaume Jacquart
a88ffc3932
feat(core): Add node type availability endpoint for a project (no-changelog) (#38228)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-09 18:59:45 +00:00
Eugene
99e9730a01
feat(core): Notify parent agents when background jobs settle (#37617)
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 14:15:38 +00:00
Eugene
404d5870dd
feat(core): Schedule agent tasks via the durable scheduler behind a flag (no-changelog) (#37849)
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: Robin Braumann <robin.braumann@n8n.io>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 12:29:02 +00:00
Rúben Castro
eac5f9eccf
feat(core): Add node type policy project scope (no-changelog) (#38061)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 12:00:39 +00:00
Kai
179dbb35b6
feat(core): Move promotions services and API to the new model (#37965) 2026-09-09 11:19:56 +00:00
Nour Alhadi Mahmoud
bd13ab4a6d
refactor(core): Move workflow publish and archive state out of workflow.json (#38116)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 08:27:22 +00:00
Ali Elkhateeb
cb12be7151
feat(API): Add billable to Insights table (#36856)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 08:02:18 +00:00
Lorent Lempereur
1d576f6d42
refactor(core): Run workflow maintenance jobs as system tasks (no-changelog) (#37548)
Co-authored-by: Veljko Terzic <veljko.terzic@n8n.io>
2026-09-09 07:58:57 +00:00
mfsiega
ecc4ba3fb8
fix(core): Unpublish workflows before a source control pull deletes them (#37967)
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 18:09:32 +00:00
Uddish Verma
b482979c14
refactor(API): Give @Param a Zod schema to validate and document path parameters (#37952)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-08 15:35:57 +00:00
Arvin A
31b08b75b8
feat(core): Add the instance-context block and activity tool (no-changelog) (#37867) 2026-09-08 14:44:47 +00:00