The first beta release of Node-RED 4.1 is now available!
Node-RED 4.x requires at least Node 18.x. We recommend using Node 20 at least
The Change Log has the full list of changes.
Note: if any issues are reported against the beta, we'll update this post to list them here. If you hit a problem, please do check back here before adding a comment.
Known Issues
- None yet!
Update Notifications
One of the first things you'll see when you start 4.1 is a request to enable update notifications. This enables a notification in the editor when there is a new version of Node-RED available. This ensures you can keep up to date with the latest fixes and features. In return, Node-RED sends back anonymous usage information to the project. This consists primarily information on what version of NR is being used and type of OS information. No information about your users or flows is shared. We've published a page in the docs regarding what information is gathered, why, and how it'll be used.
Separately, it will also notify you when there are updates available for any of the nodes in your palette. This part of the notification is handled by the Palette Manager based on the node catalogue it downloads; as such, it is enabled by default.
Node Documentation icon
An often requested feature has finally made the cut; any node with documentation added in its 'Description' field of the edit dialog will now show the Info icon. Clicking on the icon will open up the edit dialog.
As before, when a node is selected, any content in its Description is shown in the Info sidebar
If you aren't a fan of the icon, you can turn it off in the Editor Settings dialog.
Managing flow dependencies
Whilst Node-RED makes it super simple to share flows via its import/export dialog, a common challenge has been not knowing what additional modules need to be installed for the flow to work.
With this release, when you export a flow, it now includes meta-data of which additional modules are used by the flow.
When importing the flow, if any of the node types aren't recognised, the editor can now use this information to let you know what needs to be installed.
Note: we chose not to automatically install the modules as it felt important that the user should be able to make that choice and not have things get installed without their knowledge.
This additional meta-data is held in a global-config
node within the export. This is a node type that was introduced in Node-RED 4.0 - so you will still be able to import flows from 4.1 back to 4.0.
Palette Manager Updates
The Palette Manager has had a number of small but powerful updates.
Deprecated modules
If a node module has been deprecated by its author on npm, or flagged as such on the flow library, it will now show a deprecated
badge. This will be a sign to avoid the module unless you have a very specific need to use it.
The Flow Library has been updated to also show this information on the nodes page.
Sorting nodes by downloads
By default the list of nodes available to install are now sorted by download count. That helps to prioritise the more widely used and popular nodes.
Links to node docs
We've added links to a node's documentation on the Nodes tab (previously this was only on the Install tab)
Better support for Plugins
The list of installed modules now handles plugins better - particular those modules that contain a mix of plugins and nodes
Other updates
There's a lot of other smaller items in the changelog, a few more to highlight:
- Deploying when you have a badly configured node has alway asked for confirmation. The logic behind that will now ignore nodes that are disabled - as they won't impact the deployed flow.
- A new action is available that will trigger the buttons of any selected nodes. This action (
core:trigger-selected-nodes-action
) can be found in the Action Menu (Ctrl-Shift-P
), and can be bound to whatever keyboard shortcut you want.
Node Updates
Here's a list of the various updates made to the individual core nodes.
- Complete/Status: Fix complete node to not feedback immediately connected nodes (#5114) @dceejay
- Function: Add URL/URLSearchParams to Function sandbox (#5159) @knolleary
- Function: Add support for node: prefixed modules in function node (#5067) @knolleary
- Function: Add globalFunctionTimeout (#4985) @vasuvanka
- Exec: Make encoding handling consistent between stdout and err (#5158) @knolleary
- Split: Let split node send original msg to complete node (#5113) @dceejay
- Split: Rename Split The field (#5130) @dceejay
- MQTT: Ensure generated mqtt clientId uses only valid chars (#5156) @knolleary
- HTTP Request: Fix the capitisation for ALPN settings in http-request (#5105) @hardillb
- HTTP Request: (docs) Recommend HTTPS over HTTP (#5141) @ZJvandeWeg
- HTTP Request: Include URL query params in HTTP Digest (#5166) @hardillb
- Catch: Add code to error object sent by Catch node (#5081) @knolleary
- Debug: Improve debug display of error objects (#5079) @knolleary
- Debug: Improve display of loooooong message properties
Check the full changelog to see what else has been happening.
Be sure to read through the Change Log to see what else is in there.
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 4.0.x
So on a Pi you'd do:
sudo npm install -g --unsafe-perm node-red@next
Docker images
The beta images are building as I write this, but will soon be available under nodered/node-red-dev:v4.1.0-beta.1
- with the default image being based on node 20.
Reporting problems
If you hit any problems, please report them either as a reply on this topic, or in the #core-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
We don't want to have a long beta period as we're itching to get on with Node-RED 5. There are a small number of issues and PRs that didn't quite make the cut today, but should still make the cut for the final 4.1.0 release. A lot depends on your feedback on the beta as to how quickly we get there.