🔀 Merge branch 'master' into oauth-support

This commit is contained in:
Jan Oberhauser 2020-05-12 22:54:03 +02:00
commit a0564e649f
22 changed files with 88 additions and 35 deletions

View file

@ -1,6 +1,6 @@
# n8n Breaking Changes # n8n Breaking Changes
This list shows all the versions which include breaking changes and how to upgrade This list shows all the versions which include breaking changes and how to upgrade.
## ??? ## ???
@ -31,6 +31,62 @@ it has to get changed to:
``` ```
## 0.67.0
### What changed?
The names of the following nodes were not set correctly and got fixed:
- AMQP Sender
- Bitbucket-Trigger
- Coda
- Eventbrite-Trigger
- Flow
- Gumroad-Trigger
- Jira
- Mailchimp-Trigger
- PayPal Trigger
- Read PDF
- Rocketchat
- Shopify
- Shopify-Trigger
- Stripe-Trigger
- Toggl-Trigger
### When is action necessary?
If any of the nodes mentioned above, are used in any of your workflows.
### How to upgrade:
For the nodes mentioned above, you'll need to give them access to the credentials again by opening the credentials and moving them from "No Access" to "Access". After you've done that, there are two ways to upgrade the workflows and to make them work in the new version:
**Simple**
- Note down the settings of the nodes before upgrading
- After upgrading, delete the nodes mentioned above from your workflow, and recreate them
**Advanced**
After upgrading, select the whole workflow in the editor, copy it, and paste it into a text editor. In the JSON, change the node types manually by replacing the values for "type" as follows:
- "n8n-nodes-base.amqpSender" -> "n8n-nodes-base.amqp"
- "n8n-nodes-base.bitbucket" -> "n8n-nodes-base.bitbucketTrigger"
- "n8n-nodes-base.Coda" -> "n8n-nodes-base.coda"
- "n8n-nodes-base.eventbrite" -> "n8n-nodes-base.eventbriteTrigger"
- "n8n-nodes-base.Flow" -> "n8n-nodes-base.flow"
- "n8n-nodes-base.gumroad" -> "n8n-nodes-base.gumroadTrigger"
- "n8n-nodes-base.Jira Software Cloud" -> "n8n-nodes-base.jira"
- "n8n-nodes-base.Mailchimp" -> "n8n-nodes-base.mailchimpTrigger"
- "n8n-nodes-base.PayPal" -> "n8n-nodes-base.payPalTrigger"
- "n8n-nodes-base.Read PDF" -> "n8n-nodes-base.readPDF"
- "n8n-nodes-base.Rocketchat" -> "n8n-nodes-base.rocketchat"
- "n8n-nodes-base.shopify" -> "n8n-nodes-base.shopifyTrigger"
- "n8n-nodes-base.shopifyNode" -> "n8n-nodes-base.shopify"
- "n8n-nodes-base.stripe" -> "n8n-nodes-base.stripeTrigger"
- "n8n-nodes-base.toggl" -> "n8n-nodes-base.togglTrigger"
Then delete all existing nodes, and then paste the changed JSON directly into n8n. It should then recreate all the nodes and connections again, this time with working nodes.
## 0.62.0 ## 0.62.0
### What changed? ### What changed?

View file

@ -1,6 +1,6 @@
{ {
"name": "n8n", "name": "n8n",
"version": "0.66.0", "version": "0.67.0",
"description": "n8n Workflow Automation Tool", "description": "n8n Workflow Automation Tool",
"license": "SEE LICENSE IN LICENSE.md", "license": "SEE LICENSE IN LICENSE.md",
"homepage": "https://n8n.io", "homepage": "https://n8n.io",
@ -99,10 +99,10 @@
"lodash.get": "^4.4.2", "lodash.get": "^4.4.2",
"mongodb": "^3.5.5", "mongodb": "^3.5.5",
"mysql2": "^2.0.1", "mysql2": "^2.0.1",
"n8n-core": "~0.33.0", "n8n-core": "~0.34.0",
"n8n-editor-ui": "~0.44.0", "n8n-editor-ui": "~0.45.0",
"n8n-nodes-base": "~0.61.0", "n8n-nodes-base": "~0.62.0",
"n8n-workflow": "~0.30.0", "n8n-workflow": "~0.31.0",
"open": "^7.0.0", "open": "^7.0.0",
"pg": "^7.11.0", "pg": "^7.11.0",
"request-promise-native": "^1.0.7", "request-promise-native": "^1.0.7",

View file

@ -1,6 +1,6 @@
{ {
"name": "n8n-core", "name": "n8n-core",
"version": "0.33.0", "version": "0.34.0",
"description": "Core functionality of n8n", "description": "Core functionality of n8n",
"license": "SEE LICENSE IN LICENSE.md", "license": "SEE LICENSE IN LICENSE.md",
"homepage": "https://n8n.io", "homepage": "https://n8n.io",
@ -45,7 +45,7 @@
"crypto-js": "3.1.9-1", "crypto-js": "3.1.9-1",
"lodash.get": "^4.4.2", "lodash.get": "^4.4.2",
"mmmagic": "^0.5.2", "mmmagic": "^0.5.2",
"n8n-workflow": "~0.30.0", "n8n-workflow": "~0.31.0",
"p-cancelable": "^2.0.0", "p-cancelable": "^2.0.0",
"request": "^2.88.2", "request": "^2.88.2",
"request-promise-native": "^1.0.7" "request-promise-native": "^1.0.7"

View file

@ -1,6 +1,6 @@
{ {
"name": "n8n-editor-ui", "name": "n8n-editor-ui",
"version": "0.44.0", "version": "0.45.0",
"description": "Workflow Editor UI for n8n", "description": "Workflow Editor UI for n8n",
"license": "SEE LICENSE IN LICENSE.md", "license": "SEE LICENSE IN LICENSE.md",
"homepage": "https://n8n.io", "homepage": "https://n8n.io",
@ -64,7 +64,7 @@
"lodash.debounce": "^4.0.8", "lodash.debounce": "^4.0.8",
"lodash.get": "^4.4.2", "lodash.get": "^4.4.2",
"lodash.set": "^4.3.2", "lodash.set": "^4.3.2",
"n8n-workflow": "~0.30.0", "n8n-workflow": "~0.31.0",
"node-sass": "^4.12.0", "node-sass": "^4.12.0",
"prismjs": "^1.17.1", "prismjs": "^1.17.1",
"quill": "^2.0.0-dev.3", "quill": "^2.0.0-dev.3",

View file

@ -10,7 +10,7 @@ import {
export class Amqp implements INodeType { export class Amqp implements INodeType {
description: INodeTypeDescription = { description: INodeTypeDescription = {
displayName: 'AMQP Sender', displayName: 'AMQP Sender',
name: 'amqpSender', name: 'amqp',
icon: 'file:amqp.png', icon: 'file:amqp.png',
group: ['transform'], group: ['transform'],
version: 1, version: 1,

View file

@ -20,7 +20,7 @@ import {
export class BitbucketTrigger implements INodeType { export class BitbucketTrigger implements INodeType {
description: INodeTypeDescription = { description: INodeTypeDescription = {
displayName: 'Bitbucket Trigger', displayName: 'Bitbucket Trigger',
name: 'bitbucket', name: 'bitbucketTrigger',
icon: 'file:bitbucket.png', icon: 'file:bitbucket.png',
group: ['trigger'], group: ['trigger'],
version: 1, version: 1,

View file

@ -33,7 +33,7 @@ import {
export class Coda implements INodeType { export class Coda implements INodeType {
description: INodeTypeDescription = { description: INodeTypeDescription = {
displayName: 'Coda', displayName: 'Coda',
name: 'Coda', name: 'coda',
icon: 'file:coda.png', icon: 'file:coda.png',
group: ['output'], group: ['output'],
version: 1, version: 1,

View file

@ -20,7 +20,7 @@ import {
export class EventbriteTrigger implements INodeType { export class EventbriteTrigger implements INodeType {
description: INodeTypeDescription = { description: INodeTypeDescription = {
displayName: 'Eventbrite Trigger', displayName: 'Eventbrite Trigger',
name: 'eventbrite', name: 'eventbriteTrigger',
icon: 'file:eventbrite.png', icon: 'file:eventbrite.png',
group: ['trigger'], group: ['trigger'],
version: 1, version: 1,

View file

@ -18,12 +18,11 @@ import {
import { import {
ITask, TaskInfo, ITask, TaskInfo,
} from './TaskInterface'; } from './TaskInterface';
import { response } from 'express';
export class Flow implements INodeType { export class Flow implements INodeType {
description: INodeTypeDescription = { description: INodeTypeDescription = {
displayName: 'Flow', displayName: 'Flow',
name: 'Flow', name: 'flow',
icon: 'file:flow.png', icon: 'file:flow.png',
group: ['output'], group: ['output'],
version: 1, version: 1,

View file

@ -17,7 +17,7 @@ import {
export class GumroadTrigger implements INodeType { export class GumroadTrigger implements INodeType {
description: INodeTypeDescription = { description: INodeTypeDescription = {
displayName: 'Gumroad Trigger', displayName: 'Gumroad Trigger',
name: 'gumroad', name: 'gumroadTrigger',
icon: 'file:gumroad.png', icon: 'file:gumroad.png',
group: ['trigger'], group: ['trigger'],
version: 1, version: 1,

View file

@ -30,17 +30,17 @@ import {
NotificationRecipientsRestrictions, NotificationRecipientsRestrictions,
} from './IssueInterface'; } from './IssueInterface';
export class JiraSoftwareCloud implements INodeType { export class Jira implements INodeType {
description: INodeTypeDescription = { description: INodeTypeDescription = {
displayName: 'Jira Software', displayName: 'Jira Software',
name: 'Jira Software Cloud', name: 'jira',
icon: 'file:jira.png', icon: 'file:jira.png',
group: ['output'], group: ['output'],
version: 1, version: 1,
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}', subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
description: 'Consume Jira Software API', description: 'Consume Jira Software API',
defaults: { defaults: {
name: 'Jira Software', name: 'Jira',
color: '#4185f7', color: '#4185f7',
}, },
inputs: ['main'], inputs: ['main'],

View file

@ -18,7 +18,7 @@ import {
export class MailchimpTrigger implements INodeType { export class MailchimpTrigger implements INodeType {
description: INodeTypeDescription = { description: INodeTypeDescription = {
displayName: 'Mailchimp Trigger', displayName: 'Mailchimp Trigger',
name: 'Mailchimp', name: 'mailchimpTrigger',
icon: 'file:mailchimp.png', icon: 'file:mailchimp.png',
group: ['trigger'], group: ['trigger'],
version: 1, version: 1,

View file

@ -19,7 +19,7 @@ import {
export class PayPalTrigger implements INodeType { export class PayPalTrigger implements INodeType {
description: INodeTypeDescription = { description: INodeTypeDescription = {
displayName: 'PayPal Trigger', displayName: 'PayPal Trigger',
name: 'PayPal', name: 'payPalTrigger',
icon: 'file:paypal.png', icon: 'file:paypal.png',
group: ['trigger'], group: ['trigger'],
version: 1, version: 1,

View file

@ -14,7 +14,7 @@ const pdf = require('pdf-parse');
export class ReadPdf implements INodeType { export class ReadPdf implements INodeType {
description: INodeTypeDescription = { description: INodeTypeDescription = {
displayName: 'Read PDF', displayName: 'Read PDF',
name: 'Read PDF', name: 'readPDF',
icon: 'fa:file-pdf', icon: 'fa:file-pdf',
group: ['input'], group: ['input'],
version: 1, version: 1,

View file

@ -49,7 +49,7 @@ interface IPostMessageBody {
export class Rocketchat implements INodeType { export class Rocketchat implements INodeType {
description: INodeTypeDescription = { description: INodeTypeDescription = {
displayName: 'Rocketchat', displayName: 'Rocketchat',
name: 'Rocketchat', name: 'rocketchat',
icon: 'file:rocketchat.png', icon: 'file:rocketchat.png',
group: ['output'], group: ['output'],
version: 1, version: 1,

View file

@ -32,7 +32,7 @@ import {
export class Shopify implements INodeType { export class Shopify implements INodeType {
description: INodeTypeDescription = { description: INodeTypeDescription = {
displayName: 'Shopify', displayName: 'Shopify',
name: 'shopifyNode', name: 'shopify',
icon: 'file:shopify.png', icon: 'file:shopify.png',
group: ['output'], group: ['output'],
version: 1, version: 1,

View file

@ -21,7 +21,7 @@ import {
export class ShopifyTrigger implements INodeType { export class ShopifyTrigger implements INodeType {
description: INodeTypeDescription = { description: INodeTypeDescription = {
displayName: 'Shopify Trigger', displayName: 'Shopify Trigger',
name: 'shopify', name: 'shopifyTrigger',
icon: 'file:shopify.png', icon: 'file:shopify.png',
group: ['trigger'], group: ['trigger'],
version: 1, version: 1,

View file

@ -17,7 +17,7 @@ import {
export class StripeTrigger implements INodeType { export class StripeTrigger implements INodeType {
description: INodeTypeDescription = { description: INodeTypeDescription = {
displayName: 'Stripe Trigger', displayName: 'Stripe Trigger',
name: 'stripe', name: 'stripeTrigger',
icon: 'file:stripe.png', icon: 'file:stripe.png',
group: ['trigger'], group: ['trigger'],
version: 1, version: 1,

View file

@ -12,7 +12,7 @@ import { togglApiRequest } from './GenericFunctions';
export class TogglTrigger implements INodeType { export class TogglTrigger implements INodeType {
description: INodeTypeDescription = { description: INodeTypeDescription = {
displayName: 'Toggl Trigger', displayName: 'Toggl Trigger',
name: 'toggl', name: 'togglTrigger',
icon: 'file:toggl.png', icon: 'file:toggl.png',
group: ['trigger'], group: ['trigger'],
version: 1, version: 1,

View file

@ -15,8 +15,6 @@ import * as basicAuth from 'basic-auth';
import { Response } from 'express'; import { Response } from 'express';
import { set } from 'lodash';
import * as fs from 'fs'; import * as fs from 'fs';
import * as formidable from 'formidable'; import * as formidable from 'formidable';

View file

@ -1,6 +1,6 @@
{ {
"name": "n8n-nodes-base", "name": "n8n-nodes-base",
"version": "0.61.0", "version": "0.62.0",
"description": "Base nodes of n8n", "description": "Base nodes of n8n",
"license": "SEE LICENSE IN LICENSE.md", "license": "SEE LICENSE IN LICENSE.md",
"homepage": "https://n8n.io", "homepage": "https://n8n.io",
@ -198,7 +198,7 @@
"dist/nodes/Interval.node.js", "dist/nodes/Interval.node.js",
"dist/nodes/InvoiceNinja/InvoiceNinja.node.js", "dist/nodes/InvoiceNinja/InvoiceNinja.node.js",
"dist/nodes/InvoiceNinja/InvoiceNinjaTrigger.node.js", "dist/nodes/InvoiceNinja/InvoiceNinjaTrigger.node.js",
"dist/nodes/Jira/JiraSoftwareCloud.node.js", "dist/nodes/Jira/Jira.node.js",
"dist/nodes/JotForm/JotFormTrigger.node.js", "dist/nodes/JotForm/JotFormTrigger.node.js",
"dist/nodes/Keap/Keap.node.js", "dist/nodes/Keap/Keap.node.js",
"dist/nodes/Keap/KeapTrigger.node.js", "dist/nodes/Keap/KeapTrigger.node.js",
@ -299,7 +299,7 @@
"@types/xml2js": "^0.4.3", "@types/xml2js": "^0.4.3",
"gulp": "^4.0.0", "gulp": "^4.0.0",
"jest": "^24.9.0", "jest": "^24.9.0",
"n8n-workflow": "~0.30.0", "n8n-workflow": "~0.31.0",
"ts-jest": "^24.0.2", "ts-jest": "^24.0.2",
"tslint": "^5.17.0", "tslint": "^5.17.0",
"typescript": "~3.7.4" "typescript": "~3.7.4"
@ -323,7 +323,7 @@
"moment-timezone": "^0.5.28", "moment-timezone": "^0.5.28",
"mongodb": "^3.5.5", "mongodb": "^3.5.5",
"mysql2": "^2.0.1", "mysql2": "^2.0.1",
"n8n-core": "~0.33.0", "n8n-core": "~0.34.0",
"nodemailer": "^6.4.6", "nodemailer": "^6.4.6",
"pdf-parse": "^1.1.1", "pdf-parse": "^1.1.1",
"pg-promise": "^9.0.3", "pg-promise": "^9.0.3",

View file

@ -1,6 +1,6 @@
{ {
"name": "n8n-workflow", "name": "n8n-workflow",
"version": "0.30.0", "version": "0.31.0",
"description": "Workflow base code of n8n", "description": "Workflow base code of n8n",
"license": "SEE LICENSE IN LICENSE.md", "license": "SEE LICENSE IN LICENSE.md",
"homepage": "https://n8n.io", "homepage": "https://n8n.io",