Commit graph

808 commits

Author SHA1 Message Date
Iván Ovejero 81f43805aa
refactor(core): Stop reporting to Sentry node parameter value extraction failure (no-changelog) (#7587)
https://n8nio.sentry.io/issues/4595192919
2023-11-02 16:28:44 +01:00
Jan Oberhauser cc2bd2e19c
feat(HTTP Request Node): Add pagination support (#5993)
Is still WIP and does not implement the correct UI yet.

Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/pagination-included-into-http-node/15080

https://community.n8n.io/t/how-to-paginate-through-data-in-http-requests/28103
2023-11-01 14:24:43 +01:00
Jan Oberhauser 655efeaf66
feat(core): Add optional Error-Output (#7460)
Add an additional optional error output to which all items get sent that
could not be processed.
![Screenshot from 2023-10-18
17-29-15](https://github.com/n8n-io/n8n/assets/6249596/e9732807-ab2b-4662-a5f6-bdff24f7ad55)

Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/error-connector-for-nodes/3094

https://community.n8n.io/t/error-handling-at-node-level-detect-node-execution-status/26791

---------

Co-authored-by: OlegIvaniv <me@olegivaniv.com>
2023-10-30 18:42:47 +01:00
कारतोफ्फेलस्क्रिप्ट™ 35bb42c1b9
refactor(core): Avoid passing around static state like default timezone (no-changelog) (#7221) 2023-10-27 14:17:52 +02:00
Iván Ovejero 62c096710f
refactor: Run lintfix (no-changelog) (#7537)
- Fix autofixable violations
- Remove unused directives
- Allow for PascalCased variables - needed for dynamically imported or
assigned classes, decorators, routers, etc.
2023-10-27 14:15:02 +02:00
Iván Ovejero 07857e78a9
refactor(core): Stop reporting to Sentry non-execution of workflow with issues (#7533)
https://n8nio.sentry.io/issues/4578929841/
2023-10-27 10:09:23 +02:00
कारतोफ्फेलस्क्रिप्ट™ 65e5593233
fix(core): Upgrade crypto-js to address CVE-2023-46233 (#7519)
[GH Advisory](https://github.com/advisories/GHSA-xwcq-pm8m-c4vf)
2023-10-26 11:21:53 +02:00
कारतोफ्फेलस्क्रिप्ट™ 05586a900d
refactor(core): Make Logger a service (no-changelog) (#7494) 2023-10-25 16:35:22 +02:00
github-actions[bot] db4e61ba24
🚀 Release 1.14.0 (#7514)
# [1.14.0](https://github.com/n8n-io/n8n/compare/n8n@1.13.0...n8n@1.14.0)
(2023-10-25)


### Features

* **Switch Node:** Add support for infinite Switch outputs
([#7499](https://github.com/n8n-io/n8n/issues/7499))
([2febc61](2febc61ec9))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-10-25 15:34:57 +02:00
github-actions[bot] 2987587e34
🚀 Release 1.13.0 (#7512)
# [1.13.0](https://github.com/n8n-io/n8n/compare/n8n@1.12.0...n8n@1.13.0)
(2023-10-25)


### Bug Fixes

* **core:** Do not return `inviteAcceptUrl` in response if email was
sent ([#7465](https://github.com/n8n-io/n8n/issues/7465))
([55c6a1b](55c6a1b0d3))
* **core:** Ensure nodes post-processors run in the correct order
([#7500](https://github.com/n8n-io/n8n/issues/7500))
([6f45298](6f45298d3d))
* **core:** Fix `frontend.settings` external hook execution
([#7496](https://github.com/n8n-io/n8n/issues/7496))
([774fe20](774fe202bf))
* **core:** Handle gzip and deflate compressed request payloads
([#7461](https://github.com/n8n-io/n8n/issues/7461))
([83762e0](83762e051d))
* **core:** Reduce logging overhead for levels that do not output
([#7479](https://github.com/n8n-io/n8n/issues/7479))
([76c0481](76c04815f7))
* **Customer.io Node:** Fix api endpoint when using EU region
([#7485](https://github.com/n8n-io/n8n/issues/7485))
([519680c](519680c2cf))
* **editor:** Allow importing the same workflow multiple times
([#7458](https://github.com/n8n-io/n8n/issues/7458))
([3c0a166](3c0a166f7f))
* **editor:** Fix canvas selection breaking after interacting with node
actions ([#7466](https://github.com/n8n-io/n8n/issues/7466))
([bc47365](bc473655fb))
* **editor:** Fix connections disappearing after reactivating canvas and
renaming a node ([#7483](https://github.com/n8n-io/n8n/issues/7483))
([450e0cc](450e0cc66a))
* **Google Sheets Node:** Append or update runs forever when without
column headers ([#7463](https://github.com/n8n-io/n8n/issues/7463))
([ab6a9bb](ab6a9bbac2))
* **Microsoft SQL Node:** Prevent SQL injection
([#7467](https://github.com/n8n-io/n8n/issues/7467))
([a739245](a739245332))
* **MQTT Trigger Node:** Fix node causing a start up hang when active
([#7498](https://github.com/n8n-io/n8n/issues/7498))
([baecb93](baecb93bef))
* **MySQL Node:** Resolve expressions in v1
([#7464](https://github.com/n8n-io/n8n/issues/7464))
([5c46bb0](5c46bb09c1))
* **Redis Node:** Fix adding sets data types
([#7444](https://github.com/n8n-io/n8n/issues/7444))
([4e66023](4e66023cd4))
* **Spreadsheet File Node:** Fix include empty cells not working with v2
([#7505](https://github.com/n8n-io/n8n/issues/7505))
([05e6f2a](05e6f2a6ac))


### Features

* **core:** Add support for oauth based service accounts with UM SMTP
([#7311](https://github.com/n8n-io/n8n/issues/7311))
([647372b](647372be27))
* **editor:** Add PH tracking to event
([#7511](https://github.com/n8n-io/n8n/issues/7511))
([c47d27d](c47d27dd6d))
* **Facebook Lead Ads Trigger Node:** Add Facebook Lead Ads Trigger Node
([#7113](https://github.com/n8n-io/n8n/issues/7113))
([ac814a9](ac814a9c61))
* **Ghost Node:** Add support for lexical format
([#7488](https://github.com/n8n-io/n8n/issues/7488))
([7b1973c](7b1973c058))
* **RSS Feed Trigger Node:** Add RSS feed trigger node
([#7386](https://github.com/n8n-io/n8n/issues/7386))
([689360e](689360ee06))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-10-25 14:29:28 +02:00
कारतोफ्फेलस्क्रिप्ट™ 8ff9f97493
fix(core): Create instance settings directory recursively (no-changelog) (#7506) 2023-10-24 15:10:22 +02:00
Iván Ovejero 78243edd18
refactor(core): Make pruning via lifecycle configuration in S3 mode mandatory (#7482)
Since we do not store which executions produced binary data, for pruning
on S3 we need to query for binary data items for each execution in order
to delete them. To minimize requests to S3, allow the user to skip
pruning requests when setting TTL at bucket level.
2023-10-24 10:37:02 +02:00
कारतोफ्फेलस्क्रिप्ट™ a9fdd018f4
fix(core): Always derive instanceId from the encryption key (no-changlog) (#7501)
This was the expected behavior, until I changed it in
https://github.com/n8n-io/n8n/pull/7471
2023-10-24 09:55:57 +02:00
कारतोफ्फेलस्क्रिप्ट™ b6de910cbe
refactor(core): Abstract away InstanceSettings and encryptionKey into injectable services (no-changelog) (#7471)
This change ensures that things like `encryptionKey` and `instanceId`
are always available directly where they are needed, instead of passing
them around throughout the code.
2023-10-23 13:39:35 +02:00
कारतोफ्फेलस्क्रिप्ट™ 76c04815f7
fix(core): Reduce logging overhead for levels that do not output (#7479)
all current logging calls execute `callsites()` to figure out what code
tried to log. This happens even for logging methods that aren't supposed
to create any output. Under moderate load, this can take up quite a lot
of resources. This PR changes the logger to make all ignorable logging
methods a No-Op.

In a small benchmark with a simple webhook, with log-level set to
`warn`, and using `ab -c 50 -n 500
http://localhost:5678/webhook/testing`, these were the response times:

### Before

![Before](https://github.com/n8n-io/n8n/assets/196144/01680fd9-3d2a-4f7f-bb1c-5b03bd7d5bc3)

### After

![After](https://github.com/n8n-io/n8n/assets/196144/ccacb20a-48ca-455a-a8cb-098c9c0e352e)
2023-10-20 18:26:33 +02:00
Elias Meire ac814a9c61
feat(Facebook Lead Ads Trigger Node): Add Facebook Lead Ads Trigger Node (#7113)
Github issue / Community forum post (link here to close automatically):
https://community.n8n.io/t/facebook-lead-ads-integration/4590/19

---------

Co-authored-by: Marcus <marcus@n8n.io>
2023-10-20 13:43:55 +02:00
कारतोफ्फेलस्क्रिप्ट™ 91dfc4d513
feat(core): Update LLM applications building support (no-changelog) (#7418)
extracted out of #7336

---------

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: OlegIvaniv <me@olegivaniv.com>
Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com>
Co-authored-by: Val <68596159+valya@users.noreply.github.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Deborah <deborah@starfallprojects.co.uk>
Co-authored-by: Jesper Bylund <mail@jesperbylund.com>
Co-authored-by: Jon <jonathan.bennetts@gmail.com>
2023-10-20 10:52:56 +02:00
github-actions[bot] ef58a23d21
🚀 Release 1.12.0 (#7459)
# [1.12.0](https://github.com/n8n-io/n8n/compare/n8n@1.11.0...n8n@1.12.0)
(2023-10-18)


### Bug Fixes

* **core:** Add check that queue is defined and remove cyclic dependency
([#7404](https://github.com/n8n-io/n8n/issues/7404))
([45f2ef3](45f2ef373e))
* **core:** Do not throw when deleting workflows with executions without
binary-data ([#7411](https://github.com/n8n-io/n8n/issues/7411))
([2b6a15e](2b6a15e478))
* **core:** Fix expression with paired item with multi-input node
([#7424](https://github.com/n8n-io/n8n/issues/7424))
([ec14141](ec141416e2))
* **core:** Fix ignoring crashed executions without event msgs
([#7368](https://github.com/n8n-io/n8n/issues/7368))
([2f4d91b](2f4d91b2cd))
* **core:** Pg-promise de-initialization fix
([#7417](https://github.com/n8n-io/n8n/issues/7417))
([7703904](77039044eb))
* **core:** Prevent false stalled jobs in queue mode from displaying as
errored ([#7435](https://github.com/n8n-io/n8n/issues/7435))
([e01b9e5](e01b9e5ae1))
* **core:** Prevent undefined issues when restoring binary data
([#7419](https://github.com/n8n-io/n8n/issues/7419))
([46977a2](46977a2aff))
* **editor:** Fix remote options fetching on every keystroke
([#7320](https://github.com/n8n-io/n8n/issues/7320))
([367255a](367255ab2c))
* **editor:** Open only one tab with plans page
([#7377](https://github.com/n8n-io/n8n/issues/7377))
([c599006](c599006b91))
* **Google Sheets Node:** Update by row_number, restored 'Handling Extra
Data Option', updated Cell Format default
([#7357](https://github.com/n8n-io/n8n/issues/7357))
([d8531a5](d8531a53b9))
* **Ldap Node:** Fix issue with connections not closing correctly
([#7432](https://github.com/n8n-io/n8n/issues/7432))
([c3f0be8](c3f0be809f))
* **Set Node:** Null should not throw an error
([#7416](https://github.com/n8n-io/n8n/issues/7416))
([e9b6ab0](e9b6ab04cd))
* **TheHive 5 Node:** Observable encoding in alert > create fix
([#7450](https://github.com/n8n-io/n8n/issues/7450))
([a2d2e3d](a2d2e3dda7))


### Features

* **core:** Make executions pruning interval configurable
([#7439](https://github.com/n8n-io/n8n/issues/7439))
([40707fa](40707fa692))
* **Google Calendar Trigger Node:** Add support for cancelled events
([#7436](https://github.com/n8n-io/n8n/issues/7436))
([9d241a0](9d241a0d6d))
* **HubSpot Trigger Node:** Add support for ticket related events
([#7156](https://github.com/n8n-io/n8n/issues/7156))
([57c6093](57c609384a))
* **n8n Form Trigger Node:** New node
([#7130](https://github.com/n8n-io/n8n/issues/7130))
([3ddc176](3ddc176dfa))
* **Spreadsheet File Node:** Improve CSV parsing
([#7448](https://github.com/n8n-io/n8n/issues/7448))
([79f23fb](79f23fb939))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-10-18 17:43:29 +02:00
Iván Ovejero 609f0837cf
test(core): Add test for suppressing error on non-existing filepath (no-changelog) (#7421)
Follow-up to #7411
2023-10-13 11:52:17 +02:00
कारतोफ्फेलस्क्रिप्ट™ 2b6a15e478
fix(core): Do not throw when deleting workflows with executions without binary-data (#7411)
Fixes https://n8nio.sentry.io/issues/4508969090
2023-10-11 18:00:06 +02:00
github-actions[bot] e6ba841c5f
🚀 Release 1.11.0 (#7402)
# [1.11.0](https://github.com/n8n-io/n8n/compare/n8n@1.10.0...n8n@1.11.0)
(2023-10-11)


### Bug Fixes

* **core:** Add an option to enable postgres ssl with default certs
([#6889](https://github.com/n8n-io/n8n/issues/6889))
([789e1e7](789e1e7ed4))
* **core:** Fix error on missing paired item data
([#7399](https://github.com/n8n-io/n8n/issues/7399))
([47e8953](47e8953ec9))
* **core:** Missing pairing info
([#7326](https://github.com/n8n-io/n8n/issues/7326))
([e2c3c7a](e2c3c7aceb))
* **core:** Prevent object deletion request on no prefix match
([#7366](https://github.com/n8n-io/n8n/issues/7366))
([63e11e4](63e11e4be9))
* **editor:** Fix completions for `.json` on quoted node name in Code
node ([#7382](https://github.com/n8n-io/n8n/issues/7382))
([86e7ec7](86e7ec796a))
* **editor:** Implement canvas zoom UX improvements
([#7376](https://github.com/n8n-io/n8n/issues/7376))
([7e06b31](7e06b31a5f))
* **editor:** Make workflow history button available only for dev builds
([#7392](https://github.com/n8n-io/n8n/issues/7392))
([7ed466d](7ed466db7f))
* **editor:** Remove excess margin below run data editor
([#7372](https://github.com/n8n-io/n8n/issues/7372))
([3fa2764](3fa27647d8))
* **editor:** Sanitize HTML binary-data before rendering in the UI
([#7400](https://github.com/n8n-io/n8n/issues/7400))
([2b075bf](2b075bfc2d))
* **editor:** Use display option's @Version specifier
([#7351](https://github.com/n8n-io/n8n/issues/7351))
([afbf0c3](afbf0c3d5e))
* **Google BigQuery Node:** Location default to jobReference
([#7354](https://github.com/n8n-io/n8n/issues/7354))
([97bb703](97bb703d0a))
* **Google Drive Trigger Node:** Add Shared Drives support
([#7369](https://github.com/n8n-io/n8n/issues/7369))
([3e7a4d3](3e7a4d3b2c))
* **Google Sheets Node:** Fix "Maximum call stack size exceeded" error
on too many rows ([#7384](https://github.com/n8n-io/n8n/issues/7384))
([732b15a](732b15a1fa))
* **HTML Node:** Update property fields to not use expressions on drag
([#7379](https://github.com/n8n-io/n8n/issues/7379))
([77643e5](77643e5ccb))
* **Notion Node:** Handle empty values correctly for Notion selects +
multi selects ([#7383](https://github.com/n8n-io/n8n/issues/7383))
([fbcd1d4](fbcd1d40ed))
* **Set Node:** Increase search priority
([#7358](https://github.com/n8n-io/n8n/issues/7358))
([e5ad1e7](e5ad1e7e4d))
* **Webhook Node:** Backward compatible form-data parsing for non-array
files ([#7385](https://github.com/n8n-io/n8n/issues/7385))
([6479eb1](6479eb180f))


### Features

* **core:** Add Job Summary to Worker response
([#7360](https://github.com/n8n-io/n8n/issues/7360))
([b8608ce](b8608cee6d))
* **core:** Integrate object store as binary data manager
([#7253](https://github.com/n8n-io/n8n/issues/7253))
([1a661e6](1a661e6d00))
* **core:** Switch binary filesystem mode to nested path structure
([#7307](https://github.com/n8n-io/n8n/issues/7307))
([0847623](0847623f85))
* **editor:** Make PDF and Audio binary-data viewable in the UI
([#7367](https://github.com/n8n-io/n8n/issues/7367))
([8187be1](8187be1b7d))
* **editor:** Support autologin for upgrade path
([#7316](https://github.com/n8n-io/n8n/issues/7316))
([1dfa052](1dfa052301))
* **Execute Workflow Node:** Run once for each item mode
([#7289](https://github.com/n8n-io/n8n/issues/7289))
([c8c14ca](c8c14ca0af))
* **Item Lists Node:** Split merge binary data
([#7297](https://github.com/n8n-io/n8n/issues/7297))
([965db8f](965db8f7f2))
* **Loop Over Items (Split in Batches) Node:** Automatically add a loop
+ rename ([#7228](https://github.com/n8n-io/n8n/issues/7228))
([7b773cc](7b773cc5cc))
* **Notion Node:** Fetch child blocks recursively
([#7304](https://github.com/n8n-io/n8n/issues/7304))
([193181a](193181a9c6))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-10-11 13:38:34 +02:00
Iván Ovejero 0847623f85
feat(core): Switch binary filesystem mode to nested path structure (#7307)
Depends on #7253 | Story:
[PAY-863](https://linear.app/n8n/issue/PAY-863/switch-binary-filesystem-mode-to-nested-path-structure)

This PR introduces `filesystem-v2` to store binary data in the
filesystem in the same format as `s3`.
2023-10-10 10:06:06 +02:00
कारतोफ्फेलस्क्रिप्ट™ 597669aa62
refactor(core): Move copyInputItems to node helpers (no-changelog) (#7299) 2023-10-06 16:25:58 +02:00
Iván Ovejero 34bda535e6
refactor(core): Create controller for binary data (no-changelog) (#7363)
This PR adds a controller for binary data + integration tests.
2023-10-06 16:21:13 +02:00
Iván Ovejero 63e11e4be9
fix(core): Prevent object deletion request on no prefix match (#7366) 2023-10-06 15:46:39 +02:00
Iván Ovejero 1a661e6d00
feat(core): Integrate object store as binary data manager (#7253)
Depends on: #7225 | Story:
[PAY-848](https://linear.app/n8n/issue/PAY-848)

This PR integrates the object store service as a new binary data manager
for Enterprise.
2023-10-05 15:25:17 +02:00
github-actions[bot] aa1bf95136
🚀 Release 1.10.0 (#7350)
# [1.10.0](https://github.com/n8n-io/n8n/compare/n8n@1.9.0...n8n@1.10.0)
(2023-10-05)


### Bug Fixes

* **Convert to/from binary data Node:** Rename 'Move Binary Data' to
'Convert to/from binary data'
([#7318](https://github.com/n8n-io/n8n/issues/7318))
([5e6c1d4](5e6c1d4f4b))
* **core:** Account for itemless case on restoring binary data ID
([#7305](https://github.com/n8n-io/n8n/issues/7305))
([1691223](1691223789))
* **core:** Fix pruning of non-finished executions
([#7333](https://github.com/n8n-io/n8n/issues/7333))
([1b4848a](1b4848afcb))
* **editor:** Disable email confirmation banner for trialing users
([#7340](https://github.com/n8n-io/n8n/issues/7340))
([6d3d178](6d3d1789db))
* **editor:** Display value of selected matching column in RMC
([#7298](https://github.com/n8n-io/n8n/issues/7298))
([3aac22b](3aac22b4c1))
* **editor:** Fix canvas endpoint snapping when dragging connection
([#7346](https://github.com/n8n-io/n8n/issues/7346))
([b59b908](b59b9086d7))
* **editor:** Fix disappearing NDV header in code nodes
([#7290](https://github.com/n8n-io/n8n/issues/7290))
([7ebf8f3](7ebf8f327a))
* **editor:** Fix RLC not loading when an expression can't resolve
([#7295](https://github.com/n8n-io/n8n/issues/7295))
([ddc26c2](ddc26c21bd))
* **editor:** Separate cloud endpoint calls
([#7312](https://github.com/n8n-io/n8n/issues/7312))
([04dfcd7](04dfcd73be))
* **Jira Software Node:** Get all users in dropdown/RLC
([#7322](https://github.com/n8n-io/n8n/issues/7322))
([3704760](3704760724)),
closes [#2670](https://github.com/n8n-io/n8n/issues/2670)
* **Notion Node:** Rename Notion API Key to Internal Integration Token
([#7176](https://github.com/n8n-io/n8n/issues/7176))
([ec2aa38](ec2aa3819c))
* **Postgres Node:** Node requires comma-separated string even when
using a single parameter through an expression
([#7300](https://github.com/n8n-io/n8n/issues/7300))
([763d451](763d4514fa))
* **Set Node:** Do not stringify null and undefined
([#7313](https://github.com/n8n-io/n8n/issues/7313))
([f0a6687](f0a66873b9))
* **Typeform Trigger Node:** Change output format for TypeForm trigger
to object instead of array
([#7315](https://github.com/n8n-io/n8n/issues/7315))
([b3fc00e](b3fc00e045))


### Features

* **core:** Add "Sent by n8n" attribution
([#7183](https://github.com/n8n-io/n8n/issues/7183))
([8f9fe62](8f9fe6269b))
* **core:** Add support for building LLM applications
([#7235](https://github.com/n8n-io/n8n/issues/7235))
([00a4b8b](00a4b8b0c6)),
closes [#7246](https://github.com/n8n-io/n8n/issues/7246)
[#7137](https://github.com/n8n-io/n8n/issues/7137)
* Workflow History pruning and prune time settings
([#7343](https://github.com/n8n-io/n8n/issues/7343))
([0adc533](0adc533719))

Co-authored-by: krynble <krynble@users.noreply.github.com>
2023-10-05 14:12:37 +02:00
Michael Kret 8f9fe6269b
feat(core): Add "Sent by n8n" attribution (#7183)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
2023-10-03 11:18:59 +03:00
कारतोफ्फेलस्क्रिप्ट™ 00a4b8b0c6
feat(core): Add support for building LLM applications (#7235)
This extracts all core and editor changes from #7246 and #7137, so that
we can get these changes merged first.

ADO-1120

[DB Tests](https://github.com/n8n-io/n8n/actions/runs/6379749011)
[E2E Tests](https://github.com/n8n-io/n8n/actions/runs/6379751480)
[Workflow Tests](https://github.com/n8n-io/n8n/actions/runs/6379752828)

---------

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-10-02 17:33:43 +02:00
कारतोफ्फेलस्क्रिप्ट™ 6a1557bc50 Merge tag 'n8n@1.9.0' 2023-09-29 14:28:06 +02:00
कारतोफ्फेलस्क्रिप्ट™ f8406c04b1
ci: Fix typescript incremental builds (no-changelog) (#7275)
`tsBuildInfoFile` is supposed to be relative to `tsconfig` like `outDir`
is.
Because of this, we are currently saving the TS incremental build cache
for all packages in the same file. This is likely causing issues where
the built backend code sometimes does not accurately map to the current
source code.

This PR changes the incremental build setup to keep the cache in
individual `dist` folders, like it used to be up until a 2 months ago,
before https://github.com/n8n-io/n8n/pull/6816.
2023-09-29 13:26:06 +02:00
github-actions[bot] 167124ceb8
🚀 Release 1.9.0 (#7288)
# [1.9.0](https://github.com/n8n-io/n8n/compare/n8n@1.8.0...n8n@1.9.0)
(2023-09-28)


### Bug Fixes

* **Airtable Node:** Attachments field type fix
([#7227](https://github.com/n8n-io/n8n/issues/7227))
([2af967c](2af967cf88))
* **core:** Change WorkflowHistory nodes/connections columns to be json
([#7282](https://github.com/n8n-io/n8n/issues/7282))
([a80abad](a80abad3af))
* **core:** Fix binary data manager check on pruning
([#7251](https://github.com/n8n-io/n8n/issues/7251))
([484035e](484035eb51))
* **core:** Fix missing execution ID in webhook-based workflow producing
binary data ([#7244](https://github.com/n8n-io/n8n/issues/7244))
([33991e9](33991e92d0))
* **core:** Handle filename* with quotes in Content-Disposition header
([#7229](https://github.com/n8n-io/n8n/issues/7229))
([67b985f](67b985fe89))
* **core:** Make DNS resolution order configurable
([#7272](https://github.com/n8n-io/n8n/issues/7272))
([5b3121c](5b3121c415))
* **core:** Make senderId required for all command messages
([#7252](https://github.com/n8n-io/n8n/issues/7252))
([4b01428](4b014286cf))
* **core:** Prevent executions from displaying Running status
incorrectly ([#7261](https://github.com/n8n-io/n8n/issues/7261))
([861cac5](861cac5257))
* **core:** Use consistent timezone-aware timestamps in postgres
([#6948](https://github.com/n8n-io/n8n/issues/6948))
([0132514](0132514f8b)),
closes [#2178](https://github.com/n8n-io/n8n/issues/2178)
[#2810](https://github.com/n8n-io/n8n/issues/2810)
[#3855](https://github.com/n8n-io/n8n/issues/3855)
[#2813](https://github.com/n8n-io/n8n/issues/2813)
* **editor:** Add debug feature docs link
([#7240](https://github.com/n8n-io/n8n/issues/7240))
([4614e1e](4614e1e1c9))
* **editor:** Fix SQL editor issue
([#7236](https://github.com/n8n-io/n8n/issues/7236))
([647fc6c](647fc6c555))
* **editor:** Ensure new Set node is on top of search list
([#7215](https://github.com/n8n-io/n8n/issues/7215))
([2491ccf](2491ccf4d9))
* **editor:** Forbid password reset when cloud account is limited in the
number of users [7188](https://github.com/n8n-io/n8n/issues/7188)
([303bc8e](303bc8e71e))
* **HTTP Request Node:** Add suggestion how to fix '429 - too many
requests' errors ([#7293](https://github.com/n8n-io/n8n/issues/7293))
([0bc33b1](0bc33b1cc2))
* **Item Lists Node:** Concatenate operation pairedItems fix
([#7286](https://github.com/n8n-io/n8n/issues/7286))
([cde23a1](cde23a1bb1))
* **Respond to Webhook Node:** JSON output from expression fix
([#7294](https://github.com/n8n-io/n8n/issues/7294))
([8bc369d](8bc369dd40))


### Features

* Add onboarding flow
([#7212](https://github.com/n8n-io/n8n/issues/7212))
([01e9340](01e9340621))
* **core:** Add secrets provider reload and refactor
([#7277](https://github.com/n8n-io/n8n/issues/7277))
([53a7502](53a7502d20))
* **core:** Add Tournament as the new default expression evaluator
([#6964](https://github.com/n8n-io/n8n/issues/6964))
([bf74f09](bf74f09d69))
* **core:** Initial workflow history API
([#7234](https://github.com/n8n-io/n8n/issues/7234))
([0083a9e](0083a9e45d))
* **core:** Introduce object store service
([#7225](https://github.com/n8n-io/n8n/issues/7225))
([fa84545](fa845453bb))
* **editor:** Add user cloud ID to telemetry
[#7232](https://github.com/n8n-io/n8n/issues/7232)
([60c152d](60c152dc72))
* **editor:** Rework banners framework and add email confirmation banner
([#7205](https://github.com/n8n-io/n8n/issues/7205))
([b0e98b5](b0e98b59a6))
* **MISP Node:** Update credential to support HTTP Request node
([#7268](https://github.com/n8n-io/n8n/issues/7268))
([e4c302c](e4c302c683))


### Performance Improvements

* **core:** Skip unneeded calls on every pruning cycle
([#7260](https://github.com/n8n-io/n8n/issues/7260))
([db01164](db01164ce1))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-09-28 17:22:28 +02:00
Omar Ajoue 861cac5257
fix(core): Prevent executions from displaying Running status incorrectly (#7261)
Github issue / Community forum post (link here to close automatically):

https://linear.app/n8n/issue/HELP-338/large-number-of-long-running-executions-for-nadjalemlist#comment-18d1fc96

After investigating this issue with @ivov and @flipswitchingmonkey we've
identified this missing assignment of execution status.

This is the only inconsistency we've found that could cause executions
to continue displaying as `Running` even after finished.
2023-09-27 12:38:53 +02:00
Iván Ovejero fa845453bb
feat(core): Introduce object store service (#7225)
Depends on https://github.com/n8n-io/n8n/pull/7220 | Story:
[PAY-840](https://linear.app/n8n/issue/PAY-840/introduce-object-store-service-and-manager-for-binary-data)

This PR introduces an object store service for Enterprise edition. Note
that the service is tested but currently unused - it will be integrated
soon as a binary data manager, and later for execution data.
`amazonaws.com` in the host is temporarily hardcoded until we integrate
the service and test against AWS, Cloudflare and Backblaze, in the next
PR.

This is ready for review - the PR it depends on is approved and waiting
for CI.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-27 09:42:35 +02:00
Iván Ovejero 77d6e3fc07
refactor(core): Include workflow ID in binary data writes (no-changelog) (#7220)
Depends on: https://github.com/n8n-io/n8n/pull/7195 | Story:
[PAY-837](https://linear.app/n8n/issue/PAY-837/implement-object-store-manager-for-binary-data)

This PR includes `workflowId` in binary data writes so that the S3
manager can support this filepath structure
`/workflows/{workflowId}/executions/{executionId}/binaryData/{binaryFilename}`
to easily delete binary data for workflows. Also all binary data service
and manager methods that take `workflowId` and `executionId` are made
consistent in arg order.

Note: `workflowId` is included in filesystem mode for compatibility with
the common interface, but `workflowId` will remain unused by filesystem
mode until we decide to restructure how this mode stores data.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-25 18:04:52 +02:00
Iván Ovejero 75541e91f2
refactor(core)!: Make getBinaryStream async (#7247)
Story: [PAY-846](https://linear.app/n8n/issue/PAY-846) | Related:
https://github.com/n8n-io/n8n/pull/7225

For the S3 backend for external storage of binary data and execution
data, the `getAsStream` method in the binary data manager interface used
by FS and S3 will need to become async. This is a breaking change for
nodes-base.
2023-09-25 16:59:45 +02:00
Iván Ovejero 484035eb51
fix(core): Fix binary data manager check on pruning (#7251)
Ensure that we do not attempt to prune binary data in `default` binary
data mode.
2023-09-25 16:50:11 +02:00
Iván Ovejero 33991e92d0
fix(core): Fix missing execution ID in webhook-based workflow producing binary data (#7244)
Story: https://linear.app/n8n/issue/PAY-839

This is a longstanding bug, fixed now so that the S3 backend for binary
data can use execution IDs as part of the filename.

To reproduce:

1. Set up a workflow with a POST Webhook node that accepts binary data.
2. Activate the workflow and call it sending a binary file, e.g. `curl
-X POST -F "file=@/path/to/binary/file/test.jpg"
http://localhost:5678/webhook/uuid`
3. Check `~/.n8n/binaryData`. The binary data and metadata files will be
missing the execution ID, e.g. `11869055-83c4-4493-876a-9092c4708b9b`
instead of `39011869055-83c4-4493-876a-9092c4708b9b`.
2023-09-25 12:30:28 +02:00
Iván Ovejero dcc9cc13ed
feat(core): Remove storeMetadata and getSize from binary data manager interface (no-changelog) (#7195)
Depends on: #7164 | Story:
[PAY-838](https://linear.app/n8n/issue/PAY-838/introduce-object-store-service-for-binary-data)

This PR removes `storeMetadata` and `getSize` from the binary data
manager interface, as these are specific to filesystem mode. Also this
disambiguates identifiers:

```
binaryDataId
filesystem:289b4aac51e-dac6-4167-b793-6d5c415e2b47 {mode}:{fileId}

fileId - FS
289b4aac51e-dac6-4167-b793-6d5c415e2b47 {executionId}{uuid}

fileId - S3
/workflows/{workflowId}/executions/{executionId}/binary_data/b4aac51e-dac6-4167-b793-6d5c415e2b47
```

Note: The object store changes originally in this PR were extracted out
into the final PR.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-25 10:07:06 +02:00
Iván Ovejero 6d6e2488c6
refactor(core): Generalize binary data manager interface (no-changelog) (#7164)
Depends on: #7092 | Story:
[PAY-768](https://linear.app/n8n/issue/PAY-768)

This PR: 
- Generalizes the `IBinaryDataManager` interface.
- Adjusts `Filesystem.ts` to satisfy the interface.
- Sets up an S3 client stub to be filled in in the next PR.
- Turns `BinaryDataManager` into an injectable service.
- Adjusts the config schema and adds new validators.

Note that the PR looks large but all the main changes are in
`packages/core/src/binaryData`.

Out of scope:
- `BinaryDataManager` (now `BinaryDataService`) and `Filesystem.ts` (now
`fs.client.ts`) were slightly refactored for maintainability, but fully
overhauling them is **not** the focus of this PR, which is meant to
clear the way for the S3 implementation. Future improvements for these
two should include setting up a backwards-compatible dir structure that
makes it easier to locate binary data files to delete, removing
duplication, simplifying cloning methods, using integers for binary data
size instead of `prettyBytes()`, writing tests for existing binary data
logic, etc.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-22 17:22:12 +02:00
Iván Ovejero e8e44f6b6e
refactor(core): Log binary data file write errors (no-changelog) (#7237)
This PR adds logging for binary data file write errors, to capture why
executions sometimes point to non-existing binary data files. See
[Sentry
error](https://n8nio.sentry.io/issues/4495134693/?alert_rule_id=14556563&alert_type=issue&notification_uuid=4b50a5da-6ae9-472e-9658-984cca824762&project=4503924908883968&referrer=slack).
2023-09-22 11:48:20 +02:00
Elias Meire 67b985fe89
fix(core): Handle filename* with quotes in Content-Disposition header (#7229)
Github issue / Community forum post (link here to close automatically):
2023-09-21 14:54:10 +02:00
कारतोफ्फेलस्क्रिप्ट™ 8bb22292d5 Merge tag 'n8n@1.8.0' 2023-09-20 16:20:34 +02:00
Iván Ovejero cd08c8e4c6
refactor(core): Implement soft-deletions for executions (#7092)
Based on #7065 | Story: https://linear.app/n8n/issue/PAY-771

n8n on filesystem mode marks binary data to delete on manual execution
deletion, on unsaved execution completion, and on every execution
pruning cycle. We later prune binary data in a separate cycle via these
marker files, based on the configured TTL. In the context of introducing
an S3 client to manage binary data, the filesystem mode's mark-and-prune
setup is too tightly coupled to the general binary data management
client interface.

This PR...
- Ensures the deletion of an execution causes the deletion of any binary
data associated to it. This does away with the need for binary data TTL
and simplifies the filesystem mode's mark-and-prune setup.
- Refactors all execution deletions (including pruning) to cause soft
deletions, hard-deletes soft-deleted executions based on the existing
pruning config, and adjusts execution endpoints to filter out
soft-deleted executions. This reduces DB load, and keeps binary data
around long enough for users to access it when building workflows with
unsaved executions.
- Moves all execution pruning work from an execution lifecycle hook to
`execution.repository.ts`. This keeps related logic in a single place.
- Removes all marking logic from the binary data manager. This
simplifies the interface that the S3 client will meet.
- Adds basic sanity-check tests to pruning logic and execution deletion.

Out of scope:

- Improving existing pruning logic.
- Improving existing execution repository logic.
- Adjusting dir structure for filesystem mode.

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-20 15:21:42 +02:00
github-actions[bot] ecd5d93c19
🚀 Release 1.8.0 (#7219)
# [1.8.0](https://github.com/n8n-io/n8n/compare/n8n@1.7.0...n8n@1.8.0)
(2023-09-20)


### Bug Fixes

* **core:** Make parsing of content-type and content-disposition headers
more flexible ([#7217](https://github.com/n8n-io/n8n/issues/7217))
([d41546b](d41546b899)),
closes [#7149](https://github.com/n8n-io/n8n/issues/7149)
* **core:** Resolve domains to IPv4 first
([#7206](https://github.com/n8n-io/n8n/issues/7206))
([e9ce531](e9ce531210))
* **editor:** Add ssh key type selection to source control settings when
regenerating key ([#7172](https://github.com/n8n-io/n8n/issues/7172))
([54bf66d](54bf66d335))
* **editor:** No need to add click emitting click events, VUE delegates
the handler to the root element of the component
([#7182](https://github.com/n8n-io/n8n/issues/7182))
([3c055e4](3c055e4d8d))
* **editor:** Prevent duplicate creation of credential for OAuth2
([#7163](https://github.com/n8n-io/n8n/issues/7163))
([07a6417](07a6417f0f))
* **editor:** Testing flaky resource mapper feature in e2e tests
([#7165](https://github.com/n8n-io/n8n/issues/7165))
([aaf87c3](aaf87c3edd))
* **HTML Node:** Add pairedItem support for 'Convert to HTML Table'
operation ([#7196](https://github.com/n8n-io/n8n/issues/7196))
([6bc477b](6bc477b50e))
* **HTTP Request Node:** Decrease default timeout to 5min
([#7177](https://github.com/n8n-io/n8n/issues/7177))
([321780d](321780d4a2))
* **seven Node:** Rename sms77 to seven, fix credentials test
([#7180](https://github.com/n8n-io/n8n/issues/7180))
([cf776b8](cf776b8f17))
* **X (Formerly Twitter) Node:** Rename Twitter to X (keep Twitter
alias) ([#7179](https://github.com/n8n-io/n8n/issues/7179))
([d317e09](d317e09c59))


### Features

* **core:** Add command to trigger license refresh on workers
([#7184](https://github.com/n8n-io/n8n/issues/7184))
([9f797b9](9f797b96d8))
* **core:** Add rsa option to ssh key generation
([#7154](https://github.com/n8n-io/n8n/issues/7154))
([fdac2c8](fdac2c8572))
* **Linear Node:** Add support for OAuth2
([#7201](https://github.com/n8n-io/n8n/issues/7201))
([12a3168](12a3168367))
* **Microsoft Outlook Node:** Node overhaul
([#4449](https://github.com/n8n-io/n8n/issues/4449))
([556a613](556a6132ba))
* **Set Node:** Overhaul
([#6348](https://github.com/n8n-io/n8n/issues/6348))
([3a47455](3a474552b2))

Co-authored-by: krynble <krynble@users.noreply.github.com>
2023-09-20 15:10:20 +02:00
Elias Meire d41546b899
fix(core): Make parsing of content-type and content-disposition headers more flexible (#7217)
fixes #7149
2023-09-20 14:40:06 +02:00
Michael Kret 3a474552b2
feat(Set Node): Overhaul (#6348)
Github issue / Community forum post (link here to close automatically):
https://github.com/n8n-io/n8n/pull/6348

---------

Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Marcus <marcus@n8n.io>
2023-09-19 13:16:35 +03:00
github-actions[bot] a6e027b3ff
🚀 Release 1.7.0 (#7162)
# [1.7.0](https://github.com/n8n-io/n8n/compare/n8n@1.6.0...n8n@1.7.0)
(2023-09-13)


### Bug Fixes

* **Code Node:** Disable WASM to address CVE-2023-37903
([#7122](https://github.com/n8n-io/n8n/issues/7122))
([36a8e91](36a8e911e6))
* **Code Node:** Upgrade vm2 to address CVE-2023-37466
([#7123](https://github.com/n8n-io/n8n/issues/7123))
([0a35025](0a35025e5e))
* **core:** Disable Node.js custom inspection to address CVE-2023-37903
([#7125](https://github.com/n8n-io/n8n/issues/7125))
([a223734](a223734a4a))
* **editor** Account for nanoid workflow ids for subworkflow execute
policy ([#7094](https://github.com/n8n-io/n8n/issues/7094))
([67092c0](67092c0a1b))
* **editor:** Tweak hover area of workflow / cred cards
([#7108](https://github.com/n8n-io/n8n/issues/7108))
([217de21](217de21605))
* **editor:** Unbind workflow endpoint events in case of workspace reset
([#7129](https://github.com/n8n-io/n8n/issues/7129))
([c9b7948](c9b79485cf))
* **editor:** Update git repo url validation regex
([#7151](https://github.com/n8n-io/n8n/issues/7151))
([e51f173](e51f173608))
* **Google Cloud Firestore Node:** Fix empty string interpreted as
number ([#7136](https://github.com/n8n-io/n8n/issues/7136))
([915cfa0](915cfa0f6a))
* **HubSpot Node:** Fix issue with contact lists not working
([#5582](https://github.com/n8n-io/n8n/issues/5582))
([6e5a4f6](6e5a4f6a58))
* **Postgres Node:** Fix automatic column mapping
([#7121](https://github.com/n8n-io/n8n/issues/7121))
([92af131](92af1314fe))
* **Zoho CRM Node:** Fix issue with Sales Order not updating
([#6959](https://github.com/n8n-io/n8n/issues/6959))
([fd800b6](fd800b674b))


### Features

* **core:** Add an option to enable WAL mode for SQLite
([#7118](https://github.com/n8n-io/n8n/issues/7118))
([1d1a022](1d1a022def))
* **core:** Add commands to workers to respond with current state
([#7029](https://github.com/n8n-io/n8n/issues/7029))
([7b49cf2](7b49cf2a2c))
* **Salesforce Node:** Add fax field to lead option
([#7030](https://github.com/n8n-io/n8n/issues/7030))
([01f875a](01f875a94d))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-09-13 14:55:52 +02:00
github-actions[bot] 955bd327ff
🚀 Release 1.6.0 (#7120)
# [1.6.0](https://github.com/n8n-io/n8n/compare/n8n@1.5.1...n8n@1.6.0)
(2023-09-06)


### Bug Fixes

* **core:** Add support for in-transit encryption (TLS) on Redis
connections ([#7047](https://github.com/n8n-io/n8n/issues/7047))
([a910757](a910757cc5))
* **core:** Disallow orphan executions
([#7069](https://github.com/n8n-io/n8n/issues/7069))
([8a28e98](8a28e98ec8))
* **core:** Split event bus controller into community and ee
([#7107](https://github.com/n8n-io/n8n/issues/7107))
([011ee2e](011ee2e04b))
* **editor:** Standardize save text
([#7093](https://github.com/n8n-io/n8n/issues/7093))
([58b3492](58b3492b0d))
* Ensure all new executions are saved
([#7061](https://github.com/n8n-io/n8n/issues/7061))
([b8e06d2](b8e06d245f))
* Load remote resources even if expressions in non requried parameters
resolve ([#6987](https://github.com/n8n-io/n8n/issues/6987))
([8a8d4e8](8a8d4e8bb3))
* **Postgres Node:** Connection pool of the database object has been
destroyed ([#7074](https://github.com/n8n-io/n8n/issues/7074))
([9dd5f0e](9dd5f0e579))
* **Postgres Node:** Tunnel doesn't always close
([#7087](https://github.com/n8n-io/n8n/issues/7087))
([58e55ba](58e55ba669))


### Features

* **core:** Add list query middleware to credentials
([#7041](https://github.com/n8n-io/n8n/issues/7041))
([fd78021](fd78021b68))
* **core:** Add support for floating licenses
([#7090](https://github.com/n8n-io/n8n/issues/7090))
([e26553f](e26553f198))
* **core:** Migration for soft deletions for executions
([#7088](https://github.com/n8n-io/n8n/issues/7088))
([413e0bc](413e0bccb4))
* **HTTP Request Node:** Determine binary file name from
content-disposition headers
([#7032](https://github.com/n8n-io/n8n/issues/7032))
([273d091](273d0913fe))
* **TheHive Node:** Overhaul
([#6457](https://github.com/n8n-io/n8n/issues/6457))
([73e782e](73e782e2cf))

Co-authored-by: netroy <netroy@users.noreply.github.com>
2023-09-06 13:35:31 +02:00
कारतोफ्फेलस्क्रिप्ट™ 273d0913fe
feat(HTTP Request Node): Determine binary file name from content-disposition headers (#7032)
Fixes: 

https://community.n8n.io/t/http-request-node-read-filename-from-content-disposition-header-when-downloading-files/13453

https://community.n8n.io/t/read-filename-from-content-disposition-header-when-downloading-files/22192
2023-09-06 12:38:37 +02:00