node-red 3.1.0-beta.1 → 3.1.0-beta.3

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,5 +1,89 @@
1
- #### 3.1.0-beta.1: Beta Release
1
+ #### 3.1.0-beta.3: Beta Release
2
+
3
+ Editor
4
+
5
+ - Select the item that is specified in a deep link URL (#4113) @Steve-Mcl
6
+ - Update to Monaco 0.38.0 (#4189) @Steve-Mcl
7
+ - Place subflow outputs/inputs relative to current view (#4183) @knolleary
8
+ - Enable RED.view.select to select group by id (#4184) @knolleary
9
+ - Combine existing env vars when merging groups (#4182) @knolleary
10
+ - Avoid creating empty global-config node if not needed (#4153) @knolleary
11
+ - Fix group selection when using lasso (#4108) @knolleary
12
+ - Use editor path in generating localStorage keys (#4151) @mw75
13
+ - Ensure no node credentials are included when exporting to clipboard (#4112) @knolleary
14
+ - Fix jsonata expression test ui (#4097) @knolleary
15
+ - Fix search button in palette popover (#4096) @knolleary
16
+
17
+ Runtime
18
+
19
+ - Allow options object on each httpStatic configuration (#4109) @kevinGodell
20
+ - Ensure non-zero exit codes for errors (#4181) @knolleary
21
+ - Ensure external modules are installed synchronously (#4180) @knolleary
22
+ - Update dependecies include got (#4155) @knolleary
23
+ - Add Japanese translations for v3.1 beta.2 (#4158) @kazuhitoyokoi
24
+ - Ensure express server options are applied consistently (#4178) @knolleary
25
+ - Remove version info from theme endpoint (#4179) @knolleary
26
+ - Add Japanese translations for welcome tour of 3.1.0 beta.2 (#4145) @kazuhitoyokoi
27
+ - Added SHA-256 and SHA-512-256 digest authentication (#4100) @sroebert
28
+ - Add "timers" types to known types (#4103) @Steve-Mcl
29
+
30
+ Nodes
31
+
32
+ - Allow Catch/Status nodes to be scoped to their group (#4185) @NetHans
33
+ - MQTT: Option to disable MQTT topic unsubscribe on disconnect (#4078) @flying7eleven
34
+
2
35
 
36
+ #### 3.1.0-beta.2: Beta Release
37
+
38
+ Editor
39
+
40
+ - NEW: Add change icon to tabs (#4068) @knolleary
41
+ - NEW: Complete overhaul of Group UX (#4079) @knolleary
42
+ - NEW: Add link to node help in node edit dialog footer (#4065) @knolleary
43
+ - NEW: Added editor feature for connecting multiple nodes to single node (#4051) @sonntam
44
+ - NEW: Increase workspace size to 8000x8000 (#4094) @knolleary
45
+ - Ensure node buttons are redrawn when flow lock state is changed (#4091) @knolleary
46
+ - Prevent loops being created with junction nodes (#4087) @knolleary
47
+ - Prevent opening locked node's edit dialog (#4069) @knolleary
48
+ - Reverse direction of tab scroll to expected direction (#4064) @knolleary
49
+ - Add cancel operation to editableList (#4077) @HiroyasuNishiyama
50
+ - Apply Mermaid diagram for project settings UI (#4054) @kazuhitoyokoi
51
+ - Add tooltip for show/hide button on info sidebar (#4050) @kazuhitoyokoi
52
+ - Fix align nodes on locked tab (#4072) @HiroyasuNishiyama
53
+ - Fix importing connected link nodes into a subflow (#4082) @knolleary
54
+ - Fix to add empty marker to empty group (#4060) @HiroyasuNishiyama
55
+ - Fix image URLs for v3.0 tour (#4053) @kazuhitoyokoi
56
+ - Show scrollbar in notification dialog only when needed (#4048) @kazuhitoyokoi
57
+ - Update-monaco-and-typings (#4089) @Steve-Mcl
58
+ - Update jquery UI (#4088) @knolleary
59
+ - Support i18n of lock/unlock buttons in flow property UI (#4049) @kazuhitoyokoi
60
+ - Translation kr (#3895) @hae-iotplatform
61
+ - Translation zhcn (!!请懂中文的帮忙review) (#3952) @cliyr
62
+ - Add French translation of nodes (#3964) @GogoVega
63
+ - Add French translation (#3962) @GogoVega
64
+ - Portuguese Brazilian (pt-BR) translation (#3804) @FabsMuller
65
+
66
+
67
+ Runtime
68
+
69
+ - NEW: Generate stable ids for subflow instance internal nodes (#4093) @knolleary
70
+ - NEW: Change default file name to flows.json in project feature (#4073) @kazuhitoyokoi
71
+ - NEW: Deprecate synchronous access to jsonata (#4090) @knolleary
72
+ - Add Node 18 to test matrix (#4084) @knolleary
73
+ - Bump minimum nodejs version supported to match documented value (#4086) @knolleary
74
+ - Update monaco docs link in settings.js (#4075) @Steve-Mcl
75
+ - Remove duplicated messages in the message catalog (#4066) @kazuhitoyokoi
76
+ - Ensure errors in preDeliver callback are handled (#3911) @knolleary
77
+ - Fix "EADDRINUSE" error (#4046) @bggbr
78
+
79
+ Nodes
80
+
81
+ - Link Call: Clear link-call timeouts when node is closed (#4085) @knolleary
82
+ - Join: ensure inflight status is cleared when in auto mode (#4083) @knolleary
83
+ - File Out: Fix extra newline append for multipart file write (#3915) @dceejay
84
+ - Add validators for complete and link call nodes (#4056) @kazuhitoyokoi
85
+
86
+ #### 3.1.0-beta.1: Beta Release
3
87
 
4
88
  Editor
5
89
 
package/lib/red.js CHANGED
@@ -33,7 +33,7 @@ if (NODE_MAJOR_VERSION > 14) {
33
33
 
34
34
  function checkVersion(userSettings) {
35
35
  var semver = require('semver');
36
- if (!semver.satisfies(process.version,">=12.0.0")) {
36
+ if (!semver.satisfies(process.version,">=14.0.0")) {
37
37
  // TODO: in the future, make this a hard error.
38
38
  // var e = new Error("Unsupported version of Node.js");
39
39
  // e.code = "unsupported_version";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red",
3
- "version": "3.1.0-beta.1",
3
+ "version": "3.1.0-beta.3",
4
4
  "description": "Low-code programming for event-driven applications",
5
5
  "homepage": "http://nodered.org",
6
6
  "license": "Apache-2.0",
@@ -31,17 +31,17 @@
31
31
  "flow"
32
32
  ],
33
33
  "dependencies": {
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",
34
+ "@node-red/editor-api": "3.1.0-beta.3",
35
+ "@node-red/runtime": "3.1.0-beta.3",
36
+ "@node-red/util": "3.1.0-beta.3",
37
+ "@node-red/nodes": "3.1.0-beta.3",
38
38
  "basic-auth": "2.0.1",
39
39
  "bcryptjs": "2.4.3",
40
40
  "express": "4.18.2",
41
- "fs-extra": "10.1.0",
41
+ "fs-extra": "11.1.1",
42
42
  "node-red-admin": "^3.0.0",
43
43
  "nopt": "5.0.0",
44
- "semver": "7.3.8"
44
+ "semver": "7.5.0"
45
45
  },
46
46
  "optionalDependencies": {
47
47
  "bcrypt": "5.1.0"
package/red.js CHANGED
@@ -148,7 +148,7 @@ try {
148
148
  } else {
149
149
  console.log(err);
150
150
  }
151
- process.exit();
151
+ process.exit(1);
152
152
  }
153
153
 
154
154
  if (parsedArgs.define) {
@@ -182,7 +182,7 @@ if (parsedArgs.define) {
182
182
  }
183
183
  } catch (e) {
184
184
  console.log("Error processing -D option: "+e.message);
185
- process.exit();
185
+ process.exit(1);
186
186
  }
187
187
  }
188
188
 
@@ -316,10 +316,10 @@ httpsPromise.then(function(startupHttps) {
316
316
  } else {
317
317
  continue;
318
318
  }
319
- sp.subRoot = formatRoot(sp.root);
319
+ sp.subRoot = formatRoot(sp.root || "/");
320
320
  sp.root = formatRoot(path.posix.join(settings.httpStaticRoot,sp.subRoot));
321
321
  }
322
- settings.httpStatic = sanitised.length ? sanitised : false;
322
+ settings.httpStatic = sanitised.length ? sanitised : false;
323
323
  }
324
324
 
325
325
  // if we got a port from command line, use it (even if 0)
@@ -427,6 +427,7 @@ httpsPromise.then(function(startupHttps) {
427
427
  const sp = settings.httpStatic[si];
428
428
  const filePath = sp.path;
429
429
  const thisRoot = sp.root || "/";
430
+ const options = sp.options;
430
431
  if(appUseMem[filePath + "::" + thisRoot]) {
431
432
  continue;// this path and root already registered!
432
433
  }
@@ -434,7 +435,7 @@ httpsPromise.then(function(startupHttps) {
434
435
  if (settings.httpStaticAuth) {
435
436
  app.use(thisRoot, basicAuthMiddleware(settings.httpStaticAuth.user, settings.httpStaticAuth.pass));
436
437
  }
437
- app.use(thisRoot, express.static(filePath));
438
+ app.use(thisRoot, express.static(filePath, options));
438
439
  }
439
440
  }
440
441
 
@@ -458,7 +459,7 @@ httpsPromise.then(function(startupHttps) {
458
459
  RED.start().then(function() {
459
460
  if (settings.httpAdminRoot !== false || settings.httpNodeRoot !== false || settings.httpStatic) {
460
461
  server.on('error', function(err) {
461
- if (err.errno === "EADDRINUSE") {
462
+ if (err.code === "EADDRINUSE") {
462
463
  RED.log.error(RED.log._("server.unable-to-listen", {listenpath:getListenPath()}));
463
464
  RED.log.error(RED.log._("server.port-in-use"));
464
465
  } else {
package/settings.js CHANGED
@@ -223,10 +223,15 @@ module.exports = {
223
223
  * to move httpAdminRoot
224
224
  */
225
225
  //httpStatic: '/home/nol/node-red-static/', //single static source
226
- /* OR multiple static sources can be created using an array of objects... */
226
+ /**
227
+ * OR multiple static sources can be created using an array of objects...
228
+ * Each object can also contain an options object for further configuration.
229
+ * See https://expressjs.com/en/api.html#express.static for available options.
230
+ */
227
231
  //httpStatic: [
228
232
  // {path: '/home/nol/pics/', root: "/img/"},
229
233
  // {path: '/home/nol/reports/', root: "/doc/"},
234
+ // {path: '/home/nol/videos/', root: "/vid/", options: {maxAge: '1d'}}
230
235
  //],
231
236
 
232
237
  /**
@@ -416,7 +421,7 @@ module.exports = {
416
421
  */
417
422
  // theme: "vs",
418
423
  /** other overrides can be set e.g. fontSize, fontFamily, fontLigatures etc.
419
- * for the full list, see https://microsoft.github.io/monaco-editor/api/interfaces/monaco.editor.IStandaloneEditorConstructionOptions.html
424
+ * for the full list, see https://microsoft.github.io/monaco-editor/docs.html#interfaces/editor.IStandaloneEditorConstructionOptions.html
420
425
  */
421
426
  //fontSize: 14,
422
427
  //fontFamily: "Cascadia Code, Fira Code, Consolas, 'Courier New', monospace",
@@ -431,7 +436,7 @@ module.exports = {
431
436
  enabled: true
432
437
  }
433
438
  },
434
-
439
+
435
440
  },
436
441
 
437
442
  /*******************************************************************************