Commit Graph

20962 Commits

Author SHA1 Message Date
Uddish Verma
88675c07f9
test(API): Point the $ref resolution test at a route that still has refs
The test proved `RefParser` inlines nested `$ref`s, using `createWorkflow` as
the vehicle because `workflowCreate.yml` referenced `node.yml`. Once create
became a decorator route its schema is generated from Zod and holds no refs, so
the assertion passed without exercising anything.

It now uses `createDestination`, whose body is a `oneOf` over three files that
themselves reference more, and walks the resolved schema for any leftover
`$ref` instead of checking one hand-picked property.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 14:43:49 +01:00
Uddish Verma
09f06107a0
fix(API): Type the workflow settings on the create and update bodies
`workflowSettings.yml` set `additionalProperties: false` and typed every value,
so express-openapi-validator rejected an unknown setting, an out-of-enum value
or a wrongly typed one. The DTO used an untyped record, which accepted all
three.

Ports the 17 documented settings, including `binaryMode` and
`credentialResolverId` — both are listed in the old spec, so a request carrying
them is accepted and then stripped by the controller rather than rejected.

The generated fragments now match the old schema field for field.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 14:13:44 +01:00
Uddish Verma
7aa925c51b
Merge remote-tracking branch 'origin/master' into api-84-workflow-writes
# Conflicts:
#	packages/cli/src/public-api/types.ts
#	packages/cli/src/public-api/v1/controllers/workflows.public.controller.ts
#	packages/cli/src/public-api/v1/handlers/workflows/spec/paths/workflows.yml
#	packages/cli/src/public-api/v1/handlers/workflows/workflows.handler.ts
2026-08-13 13:56:28 +01:00
Uddish Verma
65971b7794
refactor(API): Drop the WorkflowEntity import left unused in public API types
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 13:49:38 +01:00
Uddish Verma
1d36a8a6a6
fix(API): Return a request schema for decorator routes in /discover
`GET /discover?includeSchemas=true` returned no `requestSchema` for any
`@PublicApiController` route, because `buildDecoratorEndpoints` never set the
field. Only the express-openapi-validator routes got one, from the hand-written
spec.

Three endpoints are affected today: `POST /roles`, `POST /role-mapping-rules`
and `PUT /workflows/{id}/tags`.

The schema now comes from the route's own `@Body` DTO, converted through the
same generator that writes the committed spec fragments, so the two agree
without reading a file at request time.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 13:46:00 +01:00
Uddish Verma
e47b8d6891
test(API): Drop the shared ActiveWorkflowManager mock workaround
`executions.test.ts` now registers its own `InstanceSettings` mock before
`setupTestServer`, so the shared helper no longer needs to patch the already
constructed instance. Leaves the helper identical to master.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 13:44:58 +01:00
Uddish Verma
7d056e70f0
refactor(API): Drop the unused public API workflow request types
`WorkflowRequest.Update` and `WorkflowRequest.Delete` lost their last callers
when update and delete moved to the controller. `Get` stays, still used by
archive and unarchive.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 13:44:02 +01:00
Uddish Verma
fa7579f77a
fix(API): Reject unknown keys on the workflow create and update bodies
The hand-written specs set `additionalProperties: false` on both request
bodies, so express-openapi-validator rejected an unrecognised key with a 400.
`Z.class` strips instead, which silently accepted a client's typo.

`Z.class` now takes an optional `{ strict: true }`, applied to the two workflow
write DTOs. The generated fragments emit `additionalProperties: false` again.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 13:43:54 +01:00
Uddish Verma
464b6ffc11
fix(API): Load the shared relation before building the update response
`WorkflowService.update` re-fetches with only the `tags` and `activeVersion`
relations, so `shared` came back undefined and the response mapper threw on
`workflow.shared.map(...)`. The catch block turned that into a 400, failing
every `PUT /workflows/{id}` call.

Re-fetch through `findWorkflowForUser` for the response, as `getWorkflow` does.
This adds `shared` to the update response, which the legacy handler omitted.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 13:35:46 +01:00
Uddish Verma
03549c71df
Merge remote-tracking branch 'origin/master' into api-84-workflow-writes
# Conflicts:
#	packages/cli/src/public-api/v1/controllers/workflows.public.controller.ts
#	packages/cli/src/public-api/v1/handlers/workflows/workflows.handler.ts
2026-08-13 13:33:11 +01:00
Uddish Verma
5b03945eb0
refactor(API): Migrate GET /workflows to the decorator pattern (no-changelog) (#36015)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 12:28:12 +00:00
Romeo Balta
fd44d5911b
feat(editor): Track AI credit balance clicks (no-changelog) (#36194) 2026-08-13 11:56:37 +00:00
Michael Drury
598c1f3357
fix(editor): Improve agent error handoff to AI Assistant (#36076) 2026-08-13 11:55:33 +00:00
Ilfat Mindubaev
f9fd8a83e4
feat(Confluence Node): Add Confluence Cloud OAuth2 credential (#35732) 2026-08-13 11:54:01 +00:00
Michael Drury
5e2779e0be
fix(core): Return final responses from workflow agents (#36127) 2026-08-13 11:40:13 +00:00
Anne Aguirre
be1fde19f4
fix(ai-builder): Align HITL approval resume schemas with confirm envelope (#36047) 2026-08-13 11:06:24 +00:00
Uddish Verma
6ab3f5e83e
feat(API): Migrate workflow tags endpoints to decorator pattern (#35829)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 10:44:28 +00:00
Emilia
ddd5494809
fix(editor): Settle navigation instead of hanging when auth-init guard errors (#36190)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-13 10:30:57 +00:00
Riqwan Thamir
91ebeecb4e
feat(core): Improve Instance AI model experiments (no-changelog) (#35034)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 10:15:03 +00:00
Charlie Kolb
5c618883b9
feat(core): Add env var to skip workflow history compaction on startup (#36099)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 09:45:25 +00:00
Sam Wooler
40a0f2a016
feat(API): Add endpoint to create role-mapping rules (#36032)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 09:42:15 +00:00
Jaakko Husso
a27c90ccec
fix(editor): Update ready-to-run demo templates to a current OpenAI model (#36189)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 09:36:32 +00:00
João Almeida
a74fbab2bf
feat(core): Auto-expose new workflows to MCP from settings via toggle (#35828)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 09:29:07 +00:00
Ricardo Espinoza
b9496b2fa6
refactor(core): Consolidate the node search engine into @n8n/ai-utilities (no-changelog) (#35546) 2026-08-13 09:28:06 +00:00
Elias Meire
fb430aab05
feat(core): Add an inline Available tools card to connect MCP servers from the assistant chat (#35332) 2026-08-13 09:22:24 +00:00
n8n-cat-bot[bot]
0a30c037e9
fix: Surface Zoho API error message on duplicate record (#35840)
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-13 09:18:38 +00:00
Daria
174d0d8d39
fix(editor): Keep agent nodes inside canvas group borders (#35972) 2026-08-13 09:18:17 +00:00
Ilfat Mindubaev
653dfc6cf7
fix(Microsoft Teams Node): Restore Group.ReadWrite.All OAuth2 scope (#36005)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 08:38:45 +00:00
Arvin A
90a6033f61
feat(editor): Add the AI-drafted eval cases view to the Evals tab (no-changelog) (#35748) 2026-08-13 08:36:41 +00:00
Alex Grozav
e2284f526d
refactor: Replace traversing design-system font URL with a narrow SCSS entry (#35936)
Co-authored-by: multica-agent <github@multica.ai>
2026-08-13 08:18:26 +00:00
Dimitri Lavrenük
d094b6ad5e
fix: Fix decompress size calculation for zip64 archives (#35856)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 08:09:10 +00:00
Robin Braumann
5f9602b19e
feat(core): Enable Agent sandboxes through Instance AI setup (#36056)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 07:10:02 +00:00
Daria
a914319ed1
fix(editor): Stop the workflow actions menu shifting when a new workflow is saved (#36077) 2026-08-13 06:51:00 +00:00
Anne Aguirre
b08cde668f
fix(ai-builder): Surface skill save validation errors and stop reverting skill renames (#36055) 2026-08-13 05:39:18 +00:00
Anne Aguirre
4fe94d8f5e
fix(ai-builder): Enable Save in agent tool modal when credential auth is selected (#36012) 2026-08-13 05:38:49 +00:00
Kai
cbb5577053
feat(editor): Let users update review descriptions (#36069)
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.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 20:38:11 +00:00
Yamin Hossain
870099f6f1
fix(editor): Show placeholder while MCP settings counts load (#35894) 2026-08-12 15:24:13 +00:00
Mike Repeć
1a12af601b
fix(core): Report the real activation mode for triggers activated via the publication outbox (#36123)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 13:17:53 +00:00
Dimitri Lavrenük
7f3713702a
feat: Add snapshot option to every browser use interaction tool (#36111)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 12:24:33 +00:00
Robin Braumann
01ce4490d0
feat(core): Add writable workspaces to agents (#36033)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 12:24:33 +00:00
Sandra Zollner
64dcebb649
feat(core): Restrict workflow review decisions to assigned reviewers (#36040) 2026-08-12 12:10:11 +00:00
Dawid Myslak
aee23f7b74
feat(MiniMax Node): Add M3 and H3 model support (#35935)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 11:48:42 +00:00
Uddish Verma
4e9838b6c4
Merge remote-tracking branch 'origin/master' into api-84-workflow-writes
Some checks failed
CI: Python / Checks (push) Has been cancelled
2026-08-12 12:25:39 +01:00
Kai
d35bb3e980
feat(editor): Display authors on the review details view (#35897) 2026-08-12 11:17:13 +00:00
Yuliia Pominchuk
5bfcde593d
feat(core): Make n8n User Auth (OAuth2) generally available (#35900) 2026-08-12 11:12:46 +00:00
Sebastien Powell
60736dc2f0
feat(editor): Update SegmentControl component (#34447) 2026-08-12 11:07:05 +00:00
Jan Kalkan
90b201e47b
feat(core): Add comments to the workflow review activity feed (no-changelog) (#35792)
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-12 09:36:55 +00:00
Sebastien Powell
a319c76264
feat(editor): Update NumberInput styling (#35937) 2026-08-12 09:00:30 +00: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)
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.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