node-red 3.1.0-beta.3 → 3.1.0
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 +67 -3
- package/README.md +4 -4
- package/package.json +8 -8
- package/red.js +7 -9
- package/settings.js +6 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,68 @@
|
|
|
1
|
-
#### 3.1.0
|
|
1
|
+
#### 3.1.0: Milestone Release
|
|
2
|
+
|
|
3
|
+
Editor
|
|
4
|
+
|
|
5
|
+
- Default filter to All Catalogues and show nodes for small lists (#4318) @knolleary
|
|
6
|
+
- Better distinguish between ctrl and meta keys on mac (#4310) @knolleary
|
|
7
|
+
- Ensure junction appears when filtering quick-add list (#4297) @knolleary
|
|
8
|
+
- Update message catalogs for JSONata Expression editor (#4287) @kazuhitoyokoi
|
|
9
|
+
- Add tooltip to relevance sort button in user settings UI (#4288) @kazuhitoyokoi
|
|
10
|
+
- Capture workspace dirty state when quick-adding junction (#4283) @knolleary
|
|
11
|
+
- Add docs for $clone function (#4284) @knolleary
|
|
12
|
+
|
|
13
|
+
Runtime
|
|
14
|
+
|
|
15
|
+
- Dependency updates (#4317) @knolleary
|
|
16
|
+
- Ensure storage/util.writeFile handles concurrent write attempts (#4316) @knolleary
|
|
17
|
+
- Migrate http -> https for nodered.org (#4313) @Rotzbua
|
|
18
|
+
- Add Node 20 to GH Action test matrix (#4305) @Rotzbua
|
|
19
|
+
- Handle group-scoped nodes inside subflow (#4301) @knolleary
|
|
20
|
+
- Handle non-url-safe chars in context api (#4298) @knolleary
|
|
21
|
+
- Fix git pull operation in project feature (#4290) @kazuhitoyokoi
|
|
22
|
+
- Change linefeed codes in Korean message catalogs (#4286) @kazuhitoyokoi
|
|
23
|
+
- Fix file permissions of message catalogs (#4285) @kazuhitoyokoi
|
|
24
|
+
- Update tour (#4278) @knolleary
|
|
25
|
+
|
|
26
|
+
Nodes
|
|
27
|
+
|
|
28
|
+
- File: Fix handling in file nodes when number is specified as file name (#4267) @kazuhitoyokoi
|
|
29
|
+
- Function: Adding function timeout to settings file (#4265) (#4309) @knolleary
|
|
30
|
+
- Function: Fix function setup tab layout (#4299) @knolleary
|
|
31
|
+
- HTTP Request: Handle 204 in httprequest JSON (#4262) @sammachin
|
|
32
|
+
- JSON: Fix test cases of JSON node (#4275) @kazuhitoyokoi
|
|
33
|
+
- MQTT: Remove unnecessary check for clientid if autoUnsub set (#4302) @knolleary
|
|
34
|
+
|
|
35
|
+
##### 3.1.0-beta.4: Beta Release
|
|
36
|
+
|
|
37
|
+
Editor
|
|
38
|
+
|
|
39
|
+
- Add Japanese translation for 3.1.0 (#4252) @kazuhitoyokoi
|
|
40
|
+
- Improve Catalogue visibility (#4248) @Steve-Mcl
|
|
41
|
+
- Add support for wiring and moving junctions on touch device (#4244) @Steve-Mcl
|
|
42
|
+
- Show errors and statuses of config nodes in the sidebar when no catch node is available (#4231) @bvmensvoort
|
|
43
|
+
- Improve wiring for horizontally aligned nodes (#4232) @knolleary
|
|
44
|
+
- French translation of Welcome Tours (#4200) @GogoVega
|
|
45
|
+
- French translation of v3.1.0-beta.3 changes (#4199) @GogoVega
|
|
46
|
+
- add Japanese message for 3.1.0 beta 3 (#4209) @HiroyasuNishiyama
|
|
47
|
+
- Dont clone the group nodes `node` array when saving edits (#4208) @Steve-Mcl
|
|
48
|
+
|
|
49
|
+
Runtime
|
|
50
|
+
|
|
51
|
+
- Add NR_SUBFLOW_NAME/ID/PATH env vars (#4250) @knolleary
|
|
52
|
+
- Evaluate all env vars as part of async flow start (#4230) @knolleary
|
|
53
|
+
- Add support for httpStatic middleware (#4229) @knolleary
|
|
54
|
+
|
|
55
|
+
Nodes
|
|
56
|
+
|
|
57
|
+
- Fix JSONata in file nodes (#4246) @kazuhitoyokoi
|
|
58
|
+
- Fix timeout icon in function and link call nodes (#4253) @kazuhitoyokoi
|
|
59
|
+
- Fix connection keep-alive in http request node (#4228) @knolleary
|
|
60
|
+
- adding timeout attribute to function node (#4177) @k1ln
|
|
61
|
+
- Fix manual mode join when multiple sequences being handled (#4143) @BitCaesar
|
|
62
|
+
- Fix delay node flush issue (#4203) @dceejay
|
|
63
|
+
- Update status and catch node labels in group mode (#4207) @Steve-Mcl
|
|
64
|
+
|
|
65
|
+
##### 3.1.0-beta.3: Beta Release
|
|
2
66
|
|
|
3
67
|
Editor
|
|
4
68
|
|
|
@@ -33,7 +97,7 @@ Nodes
|
|
|
33
97
|
- MQTT: Option to disable MQTT topic unsubscribe on disconnect (#4078) @flying7eleven
|
|
34
98
|
|
|
35
99
|
|
|
36
|
-
|
|
100
|
+
##### 3.1.0-beta.2: Beta Release
|
|
37
101
|
|
|
38
102
|
Editor
|
|
39
103
|
|
|
@@ -83,7 +147,7 @@ Nodes
|
|
|
83
147
|
- File Out: Fix extra newline append for multipart file write (#3915) @dceejay
|
|
84
148
|
- Add validators for complete and link call nodes (#4056) @kazuhitoyokoi
|
|
85
149
|
|
|
86
|
-
|
|
150
|
+
##### 3.1.0-beta.1: Beta Release
|
|
87
151
|
|
|
88
152
|
Editor
|
|
89
153
|
|
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# Node-RED
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
https://nodered.org
|
|
4
4
|
|
|
5
5
|
Low-code programming for event-driven applications.
|
|
6
6
|
|
|
7
|
-

|
|
8
8
|
|
|
9
9
|
## Quick Start
|
|
10
10
|
|
|
11
|
-
Check out
|
|
11
|
+
Check out https://nodered.org/docs/getting-started/ for full instructions on getting
|
|
12
12
|
started.
|
|
13
13
|
|
|
14
14
|
1. `sudo npm install -g --unsafe-perm node-red`
|
|
@@ -17,7 +17,7 @@ started.
|
|
|
17
17
|
|
|
18
18
|
## Getting Help
|
|
19
19
|
|
|
20
|
-
More documentation can be found [here](
|
|
20
|
+
More documentation can be found [here](https://nodered.org/docs).
|
|
21
21
|
|
|
22
22
|
For further help, or general discussion, please use the [Node-RED Forum](https://discourse.nodered.org) or [slack team](https://nodered.org/slack).
|
|
23
23
|
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-red",
|
|
3
|
-
"version": "3.1.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "Low-code programming for event-driven applications",
|
|
5
|
-
"homepage": "
|
|
5
|
+
"homepage": "https://nodered.org",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -31,17 +31,17 @@
|
|
|
31
31
|
"flow"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@node-red/editor-api": "3.1.0
|
|
35
|
-
"@node-red/runtime": "3.1.0
|
|
36
|
-
"@node-red/util": "3.1.0
|
|
37
|
-
"@node-red/nodes": "3.1.0
|
|
34
|
+
"@node-red/editor-api": "3.1.0",
|
|
35
|
+
"@node-red/runtime": "3.1.0",
|
|
36
|
+
"@node-red/util": "3.1.0",
|
|
37
|
+
"@node-red/nodes": "3.1.0",
|
|
38
38
|
"basic-auth": "2.0.1",
|
|
39
39
|
"bcryptjs": "2.4.3",
|
|
40
40
|
"express": "4.18.2",
|
|
41
41
|
"fs-extra": "11.1.1",
|
|
42
|
-
"node-red-admin": "^3.
|
|
42
|
+
"node-red-admin": "^3.1.0",
|
|
43
43
|
"nopt": "5.0.0",
|
|
44
|
-
"semver": "7.5.
|
|
44
|
+
"semver": "7.5.4"
|
|
45
45
|
},
|
|
46
46
|
"optionalDependencies": {
|
|
47
47
|
"bcrypt": "5.1.0"
|
package/red.js
CHANGED
|
@@ -88,7 +88,7 @@ if (parsedArgs.help) {
|
|
|
88
88
|
console.log(" -?, --help show this help");
|
|
89
89
|
console.log(" admin <command> run an admin command");
|
|
90
90
|
console.log("");
|
|
91
|
-
console.log("Documentation can be found at
|
|
91
|
+
console.log("Documentation can be found at https://nodered.org");
|
|
92
92
|
process.exit();
|
|
93
93
|
}
|
|
94
94
|
|
|
@@ -302,7 +302,7 @@ httpsPromise.then(function(startupHttps) {
|
|
|
302
302
|
settings.httpNodeAuth = settings.httpNodeAuth || settings.httpAuth;
|
|
303
303
|
}
|
|
304
304
|
|
|
305
|
-
if(settings.httpStatic) {
|
|
305
|
+
if (settings.httpStatic) {
|
|
306
306
|
settings.httpStaticRoot = formatRoot(settings.httpStaticRoot || "/");
|
|
307
307
|
const statics = Array.isArray(settings.httpStatic) ? settings.httpStatic : [settings.httpStatic];
|
|
308
308
|
const sanitised = [];
|
|
@@ -414,13 +414,7 @@ httpsPromise.then(function(startupHttps) {
|
|
|
414
414
|
if (settings.httpNodeRoot !== false) {
|
|
415
415
|
app.use(settings.httpNodeRoot,RED.httpNode);
|
|
416
416
|
}
|
|
417
|
-
|
|
418
|
-
// settings.httpStaticAuth = settings.httpStaticAuth || settings.httpAuth;
|
|
419
|
-
// if (settings.httpStaticAuth) {
|
|
420
|
-
// app.use("/",basicAuthMiddleware(settings.httpStaticAuth.user,settings.httpStaticAuth.pass));
|
|
421
|
-
// }
|
|
422
|
-
// app.use("/",express.static(settings.httpStatic));
|
|
423
|
-
// }
|
|
417
|
+
|
|
424
418
|
if (settings.httpStatic) {
|
|
425
419
|
let appUseMem = {};
|
|
426
420
|
for (let si = 0; si < settings.httpStatic.length; si++) {
|
|
@@ -428,6 +422,7 @@ httpsPromise.then(function(startupHttps) {
|
|
|
428
422
|
const filePath = sp.path;
|
|
429
423
|
const thisRoot = sp.root || "/";
|
|
430
424
|
const options = sp.options;
|
|
425
|
+
const middleware = sp.middleware;
|
|
431
426
|
if(appUseMem[filePath + "::" + thisRoot]) {
|
|
432
427
|
continue;// this path and root already registered!
|
|
433
428
|
}
|
|
@@ -435,6 +430,9 @@ httpsPromise.then(function(startupHttps) {
|
|
|
435
430
|
if (settings.httpStaticAuth) {
|
|
436
431
|
app.use(thisRoot, basicAuthMiddleware(settings.httpStaticAuth.user, settings.httpStaticAuth.pass));
|
|
437
432
|
}
|
|
433
|
+
if (middleware) {
|
|
434
|
+
app.use(thisRoot, middleware)
|
|
435
|
+
}
|
|
438
436
|
app.use(thisRoot, express.static(filePath, options));
|
|
439
437
|
}
|
|
440
438
|
}
|
package/settings.js
CHANGED
|
@@ -71,7 +71,7 @@ module.exports = {
|
|
|
71
71
|
******************************************************************************/
|
|
72
72
|
|
|
73
73
|
/** To password protect the Node-RED editor and admin API, the following
|
|
74
|
-
* property can be used. See
|
|
74
|
+
* property can be used. See https://nodered.org/docs/security.html for details.
|
|
75
75
|
*/
|
|
76
76
|
//adminAuth: {
|
|
77
77
|
// type: "credentials",
|
|
@@ -120,7 +120,7 @@ module.exports = {
|
|
|
120
120
|
* including node-red-dashboard, or the static content (httpStatic), the
|
|
121
121
|
* following properties can be used.
|
|
122
122
|
* The `pass` field is a bcrypt hash of the password.
|
|
123
|
-
* See
|
|
123
|
+
* See https://nodered.org/docs/security.html#generating-the-password-hash
|
|
124
124
|
*/
|
|
125
125
|
//httpNodeAuth: {user:"user",pass:"$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN."},
|
|
126
126
|
//httpStaticAuth: {user:"user",pass:"$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN."},
|
|
@@ -444,6 +444,7 @@ module.exports = {
|
|
|
444
444
|
* - fileWorkingDirectory
|
|
445
445
|
* - functionGlobalContext
|
|
446
446
|
* - functionExternalModules
|
|
447
|
+
* - functionTimeout
|
|
447
448
|
* - nodeMessageBufferMaxLength
|
|
448
449
|
* - ui (for use with Node-RED Dashboard)
|
|
449
450
|
* - debugUseColors
|
|
@@ -468,6 +469,9 @@ module.exports = {
|
|
|
468
469
|
/** Allow the Function node to load additional npm modules directly */
|
|
469
470
|
functionExternalModules: true,
|
|
470
471
|
|
|
472
|
+
/** Default timeout, in seconds, for the Function node. 0 means no timeout is applied */
|
|
473
|
+
functionTimeout: 0,
|
|
474
|
+
|
|
471
475
|
/** The following property can be used to set predefined values in Global Context.
|
|
472
476
|
* This allows extra node modules to be made available with in Function node.
|
|
473
477
|
* For example, the following:
|