Node-RED 0.20.0-beta.3 released

We've just published the next beta release for 0.20.

For the background on why we're doing betas, please read this post: Node-RED 0.20.0-beta.2 released

The CHANGELOG has the full set of changes, but a couple particular things to highlight:

  1. The Change, Switch and Join nodes have had some performance improvements applied following a performance regression in 0.19 - particularly if they interact with context or use JSONata expressions. For example, given a Change node using JSONata to calculate payload*2, on my laptop, in 0.19.5 it takes ~12 seconds to process 65k messages (5k msgs/s). In this release that now takes ~5 seconds (12k msgs/s).

  2. The Link nodes have had quite a lot of work done to them.

    • their edit dialog has been updated to show a more structured list of available link nodes
    • more significantly, when you select a Link node it shows an extra port from which you can click and drag a wire to another Link node in order to join them. As before, these link wires are are only displayed when you have a link node selected.

There have also been a handful of bug fixes following the previous beta release.

Installing the beta

If you want to try out the beta, you will need specify node-red@next when you use npm to update. Without the @next you'll still get 0.19.5.

So on a Pi you'd do:

sudo npm install -g --unsafe-perm node-red@next

Reporting problems

If you hit any problems, please report them either as a reply on this topic, or in the #dev slack channel. Please do not post new topics to the forum regarding the beta as that could confuse users who are not using the beta.

Outstanding work

There still remains a handful of PRs and open issues to resolve, and documentation still to write. I didn't get as much done over the Christmas break as I thought I might, so in absence of more contributors to help resolve the outstanding work, 0.20-final will be a little way off yet.

10 Likes

I've tried this out twice over 2 days and both times the PiZero I'm trying to install it on seems to freeze at this point

(Clock is frozen at 19:38 - its now 20:05)


picture added now - sorry :slight_smile:

for comparision - the previous version was 0.19.2 so I've just run the standard Pi upgrade script and 30 mins later - its upgraded fine to 0.19.5

As I love to live dangerously (well a little bit), I've upgraded my dev instance on a Windows 10 PC.

Note that I install locally not globally.

Two minor issues:

λ  npm install --unsafe-perm node-red@next
npm WARN deprecated mimelib@0.3.1: This project is unmaintained
npm WARN node-red-master@0.19.5 No repository field.

Sorry, need to pause while I reboot - something not right with Windows. Doh! First thing to check when getting odd issues with Windows 10 - a pending Windows Update reboot. Back shortly.

Tiny issuette - the link node's new ports don't look the same as the normal ports. Particularly, they sit outside the node rather than over the edge. Just cosmetic.

LOVE the new ability to apply JSONata to the debug node - nice touch. :smile:

The Link node's selection list is also much easier to read now as well. Thanks for that.

All else seems to be working great at the moment.

1 Like

Hi - the link to link ports are meant to be a bit different so you know you can't wire them to normal ports... but position could be "embedded" slightly more.

While discussing links - I have been wondering if you could slip in a little tweak to help aid visualisation?

Currently, all links look the same. Yes i know you can change the icon but it then doesnt look like a link.

I was hoping that there might be a way to choose a colour and/or (optionally) make the text/description field visible (like other nodes) so that we can determine link usage/destination at a glance?

Not sure my description does this request any justice.

Lets just say - I have a flow with 6 links on, each of them are 1:1 links (pairs). If I could colourise the 3 pairs RED, GREEN, BLUE, I'd instantly see a relationship.

Not a massive ask but somewhat helps with quicker comprehension.

Cheers, Steve.

Hi @Steve-Mcl
thanks for the feedback. We don't plan to let the colours of nodes to be changed.

But you can give the node a custom icon and you can get it to show its label. So hopefully that addresses your needs.

We aren't going to allow nodes to be coloured. Part of being able to "read" a flow is to easily recognise nodes... - and now that we allow changing both name and icon... allowing colour as well would make it impossible. So, apologies, but no.

Just tried running the install script on another Pi (Pi3B+ prev version 0.19.5) and worked OK

New options for Link node are great

? Can't find this option or was it a joke? :slight_smile:

Local_Node-RED

2 Likes

Thank you :slight_smile:
............

Minor issue - if you have status enabled,deploy,switch to using JSONata, deploy - nothing goes to status

There's no option for it at this point, so fair enough - but the grey icon is still visible implying that it is enabled

Now fixed in git for the next beta.

2 Likes

Not sure if this is an issue or normal I'm afraid.

When using global variables with file and memory storage types available. I noticed that using the default (e.g. not specified) store, I get entries in BOTH. That might be because I had my file store set as default so I was getting both a default entry and a file entry.

Afraid, I haven't had time to do a more complete analysis.

If you have the file store set as the default, then I'm not sure what you mean when you say you get both a default entry and a file entry.... because default is file.

Sorry, I didn't explain very well.

image

Note the duplicate entries when I'd expect only a single entry.

settings.js

    contextStorage: {
        default: {
            module: "localfilesystem"
        },
        memory: {
            module:"memory"
        },
        file: {
            module: "localfilesystem"
        }
    },

I don't see the same issue if "memory" is the default. And I don't think the same happens on 0.19

How do I install just one of the sub-modules in 0.20.0-beta.3 from npm registry?

2 issues : 1. I was using node-red-contrib-postgres (version 0.6.1) with the node-red version 0.19.0 and everything was working fine. After installing Node-red beta-3 that postgres node started giving errors :

  • "Cannot find C:\Users\Vishal\AppData\Roaming\npm\node_modules\node-red\red\red"
  • in command prompt while starting node-red : [node-red-contrib-postgres/PostgreSql] Error: Cannot find module './lib/red.js'

second problem is in web-sockets : While using worldmap node other websockets gets disconnected after first deploy. I have listed that detailed problem to the owner of world map on github. He said that the problem was with node-red and it is solved in beta version. I used beta version and the problem still persist. here is the link of that detailed discussion : https://github.com/dceejay/RedMap/issues/65

The node is badly written - line 17 of postgres.js tries to require red in a manner that is easy to break... please raise an issue against that node's project to get it fixed.

Will continue the websocket question on the other issue. (Need another failing test case as your original now works for me)

The postgres node merged a fix for this in early December - it just hasn't been published to npm yet. An issue has been raised against the node to get the code published - https://github.com/krisdaniels/node-red-contrib/issues/12