Jaakko Husso
c647357fe4
feat(core): Point the AI logs tool at the whole deployment (no-changelog)
...
Routes the tool's search through the distributed grep in queue mode. Reading
only the local composite meant the agent saw this main's stream window and its
own n8n.log — so an execution that failed on a worker was invisible, which is
the question the tool exists to answer. Non-responding hosts are passed through
to the model, since "nothing matched" and "nobody looked" are otherwise the
same empty result.
Addresses log context by timestamp instead of `seq`. `seq` counts lines within
one storage tier, so it could not address a record across the ring buffer, the
cross-host stream and the rotated files: context worked only for a live record
on a single main, and silently returned nothing elsewhere.
Promotes the tool to always-loaded. Registration is already gated on the module
supplying a port, so instances without it are unaffected.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 15:53:10 +03:00
Jaakko Husso
8d4f2903f5
feat(core): Label log lines with the execution that produced them (no-changelog)
...
Wraps WorkflowRunner.run() and JobProcessor.processJob() in an execution
AsyncLocalStorage that Logger reads, so every line an execution emits carries
executionId and workflowId without each call site repeating them.
Explicit metadata still wins, so this only fills gaps — chiefly workflowId,
which many call sites omit even when they pass executionId, leaving the
console's deep link unbuildable. Stamped in Logger rather than in the capture
layer so the labels also reach n8n.log, which the history tier reads back.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 14:29:25 +03:00
Jaakko Husso
31bdb0a83a
fix(core): Deliver operator console log batches to open consoles (no-changelog)
...
The live path was never wired: the lease armed cross-host producers, but
nothing subscribed the log source and pushed batches to the browser, so a
console only ever showed history fetched on load.
Adds LogConsumerService, which holds one subscription for the union of every
open console's filter and re-filters per session. Capture is suppressed during
delivery — Push logs each send, and those lines would otherwise be captured,
batched and delivered forever. Sessions that stop renewing are expired, so a
hard tab close cannot leave a fan-out running.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 14:13:18 +03:00
Jaakko Husso
7c95a9f7cc
feat(core): Wire up operator console end to end (no-changelog)
...
Adds the module entrypoint, REST controller, composite log source and the
Instance AI port adapter, and teaches all three sources to read backwards so a
console opens on the newest lines rather than the oldest.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 13:39:06 +03:00
Jaakko Husso
9422acac21
feat(core): Add operator console capture, fan-out and AI log tool (no-changelog)
...
Capture layer (winston transport + stdout/stderr tee behind a reentrancy
guard), ring buffer, rotated n8n.log history reader, Redis Stream fan-out with
a demand-driven lease, and the Instance AI logs tool with attested redaction.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 13:10:23 +03:00
Jaakko Husso
02c1737e09
feat(core): Add operator console log contract (no-changelog)
...
Shared types, config surface and the LogSource interface that the capture
layer, fan-out, console UI and AI tool all build against.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 12:38:37 +03:00
Kai
12c44790c0
feat: Require a reviewer when creating a workflow review request (no-changelog) ( #35932 )
2026-08-12 07:42:31 +00:00
Svetoslav Dekov
e4f0c33584
fix(core): Detect node settings changes when comparing workflow versions ( #36066 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 07:22:02 +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
a447ac422e
fix(core): Keep resolving end-user credentials after a trigger stops listening ( #35973 )
...
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) Has been cancelled
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-11 15:53:54 +00:00
Michael Drury
a723e791f1
fix(core): Improve agent builder skill and channel handling ( #35980 )
2026-08-11 15:35:53 +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
Jaakko Husso
cc5f1cb37f
feat(core): Add activation-capped AI Assistant trial variant (no-changelog) ( #35994 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-11 12:46:16 +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
Robin Braumann
6a30736841
feat(core): Add n8n Sandbox support to Agent Knowledge ( #35811 )
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 11:18:19 +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
Tomi Turtiainen
fd67bf8b78
fix(core): Crash enqueued executions with unreadable data ( #36010 )
2026-08-11 10:14:57 +00:00
Ragnar
e7fa25217e
feat: Hide n8n-connect usage when aiGatewayCloudUbb is enabled ( #35978 )
2026-08-11 10:13:43 +00:00
Csaba Tuncsik
88efdb975e
fix(core): Resolve Custom API Call support through inherited credential types ( #35820 )
2026-08-11 10:04:41 +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
Arvin A
a3fefb2572
feat(editor): Add the eval review view with ratings and edit capture (no-changelog) ( #35747 )
2026-08-11 09:32:22 +00:00
Ricardo Espinoza
b9cf436810
refactor(core): Add deprecation warning for N8N_WORKFLOW_TAGS_DISABLED ( #35673 )
2026-08-11 09:28:56 +00:00
Ricardo Espinoza
a14ab0b086
feat(core): Advertise the MCP 2026-07-28 routing headers in CORS ( #35471 )
2026-08-11 09:28:43 +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
Michael Kret
33008330de
feat(core): Send projectId to the AI Gateway for usage attribution ( #35885 )
2026-08-11 08:31:43 +00:00
Dimitri Lavrenük
8b19044f25
feat: Track AI created credentials success signals ( #35812 )
2026-08-11 08:21:30 +00:00
Miguel Ángel Moreno
7b68f584a7
feat(core): Expose 104_canvas_aia_node_context flag with env override (no-changelog) ( #35986 )
...
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 08:10:05 +00:00
Lorent Lempereur
72235d32f9
fix(core): Handle dropped AI provider connections as transient ( #35587 )
2026-08-11 07:55:34 +00:00
n8n-release-tag-merge[bot]
5219149d41
Merge tag 'n8n@2.35.0'
2026-08-11 07:58:07 +00:00
n8n-assistant[bot]
5102c608eb
🚀 Release 2.35.0 ( #36006 )
...
Co-authored-by: n8n-release-helper[bot] <265227495+n8n-release-helper[bot]@users.noreply.github.com>
2026-08-11 07:16:06 +00:00
Riqwan Thamir
237c50314b
fix(core): Stop auto-selecting the only generic auth credential ( #35963 )
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 07:10:31 +00:00
Charlie Kolb
f6f293bec2
refactor(core): Let modules register favorite resource resolvers ( #35909 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 07:08:57 +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
Charlie Kolb
5532736d47
refactor(core): Remove accidental cross-module imports ( #35907 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-10 14:16:31 +00:00
oleg
0e7e49bdc9
fix(core): Reattach n8n-sandbox thread sandboxes after restart, idle eviction, and across mains ( #35953 )
2026-08-10 14:09:06 +00:00
Elias Meire
eeaa425056
fix(core): Compile MCP tool schemas on their declared JSON Schema dialect ( #35610 )
2026-08-10 14:02:57 +00:00
yehorkardash
ec3fbda846
refactor(core): Decouple agent integration setup ( #35589 )
2026-08-10 13:32:55 +00:00
oleg
269a45d7dd
feat: Load Instance AI models dynamically ( #35927 )
2026-08-10 12:56:24 +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
Michael Drury
7784aa2298
fix(core): Show custom OpenAI-compatible models in Agents (no-changelog) ( #35781 )
2026-08-10 12:31:07 +00:00
Lorent Lempereur
b6bb202b7b
refactor: Assign task runner IDs from n8n ( #35494 )
2026-08-10 11:20:37 +00:00
Ricardo Espinoza
e743620e88
test(core): Guard log streaming event names against known event groups ( #35656 )
2026-08-10 11:08:27 +00:00
Michael Drury
6cc9b287ed
fix(core): Run published agent workflow tools as production ( #35784 )
2026-08-10 09:50:04 +00:00
Robin Braumann
65083ab1b7
fix(core): Resolve expressions in ephemeral agent tools ( #35876 )
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 09:39:43 +00:00