node-red 3.1.8 → 4.0.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 +52 -0
- package/lib/red.js +1 -2
- package/package.json +6 -6
- package/red.js +15 -2
- package/settings.js +8 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,55 @@
|
|
|
1
|
+
#### 4.0.0-beta.2: Beta Release
|
|
2
|
+
|
|
3
|
+
Editor
|
|
4
|
+
|
|
5
|
+
- Introduce multiplayer feature (#4629) @knolleary
|
|
6
|
+
- Separate the "add new config-node" option into a new (+) button (#4627) @GogoVega
|
|
7
|
+
- Retain Palette categories collapsed and filter to localStorage (#4634) @knolleary
|
|
8
|
+
- Ensure palette filter reapplies and clear up unknown categories (#4637) @knolleary
|
|
9
|
+
- Add support for plugin (only) modules to the palette manager (#4620) @knolleary
|
|
10
|
+
- Update monaco to latest and node types to 18 LTS (#4615) @Steve-Mcl
|
|
11
|
+
|
|
12
|
+
Runtime
|
|
13
|
+
|
|
14
|
+
- Fix handling of subflow config-node select type in sf module (#4643) @knolleary
|
|
15
|
+
- Comms API updates (#4628) @knolleary
|
|
16
|
+
- Add French translations for 4.0.0-beta.1 (#4621) @GogoVega
|
|
17
|
+
- Add Japanese translations for 4.0.0-beta.1 (#4612) @kazuhitoyokoi
|
|
18
|
+
|
|
19
|
+
Nodes
|
|
20
|
+
- Fix change node handling of replacing with boolean (#4639) @knolleary
|
|
21
|
+
|
|
22
|
+
#### 4.0.0-beta.1: Beta Release
|
|
23
|
+
|
|
24
|
+
Editor
|
|
25
|
+
|
|
26
|
+
- Click on id in debug panel highlights node or flow (#4439) @ralphwetzel
|
|
27
|
+
- Support config selection in a subflow env var (#4587) @Steve-Mcl
|
|
28
|
+
- Add timestamp formatting options to TypedInput (#4468) @knolleary
|
|
29
|
+
- Allow RED.view.select to select links (#4553) @lgrkvst
|
|
30
|
+
- Add auto-complete to flow/global/env typedInput types (#4480) @knolleary
|
|
31
|
+
- Improve the appearance of the Node-RED primary header (#4598) @joepavitt
|
|
32
|
+
|
|
33
|
+
Runtime
|
|
34
|
+
|
|
35
|
+
- let settings.httpNodeAuth accept single middleware or array of middlewares (#4572) @kevinGodell
|
|
36
|
+
- Upgrade to JSONata 2.x (#4590) @knolleary
|
|
37
|
+
- Bump minimum version to node 18 (#4571) @knolleary
|
|
38
|
+
- npm: Remove production flag on npm invocation (#4347) @ZJvandeWeg
|
|
39
|
+
- Timer testing fix (#4367) @hlovdal
|
|
40
|
+
- Bump to 4.0.0-dev (#4322) @knolleary
|
|
41
|
+
|
|
42
|
+
Nodes
|
|
43
|
+
|
|
44
|
+
- TCP node - when resetting, if no payload, stay disconnected @dceejay
|
|
45
|
+
- HTML node: add option for collecting attributes and content (#4513) @gorenje
|
|
46
|
+
- let split node specify property to split on, and join auto join correctly (#4386) @dceejay
|
|
47
|
+
- Add RFC4180 compliant mode to CSV node (#4540) @Steve-Mcl
|
|
48
|
+
- Fix change node to return boolean if asked (#4525) @dceejay
|
|
49
|
+
- Let msg.reset reset Tcp request node connection when in stay connected mode (#4406) @dceejay
|
|
50
|
+
- Let debug node status msg length be settable via settings (#4402) @dceejay
|
|
51
|
+
- Feat: Add ability to set headers for WebSocket client (#4436) @marcus-j-davies
|
|
52
|
+
|
|
1
53
|
#### 3.1.8: Maintenance Release
|
|
2
54
|
|
|
3
55
|
- Add validation and error handling on subflow instance properties (#4632) @knolleary
|
package/lib/red.js
CHANGED
|
@@ -33,8 +33,7 @@ if (NODE_MAJOR_VERSION >= 16) {
|
|
|
33
33
|
|
|
34
34
|
function checkVersion(userSettings) {
|
|
35
35
|
var semver = require('semver');
|
|
36
|
-
if (!semver.satisfies(process.version,">=
|
|
37
|
-
// TODO: in the future, make this a hard error.
|
|
36
|
+
if (!semver.satisfies(process.version,">=18.0.0")) {
|
|
38
37
|
// var e = new Error("Unsupported version of Node.js");
|
|
39
38
|
// e.code = "unsupported_version";
|
|
40
39
|
// throw e;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-red",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-beta.2",
|
|
4
4
|
"description": "Low-code programming for event-driven applications",
|
|
5
5
|
"homepage": "https://nodered.org",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"flow"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@node-red/editor-api": "
|
|
35
|
-
"@node-red/runtime": "
|
|
36
|
-
"@node-red/util": "
|
|
37
|
-
"@node-red/nodes": "
|
|
34
|
+
"@node-red/editor-api": "4.0.0-beta.2",
|
|
35
|
+
"@node-red/runtime": "4.0.0-beta.2",
|
|
36
|
+
"@node-red/util": "4.0.0-beta.2",
|
|
37
|
+
"@node-red/nodes": "4.0.0-beta.2",
|
|
38
38
|
"basic-auth": "2.0.1",
|
|
39
39
|
"bcryptjs": "2.4.3",
|
|
40
40
|
"express": "4.19.2",
|
|
@@ -47,6 +47,6 @@
|
|
|
47
47
|
"bcrypt": "5.1.0"
|
|
48
48
|
},
|
|
49
49
|
"engines": {
|
|
50
|
-
"node": ">=
|
|
50
|
+
"node": ">=18"
|
|
51
51
|
}
|
|
52
52
|
}
|
package/red.js
CHANGED
|
@@ -26,6 +26,13 @@ if (process.argv[2] === 'admin') {
|
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
var semver = require('semver');
|
|
30
|
+
if (!semver.satisfies(process.version, ">=18.0.0")) {
|
|
31
|
+
console.log("Unsupported version of Node.js:", process.version);
|
|
32
|
+
console.log("Node-RED requires Node.js v18 or later");
|
|
33
|
+
process.exit(1)
|
|
34
|
+
}
|
|
35
|
+
|
|
29
36
|
var http = require('http');
|
|
30
37
|
var https = require('https');
|
|
31
38
|
var util = require("util");
|
|
@@ -346,7 +353,7 @@ httpsPromise.then(function(startupHttps) {
|
|
|
346
353
|
} catch(err) {
|
|
347
354
|
if (err.code == "unsupported_version") {
|
|
348
355
|
console.log("Unsupported version of Node.js:",process.version);
|
|
349
|
-
console.log("Node-RED requires Node.js
|
|
356
|
+
console.log("Node-RED requires Node.js v18 or later");
|
|
350
357
|
} else {
|
|
351
358
|
console.log("Failed to start server:");
|
|
352
359
|
if (err.stack) {
|
|
@@ -408,9 +415,15 @@ httpsPromise.then(function(startupHttps) {
|
|
|
408
415
|
if (settings.httpAdminRoot !== false) {
|
|
409
416
|
app.use(settings.httpAdminRoot,RED.httpAdmin);
|
|
410
417
|
}
|
|
418
|
+
|
|
411
419
|
if (settings.httpNodeRoot !== false && settings.httpNodeAuth) {
|
|
412
|
-
|
|
420
|
+
if (typeof settings.httpNodeAuth === "function" || Array.isArray(settings.httpNodeAuth)) {
|
|
421
|
+
app.use(settings.httpNodeRoot, settings.httpNodeAuth);
|
|
422
|
+
} else {
|
|
423
|
+
app.use(settings.httpNodeRoot, basicAuthMiddleware(settings.httpNodeAuth.user, settings.httpNodeAuth.pass));
|
|
424
|
+
}
|
|
413
425
|
}
|
|
426
|
+
|
|
414
427
|
if (settings.httpNodeRoot !== false) {
|
|
415
428
|
app.use(settings.httpNodeRoot,RED.httpNode);
|
|
416
429
|
}
|
package/settings.js
CHANGED
|
@@ -437,6 +437,10 @@ module.exports = {
|
|
|
437
437
|
}
|
|
438
438
|
},
|
|
439
439
|
|
|
440
|
+
multiplayer: {
|
|
441
|
+
/** To enable the Multiplayer feature, set this value to true */
|
|
442
|
+
enabled: false
|
|
443
|
+
},
|
|
440
444
|
},
|
|
441
445
|
|
|
442
446
|
/*******************************************************************************
|
|
@@ -449,6 +453,7 @@ module.exports = {
|
|
|
449
453
|
* - ui (for use with Node-RED Dashboard)
|
|
450
454
|
* - debugUseColors
|
|
451
455
|
* - debugMaxLength
|
|
456
|
+
* - debugStatusLength
|
|
452
457
|
* - execMaxBufferSize
|
|
453
458
|
* - httpRequestTimeout
|
|
454
459
|
* - mqttReconnectTime
|
|
@@ -504,6 +509,9 @@ module.exports = {
|
|
|
504
509
|
/** The maximum length, in characters, of any message sent to the debug sidebar tab */
|
|
505
510
|
debugMaxLength: 1000,
|
|
506
511
|
|
|
512
|
+
/** The maximum length, in characters, of status messages under the debug node */
|
|
513
|
+
//debugStatusLength: 32,
|
|
514
|
+
|
|
507
515
|
/** Maximum buffer size for the exec node. Defaults to 10Mb */
|
|
508
516
|
//execMaxBufferSize: 10000000,
|
|
509
517
|
|