Commit Graph

6309 Commits

Author SHA1 Message Date
Svetoslav Dekov
df70043e48
feat(core): Show the workflow name in MCP execution progress messages
Progress notifications now read 'Execution 1208 of "Daily Report Sync"'
instead of exposing only the workflow ID. The execution ID stays in the
message so clients can follow up with get_execution after a timeout.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VGSEzz3A8eQqbAtnqXpaFk
2026-07-16 10:25:11 +03:00
Svetoslav Dekov
b7acc9904c
fix(core): Disable proxy buffering for MCP responses
Reverse proxies (e.g. the nginx ingress in front of cloud instances)
buffer streamed responses by default, so progress notifications only
arrived once the tool call completed. Send X-Accel-Buffering: no, as the
other streaming endpoints (agent SSE, Instance AI) already do.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VGSEzz3A8eQqbAtnqXpaFk
2026-07-16 10:18:00 +03:00
Svetoslav Dekov
bba76a7fd8
refactor(core): Simplify MCP execution wait and progress plumbing
- Drop the transport flush wrapper: the SDK's SSE responses set
  Cache-Control: no-transform, so the compression middleware never
  buffers them and notifications already stream in real time.
- Reuse ExecutionStatusList from n8n-workflow instead of a hand-copied
  status list.
- Hoist the shared IRun -> {status, error} outcome derivation into
  execution-utils.
- Let waitForExecutionResult own the progress reporter lifecycle and
  make cancelOnTimeout explicit at every call site; remove the
  McpService.waitForExecutionResult forwarding method and the
  onExecutionStarted callback.
- Stop heartbeats on client abort and unref the interval.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VGSEzz3A8eQqbAtnqXpaFk
2026-07-16 09:33:26 +03:00
Svetoslav Dekov
4a2c8831d9
refactor(core): Omit total from MCP execution progress notifications
Execution duration is unknown, so a total (the wait timeout) made clients
render a meaningless completion percentage. Message-only progress instead.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VGSEzz3A8eQqbAtnqXpaFk
2026-07-16 09:02:42 +03:00
Svetoslav Dekov
e123b06b77
fix(core): Flush MCP transport writes so notifications stream in real time
The global compression() middleware buffers response writes, so progress
notifications only arrived together with the final response. Flush after
every transport message, mirroring the McpTrigger node's transport wrapper.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VGSEzz3A8eQqbAtnqXpaFk
2026-07-16 00:20:11 +03:00
Svetoslav Dekov
2e26f35ab2
feat(core): Add progress notifications and completion waiting to MCP execution tools
- execute_workflow: new optional waitForCompletion input; streams MCP progress
  notifications while waiting and returns the final execution status. A timed-out
  wait leaves the execution running and returns status 'running'.
- test_workflow: streams progress notifications while waiting for the result.
- Progress heartbeats are sent every 3s only when the client provided a
  progress token; they also keep long-lived connections alive through proxies.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VGSEzz3A8eQqbAtnqXpaFk
2026-07-16 00:08:14 +03:00
Ricardo Espinoza
0ca24ba996
feat(editor): Show access and client details in the connected MCP clients list (#33714)
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.22.3) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (24.16.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
Util: Sync API Docs / sync-public-api (push) Waiting to run
Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 18:00:50 +00:00
Svetoslav Dekov
79012f66d7
fix(core): Require execution mode for MCP workflow executions (#34155)
Co-authored-by: Ricardo Espinoza <ricardo@n8n.io>
2026-07-15 16:03:52 +00:00
Andreas Fitzek
65da749ab3
fix: Correct end-user credential validation, re-evaluation, and identity-hook recognition (#34094) 2026-07-15 15:46:44 +00:00
mfsiega
4818e79b5a
perf(core): Skip webhook-only workflows when enqueuing publications on leader handoff (no-changelog) (#34076)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Danny Martini <danny@n8n.io>
2026-07-15 14:02:22 +00:00
mfsiega
d119890f75
fix(core): Wire pubsub handlers of the workflow publication modules (no-changelog) (#34207)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Danny Martini <danny@n8n.io>
2026-07-15 14:02:07 +00:00
Raúl Gómez Morales
429578529d
feat(core): Fold Instance AI history from the durable event log behind N8N_INSTANCE_AI_DURABLE_LOG (no-changelog) (#34178) 2026-07-15 13:58:52 +00:00
Alex Grozav
7ebeb1e194
fix(editor): Refresh editor checksum on workflow activation while editing (#34095)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-07-15 13:55:33 +00:00
Robin Braumann
cf5ea8e173
fix(core): Make the AI Assistant agent-aware — intent gate, multi-agent sessions, builder session cleanup (no-changelog) (#34200)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 13:00:10 +00:00
Arvin A
38894a067a
feat(core): Add config-evals skill for Instance AI eval creation (no-changelog) (#34082)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 12:49:31 +00:00
Eugene
33a02a90d2
feat: Add skills support to inline agents (no-changelog) (#34128)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 12:42:55 +00:00
Yen Su
d30e7b042c
feat(Slack Node): Add advanced HITL configuration for one-tap approval (#34123)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 12:38:46 +00:00
Michael Kret
4e4283bf62
feat(core): Enable n8n Connect usage in n8n MCP (#33723) 2026-07-15 11:58:44 +00:00
Matsu
cec46445ee
chore: Migrate packages/cli to Typescript 7 (#34159) 2026-07-15 11:49:51 +00:00
Irénée
2b6a6a125a
feat(API): Add workflow dependency export policy (no-changelog) (#34175) 2026-07-15 09:43:31 +00:00
José Braulio González Valido
ced861603b
test(ai-builder): Move the workflow-eval case corpus to LangTracer (no-changelog) (#33983)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 08:58:49 +00:00
Ali Elkhateeb
e76b345fd8
feat(API): Add endpoint to retrieve SAML SSO configuration (#34168) 2026-07-15 08:11:30 +00:00
Mutasem Aldmour
199584aab0
fix(core): Correct OpenAI mock response shapes in eval simulation (no-changelog) (#34140)
Co-authored-by: Jose <jose.gonzalez@n8n.io>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 07:49:16 +00:00
Dmitrii
f24570f21f
fix(API): Fix broken public API playground server selection (#34077) 2026-07-15 07:32:09 +00:00
Robin Braumann
be353431da
feat(core): Add tracing, credit metering, and telemetry for the builder sub-agent (#34151)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 06:15:38 +00:00
Alexander Gekov
8284460a5a
fix(core): Preserve node aliases when generating AI tool variants (#34162)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 06:10:27 +00:00
Lorent Lempereur
038d2ca286
feat(core): Add durable scheduler rollout docs and observability warnings (no-changelog) (#34170)
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.16.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: Emilia <100027345+sovietspaceship@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 21:30:07 +00:00
Eugene
e69bd4e4eb
feat: Add inline agent mode to the Message an Agent node (no-changelog) (#34059)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 19:03:35 +00:00
Raúl Gómez Morales
897533b603
feat(core): Wire the Instance AI durable event log behind N8N_INSTANCE_AI_DURABLE_LOG (no-changelog) (#33984)
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.22.3) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (24.16.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
Util: Sync API Docs / sync-public-api (push) Waiting to run
2026-07-14 15:49:22 +00:00
oleg
d33c282b95
feat(core): Unify output schema mock generation and verify AI Assistant workflows with any trigger type (#33896) 2026-07-14 15:27:08 +00:00
mfsiega
c761c4da9b
feat(core): Add trigger reconciliation to recover missed activations (no-changelog) (#33577)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Danny Martini <danny@n8n.io>
2026-07-14 14:40:33 +00:00
Robin Braumann
fd13039be2
feat(core): Cascade builder sub-agent questions into the AI assistant chat (no-changelog) (#34086)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 14:22:03 +00:00
Ricardo Espinoza
c3ca9a36da
feat(editor): Add scope selection to MCP OAuth consent screen (#33710)
Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 13:21:14 +00:00
Irénée
aa12e2fcea
feat(core): Block n8n-package export when sub-workflow is missing (no-changelog) (#33846) 2026-07-14 12:48:42 +00:00
oleg
9842c2c28c
fix(core): Count AI assistant workflow test runs as manual executions in statistics (#34145) 2026-07-14 11:41:09 +00:00
Raúl Gómez Morales
05b412cd28
feat(core): Add the Instance AI durable event-log store and writer (no-changelog) (#33910)
Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 11:12:31 +00:00
Ali Elkhateeb
17c4d26baf
fix(API): Sort tags alphabetically in the public API manifest (no-changelog) (#34087) 2026-07-14 10:54:12 +00:00
Mutasem Aldmour
4ef0d05f1c
fix(editor): Make AI assistant quota-exhausted error states explicit (#33847)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 09:46:35 +00:00
James Martin
fd261be97c
fix(core): Bind dynamic credential tokens to a user ID (#34073) 2026-07-14 09:28:47 +00:00
Lorent Lempereur
b3a0a47217
feat: Wire the Schedule Trigger node into the durable scheduler (no-changelog) (#33973)
Co-authored-by: Emilia <100027345+sovietspaceship@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 09:23:34 +00:00
Benjamin Schroth
18b34cab77
feat(API): Add public API endpoints to trigger and cancel evaluation test runs (#33979) 2026-07-14 09:03:36 +00:00
James Gee
0232c9138d
feat(core): Import a folder with workflows (no-changelog) (#34022) 2026-07-14 09:00:20 +00:00
Thanasis G
6db46bc381
feat(Telegram Node): Add advanced HITL configuration for one-tap in-chat approval (#34009)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 08:56:38 +00:00
n8n-release-tag-merge[bot]
69f898cd68 Merge tag 'n8n@2.31.0' 2026-07-14 08:05:37 +00:00
Savelii
7a56ade6b2
fix(core): Prevent sub-workflow failures after transferring a deleted user's workflows (#33772)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 07:33:01 +00:00
Arvin A
e8dd60989b
feat(core): Gate Instance AI config-based evals behind a PostHog feature flag (no-changelog) (#34067)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 07:23:14 +00:00
n8n-assistant[bot]
6676eb33fe
🚀 Release 2.31.0 (#34117)
Co-authored-by: n8n-release-helper[bot] <265227495+n8n-release-helper[bot]@users.noreply.github.com>
2026-07-14 07:18:45 +00:00
Ricardo Espinoza
17905b5f35
fix(core): Add N8N_MCP_BASE_URL for split-hostname MCP OAuth deployments (#34028) 2026-07-14 06:06:06 +00:00
Lorent Lempereur
ec688511b5
fix(core): Handle manual execution without a destination node (#33156)
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.16.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: Danny Martini <danny@n8n.io>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 16:24:50 +00:00
phyllis-noester
ce5426e922
feat(core): Limit end-user credential creation to owner, admin and project admin roles (#34064) 2026-07-13 16:12:56 +00:00