# 🎉 Node-RED 4.1.0.beta-1 now available

**URL:** <https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530>\
**Category:** News\
**Tags:** docker\
**Created:** [10 June 2025 16:28 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530 "2025-06-10T16:28:48Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [10 June 2025 16:28 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/1 "2025-06-10T16:28:48Z")

</div>

🎉 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](https://github.com/node-red/node-red/blob/6717cce644ec92b5ff68bc5037624ded2a922756/CHANGELOG.md) 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](https://nodered.org/docs/telemetry/) 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.

 ![update-notification](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/c/a/cabb59918a116d463942b4256be4ff6b2a344114.png)

### 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.

 ![node-docs](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/1/e/1e52ba81dd0d3fa31cd8ce2ae1ed969218d6ba1e.png)

### 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.

 ![missing-modules](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/e/deca0de19f4f8c1a144f4d13a23be12aff5581c6.png)

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.

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/4/548515e516564d250aa2c2a76022219859ce7d9a.png)

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](https://github.com/node-red/node-red/blob/6717cce644ec92b5ff68bc5037624ded2a922756/CHANGELOG.md) 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:

```auto
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.

---

<div class="post-metadata">

**Author:** ![Buckskin](https://avatars.discourse-cdn.com/v4/letter/b/b9e5f3/32.png) [@Buckskin](https://discourse.nodered.org/u/Buckskin)\
**Post date:** [10 June 2025 18:32 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/2 "2025-06-10T18:32:03Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [10 June 2025 19:16 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/3 "2025-06-10T19:16:07Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![GogoVega](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gogovega/32/71313_2.png) [@GogoVega](https://discourse.nodered.org/u/GogoVega)\
**Post date:** [10 June 2025 19:22 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/4 "2025-06-10T19:22:09Z")

</div>

> **[doc-red](https://flows.nodered.org/node/doc-red)**
>
> A plugin for Node-RED which helps to documentate and enhance your workspace.

> [@What "addon" is it so you can put notes on nodes/groups/etc?](https://discourse.nodered.org/t/what-addon-is-it-so-you-can-put-notes-on-nodes-groups-etc/97455/8):
>

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [10 June 2025 19:53 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/5 "2025-06-10T19:53:03Z")

</div>

> [@knolleary](#):
>
> We recommend using Node 20 at least

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!:

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/f/3/f3ea38f9859ad35bd839ac4218cc804e34c9b529.png)

> [@knolleary](#):
>
> Node Documentation icon

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

---

<div class="post-metadata">

**Author:** ![GogoVega](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gogovega/32/71313_2.png) [@GogoVega](https://discourse.nodered.org/u/GogoVega)\
**Post date:** [10 June 2025 20:00 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/6 "2025-06-10T20:00:19Z")

</div>

> [@TotallyInformation](#):
>
> 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.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [10 June 2025 20:02 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/7 "2025-06-10T20:02:21Z")

</div>

> [@GogoVega](#):
>
> 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!! 😃

---

<div class="post-metadata">

**Author:** ![Buckskin](https://avatars.discourse-cdn.com/v4/letter/b/b9e5f3/32.png) [@Buckskin](https://discourse.nodered.org/u/Buckskin)\
**Post date:** [10 June 2025 20:53 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/8 "2025-06-10T20:53:15Z")

</div>

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.

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/2/52b0853ba0fc9ab3fced8b5384c46537705baada.png)

---

<div class="post-metadata">

**Author:** ![gerry](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gerry/32/21604_2.png) [@gerry](https://discourse.nodered.org/u/gerry)\
**Post date:** [11 June 2025 00:47 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/9 "2025-06-11T00:47:55Z")

</div>

> [@knolleary](#):
>
> 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.

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

---

<div class="post-metadata">

**Author:** ![zj-flowfuse](https://avatars.discourse-cdn.com/v4/letter/z/a88e4f/32.png) [@zj-flowfuse](https://discourse.nodered.org/u/zj-flowfuse)\
**Post date:** [11 June 2025 07:02 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/10 "2025-06-11T07:02:26Z")

</div>

My first commit in Node-RED 🎉

---

<div class="post-metadata">

**Author:** ![GogoVega](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gogovega/32/71313_2.png) [@GogoVega](https://discourse.nodered.org/u/GogoVega)\
**Post date:** [11 June 2025 07:06 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/11 "2025-06-11T07:06:30Z")

</div>

> [@gerry](#):
>
> 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?

Yes and yes.  
Everything is explained in the documentation:

> **[Usage Telemetry : Node-RED](https://nodered.org/docs/telemetry/)**

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [11 June 2025 08:08 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/12 "2025-06-11T08:08:52Z")

</div>

> [@gerry](#):
>
> 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?

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.

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [11 June 2025 08:43 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/13 "2025-06-11T08:43:28Z")

</div>

> [@knolleary](#):
>
> The update notification for available updates to the nodes you have installed _cannot_ currently be disabled.

- 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?

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [11 June 2025 08:53 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/14 "2025-06-11T08:53:02Z")

</div>

> [@jbudd](#):
>
> - 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?

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

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/7/970ce7b30790149b4e744e9346a9804dd18ce019.png)

> [@jbudd](#):
>
> 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.

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.

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [11 June 2025 09:12 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/15 "2025-06-11T09:12:18Z")

</div>

> [@knolleary](#):
>
> Is this a new install or existing? We do not update existing settings files, so yours won't have the telemetry stanza in.

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.

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [11 June 2025 09:24 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/16 "2025-06-11T09:24:45Z")

</div>

> [@jbudd](#):
>
> 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...

> [@jbudd](#):
>
> 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

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

---

<div class="post-metadata">

**Author:** ![hardillb](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hardillb/32/12373_2.png) [@hardillb](https://discourse.nodered.org/u/hardillb)\
**Post date:** [11 June 2025 09:43 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/17 "2025-06-11T09:43:54Z")

</div>

Docker containers have been built and can be found here:

[https://hub.docker.com/r/nodered/node-red-dev/tags](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](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)

---

<div class="post-metadata">

**Author:** ![Frida](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/frida/32/68250_2.png) [@Frida](https://discourse.nodered.org/u/Frida)\
**Post date:** [11 June 2025 14:19 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/18 "2025-06-11T14:19:03Z")

</div>

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

 ![pic01](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/1/9/19970b37a0aa97203e56b17ac2942fa60712334a.png)

---

<div class="post-metadata">

**Author:** ![GogoVega](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gogovega/32/71313_2.png) [@GogoVega](https://discourse.nodered.org/u/GogoVega)\
**Post date:** [11 June 2025 14:26 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/19 "2025-06-11T14:26:33Z")

</div>

~~Will check that~~

Fixed. Thank you @Frida 😘

> <https://github.com/node-red/node-red/pull/5169>
>
> \## Types of changes
> 
> \- \[x\] Bugfix (non-breaking change which fixes an issue)
> …- \[\] New feature (non-breaking change which adds functionality)
> 
> \## Proposed changes
> 
> In #4945, I modified the \`nodeEntries\[module\].info\` object to separate the set into \`nodeSet\` and \`pluginSet\`.
> 
> With this change \`nodeEntries\[module\].info\` no longer contains a reference to the registry (\`RED.nodes.registry.getModule(module)\`) but to a new object.
> 
> So have to define \`pending\_version\` during the update event to add it to \`nodeEntries\[module\].info\`.
> 
> \## Checklist
> 
> \- \[x\] I have read the \[contribution guidelines\](https://github.com/node-red/node-red/blob/master/CONTRIBUTING.md)
> \- \[\] For non-bugfix PRs, I have discussed this change on the forum/slack team.
> \- \[x\] I have run \`npm run test\` to verify the unit tests pass
> \- \[\] I have added suitable unit tests to cover the new/changed functionality

---

<div class="post-metadata">

**Author:** ![mbonani](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/mbonani/32/10631_2.png) [@mbonani](https://discourse.nodered.org/u/mbonani)\
**Post date:** [12 June 2025 12:34 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530/20 "2025-06-12T12:34:16Z")

</div>

> [@hardillb](#):
>
> e.g. `docker pull nodered/node-red-dev:4.1.0-beta.1`

It's actually `v4.1.0-beta.1`

> [@hardillb](#):
>
> [https://github.com/node-red/node-red-docker/pkgs/container/node-red-dev](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 no packages there ☹

[Next page](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530.md?page=2)
