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 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,">=8.9.0")) {
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.2",
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.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.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.1",
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.7"
44
+ "semver": "7.3.8"
45
45
  },
46
46
  "optionalDependencies": {
47
- "bcrypt": "5.0.1"
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 specifiy a different root path. If set to false, this is
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/Stoped
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 websocket connection attempts.
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
  */