We released Node-RED 0.17 on Friday and wrote up the usual blog post about everything in it. A few hours later, and we realised we’d missed some things off that post that deserved to be highlighted. Rather than update the previous post, here’s part two.

We also spotted a couple minor issues that slipped through, so along with this post we’ve also published Node-RED 0.17.2.

Previously, in 0.17

Toggling Debug state

The Debug node has always had its button in the editor that lets you disable its output. But there is a hidden problem here. Whether the node is disabled or not is stored in the flow configuration. Clicking the button in the editor toggles that state in the runtime but does not save it - the only way to save is to hit the deploy button. This is a problem because if you disabled all your Debug nodes for performance reasons and then the runtime restarted for some reason, they would all be re-enabled. We know this has caught users out and caused problems.

With 0.17, when you toggle the Debug state it still takes affect immediately, but the Deploy button becomes active and the node is marked as having changed. This means you know you still need to deploy to have the change be saved permanently.

Disabling a flow

You can now disable a flow (aka tab) within the editor which means it remains in your deployed configuration, but none of its nodes are started. This is particularly useful when you want to temporarily stop some part of your flows without removing them.

To disable a flow, double-click on the tab to access its property dialog.

Whilst in there, you can also add a description to the flow. This gets displayed in the Info sidebar when you don’t have any nodes selected. Useful for adding some documentation to your flows.

Join node’s accumulate mode

We mentioned some of the changes made to the Split node, but overlooked a new mode in the Join node.

The Join node can be used to build an Object payload using each message in the sequence to provide a different key/value for that Object. In its default mode, it would wait for a set number of messages before passing on the built Object and then start from an empty object again. The new mode will cause the Join node to not reset to an empty object, and will send on the built message for each subsequent update.

This is useful if you are using it to collate a set of sensor values that arrive separately and you want to always send on the latest set of readings each time one arrives.

GPIO pin selection

The editor dialog for the Raspberry Pi GPIO nodes previously only exposed a subset of all available pins - those that weren’t dual use. With this release, all of the pins are now available for use, and the dialog has been updated to help identify which pin is which.

JSON formatting

The JSON parser node now has an option to prettify its output when converting an Object to JSON. Not much more to say on that.

Fixes in 0.17.2

  • The editor would fail to load icons for nodes loaded from scoped modules - issue #1305
  • If you moved a node within the editor and hit deploy, the node’s change marker (the blue dot) wouldn’t be cleared - issue #1310
  • Sending data to the Debug sidebar has been made asynchronous to the flow as it could cause unexpected slow downs under heavy load - issue #1311
  • GPIO nodes were not set to use BCM mode