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

**URL:** <https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810>\
**Category:** News\
**Tags:** docker\
**Created:** [26 June 2025 14:39 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810 "2025-06-26T14:39:34Z")\
**Posts on this page:** 14\
**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:** [26 June 2025 14:39 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810/1 "2025-06-26T14:39:34Z")

</div>

🎉 The second, and final, **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**

If you missed the beta-1 release post, you can read the details [here](https://discourse.nodered.org/t/node-red-4-1-0-beta-1-now-available/97530) - then come back and find out what else we've added since then.

This isn't a large release, mostly some tidy up on items reported against the previous beta, plus a few items that didn't make that first release.

The [Change Log](https://github.com/node-red/node-red/blob/aadbbc96ee42d32b5769f296458dd5b9cfe7e55d/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!

### Better handling of loooooong topics in Debug sidebar

The Debug sidebar will now truncate long topics rather than fill the screen. Hovering over the topic will show a tooltip with the full content:

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

### Event log widget

When installing a node from the palette manager, it can sometimes take a while depending on where Node-RED is running and the size of the module being installed. If you close the palette manager, you then lose any feedback of the install still running.

We've had the Event Log view since the early days of Node-RED (`menu -> view -> Event log`) but I bet its something most users are unaware of.

With this release, if there is an install running in the background, a progress widget is shown in the editor footer. Clicking on it will open up the event log. Once the install completes, the widget will hide itself.

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

### Accessing the raw body of an HTTP request

A feature that has been requested a few times is to be able to access the raw, unparsed body of an incoming HTTP Request. This is now finally possible with a new option on the `HTTP In` node to not parse the request body. When selected, `msg.payload` will be a `Buffer` object. This is useful, for example, when dealing with APIs that generate checksums of the payload - something that couldn't be verified if the payload had been parsed to another format.

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/6/1/610c9faf170970b597fd649000dc9265f8717b47.png)

### API updates

There have been a few updates to APIs - less interesting to end users, but in preparation of unlocking some more stuff in the future. Check the changelog for details, or come check in https://nodered.org/slack if you're interested in finding out more.

* * *

## 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 (at least, they will be once I politely ask Ben to kick them off), but will soon be available under `nodered/node-red-dev:v4.1.0-beta.2` - 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

Aside from any minor bug fixes that come up, this is pretty much it for 4.1 beta releases. The goal is to get the final release published next week - not long to go!

---

<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:** [26 June 2025 15:51 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810/2 "2025-06-26T15:51:31Z")

</div>

Docker builds are done (but I will respin to fix the leading `v` on the tags to match release tags)

They can be found at

[https://hub.docker.com/r/nodered/node-red-dev/tags](https://hub.docker.com/r/nodered/node-red-dev/tags)

e.g.

`nodered/node-red-dev:v4.1.0-beta.2`  
`nodered/node-red-dev:v4.1.0-beta.2-debian`

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.

`ghcr.io/node-red/node-red-dev:v4.1.0-beta.2`  
`ghcr.io/node-red/node-red-dev:v4.1.0-beta.2-debian`

---

<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:** [30 June 2025 10:27 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810/3 "2025-06-30T10:27:23Z")

</div>

Should be available tagged both with and without the leading `v` now

---

<div class="post-metadata">

**Author:** ![gregorius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gregorius/32/73816_2.png) [@gregorius](https://discourse.nodered.org/u/gregorius)\
**Post date:** [6 July 2025 06:57 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810/4 "2025-07-06T06:57:51Z")

</div>

> [@hardillb](#):
>
> Docker builds are done

Oh, that's a bit confusing - I just [searched for v4](https://hub.docker.com/r/nodered/node-red/tags?name=v4) but found nothing over there until I realised that I was searching in [nodered/node-red](https://hub.docker.com/r/nodered/node-red).

I then went over to [nodered/node-red-dev](https://hub.docker.com/r/nodered/node-red-dev) and [found v4.1.x and 4.1.x](https://hub.docker.com/r/nodered/node-red-dev/tags?name=v4.1) ...

I never knew that there was a second docker repository ...

---

<div class="post-metadata">

**Author:** ![malee](https://avatars.discourse-cdn.com/v4/letter/m/ac8455/32.png) [@malee](https://discourse.nodered.org/u/malee)\
**Post date:** [9 July 2025 11:04 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810/5 "2025-07-09T11:04:21Z")

</div>

I am testing 4.1.0 in a Docker container I have built.

I seem to be getting these errors in relation to the telemetry:

```auto
Sending telemetry
2025-07-09 09:38 +01:00: 9 Jul 09:38:00 - [debug] Failed to send telemetry: RequestError: unable to get local issuer certificate
2025-07-09 09:38 +01:00: 9 Jul 09:38:00 - [debug] Telemetry response: undefined

```

---

<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:** [9 July 2025 14:43 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810/6 "2025-07-09T14:43:18Z")

</div>

How did you build the container? what base did you use? Does it contain the public CA certs?

(I ask because your other post about removing required pre-reqs for NodeJS e.g. build tools)

And have you tested with the containers the project supplies?

---

<div class="post-metadata">

**Author:** ![kazuhitoyokoi](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/kazuhitoyokoi/32/621_2.png) [@kazuhitoyokoi](https://discourse.nodered.org/u/kazuhitoyokoi)\
**Post date:** [25 July 2025 14:31 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810/7 "2025-07-25T14:31:47Z")

</div>

When I tried this beta, I found that file upload using the `http-in` node fails. In v4.0.9, it works.

 ![Screenshot 2025-07-25 at 23.23.51](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/8/4886a665356c090ec5dc9da870ea6bb2a30423df.jpeg)

# File upload command

```auto
curl -X POST http://localhost:1880/upload -F "file=@node-red-icon.png"

```

# Node-RED flow

```auto
[{"id":"b4acce50cd831767","type":"http in","z":"cda04605a4c46de8","name":"","url":"/upload","method":"post","upload":true,"swaggerDoc":"","x":130,"y":80,"wires":[["2c244bcab8038c09"]]},{"id":"cc26d7e4122552f5","type":"http response","z":"cda04605a4c46de8","name":"","statusCode":"","headers":{},"x":490,"y":80,"wires":[]},{"id":"2c244bcab8038c09","type":"image","z":"cda04605a4c46de8","name":"","width":160,"data":"req.files[0].buffer","dataType":"msg","thumbnail":false,"active":true,"pass":true,"outputs":1,"x":320,"y":80,"wires":[["cc26d7e4122552f5"]]},{"id":"7206c40ade6541a2","type":"global-config","env":[],"modules":{"node-red-contrib-image-output":"0.6.4"}}]

```

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [25 July 2025 14:40 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810/8 "2025-07-25T14:40:43Z")

</div>

@kazuhitoyokoi I see you are using Node24

~~I am not certain Node24 was addressed before beta.2~~ Node 24 support was only added a few days ago: [Updates for Node 24 by knolleary · Pull Request #5207 · node-red/node-red · GitHub](https://github.com/node-red/node-red/pull/5207) (and the test matrix has been updated too)

If you are in a position to pull the dev branch and run that, I am hopeful you will succeed?

Please let me know.

---

<div class="post-metadata">

**Author:** ![kazuhitoyokoi](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/kazuhitoyokoi/32/621_2.png) [@kazuhitoyokoi](https://discourse.nodered.org/u/kazuhitoyokoi)\
**Post date:** [25 July 2025 14:55 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810/9 "2025-07-25T14:55:20Z")

</div>

Yes, I'm using Node.js v24.4.1 on macOS. Using [the latest dev branch](https://github.com/node-red/node-red/tree/6fcba3bfab83fc8cf3685fd06d5f7d35fca60545), the situation is the same as the 4.1.0-beta.2.  
I also tried Node.js v22.17.1 for dev branch and 4.1.0-beta.2 but all my tests failed.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [25 July 2025 15:07 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810/10 "2025-07-25T15:07:10Z")

</div>

Just pulled dev branch, ran npm install, imported your flow...

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

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

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/0/5082afd5a0bc4a752ef6c32aba82713073df3e87.png)

---

<div class="post-metadata">

**Author:** ![kazuhitoyokoi](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/kazuhitoyokoi/32/621_2.png) [@kazuhitoyokoi](https://discourse.nodered.org/u/kazuhitoyokoi)\
**Post date:** [25 July 2025 15:19 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810/11 "2025-07-25T15:19:47Z")

</div>

Before executing curl command, you need to download the [png file](https://nodered.org/about/resources/media/node-red-icon.png) in advance. In v4.0.9, curl command returns `{}`. In 4.1.0-beta.2, curl command returns `Internal Server Error`.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [25 July 2025 15:25 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810/12 "2025-07-25T15:25:10Z")

</div>

Ah, yes, I should have supplied an actual image (i assumed it would make no difference 🤦‍♂️) but alas, yes, I see the same issue now:

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

Can you please raise an issue?

---

<div class="post-metadata">

**Author:** ![kazuhitoyokoi](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/kazuhitoyokoi/32/621_2.png) [@kazuhitoyokoi](https://discourse.nodered.org/u/kazuhitoyokoi)\
**Post date:** [25 July 2025 16:00 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810/13 "2025-07-25T16:00:42Z")

</div>

Thank you for reproducing the error. I submitted the GitHub Issue.

> <https://github.com/node-red/node-red/issues/5226>
>
> \### Current Behavior
> 
> The file upload flow using the \`http-in\` and \`http respons…e\` nodes fails. When uploading a png file using the curl command, the Node-RED editor outputs the following error.
> 
> \<img width="1440" height="900" alt="Image" src="https://github.com/user-attachments/assets/9306d1f0-a07c-454f-b163-5317756b86aa" /\>
> 
> \`\`\`
> "name":"InternalServerError",
> "message":"stream is not readable",
> "stack":"InternalServerError: stream is not readable\\n at readStream (/Users/kazuhitoyokoi/.nvm/versions/node/v24.4.1/lib/node\_modules/node-red/node\_modules/raw-body/index.js:185:17)\\n at getRawBody (/Users/kazuhitoyokoi/.nvm/versions/node/v24.4.1/lib/node\_modules/node-red/node\_modules/raw-body/index.js:116:12)\\n at rawBodyParser (/Users/kazuhitoyokoi/.nvm/versions/node/v24.4.1/lib/node\_modules/node-red/node\_modules/@node-red/nodes/core/network/21-httpin.js:63:9)\\n at Layer.handle \[as handle\_request\] (/Users/kazuhitoyokoi/.nvm/versions/node/v24.4.1/lib/node\_modules/node-red/node\_modules/express/lib/router/layer.js:95:5)\\n at next (/Users/kazuhitoyokoi/.nvm/versions/node/v24.4.1/lib/node\_modules/node-red/node\_modules/express/lib/router/route.js:149:13)\\n at /Users/kazuhitoyokoi/.nvm/versions/node/v24.4.1/lib/node\_modules/node-red/node\_modules/@node-red/nodes/core/network/21-httpin.js:327:25\\n at done (/Users/kazuhitoyokoi/.nvm/versions/node/v24.4.1/lib/node\_modules/node-red/node\_modules/multer/lib/make-middleware.js:59:7)\\n at indicateDone (/Users/kazuhitoyokoi/.nvm/versions/node/v24.4.1/lib/node\_modules/node-red/node\_modules/multer/lib/make-middleware.js:63:68)\\n at Multipart.\<anonymous\> (/Users/kazuhitoyokoi/.nvm/versions/node/v24.4.1/lib/node\_modules/node-red/node\_modules/multer/lib/make-middleware.js:182:7)\\n at Multipart.emit (node:events:507:28)"
> \`\`\`
> 
> And curl command returns \`Internal Server Error\`.
> 
> \### Expected Behavior
> 
> This example flow shows the image preview on the Node-RED flow editor as follows.
> 
> \<img width="1440" height="900" alt="Image" src="https://github.com/user-attachments/assets/9f5a8e9b-2ae0-4a68-8908-080c34c9e1ba" /\>
> 
> And curl command returns \`{}\`.
> 
> \### Steps To Reproduce
> 
> 1. Import the example flow to Node-RED flow editor
> 2. Download the png file to the current directory
> \`\`\`
> wget https://nodered.org/about/resources/media/node-red-icon.png
> \`\`\`
> 3. Upload the png file to Node-RED endpoint
> \`\`\`
> curl -X POST http://localhost:1880/upload -F "file=@node-red-icon.png"
> \`\`\`
> 
> \### Example flow
> 
> \`\`\`
> \[{"id":"b4acce50cd831767","type":"http in","z":"cda04605a4c46de8","name":"","url":"/upload","method":"post","upload":true,"swaggerDoc":"","x":130,"y":80,"wires":\[\["2c244bcab8038c09"\]\]},{"id":"cc26d7e4122552f5","type":"http response","z":"cda04605a4c46de8","name":"","statusCode":"","headers":{},"x":490,"y":80,"wires":\[\]},{"id":"2c244bcab8038c09","type":"image","z":"cda04605a4c46de8","name":"","width":160,"data":"req.files\[0\].buffer","dataType":"msg","thumbnail":false,"active":true,"pass":true,"outputs":1,"x":320,"y":80,"wires":\[\["cc26d7e4122552f5"\]\]},{"id":"7206c40ade6541a2","type":"global-config","env":\[\],"modules":{"node-red-contrib-image-output":"0.6.4"}}\]
> \`\`\`
> 
> 
> \### Environment
> 
> \- Node-RED version: 4.1.0-beta.2
> \- Node.js version: 24.4.1
> \- npm version: 11.4.2
> \- Platform/OS: Macbook Air M1 2020 / macOS Sequoia 15.5 
> \- Browser: Google Chrome Version 138.0.7204.158 (Official Build) (arm64)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [23 September 2025 16:01 UTC](https://discourse.nodered.org/t/node-red-4-1-0-beta-2-now-available/97810/14 "2025-09-23T16:01:16Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
