🎉 Node-RED 4.1.0.beta-1 now available

:tada: 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.

11 Likes

I love the function node content pop-out the only problem is both hover & pop have a white background with a very light grey text, not very visible.

That might be red-docs - sorry

Can you share a screenshot of what you're referring to? Suspect it will be a non-core thing as I doesn't immediately relate to anything new in this release that I can think of.

You may wish to see my thread on node.js version recommendations from node.js. They are recommending to skip v20 and move to v22 to avoid security issues.

Nice!:

Only shows on nodes? Not on groups or flow tabs? Is that correct?

Yes, only shown on nodes. The reason for this is to collect feedback on its usefulness.

Well, I've been using doc-red for a while so I'll chip in and say - It is really useful!! :smiley:

Yes it is doc-red so nothing to do with the new version of Node-RED, apologies. I had forgotten that I had installed it and the first time I had hovered.

Is there a way to disable this? Directions please? Also, if you chose to turn on telemetry when you install, is there a way to turn that off?
Thanks

My first commit in Node-RED :tada:

4 Likes

Yes and yes.
Everything is explained in the documentation:

On small clarification on what @GogoVega said.

The update notification for available updates to the nodes you have installed cannot currently be disabled. This is something we'll look at for the final release.

The update notification for Node-RED updates can be disabled. The linked docs explain how, but the quickest way to change your mind is to open the editor settings dialog and scroll down to the 'Update Notifications' section and toggle the option there.

  • Is this like the uninstalled nodes notification, it only pops up when you import a flow?
  • And only if the flow was exported from NR 4.1?

Telemetry - Not sure how it happened but my settings.js file does not have the telemetry stanza, nor does it ask for permission when I connect to the editor.

  • What triggers that request?
  • If there is no stanza in settings.js, will Node-red phone home or not?

This is nothing to do with importing flows. This is the Palette Manager checking what versions you have installed against the information it has pulled down from the community catalogue.

It appears as a notification in the footer of the editor, clicking on it will open the popup shown in the post above

Is this a new install or existing? We do not update existing settings files, so yours won't have the telemetry stanza in.

nor does it ask for permission when I connect to the editor.

Can you check the contents of .node-red/.config.runtime.json and see if there's a telemetryEnabled entry (and if so, what value it has). Node-RED will not phone home until it knows what your preference is - and I thought we'd covered all the cases to get the user's preference as early as possible.

Ah.
I have tried both. This one was a new install using --nodered-version="next" and --node22 flags.
I think the installation went straight into the node-red admin stage without prompting first.
I deleted the stanza from the new settings file to see what happens, but .config.runtime.json does have "telemetryEnabled": true

I'm more puzzled than ever, if a user changes the values in settings.js to disable telemetry, it there a process to keep this json file in sync?
If they are not in sync, which one rules?

Another issue, perhaps not relevant since I have clearly borked the setup, but I don't see the "deprecated" notice against node-red-dashboard.

We haven't actually marked that module as deprecated... yet. The screenshot was a mockup I threw together to get the post published...

Ok - will double check that path through to see if it's not behaving as intended.

Docker containers have been built and can be found here:

https://hub.docker.com/r/nodered/node-red-dev/tags

e.g. docker pull nodered/node-red-dev:4.1.0-beta.1

or

https://github.com/node-red/node-red-docker/pkgs/container/node-red-dev

e.g. docker pull ghcr.io/node-red/node-red-dev:4.1.0-beta.1

There are NodeJS 18, 20 and 22 builds with the usual suffixes including -debian and -minimal

(There is no -debian build on GitHub due to a minor bug in the tagging by the release process, next release will fix this)

After updating, update to ... gets stuck, instead of updated. After restarting it is gone.

Will check that

Fixed. Thank you @Frida :face_blowing_a_kiss:

It's actually v4.1.0-beta.1

There are no packages there :frowning: