Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
2fee439
:bug: Fix Test-Webhook registration issues
janober Sep 16, 2020
b90f4fb
:zap: Deactivate Asana Trigger webhhook validation
janober Sep 16, 2020
4056b68
:zap: Ignore credentials endpoint in Auth (#966)
ahsanv Sep 17, 2020
ddf995f
Add S3 documentation URL (#967)
harshil1712 Sep 17, 2020
cfe3f22
:zap: Coupon->Update returnData format fix, coupon description fix
Rupenieks Sep 17, 2020
690e76e
:zap: Add hook which gets called once n8n is ready
janober Sep 17, 2020
ce5a043
:zap: Add retweet, reply and like operations (#964)
RicardoE105 Sep 17, 2020
4192e7d
:zap: Minor improvements to Twitter-Node
janober Sep 17, 2020
a5655d0
:zap: Add self hosted support to Sentry.io Node (#965)
RicardoE105 Sep 17, 2020
1461e08
:zap: Small improvement (#957)
RicardoE105 Sep 17, 2020
bbfe59c
:sparkles: Add Taiga Integration (#939)
RicardoE105 Sep 17, 2020
219a0d2
:zap: Minor improvements to Taiga-Node
janober Sep 17, 2020
c522ba7
:sparkles: Add LinkedIn Integration (#942)
Rupenieks Sep 17, 2020
e5065ce
:zap: Minor improvements to LinkedIn-Node
janober Sep 17, 2020
8221cb5
:zap: Add 'typecast' functionality to Airtable node (#922)
samdotci Sep 18, 2020
30cef2a
:zap: Minor improvements to Airtable-Node
janober Sep 18, 2020
534b852
:zap: Add support for custom rules when checking emails. (#899)
remoremorali Sep 18, 2020
0ea3411
:zap: Improve changes to IMAP Node
janober Sep 18, 2020
e18d793
:zap: Fix build
janober Sep 18, 2020
a552feb
:zap: Feature/extended active campaign (#928)
RicardoE105 Sep 18, 2020
ed0f701
:zap: Minor improvements to ActiveCampaign-Node
janober Sep 18, 2020
283b40c
:zap: Add share operation to Google Drive (#968)
RicardoE105 Sep 18, 2020
43396b7
:zap: Minor improvements to GoogleDrive-Node
janober Sep 18, 2020
28d5f22
:zap: Remove debug code
janober Sep 18, 2020
c7f1bb5
:bookmark: Release n8n-workflow@0.41.0
janober Sep 18, 2020
cfcfb17
:arrow_up: Set n8n-workflow@0.41.0 on n8n-core
janober Sep 18, 2020
65320fa
:bookmark: Release n8n-core@0.46.0
janober Sep 18, 2020
e1298d8
:arrow_up: Set n8n-core@0.46.0 and n8n-workflow@0.41.0 on n8n-nodes-base
janober Sep 18, 2020
ce35dd9
:bookmark: Release n8n-nodes-base@0.78.0
janober Sep 18, 2020
e2e1dbe
:arrow_up: Set n8n-core@0.46.0, n8n-nodes-base@0.78.0 and n8n-workflo…
janober Sep 18, 2020
8f4cf16
:bookmark: Release n8n@0.83.0
janober Sep 18, 2020
a27e764
:zap: Copy edits to breaking changes for 0.83.0
tanay1337 Sep 18, 2020
2faa862
:zap: Auto mention users in reply tweets
janober Sep 19, 2020
6064aa1
:zap: Remove docker-compose exmple as support will be removed #962
janober Sep 20, 2020
9e97722
:bug: Fix issue with Google Sheets with non-latin Sheet names #961
janober Sep 20, 2020
f3b136a
:hammer: Add missing documentationUrl variables
tanay1337 Sep 21, 2020
24c95c4
:zap: Use short variables for direct input data
janober Sep 22, 2020
ea353bb
:bug: Fix bug with JSON attachments on Mandrill-Node
janober Sep 22, 2020
899ca1a
:zap: Fix naming of Hubspot Developer Credentials
janober Sep 23, 2020
fc6b196
:zap: Fix naming of Microsoft Credentials
janober Sep 23, 2020
1401ceb
:shirt: Fix lint issue
janober Sep 23, 2020
88ccc5c
:bug: Fix credential rename issue for active workflows #935
janober Sep 23, 2020
2db6ae0
:zap: Simplify documentation help code and display only if URL is set
janober Sep 23, 2020
62bc1a5
:bug: Fix credentials resolve issue
janober Sep 23, 2020
029581d
:bookmark: Release n8n-workflow@0.42.0
janober Sep 23, 2020
cf9fcf8
:arrow_up: Set n8n-workflow@0.42.0 on n8n-core
janober Sep 23, 2020
55f4fea
:bookmark: Release n8n-core@0.47.0
janober Sep 23, 2020
8ccc2e4
:arrow_up: Set n8n-core@0.47.0 and n8n-workflow@0.42.0 on n8n-nodes-base
janober Sep 23, 2020
c0bb416
:bookmark: Release n8n-nodes-base@0.79.0
janober Sep 23, 2020
3c3e172
:arrow_up: Set n8n-workflow@0.42.0 on n8n-editor-ui
janober Sep 23, 2020
b164470
:bookmark: Release n8n-editor-ui@0.57.0
janober Sep 23, 2020
5cb5020
:shirt: Fix lint issue
janober Sep 23, 2020
86ed2f3
:arrow_up: Set n8n-core@0.47.0, n8n-editor-ui@0.57.0, n8n-nodes-base@…
janober Sep 23, 2020
395fe69
:bookmark: Release n8n@0.84.0
janober Sep 23, 2020
3374fda
:zap: Make it possible to open endpoints
janober Sep 23, 2020
acae926
:bookmark: Release n8n@0.84.1
janober Sep 23, 2020
9cb106c
:bug: Fix issue that OAuth window did not close
janober Sep 23, 2020
9237409
:bookmark: Release n8n-editor-ui@0.57.1
janober Sep 23, 2020
8bca883
:arrow_up: Set n8n-editor-ui@0.57.1 on n8n
janober Sep 23, 2020
c3a7685
:bookmark: Release n8n@0.84.2
janober Sep 23, 2020
5214258
:bug: Set old version of jwks-rsa to fix build
janober Sep 23, 2020
bb33333
:bookmark: Release n8n@0.84.3
janober Sep 23, 2020
3ed3ee7
:zap: Fix issue #984 (#985)
RicardoE105 Sep 23, 2020
30121a0
:bookmark: Release n8n-nodes-base@0.79.1
janober Sep 23, 2020
6d7c506
:arrow_up: n8n-nodes-base@0.79.1 on n8n
janober Sep 23, 2020
93963da
:bookmark: Release n8n@0.84.4
janober Sep 23, 2020
fb59577
:zap: Remove necessary console logs
janober Sep 24, 2020
c5e14e4
:shirt: Fix lint issue
janober Sep 24, 2020
2072f53
:zap: Change bcrypt library to make it work better in windows
janober Sep 28, 2020
83f6f0c
:zap: Fix issue with some issue types on Jira
janober Sep 28, 2020
3350723
:zap: fix malformed html (#999)
RytisLT Sep 29, 2020
6f576b3
:zap: Add Schema to Postgres-Update #996
janober Sep 29, 2020
f168038
:zap: Get OAuth-Callback URLs from backend
janober Sep 30, 2020
23dbdbc
:zap: Add hook which allows to overwrite frontend settings
janober Sep 30, 2020
0f5bcd5
:bug: Fix issue #987 (#990)
RicardoE105 Sep 30, 2020
7f6e758
:bookmark: Release n8n-nodes-base@0.80.0
janober Sep 30, 2020
c2ba4b6
:bookmark: Release n8n-editor-ui@0.58.0
janober Sep 30, 2020
124bcdc
:arrow_up: Set n8n-editor-ui@0.58.0 and n8n-nodes-base@0.80.0 on n8n
janober Sep 30, 2020
70dc99d
:bookmark: Release n8n@0.85.0
janober Sep 30, 2020
9b57314
:sparkles: Add Wufoo-Trigger node (#597)
Rupenieks Oct 1, 2020
1710d2b
:shirt: Fix built issue by fixing lint issues
janober Oct 1, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions docker/compose/withMongo/.env

This file was deleted.

26 changes: 0 additions & 26 deletions docker/compose/withMongo/README.md

This file was deleted.

34 changes: 0 additions & 34 deletions docker/compose/withMongo/docker-compose.yml

This file was deleted.

17 changes: 0 additions & 17 deletions docker/compose/withMongo/init-data.sh

This file was deleted.

22 changes: 22 additions & 0 deletions packages/cli/BREAKING-CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,28 @@

This list shows all the versions which include breaking changes and how to upgrade.

## 0.83.0

### What changed?

In the Active Campaign Node, we have changed how the `getAll` operation works with various resources for the sake of consistency. To achieve this, a new parameter called 'Simple' has been added.

### When is action necessary?

When one of the following resources/operations is used:

| Resource | Operation |
|--|--|
| Deal | Get All |
| Connector | Get All |
| E-commerce Order | Get All |
| E-commerce Customer | Get All |
| E-commerce Order Products | Get All |

### How to upgrade:

Open the affected resource/operation and set the parameter `Simple` to false.

## 0.79.0

### What changed?
Expand Down
6 changes: 6 additions & 0 deletions packages/cli/config/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,12 @@ const config = convict({
},

security: {
excludeEndpoints: {
doc: 'Additional endpoints to exclude auth checks. Multiple endpoints can be separated by colon (":")',
format: String,
default: '',
env: 'N8N_AUTH_EXCLUDE_ENDPOINTS'
},
basicAuth: {
active: {
format: 'Boolean',
Expand Down
18 changes: 9 additions & 9 deletions packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "n8n",
"version": "0.82.1",
"version": "0.85.0",
"description": "n8n Workflow Automation Tool",
"license": "SEE LICENSE IN LICENSE.md",
"homepage": "https://n8n.io",
Expand Down Expand Up @@ -54,7 +54,7 @@
"devDependencies": {
"@oclif/dev-cli": "^1.22.2",
"@types/basic-auth": "^1.1.2",
"@types/bcrypt": "^3.0.0",
"@types/bcryptjs": "^2.4.1",
"@types/compression": "1.0.1",
"@types/connect-history-api-fallback": "^1.3.1",
"@types/convict": "^4.2.1",
Expand Down Expand Up @@ -82,7 +82,7 @@
"@oclif/errors": "^1.2.2",
"@types/jsonwebtoken": "^8.3.4",
"basic-auth": "^2.0.1",
"bcrypt": "^5.0.0",
"bcryptjs": "^2.4.3",
"body-parser": "^1.18.3",
"body-parser-xml": "^1.1.0",
"client-oauth2": "^4.2.5",
Expand All @@ -97,15 +97,15 @@
"google-timezones-json": "^1.0.2",
"inquirer": "^7.0.1",
"jsonwebtoken": "^8.5.1",
"jwks-rsa": "^1.6.0",
"jwks-rsa": "~1.9.0",
"localtunnel": "^2.0.0",
"lodash.get": "^4.4.2",
"mongodb": "^3.5.5",
"mysql2": "^2.0.1",
"n8n-core": "~0.45.0",
"n8n-editor-ui": "~0.56.0",
"n8n-nodes-base": "~0.77.0",
"n8n-workflow": "~0.40.0",
"mysql2": "~2.1.0",
"n8n-core": "~0.47.0",
"n8n-editor-ui": "~0.58.0",
"n8n-nodes-base": "~0.80.0",
"n8n-workflow": "~0.42.0",
"oauth-1.0a": "^2.2.6",
"open": "^7.0.0",
"pg": "^8.3.0",
Expand Down
8 changes: 7 additions & 1 deletion packages/cli/src/ActiveWorkflowRunner.ts
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,8 @@ export class ActiveWorkflowRunner {
await workflow.runWebhookMethod('delete', webhookData, NodeExecuteFunctions, mode, false);
}

await WorkflowHelpers.saveStaticData(workflow);

// if it's a mongo objectId convert it to string
if (typeof workflowData.id === 'object') {
workflowData.id = workflowData.id.toString();
Expand Down Expand Up @@ -495,7 +497,11 @@ export class ActiveWorkflowRunner {

if (this.activeWorkflows !== null) {
// Remove all the webhooks of the workflow
await this.removeWorkflowWebhooks(workflowId);
try {
await this.removeWorkflowWebhooks(workflowId);
} catch (error) {
console.error(`Could not remove webhooks of workflow "${workflowId}" because of error: "${error.message}"`);
}

if (this.activationErrors[workflowId] !== undefined) {
// If there were any activation errors delete them
Expand Down
4 changes: 4 additions & 0 deletions packages/cli/src/Interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,10 @@ export interface IN8nUISettings {
saveManualExecutions: boolean;
executionTimeout: number;
maxExecutionTimeout: number;
oauthCallbackUrls: {
oauth1: string;
oauth2: string;
};
timezone: string;
urlBaseWebhook: string;
versionCli: string;
Expand Down
51 changes: 35 additions & 16 deletions packages/cli/src/Server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import { RequestOptions } from 'oauth-1.0a';
import * as csrf from 'csrf';
import * as requestPromise from 'request-promise-native';
import { createHmac } from 'crypto';
import { compare } from 'bcrypt';
import { compare } from 'bcryptjs';

import {
ActiveExecutions,
Expand Down Expand Up @@ -121,7 +121,7 @@ class App {
push: Push.Push;
versions: IPackageVersions | undefined;
restEndpoint: string;

frontendSettings: IN8nUISettings;
protocol: string;
sslKey: string;
sslCert: string;
Expand Down Expand Up @@ -155,6 +155,25 @@ class App {

this.presetCredentialsLoaded = false;
this.endpointPresetCredentials = config.get('credentials.overwrite.endpoint') as string;

const urlBaseWebhook = WebhookHelpers.getWebhookBaseUrl();

this.frontendSettings = {
endpointWebhook: this.endpointWebhook,
endpointWebhookTest: this.endpointWebhookTest,
saveDataErrorExecution: this.saveDataErrorExecution,
saveDataSuccessExecution: this.saveDataSuccessExecution,
saveManualExecutions: this.saveManualExecutions,
executionTimeout: this.executionTimeout,
maxExecutionTimeout: this.maxExecutionTimeout,
timezone: this.timezone,
urlBaseWebhook,
versionCli: '',
oauthCallbackUrls: {
'oauth1': urlBaseWebhook + `${this.restEndpoint}/oauth1-credential/callback`,
'oauth2': urlBaseWebhook + `${this.restEndpoint}/oauth2-credential/callback`,
}
};
}


Expand All @@ -172,7 +191,16 @@ class App {
async config(): Promise<void> {

this.versions = await GenericHelpers.getVersions();
const authIgnoreRegex = new RegExp(`^\/(healthz|${this.endpointWebhook}|${this.endpointWebhookTest})\/?.*$`);
this.frontendSettings.versionCli = this.versions.cli;

await this.externalHooks.run('frontend.settings', [this.frontendSettings]);

const excludeEndpoints = config.get('security.excludeEndpoints') as string;

const ignoredEndpoints = ['healthz', this.endpointWebhook, this.endpointWebhookTest, this.endpointPresetCredentials];
ignoredEndpoints.push.apply(ignoredEndpoints, excludeEndpoints.split(':'));

const authIgnoreRegex = new RegExp(`^\/(${_(ignoredEndpoints).compact().join('|')})\/?.*$`);

// Check for basic auth credentials if activated
const basicAuthActive = config.get('security.basicAuth.active') as boolean;
Expand Down Expand Up @@ -1295,7 +1323,7 @@ class App {

const oAuth2Parameters = {
clientId: _.get(oauthCredentials, 'clientId') as string,
clientSecret: _.get(oauthCredentials, 'clientSecret', '') as string,
clientSecret: _.get(oauthCredentials, 'clientSecret', '') as string | undefined,
accessTokenUri: _.get(oauthCredentials, 'accessTokenUrl', '') as string,
authorizationUri: _.get(oauthCredentials, 'authUrl', '') as string,
redirectUri: `${WebhookHelpers.getWebhookBaseUrl()}${this.restEndpoint}/oauth2-credential/callback`,
Expand Down Expand Up @@ -1611,18 +1639,7 @@ class App {

// Returns the settings which are needed in the UI
this.app.get(`/${this.restEndpoint}/settings`, ResponseHelper.send(async (req: express.Request, res: express.Response): Promise<IN8nUISettings> => {
return {
endpointWebhook: this.endpointWebhook,
endpointWebhookTest: this.endpointWebhookTest,
saveDataErrorExecution: this.saveDataErrorExecution,
saveDataSuccessExecution: this.saveDataSuccessExecution,
saveManualExecutions: this.saveManualExecutions,
executionTimeout: this.executionTimeout,
maxExecutionTimeout: this.maxExecutionTimeout,
timezone: this.timezone,
urlBaseWebhook: WebhookHelpers.getWebhookBaseUrl(),
versionCli: this.versions!.cli,
};
return this.frontendSettings;
}));


Expand Down Expand Up @@ -1889,5 +1906,7 @@ export async function start(): Promise<void> {
const versions = await GenericHelpers.getVersions();
console.log(`n8n ready on ${ADDRESS}, port ${PORT}`);
console.log(`Version: ${versions.cli}`);

await app.externalHooks.run('n8n.ready', []);
});
}
Loading