Whilst it isn't the excitement of the final 3.1 release, this is the next best thing - a new beta for the release.
Node-RED 3.x requires at least Node 14.x, but that has already reached its end-of-life. These days you should really be using Node 18 as even Node 16 only has a short time before it reaches its end-of-life.
The Change Log has the full list of changes.
If you haven't tried the previous beta releases, please check their release posts for details on what's included:
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
Improved wiring for horizontally aligned nodes
Following this discussion on the forum, we've made some modifications to the wiring layout logic to improve cases where wires loop back on horizontally laid out nodes.
Here is a before/after pair of screenshots.
New subflow env vars
Within a subflow, you can now use NR_SUBFLOW_NAME
NR_SUBFLOW_ID
and NR_SUBFLOW_PATH
to access those properties of the subflow instance node.
These join the existing NR_NODE_*
/NR_FLOW_*
and NR_GROUP_*
equivalents.
Individual http middleware for httpStatic routes
It is now possible to configure separate middleware functions for different httpStatic
configured routes.
See #4229 for the details.
Changes to how Environment Variables are evaluated
Environment variables are statically defined values that cannot be changed whilst the flow is running. There were some edge cases to this, such as using a JSONata expression of $now()
that would get re-evaluated every time it was referenced.
Because of the need to make JSONata fully asynchronous in the future, we've changed how the env var evaluation is done - their values are now all generated when the flows start and not re-evaluated again.
This should not cause any changes in behaviour, unless you were relying on the $now()
trick that was not an intentional behaviour.
As nodes can depend on env var values, we've also updated the logic around the 'modified nodes' and 'modified flows' types of deploys. Changing an env var at the flow level will now cause all of the nodes on that flow to be considered modified. This is a bit of a blunt solution and it may be able to refine it to be more selective to only the nodes that reference the changed env var - but that's beyond the scope of getting 3.1 released any time soon.
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 3.0.x
So on a Pi you'd do:
sudo npm install -g --unsafe-perm node-red@next
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
The main task is now to get the 3.1 release done. There really is nothing else we want to get into it. Anything else at this point, unless critical, will be considered bug fixes for 3.1.1.