node-red 3.0.2 → 3.1.0-beta.1
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 +91 -0
- package/lib/red.js +7 -1
- package/package.json +8 -8
- package/settings.js +24 -15
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,94 @@
|
|
|
1
|
+
#### 3.1.0-beta.1: Beta Release
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
Editor
|
|
5
|
+
|
|
6
|
+
- NEW: Locking Flows (#3938) @knolleary
|
|
7
|
+
- NEW: Improve UX around hiding flows via context menu (#3930) @knolleary
|
|
8
|
+
- NEW: Add support for inline image in markdown editor by drag and drop of an image file (#4006) @HiroyasuNishiyama
|
|
9
|
+
- NEW: Add support for mermaid diagram to markdown editor (#4007) @HiroyasuNishiyama
|
|
10
|
+
- NEW: Support uri fragments for nodes and groups including edit support (#3870) @knolleary
|
|
11
|
+
- NEW: Add global environment variable feature (#3941) @HiroyasuNishiyama
|
|
12
|
+
|
|
13
|
+
- Remember compact/pretty flow export user choice (#3974) @Steve-Mcl
|
|
14
|
+
- fix .red-ui-notification class (#4035) @xiaobinqt
|
|
15
|
+
- Fix border radius on Modules list header (#4038) @bonanitech
|
|
16
|
+
- fix workspace reference error in case of empty tabs (#4029) @HiroyasuNishiyama
|
|
17
|
+
- Disable delete tab menu when single tab exists (#4030) @HiroyasuNishiyama
|
|
18
|
+
- Disable hide all menu if all tabs hidden (#4031) @HiroyasuNishiyama
|
|
19
|
+
- fix hide subflow tooltip (#4033) @HiroyasuNishiyama
|
|
20
|
+
- Fix disabled menu items in project feature (#4027) @kazuhitoyokoi
|
|
21
|
+
- Let themes change radialMenu text colors (#3995) @bonanitech
|
|
22
|
+
- Add Japanese translations for v3.0.3 (#4012) @kazuhitoyokoi
|
|
23
|
+
- Add Japanese translation for v3.1.0-beta.0 (#3997) @kazuhitoyokoi
|
|
24
|
+
- Add Japanese translation for v3.1.0-beta.0 (#3916) @kazuhitoyokoi
|
|
25
|
+
- Hide subflow category after deleting subflow (#3980) @kazuhitoyokoi
|
|
26
|
+
- Prevent dbl-click opening node edit dialog with text selected (#3970) @knolleary
|
|
27
|
+
- Handle replacing unknown node inside group or subflow (#3921) @knolleary
|
|
28
|
+
- Fix #3939, red border red-ui-typedInput-container (#3949) @Steveorevo
|
|
29
|
+
- i18n item URL copy notification & add Japanese message (#3946) @HiroyasuNishiyama
|
|
30
|
+
- add Japanese message for item url copy actions (#3947) @HiroyasuNishiyama
|
|
31
|
+
- Fix autocomplete entry for responseUrl (#3884) @knolleary
|
|
32
|
+
- Fix Japanese translation for JSONata editor (#3872) @HiroyasuNishiyama
|
|
33
|
+
- Fix search type with spaces (#3841) @Steve-Mcl
|
|
34
|
+
- Fix error hanndling of JSONata expression editor for extended functions (#3871) @HiroyasuNishiyama
|
|
35
|
+
- Add button type to the adding SSH key button (#3866) @kazuhitoyokoi
|
|
36
|
+
- Check radio button as default in project dialog (#3879) @kazuhitoyokoi
|
|
37
|
+
- Add $clone as supported function (#3874) @HiroyasuNishiyama
|
|
38
|
+
- Env var jsonata (#3807) @HiroyasuNishiyama
|
|
39
|
+
- Add Japanese translation for v3.0.2 (#3852) @kazuhitoyokoi
|
|
40
|
+
|
|
41
|
+
Runtime
|
|
42
|
+
|
|
43
|
+
- Force IPv4 name resolution to have priority (#4019) @dceejay
|
|
44
|
+
- Fix async loading of modules containing both nodes and plugins (#3999) @knolleary
|
|
45
|
+
- Use main branch as default in project feature (#4036) @kazuhitoyokoi
|
|
46
|
+
- Rename package var to avoid strict mode error (#4020) @knolleary
|
|
47
|
+
- Fix typos in settings.js (#4013) @ypid
|
|
48
|
+
- Ensure credentials object is removed before returning node in getFlow request (#3971) @knolleary
|
|
49
|
+
- Ignore commit error in project feature (#3987) @kazuhitoyokoi
|
|
50
|
+
- Update dependencies (#3969) @knolleary
|
|
51
|
+
- Add check that node sends object rather than primitive type (#3909) @knolleary
|
|
52
|
+
- Ensure key_path is quoted in GIT_SSH_COMMAND in case of spaces in pathname (#3912) @knolleary
|
|
53
|
+
- Fix nodesDir scan when node package has js/html in sub dir to package.json (#3867) @Steve-Mcl
|
|
54
|
+
- Fix file permissions (#3917) @kazuhitoyokoi
|
|
55
|
+
- ci: add minimum GitHub token permissions for workflows (#3907) @boahc077
|
|
56
|
+
|
|
57
|
+
Nodes
|
|
58
|
+
|
|
59
|
+
- Catch: fix typo in catch.html (#3965) @we11adam
|
|
60
|
+
- Change: Fix change node overwriting msg with itself (#3899) @dceejay
|
|
61
|
+
- Comment node: Clarify where the text will appear (#4004) @dirkjanfaber
|
|
62
|
+
- CSV: change replace to replaceAll (#3990) @dceejay
|
|
63
|
+
- CSV node: check header properties for ' and " (#3920) @dceejay
|
|
64
|
+
- CSV: Fix for CSV undefined property (#3906) @dceejay
|
|
65
|
+
- Delay: let delay node handle both flush then reset (#3898) @dceejay
|
|
66
|
+
- Function: Limit number of ports in function node (#3886) @kazuhitoyokoi
|
|
67
|
+
- Function: Remove dot from variable name for external module in function node (#3880) @kazuhitoyokoi
|
|
68
|
+
- Function: add function node monaco types util and promisify (#3868) @Steve-Mcl
|
|
69
|
+
- HTTP In: Ensure msg.req.headers is enumerable (#3908) @knolleary
|
|
70
|
+
- HTTP Request: Support form-data arrays (#3991) @hardillb
|
|
71
|
+
- HTTP Request: Fix httprequest tests to be more lenient on error message (#3922) @knolleary
|
|
72
|
+
- HTTP Request: Add missing property to node object HTTPRequest (#3842) @hardillb
|
|
73
|
+
- HTTP Request/Response: Support sortable list on property UI of http request and http response nodes (#3857) @kazuhitoyokoi
|
|
74
|
+
- HTTP Response: Ensure statusCode is a number (#3894) @hardillb
|
|
75
|
+
- Inject: Allow Inject node to work with async context stores (#4021) @knolleary
|
|
76
|
+
- Join/Batch: Add count to join and batch node labels (#4028) @dceejay
|
|
77
|
+
- MQTT: Fix birth topic handling in MQTT node (#3905) @Steve-Mcl
|
|
78
|
+
- MQTT: Fix pull-down menus of MQTT configuration node (#3890) @kazuhitoyokoi
|
|
79
|
+
- MQTT: Prevent invalid mqtt birth topic crashing node-red (#3869) @Steve-Mcl
|
|
80
|
+
- MQTT: ensure sessionExpiry(Interval) is applied (#3840) @Steve-Mcl
|
|
81
|
+
- MQTT: Fix mqtt nodes not reconnecting on modified-flows deploy (#3992) @knolleary
|
|
82
|
+
- MQTT: fix single subscription mqtt node status (#3966) @Steve-Mcl
|
|
83
|
+
- Range: Add drop mode to range node (#3935) @dceejay
|
|
84
|
+
- Remove done from describe (#3873) @HiroyasuNishiyama
|
|
85
|
+
- Split node: avoid duplicate done call for buffer split (#4000) @knolleary
|
|
86
|
+
- Status: Fix typo in 25-status.html (#3981) @kazuhitoyokoi
|
|
87
|
+
- TCP Node: ensure newline substitution applies to whole message (#4009) @dceejay
|
|
88
|
+
- Template: Add information about environment variable to template node (#3882) @kazuhitoyokoi
|
|
89
|
+
- Trigger: Hide trigger node repeat send option if sending nothing (#4023) @dceejay
|
|
90
|
+
- Watch: fix watch node test on MacOS/ARM (#3942) @HiroyasuNishiyama
|
|
91
|
+
|
|
1
92
|
#### 3.0.2: Maintenance Release
|
|
2
93
|
|
|
3
94
|
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,">=12.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.
|
|
3
|
+
"version": "3.1.0-beta.1",
|
|
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.
|
|
35
|
-
"@node-red/runtime": "3.0.
|
|
36
|
-
"@node-red/util": "3.0.
|
|
37
|
-
"@node-red/nodes": "3.0.
|
|
34
|
+
"@node-red/editor-api": "3.1.0-beta.1",
|
|
35
|
+
"@node-red/runtime": "3.1.0-beta.1",
|
|
36
|
+
"@node-red/util": "3.1.0-beta.1",
|
|
37
|
+
"@node-red/nodes": "3.1.0-beta.1",
|
|
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/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
|
*/
|
|
@@ -422,7 +422,16 @@ module.exports = {
|
|
|
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
|
*/
|