Commit Graph

34 Commits

Author SHA1 Message Date
Yuliia Pominchuk
7237095654
feat(core): Store catalog consent and personal schedules
Two tables behind running a catalog workflow on your own schedule. They are
split because the keys differ: consent is one grant per (workflow, person),
while one person may want several schedules for the same workflow. The
subscription hangs off the grant by composite foreign key, so withdrawing
consent takes the schedules with it.

The scheduler side needed widening to hold them. A job was identified by
`(workflowId, nodeId)`, which is what provisioning diffs and deprovisioning
deletes by, and a per-person schedule has no node — several people hold their
own schedules for the same workflow. `scheduled_job` gains a nullable, opaque
`ownerId` that the scheduler only ever pairs with `taskType` and never
interprets, so a feature can own jobs without the scheduler learning about the
feature.

An owner-scoped job deliberately records no `workflowId`: that column is a
foreign key onto `workflow_published_version`, so it means "belongs to a
published trigger", which these do not. The type makes passing one impossible.
It also means nothing in the database removes these jobs when their owner goes,
so callers must deprovision explicitly.

The column is added with a raw `ALTER TABLE`: on SQLite the schema builder
rebuilds the table, and `scheduled_task` cascades from it, so the rebuild would
delete every queued occurrence on the instance.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-05 12:14:48 +02:00
Robin Braumann
89c9be6266
feat(core): Emit once-per-agent setup completion telemetry (#35359)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 11:00:37 +00:00
Eugene
0932806c05
feat: Support inbound binary attachments for agents (no-changelog) (#34869)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 14:20:06 +00:00
Emilia
8672d9567c
feat(core): Add a misfire policy to the durable scheduler (#35075)
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: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 10:10:31 +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
RomanDavydchuk
48c0e70f14
fix(core): Support fractional community node versions with PostgreSQL (#34717) 2026-07-27 15:36:08 +00:00
Svetoslav Dekov
fdd4e33f9c
feat(core): Add availableInMCP column to agents (#34665)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 14:09:04 +00:00
Arvin A
e5bb60f663
feat(core): Add agent-scoped eval data model and migration (no-changelog) (#34657) 2026-07-24 12:37:53 +00:00
Albert Alises
13becf336c
feat(core): Add instance credential database schema (#34709)
Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 09:37:33 +00:00
Robin Braumann
0b4bbd05b8
feat(core): Add storedAt column to agent_execution (#34858)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-24 08:57:18 +00:00
Sandra Zollner
156ac00120
feat(core): Add workflow review request entities and migration scripts (#34062)
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: James Gee <1285296+geemanjs@users.noreply.github.com>
Co-authored-by: kgrhartlage <kai.hartlage@n8n.io>
2026-07-21 12:57:39 +00:00
Raúl Gómez Morales
865142f5da
feat(core): Sweep interrupted Instance AI runs to a terminal state (no-changelog) (#34183)
Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 10:37:28 +00:00
Lorent Lempereur
e22680b99f
fix(core): Close the durable scheduler's record-then-dispatch effect boundary (#34014)
Co-authored-by: Emilia <100027345+sovietspaceship@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 09:47:10 +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
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
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
Lorent Lempereur
fa7e97130b
feat(core): Add recurring_cron schedule kind to the durable scheduler (no-changelog) (#33858) 2026-07-10 12:48:20 +00:00
Iván Ovejero
6509d774aa
perf(core): Reduce DB reads for global credentials check (#33918) 2026-07-09 13:31:51 +00:00
Iván Ovejero
378710072f
perf(core): Aggregate workflow statistics to avoid hot-row contention (#33045) 2026-07-06 11:11:18 +00:00
Lorent Lempereur
f008844d75
feat(core): Add durable scheduler database schema (no-changelog) (#33315)
Co-authored-by: Emilia <100027345+sovietspaceship@users.noreply.github.com>
2026-07-01 13:12:59 +00:00
Savelii
4290e8461a
feat(editor): Show private credential icon on execution list runs (#32957)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 14:06:54 +00:00
mfsiega
4979df1970
feat(core): Persist per-trigger workflow publication status (no-changelog) (#33191)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 09:02:00 +00:00
yehorkardash
bc3fe3eaa6
refactor(core): Drop redundant agent execution columns (#32862) 2026-06-30 07:36:26 +00:00
bjorger
4231ae8124
refactor(core): Remove top-level agent description (no-changelog) (#32922)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 14:41:43 +00:00
Jaakko Husso
0c8955e793
feat(core): Persist IAI 'always allow' execute permissions on DB (no-changelog) (#32599) 2026-06-23 06:58:15 +00:00
bjorger
3ae74f10b0
feat(core): Add knowledge file storage for agents (#31956)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-22 11:49:50 +00:00
Iván Ovejero
1d6415cd59
feat(core): Add Azure storage mode for execution data (#32368) 2026-06-18 11:33:04 +00:00
Mike Repeć
10856a4f4d
feat(core): Track binary data size on execution entity rows (no-changelog) (#32387)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 15:14:27 +00:00
Tomi Turtiainen
711f8abc57
chore(core): Make DB schema docs generation deterministic (#32373) 2026-06-16 11:35:33 +00:00
Savelii
3b53949792
perf(core): Add partial index on execution_entity to fix executions list CPU spike (#32116)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 13:02:24 +00:00
Michael Drury
86b7234f81
fix(core): Persist agent subscription lists for threads to DB for multi-main configurations (no-changelog) (#31614)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 11:16:20 +00:00
Mike Repeć
612cb772c2
feat(core): Add sizeBytes and workflowVersionId to executions (no-changelog) (#32067)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2026-06-12 09:44:19 +00:00
Tomi Turtiainen
f5ced2faf9
feat(core): Add auto-generated database schema documentation (no-changelog) (#32069) 2026-06-12 07:44:01 +00:00