Commit Graph

54 Commits

Author SHA1 Message Date
James Gee
ee1a77cd46
fix(core): Workflow tag removal syncing (#24557) 2026-01-22 09:44:59 +00:00
Irénée
9bfb014cb9
refactor: Migrate source control feature to modules (#22453) 2026-01-06 15:59:11 +00:00
Irénée
d5c093411a
feat: Assign default project admin on pull (#23355) 2025-12-19 09:04:43 +00:00
Ricardo Espinoza
2f4cda5a8e
chore: Clean up references to the Start node (no-changelog) (#23183) 2025-12-16 09:30:46 -05:00
Daria
50e337f0ba
fix: Add version history records when importing workflows (#22974) 2025-12-09 19:22:31 +02:00
Jaakko Husso
241bb0fe59
feat(core): Chat only users (no-changelog) (#22355) 2025-12-03 17:54:10 +02:00
Charlie Kolb
9f2efb75aa
feat(core): Introduce workflowPublishHistory table (no-changelog) (#22043)
Co-authored-by: Ricardo Espinoza <ricardo@n8n.io>
2025-11-28 14:57:38 +01:00
Mutasem Aldmour
55c3150c11
feat: Add support for global credentials (#21700)
Co-authored-by: Claude <noreply@anthropic.com>
2025-11-20 17:48:49 +01:00
Irénée
333ce1f105
feat: Trigger projects export and import on push and pull (#20459) 2025-10-21 16:36:01 +01:00
Irénée
cec27a89be
feat: Assign owner to pulled resources (#20920) 2025-10-20 15:35:24 +01:00
Guillaume Jacquart
2d7990920d
chore(core): Split source control service (#18784)
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-09-22 16:55:54 +02:00
Andreas Fitzek
feebfd2f79
fix(core): Credential export for personal projects (#19720) 2025-09-18 18:08:00 +02:00
Andreas Fitzek
ecad12b77a
chore(core): Use roles from database in global roles (#18768) 2025-08-26 17:53:46 +02:00
Andreas Fitzek
a21a03d4b0
Revert "chore(core): Use roles from database in global roles (#17853)" (#18738) 2025-08-25 14:29:28 +02:00
Andreas Fitzek
a8e4387f4d
chore(core): Use roles from database in global roles (#17853) 2025-08-22 16:02:01 +02:00
Raúl Gómez Morales
c4ba31ef62
feat: Add endpoint to retrieve single workflow from GH (#17220)
Co-authored-by: Guillaume Jacquart <jacquart.guillaume@gmail.com>
2025-07-16 14:38:13 +02:00
Iván Ovejero
f3ef0a713c
refactor(core): Lintfix cli package (#17125) 2025-07-08 19:32:02 +02:00
Iván Ovejero
7c33292483
refactor(core): Move integration test utils for insights (#16693) 2025-06-25 17:32:54 +02:00
Andreas Fitzek
57911225e7
chore(core): Expose owner information for environment changes (#16466)
Co-authored-by: Guillaume Jacquart <jacquart.guillaume@gmail.com>
2025-06-20 11:33:17 +02:00
Andreas Fitzek
9607908c04
feat(core): Validate commit content for project admin role (#15687)
Co-authored-by: Guillaume Jacquart <jacquart.guillaume@gmail.com>
2025-06-03 11:33:01 +02:00
Andreas Fitzek
f9f9597bbd
feat(core): Scope getStatus for environments for project admin role (#15404) 2025-05-22 13:49:54 +02:00
Iván Ovejero
e122b3f0f9
refactor(core): Move UserRepository and subscribers to @n8n/db (#15352) 2025-05-13 15:24:26 +02:00
Iván Ovejero
1f6a36e26e
refactor(core): Move shared workflow and shared credentials repositories to @n8n/db (#15255) 2025-05-09 17:10:25 +02:00
Iván Ovejero
32b72011e6
refactor(core): Move second batch of repositories to @n8n/db (#15137) 2025-05-06 16:40:34 +02:00
Iván Ovejero
ade546fb48
refactor(core): Move first batch of repositories to @n8n/db (#15130) 2025-05-06 11:22:43 +02:00
Iván Ovejero
20834abb56
refactor(core): Move interrelated entities to @n8n/db (#15050) 2025-05-02 12:19:32 +02:00
Ricardo Espinoza
198f17dbcf
feat(core): Add folder synchronization to environments feature (#14005) 2025-03-21 10:45:34 -04:00
Danny Martini
967ee4b89b
feat: Synchronize deletions when pulling from source control (#12170)
Co-authored-by: r00gm <raul00gm@gmail.com>
2025-01-20 16:53:55 +01:00
कारतोफ्फेलस्क्रिप्ट™
25a79ccf40
refactor(core): Use DI in source-control. add more tests (#12554) 2025-01-10 16:10:19 +01:00
कारतोफ्फेलस्क्रिप्ट™
1d86c4fdd2
refactor(core): Use DTOs for source control push/pull requests (#12470)
Co-authored-by: Tomi Turtiainen <10324676+tomi@users.noreply.github.com>
2025-01-09 15:31:07 +01:00
कारतोफ्फेलस्क्रिप्ट™
39d5e0ff87
refactor(core): Replace typedi with our custom DI system (no-changelog) (#12389)
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2025-01-06 10:21:24 +01:00
Iván Ovejero
f754b22a3f
refactor(core): Mark all backend Enterprise Edition files and dirs (#12350) 2024-12-24 13:02:05 +01:00
कारतोफ्फेलस्क्रिप्ट™
73145b70b8
chore: Convert ErrorReporting to a Service to use DI. Add some tests (no-changelog) (#11279) 2024-12-11 15:36:17 +01:00
Tomi Turtiainen
5156313074
refactor(core): Enable import/order eslint rule (#10794) 2024-09-12 19:07:18 +03:00
Iván Ovejero
6485ca0a4b
refactor(core): Enforce filename casing in cli package (no-changelog) (#10594) 2024-08-28 17:57:46 +02:00
Iván Ovejero
d7241cfc3a
refactor(core): Standardize filename casing for services and Public API (no-changelog) (#10579) 2024-08-28 13:59:27 +02:00
Iván Ovejero
fd58a272e1
refactor(core): Standardize filename casing for controllers and databases (no-changelog) (#10564) 2024-08-27 16:44:32 +02:00
Iván Ovejero
96e69ad5f2
refactor(core): Standardize filename casing for environments and eventbus (no-changelog) (#10527) 2024-08-26 11:10:06 +02:00
Iván Ovejero
797342343f
perf(core): Introduce concurrency control for main mode (#9453) 2024-06-12 15:05:43 +02:00
कारतोफ्फेलस्क्रिप्ट™
6ba789aa6d
ci: Remove unused WaitTracker mocking (no-changelog) (#9694) 2024-06-11 10:28:52 +02:00
कारतोफ्फेलस्क्रिप्ट™
08902bf941
refactor(core): Update supertest, and fix some typing errors (no-changelog) (#9527) 2024-05-31 09:40:03 +02:00
Csaba Tuncsik
596c472ecc
feat: RBAC (#8922)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Val <68596159+valya@users.noreply.github.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Valya Bullions <valya@n8n.io>
Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: Danny Martini <despair.blue@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: oleg <me@olegivaniv.com>
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: Elias Meire <elias@meire.dev>
Co-authored-by: Giulio Andreini <andreini@netseven.it>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Ayato Hayashi <go12limchangyong@gmail.com>
2024-05-17 10:53:15 +02:00
Iván Ovejero
b8ab049932
refactor(core, editor): Remove legacy nodesAccess (no-changelog) (#9016) 2024-04-05 13:17:34 +02:00
Iván Ovejero
260bc07ca9
fix(core): Assign credential ownership correctly in source control import (#8955) 2024-03-26 17:18:41 +01:00
कारतोफ्फेलस्क्रिप्ट™
d6deceacde
refactor(core): Remove roleId indirection (no-changelog) (#8413) 2024-01-24 13:38:57 +01:00
कारतोफ्फेलस्क्रिप्ट™
f69ddcd796
refactor(core): Use Dependency Injection for all Controller classes (no-changelog) (#8146)
## Review / Merge checklist
- [x] PR title and summary are descriptive
2023-12-27 11:50:43 +01:00
Val
5f4a9524ec
refactor(core): Add central license mock for integration tests (no-changelog) (#7871)
Github issue / Community forum post (link here to close automatically):
2023-11-30 09:23:09 +01:00
कारतोफ्फेलस्क्रिप्ट™
0346b211a7
ci(core): Reduce memory usage in tests (part-1) (no-changelog) (#7654) 2023-11-08 16:29:39 +01:00
Michael Auerswald
fdac2c8572
feat(core): Add rsa option to ssh key generation (#7154)
PR adds a new field to the SourceControlPreferences as well as to the
POST parameters for the `source-control/preferences` and
`source-control/generate-key-pair` endpoints. Both now accept an
optional string parameter `keyGeneratorType` of `'ed25519' | 'rsa'`

Calling the `source-control/generate-key-pair` endpoint with the
parameter set, it will also update the stored preferences accordingly
(so that in the future new keys will use the same method)

By default ed25519 is being used. The default may be changed using a new
environment parameter:

`N8N_SOURCECONTROL_DEFAULT_SSH_KEY_TYPE` which can be `rsa` or `ed25519`

RSA keys are generated with a length of 4096 bytes.
2023-09-14 11:34:51 +02:00
Michael Auerswald
fc7aa8bd66
feat: Environments release using source control (#6653)
* initial telemetry setup and adjusted pull return

* quicksave before merge

* feat: add conflicting workflow list to pull modal

* feat: update source control pull modal

* fix: fix linting issue

* feat: add Enter keydown event for submitting source control push modal (no-changelog)

feat: add Enter keydown event for submitting source control push modal

* quicksave

* user workflow table for export

* improve telemetry data

* pull api telemetry

* fix lint

* Copy tweaks.

* remove authorName and authorEmail and pick from user

* rename owners.json to workflow_owners.json

* ignore credential conflicts on pull

* feat: several push/pull flow changes and design update

* pull and push return same data format

* fix: add One last step toast for successful pull

* feat: add up to date pull toast

* fix: add proper Learn more link for push and pull modals

* do not await tracking being sent

* fix import

* fix await

* add more sourcecontrolfile status

* Minor copy tweak for "More info".

* Minor copy tweak for "More info".

* ignore variable_stub conflicts on pull

* ignore whitespace differences

* do not show remote workflows that are not yet created

* fix telemetry

* fix toast when pulling deleted wf

* lint fix

* refactor and make some imports dynamic

* fix variable edit validation

* fix telemetry response

* improve telemetry

* fix unintenional delete commit

* fix status unknown issue

* fix up to date toast

* do not export active state and reapply versionid

* use update instead of upsert

* fix: show all workflows when clicking push to git

* feat: update Up to date pull translation

* fix: update read only env checks

* do not update versionid of only active flag changes

* feat: prevent access to new workflow and templates import when read only env

* feat: send only active state and version if workflow state is not dirty

* fix: Detect when only active state has changed and prevent generation a new version ID

* feat: improve readonly env messages

* make getPreferences public

* fix telemetry issue

* fix: add partial workflow update based on dirty state when changing active state

* update unit tests

* fix: remove unsaved changes check in readOnlyEnv

* fix: disable push to git button when read onyl env

* fix: update readonly toast duration

* fix: fix pinning and title input in protected mode

* initial commit (NOT working)

* working push

* cleanup and implement pull

* fix getstatus

* update import to new method

* var and tag diffs are no conflicts

* only show pull conflict for workflows

* refactor and ignore faulty credentials

* add sanitycheck for missing git folder

* prefer fetch over pull and limit depth to 1

* back to pull...

* fix setting branch on initial connect

* fix test

* remove clean workfolder

* refactor: Remove some unnecessary code

* Fixed links to docs.

* fix getstatus query params

* lint fix

* dialog to show local and remote name on conflict

* only show remote name on conflict

* fix credential expression export

* fix: Broken test

* dont show toast on pull with empty var/tags and refactor

* apply frontend changes from old branch

* fix tag with same name import

* fix buttons shown for non instance owners

* prepare local storage key for removal

* refactor: Change wording on pushing and pulling

* refactor: Change menu item

* test: Fix broken test

* Update packages/cli/src/environments/sourceControl/types/sourceControlPushWorkFolder.ts

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

---------

Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2023-07-26 09:25:01 +02:00