Mutasem Aldmour
a8fb02b46f
fix(editor): Make Browser Use work end to end in the agent chat preview (no-changelog)
...
Running an agent against a real model surfaced two failures that unit tests
and typechecking could not.
Anthropic rejected the whole request with "tools.19.custom.input_schema.type:
Field required". Three browser tools (browser_scroll, browser_cookies,
browser_storage) are discriminated unions, which convert to a top-level
anyOf; providers require an object at the root and refuse anyOf/oneOf/allOf
there. Because the rejection is per-request rather than per-tool, one such
schema took the entire agent down. They are now flattened into a single
object - union of every branch's properties, requiring only what all branches
share, with the discriminator collapsed into an enum so no mode is hidden
from the model. The real zod schema still validates inside callTool, so a bad
combination returns a correctable error instead of breaking the conversation.
A tool whose schema cannot be expressed is dropped with a warning rather than
poisoning every request.
The suspension then reached the frontend but rendered nothing: the chat only
built interactive cards for approval-shaped payloads and chat_action, so the
run sat suspended with no way to resume. Adds a third interactive variant for
the connect card. The approval card was not reusable - it is hard-coded to
"Approval required" with Approve/Deny, which is the wrong question here.
One suspend payload now serves both surfaces: `components` is what a channel
turns into Block Kit, `type` and `setupUrl` are what the in-app chat matches
on. Neither minds the other's fields.
Verified in the preview against Claude Sonnet 4.5: the agent calls
browser_tab_open, the card renders with a working setup link, and clicking
"I've connected" resumes the run - which then reports no browser and explains
it instead of looping.
2026-08-12 12:56:32 +02:00
Mutasem Aldmour
6931b1bf69
feat(editor): Add Browser Use tool to the agents module (no-changelog)
...
Lets an agent drive the chatting user's own browser. When the agent reaches
for the browser and none is connected, the tool suspends and shows a card
with a link to a public setup page; once the extension connects, the run
resumes and the agent can open tabs, navigate, click, type and read pages.
Reuses the instance-ai Browser Use stack wholesale - the @n8n/mcp-browser
toolkit, the published Chrome extension and the existing CDP relay - rather
than adding a second one. The agents module borrows
InstanceAiBrowserSessionService and degrades by simply not registering the
tools when that module is off.
Two constraints shaped the design:
- The agent runtime is cached and shared across every end user of a
published agent, so no session identity can be captured in the tool
closure. It is resolved per call from ctx.persistence.resourceId, the same
way the channel integration tools resolve their message context.
- The session key becomes a tmpdir() path segment inside a service that does
not sanitise it, and resourceId is attacker-influenced on channel runs, so
the key is hashed.
The setup page is deliberately unauthenticated: on a channel like Slack the
person being asked to connect may have no n8n account. The short-lived
setup token is the capability.
Excluded from the agent tool set: browser_connect/browser_disconnect (the
extension handshake owns session lifecycle) and the credential tools (they
resolve the session key against the user table).
2026-08-12 11:44:01 +02:00
Arvin A
45f243419d
test(core): Drive external workflow edits from the user proxy ( #35736 )
2026-08-12 08:42:20 +00:00
Michael Drury
e2e719c4ad
feat(ai-builder): Offer agent building in assistant greetings ( #36073 )
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
2026-08-12 08:22:30 +00:00
Kai
12c44790c0
feat: Require a reviewer when creating a workflow review request (no-changelog) ( #35932 )
2026-08-12 07:42:31 +00:00
Riqwan Thamir
dfa841a040
feat(core): Skip update approval for workflows created in the same Instance AI session ( #36054 )
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 06:59:16 +00:00
Alex Grozav
3b6e7d1ddb
build(editor): Add the @n8n/frontend-vite-config package (no-changelog) ( #36043 )
...
Co-authored-by: multica-agent <github@multica.ai>
2026-08-12 03:25:05 +00:00
Riqwan Thamir
560455faf1
fix(core): Accept Always allow scope on data-tables resume ( #36070 )
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 18:11:46 +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
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
Bernhard Wittmann
7352eb7def
chore: Bump Browser Use Chrome extension to 0.0.5 ( #36060 )
2026-08-11 15:06:26 +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
Alejandro Sanz
d7dcba5c80
feat(lmChatOpenRouter Node): Add provider routing options ( #24822 )
...
Co-authored-by: Dawid Myslak <dawid.myslak@gmail.com>
2026-08-11 12:05:55 +00:00
Iván Ovejero
42b1f2922f
test(core): Add engine M1 acceptance test suite ( #35838 )
2026-08-11 11:21:18 +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
n8n-cat-bot[bot]
08052c19eb
fix: Handle exponential-notation numbers in smartDecimal ( #35967 )
...
Co-authored-by: n8n-cat-bot[bot] <n8n-cat-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-11 11:01:16 +00:00
mfsiega
4b807b7c49
feat(core): Accept fan-in across input slots in @n8n/engine (no-changelog) ( #35819 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2026-08-11 10:55:31 +00:00
Ragnar
e7fa25217e
feat: Hide n8n-connect usage when aiGatewayCloudUbb is enabled ( #35978 )
2026-08-11 10:13:43 +00:00
Tomi Turtiainen
da314d302a
fix(core): Bound database pool teardown so connection recovery always completes ( #36013 )
2026-08-11 09:53:58 +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
Michael Drury
c44c7de59b
fix(core): Surface model discovery authentication failures to users ( #35979 )
2026-08-11 09:19:10 +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
Elias Meire
3571c09d9b
feat(core): Tell the assistant which services are connected and what tools they expose ( #35931 )
2026-08-11 09:02:51 +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
Dimitri Lavrenük
8b19044f25
feat: Track AI created credentials success signals ( #35812 )
2026-08-11 08:21:30 +00:00
Alex Grozav
0ceda6e616
build(editor): Add the frontend module workspace layout and shared tsconfig base (no-changelog) ( #35957 )
...
Co-authored-by: multica-agent <github@multica.ai>
2026-08-11 08:19:26 +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
Lorent Lempereur
68bcdfe80c
fix(core): Apply TLS options per hop when requests go through a proxy ( #35518 )
2026-08-11 07:55:13 +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
Svetoslav Dekov
9205eb3f19
test(core): Support credential seeding in MCP workflow evals (no-changelog) ( #35782 )
...
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: v3 Nightly Docker Images / Compute date tag (push) Has been cancelled
Build: v3 Nightly Docker Images / Build and push v3-nightly images (push) Has been cancelled
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Ricardo Espinoza <ricardo@n8n.io>
2026-08-10 19:56:03 +00:00
Raúl Gómez Morales
c04825d4c4
fix(core): Fail stalled Instance AI model streams fast instead of hanging ( #35943 )
2026-08-10 15:45:15 +00:00
Bernhard Wittmann
a862780c64
fix: Stop browser_clicks timing out in background browser tabs (no-changelog) ( #35968 )
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
CI: Python / Checks (push) Has been cancelled
2026-08-10 15:33:37 +00:00
Stephen Wright
0b4b044fb2
fix(core): Deduplicate OAuth2 authorization URL query parameters ( #35949 )
2026-08-10 15:08:26 +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
Declan Carroll
c1334647a3
chore: Align dev environments to Postgres 18 (no-changelog) ( #35938 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-10 13:32:02 +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
Michael Drury
7784aa2298
fix(core): Show custom OpenAI-compatible models in Agents (no-changelog) ( #35781 )
2026-08-10 12:31:07 +00:00