Commit Graph

1786 Commits

Author SHA1 Message Date
Tomi Turtiainen
faa4b898e6 refactor(core): Extract the node run block of the execution loop (no-changelog)
Move the work around a single node run into named methods:

- getPinnedOutput replaces the inline pin-data lookup and flattens the
  pinned/not-pinned branch.
- collectSubNodeResults gathers the sub-node results an AI agent resumes with.
- processNodeOutput converts binary data, collects hints and routes items to
  the error output.
2026-08-31 14:10:42 +03:00
Tomi Turtiainen
33a848348e refactor(core): Extract the per-node preamble of the execution loop (no-changelog)
Move the work the loop does before it runs a node into named methods:

- resetDynamicCredentialsUsage
- createTaskStartedData
- addPairedItemLineage
- computeRunIndex
- getRetryParams

getRetryParams returns both retry values from one branch. The old code tested
retryOnFail and isResumedError twice to compute them separately.
2026-08-31 14:10:42 +03:00
Tomi Turtiainen
73c7271f7a refactor(core): Extract execution setup and bootstrap from the main loop (no-changelog)
Move the two blocks that run before the execution loop into named methods:

- setupCancellation wires the PCancelable cancel callback.
- initializeExecution acquires the isolate, establishes the context and runs
  the first lifecycle hook.

The bootstrap catch block no longer assigns the loop-scoped executionError and
executionData variables. It always rethrows, so those assignments were never
read again.
2026-08-31 14:10:41 +03:00
Tomi Turtiainen
5d98bddd6e
refactor(core): Name the execution loop control conditions (no-changelog) (#37387) 2026-08-31 10:37:17 +00:00
Veljko Terzic
8fcabd6595
fix(core): Only record sub-node error metadata for nodes that get a run (#37256) 2026-08-31 06:40:43 +00:00
Robin Braumann
122ee6d5aa
fix(Chat Trigger Node): Apply authentication to test webhook requests (#37296)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 11:43:42 +00:00
Bernhard Wittmann
720f397947
fix(core): Allow a domain-restricted credential to work in its own node (#37200) 2026-08-27 14:37:35 +00:00
Danny Martini
946fb02849
feat(core): Give poll triggers an engine-derived time budget (no-changelog) (#37119)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-27 13:30:58 +00:00
Pierantonio Cangianiello
f9814b753f
fix(core): Respond with an error when a webhook execution ends before the Respond to Webhook node runs (#37006)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-27 12:34:52 +00:00
Stephen Wright
86c2a2b20d
fix(core): Surface the original error instead of replaying single-use bodies on OAuth2 401 retry (#37000) 2026-08-27 11:24:49 +00:00
Rúben Castro
ca3069f528
feat(core): Wire credentialDecrypt host point (no-changelog) (#36962)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-27 08:46:38 +00:00
Lorent Lempereur
b66c3e2a96
refactor: Apply outbound request protection by default (no-changelog) (#36841)
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-08-26 10:52:56 +00:00
Guillaume Jacquart
9e32ab530e
feat(core): Enforce policy on workflow start (no-changelog) (#36954)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-26 09:16:50 +00:00
n8n-release-tag-merge[bot]
c09da09d38 Merge tag 'n8n@2.37.0' 2026-08-25 09:42:46 +00:00
Andreas Fitzek
c33906903a
fix(API): Adapt binary data endpoint (#36974) 2026-08-25 08:17:21 +00:00
n8n-assistant[bot]
541a312dc2
🚀 Release 2.37.0 (#36986)
Co-authored-by: Matsuuu <16068444+Matsuuu@users.noreply.github.com>
2026-08-25 07:32:14 +00:00
Andreas Fitzek
66d4793c93
feat(core): Verify the trigger identity once and bind it to the execution (#36599) 2026-08-21 13:12:02 +00:00
Lorent Lempereur
a24bd90668
feat: Let nodes declare why an operation failed (no-changelog) (#36531) 2026-08-21 09:21:29 +00:00
Michael Drury
4f7fbc14d3
feat: Add streaming to Message an Agent workflows (#36734) 2026-08-21 09:11:07 +00:00
Michael Drury
9d495dbc56
feat(core): Scope agent sessions to projects (#36646) 2026-08-20 11:23:12 +00:00
Danny Martini
365b7036dc
fix(core): Wrap a trigger's closeFunction in an expression isolate at creation time (#36638)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Mike Repeć <mike.repec@n8n.io>
2026-08-20 08:03:10 +00:00
Veljko Terzic
e95d40732d
fix(core): Serialize community package installs and make downloads non-destructive (#36505) 2026-08-20 06:11:13 +00:00
n8n-assistant[bot]
c9f2ee661c
chore: Bundle/2.x (#36558)
Co-authored-by: Matsu <matias.huhta@n8n.io>
Co-authored-by: Sam Wooler <swooler592@gmail.com>
Co-authored-by: Dimitri Lavrenük <20122620+dlavrenuek@users.noreply.github.com>
Co-authored-by: Bernhard Wittmann <bernhard.wittmann@n8n.io>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Lorent Lempereur <looorent@users.noreply.github.com>
Co-authored-by: yehorkardash <yehor.kardash@n8n.io>
Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: mfsiega <93014743+mfsiega@users.noreply.github.com>
Co-authored-by: phyllis-noester <102315132+phyllis-noester@users.noreply.github.com>
Co-authored-by: n8n-assistant[bot] <n8n-assistant[bot]@users.noreply.github.com>
Co-authored-by: Emilia <100027345+sovietspaceship@users.noreply.github.com>
Co-authored-by: Robin Braumann <50590409+bjorger@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-19 07:57:44 +03:00
Guillaume Jacquart
83db64a94e
fix(core): Resolve end-user credentials when loading node parameters (#36452)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-18 13:39:48 +00:00
n8n-assistant[bot]
8f82586bba
🚀 Release 2.36.0 (#36483)
Co-authored-by: Matsuuu <16068444+Matsuuu@users.noreply.github.com>
2026-08-18 08:24:56 +00:00
Lorent Lempereur
b33d0da323
feat(core): Add baseline Prometheus metrics for poll triggers (no-changelog) (#36250)
Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-17 13:13:25 +00:00
Elias Meire
64ed864315
fix(core): Expose incoming request headers to MCP trigger tools (#35236)
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-08-13 14:24:28 +00:00
yehorkardash
55927c4af5
fix(core): Allow details field in continueErrorOutput mode (#35939) 2026-08-13 13:40:29 +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
Guillaume Jacquart
a447ac422e
fix(core): Keep resolving end-user credentials after a trigger stops listening (#35973)
Some checks failed
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
Benjamin Schroth
acd4fdacc9
fix(core): Execute tools in the order the root requested them (#36009) 2026-08-11 09:37:02 +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
Mike Repeć
18c2d715e3
perf(core): Resolve webhook description fields via declared native resolvers (#35404)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 11:44:14 +00:00
phyllis-noester
242da024ac
fix(core): Apply redaction policy to Code node console output (#35121) 2026-08-05 11:00:00 +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
Stephen Wright
03213e7466
fix(Kafka Trigger Node): Stop consumers reliably when a workflow is deactivated or updated (#35069)
Co-authored-by: Thanasis Gkliatis <thanasis.gkliatis@n8n.io>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-04 09:21:00 +00:00
n8n-assistant[bot]
b533ecd685
🚀 Release 2.34.0 (#35487)
Co-authored-by: n8n-release-helper[bot] <265227495+n8n-release-helper[bot]@users.noreply.github.com>
2026-08-04 07:14:55 +00:00
Guillaume Jacquart
f0a2bce417
fix(core): Derive OAuth resource URL from the served endpoint (no-changelog) (#35441)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 18:37:22 +00:00
Albert Alises
a97e3052c2
fix(core): Classify Instance AI error reports by severity and quota cause (#35353) 2026-08-03 12:38:42 +00:00
yoominho
10a7422757
perf(core): O(1) schema lookup in resource-mapper value validation (#34899)
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: yoo-minho <13810291+yoo-minho@users.noreply.github.com>
2026-07-31 16:51:08 +00:00
Lorent Lempereur
2e6eb98e13
feat(core): Offload large webhook responses to storage in scaling mode (#35036) 2026-07-31 15:10:41 +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
Tomi Turtiainen
0d4c3a7e22
fix(core): Preserve cause on execution errors (#35216) 2026-07-30 13:55:28 +00:00
José Braulio González Valido
7908dbfb07
fix(ai-builder): Serve decodable binary fixtures and upload-session headers from eval mocks (no-changelog) (#34930)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 07:50:05 +00:00
Danny Martini
1173e29ac4
feat(core): Periodically tear down ghost triggers on non-leader instances (#35066)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-29 14:40:51 +00:00
n8n-cat-bot[bot]
b6826961e7
fix: Deep-merge task metadata to preserve nested tracing attributes (#35166)
Co-authored-by: n8n-cat-bot[bot] <n8n-cat-bot[bot]@users.noreply.github.com>
2026-07-29 09:10:49 +00:00
Yen Su
b329d57767
fix(core): Harden axios error handling against non-string error stack (#35073)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-29 07:08:36 +00:00
Tomi Turtiainen
b964ed6f4b
refactor(core): Move sleep into @n8n/utils and unify sleep/sleepWithAbort (#35057) 2026-07-28 18:47:18 +00:00
Robin Braumann
4a05044bf5
refactor(core): Replace agent knowledge base binary data storage with blob storage (no-changelog) (#34985)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 13:36:27 +00:00
Andreas Fitzek
4f0a218e2d
feat(core): Add on-demand OAuth clients and protected resources for form triggers (no-changelog) (#34903) 2026-07-28 12:46:57 +00:00