node-red 3.0.2 → 3.1.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +140 -0
- package/lib/red.js +7 -1
- package/package.json +8 -8
- package/red.js +1 -1
- package/settings.js +25 -16
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,143 @@
|
|
|
1
|
+
#### 3.1.0-beta.2: Beta Release
|
|
2
|
+
|
|
3
|
+
Editor
|
|
4
|
+
|
|
5
|
+
- NEW: Add change icon to tabs (#4068) @knolleary
|
|
6
|
+
- NEW: Complete overhaul of Group UX (#4079) @knolleary
|
|
7
|
+
- NEW: Add link to node help in node edit dialog footer (#4065) @knolleary
|
|
8
|
+
- NEW: Added editor feature for connecting multiple nodes to single node (#4051) @sonntam
|
|
9
|
+
- NEW: Increase workspace size to 8000x8000 (#4094) @knolleary
|
|
10
|
+
- Ensure node buttons are redrawn when flow lock state is changed (#4091) @knolleary
|
|
11
|
+
- Prevent loops being created with junction nodes (#4087) @knolleary
|
|
12
|
+
- Prevent opening locked node's edit dialog (#4069) @knolleary
|
|
13
|
+
- Reverse direction of tab scroll to expected direction (#4064) @knolleary
|
|
14
|
+
- Add cancel operation to editableList (#4077) @HiroyasuNishiyama
|
|
15
|
+
- Apply Mermaid diagram for project settings UI (#4054) @kazuhitoyokoi
|
|
16
|
+
- Add tooltip for show/hide button on info sidebar (#4050) @kazuhitoyokoi
|
|
17
|
+
- Fix align nodes on locked tab (#4072) @HiroyasuNishiyama
|
|
18
|
+
- Fix importing connected link nodes into a subflow (#4082) @knolleary
|
|
19
|
+
- Fix to add empty marker to empty group (#4060) @HiroyasuNishiyama
|
|
20
|
+
- Fix image URLs for v3.0 tour (#4053) @kazuhitoyokoi
|
|
21
|
+
- Show scrollbar in notification dialog only when needed (#4048) @kazuhitoyokoi
|
|
22
|
+
- Update-monaco-and-typings (#4089) @Steve-Mcl
|
|
23
|
+
- Update jquery UI (#4088) @knolleary
|
|
24
|
+
- Support i18n of lock/unlock buttons in flow property UI (#4049) @kazuhitoyokoi
|
|
25
|
+
- Translation kr (#3895) @hae-iotplatform
|
|
26
|
+
- Translation zhcn (!!请懂中文的帮忙review) (#3952) @cliyr
|
|
27
|
+
- Add French translation of nodes (#3964) @GogoVega
|
|
28
|
+
- Add French translation (#3962) @GogoVega
|
|
29
|
+
- Portuguese Brazilian (pt-BR) translation (#3804) @FabsMuller
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
Runtime
|
|
33
|
+
|
|
34
|
+
- NEW: Generate stable ids for subflow instance internal nodes (#4093) @knolleary
|
|
35
|
+
- NEW: Change default file name to flows.json in project feature (#4073) @kazuhitoyokoi
|
|
36
|
+
- NEW: Deprecate synchronous access to jsonata (#4090) @knolleary
|
|
37
|
+
- Add Node 18 to test matrix (#4084) @knolleary
|
|
38
|
+
- Bump minimum nodejs version supported to match documented value (#4086) @knolleary
|
|
39
|
+
- Update monaco docs link in settings.js (#4075) @Steve-Mcl
|
|
40
|
+
- Remove duplicated messages in the message catalog (#4066) @kazuhitoyokoi
|
|
41
|
+
- Ensure errors in preDeliver callback are handled (#3911) @knolleary
|
|
42
|
+
- Fix "EADDRINUSE" error (#4046) @bggbr
|
|
43
|
+
|
|
44
|
+
Nodes
|
|
45
|
+
|
|
46
|
+
- Link Call: Clear link-call timeouts when node is closed (#4085) @knolleary
|
|
47
|
+
- Join: ensure inflight status is cleared when in auto mode (#4083) @knolleary
|
|
48
|
+
- File Out: Fix extra newline append for multipart file write (#3915) @dceejay
|
|
49
|
+
- Add validators for complete and link call nodes (#4056) @kazuhitoyokoi
|
|
50
|
+
|
|
51
|
+
#### 3.1.0-beta.1: Beta Release
|
|
52
|
+
|
|
53
|
+
Editor
|
|
54
|
+
|
|
55
|
+
- NEW: Locking Flows (#3938) @knolleary
|
|
56
|
+
- NEW: Improve UX around hiding flows via context menu (#3930) @knolleary
|
|
57
|
+
- NEW: Add support for inline image in markdown editor by drag and drop of an image file (#4006) @HiroyasuNishiyama
|
|
58
|
+
- NEW: Add support for mermaid diagram to markdown editor (#4007) @HiroyasuNishiyama
|
|
59
|
+
- NEW: Support uri fragments for nodes and groups including edit support (#3870) @knolleary
|
|
60
|
+
- NEW: Add global environment variable feature (#3941) @HiroyasuNishiyama
|
|
61
|
+
|
|
62
|
+
- Remember compact/pretty flow export user choice (#3974) @Steve-Mcl
|
|
63
|
+
- fix .red-ui-notification class (#4035) @xiaobinqt
|
|
64
|
+
- Fix border radius on Modules list header (#4038) @bonanitech
|
|
65
|
+
- fix workspace reference error in case of empty tabs (#4029) @HiroyasuNishiyama
|
|
66
|
+
- Disable delete tab menu when single tab exists (#4030) @HiroyasuNishiyama
|
|
67
|
+
- Disable hide all menu if all tabs hidden (#4031) @HiroyasuNishiyama
|
|
68
|
+
- fix hide subflow tooltip (#4033) @HiroyasuNishiyama
|
|
69
|
+
- Fix disabled menu items in project feature (#4027) @kazuhitoyokoi
|
|
70
|
+
- Let themes change radialMenu text colors (#3995) @bonanitech
|
|
71
|
+
- Add Japanese translations for v3.0.3 (#4012) @kazuhitoyokoi
|
|
72
|
+
- Add Japanese translation for v3.1.0-beta.0 (#3997) @kazuhitoyokoi
|
|
73
|
+
- Add Japanese translation for v3.1.0-beta.0 (#3916) @kazuhitoyokoi
|
|
74
|
+
- Hide subflow category after deleting subflow (#3980) @kazuhitoyokoi
|
|
75
|
+
- Prevent dbl-click opening node edit dialog with text selected (#3970) @knolleary
|
|
76
|
+
- Handle replacing unknown node inside group or subflow (#3921) @knolleary
|
|
77
|
+
- Fix #3939, red border red-ui-typedInput-container (#3949) @Steveorevo
|
|
78
|
+
- i18n item URL copy notification & add Japanese message (#3946) @HiroyasuNishiyama
|
|
79
|
+
- add Japanese message for item url copy actions (#3947) @HiroyasuNishiyama
|
|
80
|
+
- Fix autocomplete entry for responseUrl (#3884) @knolleary
|
|
81
|
+
- Fix Japanese translation for JSONata editor (#3872) @HiroyasuNishiyama
|
|
82
|
+
- Fix search type with spaces (#3841) @Steve-Mcl
|
|
83
|
+
- Fix error hanndling of JSONata expression editor for extended functions (#3871) @HiroyasuNishiyama
|
|
84
|
+
- Add button type to the adding SSH key button (#3866) @kazuhitoyokoi
|
|
85
|
+
- Check radio button as default in project dialog (#3879) @kazuhitoyokoi
|
|
86
|
+
- Add $clone as supported function (#3874) @HiroyasuNishiyama
|
|
87
|
+
- Env var jsonata (#3807) @HiroyasuNishiyama
|
|
88
|
+
- Add Japanese translation for v3.0.2 (#3852) @kazuhitoyokoi
|
|
89
|
+
|
|
90
|
+
Runtime
|
|
91
|
+
|
|
92
|
+
- Force IPv4 name resolution to have priority (#4019) @dceejay
|
|
93
|
+
- Fix async loading of modules containing both nodes and plugins (#3999) @knolleary
|
|
94
|
+
- Use main branch as default in project feature (#4036) @kazuhitoyokoi
|
|
95
|
+
- Rename package var to avoid strict mode error (#4020) @knolleary
|
|
96
|
+
- Fix typos in settings.js (#4013) @ypid
|
|
97
|
+
- Ensure credentials object is removed before returning node in getFlow request (#3971) @knolleary
|
|
98
|
+
- Ignore commit error in project feature (#3987) @kazuhitoyokoi
|
|
99
|
+
- Update dependencies (#3969) @knolleary
|
|
100
|
+
- Add check that node sends object rather than primitive type (#3909) @knolleary
|
|
101
|
+
- Ensure key_path is quoted in GIT_SSH_COMMAND in case of spaces in pathname (#3912) @knolleary
|
|
102
|
+
- Fix nodesDir scan when node package has js/html in sub dir to package.json (#3867) @Steve-Mcl
|
|
103
|
+
- Fix file permissions (#3917) @kazuhitoyokoi
|
|
104
|
+
- ci: add minimum GitHub token permissions for workflows (#3907) @boahc077
|
|
105
|
+
|
|
106
|
+
Nodes
|
|
107
|
+
|
|
108
|
+
- Catch: fix typo in catch.html (#3965) @we11adam
|
|
109
|
+
- Change: Fix change node overwriting msg with itself (#3899) @dceejay
|
|
110
|
+
- Comment node: Clarify where the text will appear (#4004) @dirkjanfaber
|
|
111
|
+
- CSV: change replace to replaceAll (#3990) @dceejay
|
|
112
|
+
- CSV node: check header properties for ' and " (#3920) @dceejay
|
|
113
|
+
- CSV: Fix for CSV undefined property (#3906) @dceejay
|
|
114
|
+
- Delay: let delay node handle both flush then reset (#3898) @dceejay
|
|
115
|
+
- Function: Limit number of ports in function node (#3886) @kazuhitoyokoi
|
|
116
|
+
- Function: Remove dot from variable name for external module in function node (#3880) @kazuhitoyokoi
|
|
117
|
+
- Function: add function node monaco types util and promisify (#3868) @Steve-Mcl
|
|
118
|
+
- HTTP In: Ensure msg.req.headers is enumerable (#3908) @knolleary
|
|
119
|
+
- HTTP Request: Support form-data arrays (#3991) @hardillb
|
|
120
|
+
- HTTP Request: Fix httprequest tests to be more lenient on error message (#3922) @knolleary
|
|
121
|
+
- HTTP Request: Add missing property to node object HTTPRequest (#3842) @hardillb
|
|
122
|
+
- HTTP Request/Response: Support sortable list on property UI of http request and http response nodes (#3857) @kazuhitoyokoi
|
|
123
|
+
- HTTP Response: Ensure statusCode is a number (#3894) @hardillb
|
|
124
|
+
- Inject: Allow Inject node to work with async context stores (#4021) @knolleary
|
|
125
|
+
- Join/Batch: Add count to join and batch node labels (#4028) @dceejay
|
|
126
|
+
- MQTT: Fix birth topic handling in MQTT node (#3905) @Steve-Mcl
|
|
127
|
+
- MQTT: Fix pull-down menus of MQTT configuration node (#3890) @kazuhitoyokoi
|
|
128
|
+
- MQTT: Prevent invalid mqtt birth topic crashing node-red (#3869) @Steve-Mcl
|
|
129
|
+
- MQTT: ensure sessionExpiry(Interval) is applied (#3840) @Steve-Mcl
|
|
130
|
+
- MQTT: Fix mqtt nodes not reconnecting on modified-flows deploy (#3992) @knolleary
|
|
131
|
+
- MQTT: fix single subscription mqtt node status (#3966) @Steve-Mcl
|
|
132
|
+
- Range: Add drop mode to range node (#3935) @dceejay
|
|
133
|
+
- Remove done from describe (#3873) @HiroyasuNishiyama
|
|
134
|
+
- Split node: avoid duplicate done call for buffer split (#4000) @knolleary
|
|
135
|
+
- Status: Fix typo in 25-status.html (#3981) @kazuhitoyokoi
|
|
136
|
+
- TCP Node: ensure newline substitution applies to whole message (#4009) @dceejay
|
|
137
|
+
- Template: Add information about environment variable to template node (#3882) @kazuhitoyokoi
|
|
138
|
+
- Trigger: Hide trigger node repeat send option if sending nothing (#4023) @dceejay
|
|
139
|
+
- Watch: fix watch node test on MacOS/ARM (#3942) @HiroyasuNishiyama
|
|
140
|
+
|
|
1
141
|
#### 3.0.2: Maintenance Release
|
|
2
142
|
|
|
3
143
|
Editor
|
package/lib/red.js
CHANGED
|
@@ -25,9 +25,15 @@ var api = require("@node-red/editor-api");
|
|
|
25
25
|
var server = null;
|
|
26
26
|
var apiEnabled = false;
|
|
27
27
|
|
|
28
|
+
const NODE_MAJOR_VERSION = process.versions.node.split('.')[0];
|
|
29
|
+
if (NODE_MAJOR_VERSION > 14) {
|
|
30
|
+
const dns = require('node:dns');
|
|
31
|
+
dns.setDefaultResultOrder('ipv4first');
|
|
32
|
+
}
|
|
33
|
+
|
|
28
34
|
function checkVersion(userSettings) {
|
|
29
35
|
var semver = require('semver');
|
|
30
|
-
if (!semver.satisfies(process.version,">=
|
|
36
|
+
if (!semver.satisfies(process.version,">=14.0.0")) {
|
|
31
37
|
// TODO: in the future, make this a hard error.
|
|
32
38
|
// var e = new Error("Unsupported version of Node.js");
|
|
33
39
|
// e.code = "unsupported_version";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-red",
|
|
3
|
-
"version": "3.0.2",
|
|
3
|
+
"version": "3.1.0-beta.2",
|
|
4
4
|
"description": "Low-code programming for event-driven applications",
|
|
5
5
|
"homepage": "http://nodered.org",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -31,20 +31,20 @@
|
|
|
31
31
|
"flow"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@node-red/editor-api": "3.0.2",
|
|
35
|
-
"@node-red/runtime": "3.0.2",
|
|
36
|
-
"@node-red/util": "3.0.2",
|
|
37
|
-
"@node-red/nodes": "3.0.2",
|
|
34
|
+
"@node-red/editor-api": "3.1.0-beta.2",
|
|
35
|
+
"@node-red/runtime": "3.1.0-beta.2",
|
|
36
|
+
"@node-red/util": "3.1.0-beta.2",
|
|
37
|
+
"@node-red/nodes": "3.1.0-beta.2",
|
|
38
38
|
"basic-auth": "2.0.1",
|
|
39
39
|
"bcryptjs": "2.4.3",
|
|
40
|
-
"express": "4.18.
|
|
40
|
+
"express": "4.18.2",
|
|
41
41
|
"fs-extra": "10.1.0",
|
|
42
42
|
"node-red-admin": "^3.0.0",
|
|
43
43
|
"nopt": "5.0.0",
|
|
44
|
-
"semver": "7.3.
|
|
44
|
+
"semver": "7.3.8"
|
|
45
45
|
},
|
|
46
46
|
"optionalDependencies": {
|
|
47
|
-
"bcrypt": "5.0
|
|
47
|
+
"bcrypt": "5.1.0"
|
|
48
48
|
},
|
|
49
49
|
"engines": {
|
|
50
50
|
"node": ">=14"
|
package/red.js
CHANGED
|
@@ -458,7 +458,7 @@ httpsPromise.then(function(startupHttps) {
|
|
|
458
458
|
RED.start().then(function() {
|
|
459
459
|
if (settings.httpAdminRoot !== false || settings.httpNodeRoot !== false || settings.httpStatic) {
|
|
460
460
|
server.on('error', function(err) {
|
|
461
|
-
if (err.
|
|
461
|
+
if (err.code === "EADDRINUSE") {
|
|
462
462
|
RED.log.error(RED.log._("server.unable-to-listen", {listenpath:getListenPath()}));
|
|
463
463
|
RED.log.error(RED.log._("server.port-in-use"));
|
|
464
464
|
} else {
|
package/settings.js
CHANGED
|
@@ -181,7 +181,7 @@ module.exports = {
|
|
|
181
181
|
|
|
182
182
|
/** Some nodes, such as HTTP In, can be used to listen for incoming http requests.
|
|
183
183
|
* By default, these are served relative to '/'. The following property
|
|
184
|
-
* can be used to
|
|
184
|
+
* can be used to specify a different root path. If set to false, this is
|
|
185
185
|
* disabled.
|
|
186
186
|
*/
|
|
187
187
|
//httpNodeRoot: '/red-nodes',
|
|
@@ -219,17 +219,17 @@ module.exports = {
|
|
|
219
219
|
/** When httpAdminRoot is used to move the UI to a different root path, the
|
|
220
220
|
* following property can be used to identify a directory of static content
|
|
221
221
|
* that should be served at http://localhost:1880/.
|
|
222
|
-
* When httpStaticRoot is set differently to httpAdminRoot, there is no need
|
|
222
|
+
* When httpStaticRoot is set differently to httpAdminRoot, there is no need
|
|
223
223
|
* to move httpAdminRoot
|
|
224
224
|
*/
|
|
225
225
|
//httpStatic: '/home/nol/node-red-static/', //single static source
|
|
226
226
|
/* OR multiple static sources can be created using an array of objects... */
|
|
227
227
|
//httpStatic: [
|
|
228
|
-
// {path: '/home/nol/pics/', root: "/img/"},
|
|
229
|
-
// {path: '/home/nol/reports/', root: "/doc/"},
|
|
228
|
+
// {path: '/home/nol/pics/', root: "/img/"},
|
|
229
|
+
// {path: '/home/nol/reports/', root: "/doc/"},
|
|
230
230
|
//],
|
|
231
231
|
|
|
232
|
-
/**
|
|
232
|
+
/**
|
|
233
233
|
* All static routes will be appended to httpStaticRoot
|
|
234
234
|
* e.g. if httpStatic = "/home/nol/docs" and httpStaticRoot = "/static/"
|
|
235
235
|
* then "/home/nol/docs" will be served at "/static/"
|
|
@@ -256,11 +256,11 @@ module.exports = {
|
|
|
256
256
|
*/
|
|
257
257
|
// lang: "de",
|
|
258
258
|
|
|
259
|
-
/** Configure diagnostics options
|
|
259
|
+
/** Configure diagnostics options
|
|
260
260
|
* - enabled: When `enabled` is `true` (or unset), diagnostics data will
|
|
261
|
-
* be available at http://localhost:1880/diagnostics
|
|
262
|
-
* - ui: When `ui` is `true` (or unset), the action `show-system-info` will
|
|
263
|
-
* be available to logged in users of node-red editor
|
|
261
|
+
* be available at http://localhost:1880/diagnostics
|
|
262
|
+
* - ui: When `ui` is `true` (or unset), the action `show-system-info` will
|
|
263
|
+
* be available to logged in users of node-red editor
|
|
264
264
|
*/
|
|
265
265
|
diagnostics: {
|
|
266
266
|
/** enable or disable diagnostics endpoint. Must be set to `false` to disable */
|
|
@@ -268,10 +268,10 @@ module.exports = {
|
|
|
268
268
|
/** enable or disable diagnostics display in the node-red editor. Must be set to `false` to disable */
|
|
269
269
|
ui: true,
|
|
270
270
|
},
|
|
271
|
-
/** Configure runtimeState options
|
|
272
|
-
* - enabled: When `enabled` is `true` flows runtime can be Started/
|
|
273
|
-
* by POSTing to available at http://localhost:1880/flows/state
|
|
274
|
-
* - ui: When `ui` is `true`, the action `core:start-flows` and
|
|
271
|
+
/** Configure runtimeState options
|
|
272
|
+
* - enabled: When `enabled` is `true` flows runtime can be Started/Stopped
|
|
273
|
+
* by POSTing to available at http://localhost:1880/flows/state
|
|
274
|
+
* - ui: When `ui` is `true`, the action `core:start-flows` and
|
|
275
275
|
* `core:stop-flows` will be available to logged in users of node-red editor
|
|
276
276
|
* Also, the deploy menu (when set to default) will show a stop or start button
|
|
277
277
|
*/
|
|
@@ -416,13 +416,22 @@ module.exports = {
|
|
|
416
416
|
*/
|
|
417
417
|
// theme: "vs",
|
|
418
418
|
/** other overrides can be set e.g. fontSize, fontFamily, fontLigatures etc.
|
|
419
|
-
* for the full list, see https://microsoft.github.io/monaco-editor/
|
|
419
|
+
* for the full list, see https://microsoft.github.io/monaco-editor/docs.html#interfaces/editor.IStandaloneEditorConstructionOptions.html
|
|
420
420
|
*/
|
|
421
421
|
//fontSize: 14,
|
|
422
422
|
//fontFamily: "Cascadia Code, Fira Code, Consolas, 'Courier New', monospace",
|
|
423
423
|
//fontLigatures: true,
|
|
424
424
|
}
|
|
425
|
-
}
|
|
425
|
+
},
|
|
426
|
+
|
|
427
|
+
markdownEditor: {
|
|
428
|
+
mermaid: {
|
|
429
|
+
/** enable or disable mermaid diagram in markdown document
|
|
430
|
+
*/
|
|
431
|
+
enabled: true
|
|
432
|
+
}
|
|
433
|
+
},
|
|
434
|
+
|
|
426
435
|
},
|
|
427
436
|
|
|
428
437
|
/*******************************************************************************
|
|
@@ -519,7 +528,7 @@ module.exports = {
|
|
|
519
528
|
*/
|
|
520
529
|
//tlsConfigDisableLocalFiles: true,
|
|
521
530
|
|
|
522
|
-
/** The following property can be used to verify
|
|
531
|
+
/** The following property can be used to verify WebSocket connection attempts.
|
|
523
532
|
* This allows, for example, the HTTP request headers to be checked to ensure
|
|
524
533
|
* they include valid authentication information.
|
|
525
534
|
*/
|