🎉 Node-RED 0.19 released

#1

Node-RED 0.19 is now available: https://nodered.org/blog/2018/08/14/version-0-19-released

Persistable context, a redesign of the sidebar tabs and lots more.

This is also the last major release that will support anything before Node 8.x.

Node 4.x has been end-of-life since April so really should not be used today. Given the pace of change in the node ecosystem, we've decided raise our minimum version to the current LTS release, Node 8. That will give a stable base as we continue our path to Node-RED 1.0.

15 Likes

Context storage - Unhandled promise rejection
#2

And there was me, just about to ask if V0.19 was coming shortly :slight_smile:

Ta

Off to play now :slight_smile:

Simon

0 Likes

#3

Just to say upgrades went fine on a Pi3B+ and my Win10 machine

All existing flows seem to be working fine

Great work :slight_smile:
Simon

0 Likes

#4

Trying to get the persistent storage working and failing miserably:
tried inserting

contextStorage: {
   default: {
       module: "file"
   }
}

at the end of /home/pi/.node-red/settings.js and node red wont start. I'm missing something simple probably.

0 Likes

#5

Make sure you add it inside the

module.exports = {

   ...

}

block within the file - and make sure it is comma separated from any previous or next value.

0 Likes

#6

Thanks Nick. I tried as suggested and got:

Started Node-RED graphical event wiring tool..
14 Aug 13:17:32 - [info]
Welcome to Node-RED
===================
14 Aug 13:17:32 - [info] Node-RED version: v0.19.0
14 Aug 13:17:32 - [info] Node.js  version: v8.9.4
14 Aug 13:17:32 - [info] Linux 4.14.34+ arm LE
14 Aug 13:17:37 - [info] Loading palette nodes
14 Aug 13:18:04 - [info] Settings file  : /home/pi/.node-red/settings.js
(node:217) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: Error loading context store 'file': Error: Cannot find module './file'
(node:217) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
14 Aug 13:18:05 - [info] Server now running at http://127.0.0.1:1880/
14 Aug 13:18:05 - [error] Node-RED runtime not started
0 Likes

#7

I've just tried doing same on a Pi

debugMaxLength: 1000,
contextStorage: {
   default: {
       module: "file"
   }
},

// The maximum number of messages nodes will buffer internally as part of their

Got this

14 Aug 14:31:51 - [info] Node-RED version: v0.19.0
14 Aug 14:31:51 - [info] Node.js  version: v8.11.3
14 Aug 14:31:51 - [info] Linux 4.14.50-v7+ arm LE
14 Aug 14:31:52 - [info] Loading palette nodes
14 Aug 14:31:56 - [info] Dashboard version 2.9.6 started at /ui
14 Aug 14:31:56 - [info] Settings file  : /home/pi/.node-red/settings.js
(node:2723) UnhandledPromiseRejectionWarning: Error: Error loading context store 'file': Error: Cannot find module './file' 
    at /usr/lib/node_modules/node-red/red/runtime/nodes/context/index.js:106:47
    at new Promise (<anonymous>)
    at Object.load [as loadContextsPlugin] (/usr/lib/node_modules/node-red/red/runtime/nodes/context/index.js:64:12)
    at /usr/lib/node_modules/node-red/red/runtime/index.js:165:26
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
(node:2723) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:2723) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
14 Aug 14:31:56 - [info] Server now running at http://127.0.0.1:1880/
0 Likes

#8

@cymplecy @ghayne oops. should be localfilesystem not file in the module field. Have updated the docs.

1 Like

#9

That works

suggestion to add something in like this to default settings.js

// By default, the Node-RED UI accepts connections on all IPv4 interfaces.
// To listen on all IPv6 addresses, set uiHost to "::",
// The following property can be used to listen on a specific interface. For
// example, the following would only allow connections from the local machine.
//uiHost: "127.0.0.1",

// enable persistent storage
//
// contextStorage: {
// default: {
// module: "localfilesystem"
// }
// },

// Retry time in milliseconds for MQTT connections
mqttReconnectTime: 15000,

2 Likes

#10

Would also like to see commented-out sample blocks for Projects and Env variables -- assuming they have not already been added (sorry, but I'm not ready to update to 0.19 yet)

1 Like

#11

Yup, was on the todo list, but that post-it note fell off my monitor.

5 Likes

#12

Hi, what happened to the subflow instance properties? The most promising feature of 0.19 was announced on the roadmap, but I can't find anything about it.

0 Likes

#13

Wow amazing, impatient to test it, just performing a backup of my data and later on full SDcard and will upgrade and remove all my nodes to make persistent data my own and will test.

Thanks u guys

0 Likes

#14

They are still on the roadmap, but the order of things has shuffled around a bit. Will be doing an update to the roadmap soon to reflect on where we are.

0 Likes

#15

Working well Nick, nice to have persistence that even survives a re-boot. The right panel is a great improvement. Well done!

0 Likes

#16

When do you expect to release the feature? Any rough estimations?

I'm really keen on it, because I have to build complex components and reuse them 20-30 times with different properties. Action flows are doing that job now, but that seems more like a workaround.

0 Likes

#17

As I said, we'll do an update to the roadmap soon to reflect where we are.

We're unlikely to put timescales on particular releases beyond the current one. As an open source project reliant on contributors helping, there are simply too many factors out of my control to put together a schedule of releases for the amount of work the 1.0 roadmap represents.

0 Likes

#18

Just upgraded in my windows pc with no issues reported during installation. Flows seem all right too.

There is a warning in the manage pallet window. I wonder if this is due to rpi nodes now appearing in windows installations. Nice improvements in the design of the sidebar tabs, the wiring of nodes, select node icon, etc..

0 Likes

#19

Just updated to 0.19 & I'm seeing this in the 'context data' window;

fse

I'm presuming it's because of;

functionGlobalContext: {
        fse:require('fs-extra')

in my settings file.
But as I'm now saving context to file, will this cause a problem?

0 Likes

#20

@Paul-Reed no problem there. But you've highlighted something the docs should spell out a bit more.

The functionGlobalContext setting is still used to seed global context, so is still the way to load extra node modules into the Function node.

If you were to do global.set("fse","123") that will get written to context storage, and will be the value returned by global.get("fse") from then on.

1 Like