Skip to content

Commit 45ca92e

Browse files
authored
Merge pull request #397 from node-red/nr5-plan
Nr5 plan
2 parents ccf0eeb + b76e66a commit 45ca92e

File tree

6 files changed

+107
-13
lines changed

6 files changed

+107
-13
lines changed
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
layout: blog
3+
title: The path to Node-RED 5.0
4+
author: nick
5+
description: A recap of my Node-RED Con 2025 talk that charts a course for Node-RED 5.0
6+
image: /blog/content/images/2025/12/path-to-5.jpg
7+
---
8+
9+
At [Node-RED Con](https://www.youtube.com/watch?v=lwhHYPVgc2w&list=PLyNBB9VCLmo2yvFdVZOv41NUEzuw-CAZX) I spoke about the future roadmap of Node-RED, charting a course to the 5.0 release.
10+
11+
Previous major version releases have been done with the intention of aligning with Node.JS releases; as old versions reach their end-of-life, we do a major version bump of Node-RED to drop support of those versions. We haven't been entirely successful in keeping to that schedule, and our overall release cadence has slowed down. It's time to do something about that.
12+
13+
Rather than just do a 5.0 bump to update our Node.JS support, we wanted to take this opportunity to step back and reflect on what we could do to update the Node-RED user experience. The general look and feel of the editor hasn't changed for a long time, aside from small tweaks. There are a lot of aspects of the editor that are taken for granted and often overlooked when thinking about improvements to be made.
14+
15+
This was one of the motivations behind the recent [community survey](/blog/2025/12/01/modernization-survey-results) - getting feedback from the community on what's working and what could be improved, understanding how receptive users are to change in the Node-RED experience.
16+
17+
## Evolution not Revolution
18+
19+
Building on the results of the survey, as well as our own discussions, we've identified four areas of focus:
20+
21+
1. Node-RED UX Modernization
22+
2. Node Appearance Improvements
23+
3. Functional Enchancements
24+
4. Project Infrastructure Updates
25+
26+
### Node-RED UX Modernization
27+
28+
The Node-RED UI hasn't changed much over the years. Comparing a screenshot from the very early days of the project with today, you can see a clear visual connection between the two, with the overall structure of the editor largely unchanged.
29+
30+
When we think about the information architecture of the of the editor however, some issues start to appear. Currently, we have the palette on the left, the flows in the middle and *everything else* stacked up on the right-hand sidebar. The sidebar has become a catch-all space for functionality to be exposed that doesn't fit in the main workspace.
31+
32+
The Info sidebar provides an overview of all of your flows - a tree-view of all flows and nodes. But we still get feedback around making it easier to navigate around flows. In our Western convention of reading left to right, it would be far more natural to have this overview on the left-hand side.
33+
34+
Another piece of feedback was around the Debug sidebar; a common desire to have it visible whilst working on other things in the editor. The current UX forces you to chose one sidebar at a time - hiding away things you want to keep an eye on.
35+
36+
There is also the question of whether the UI makes the best use of the available space. We want to maximise the space available for working the flows.
37+
38+
Taking all of that into account, we've been putting together some UI mockups to see how this *could* look. It's important to stress these aren't 'final' designs - but are there to give a sense of direction and prompt feedback.
39+
40+
<img src="/blog/content/images/2025/12/nr5-mockup.png">
41+
42+
The full scope of the UX modernization covers a number of areas - some more obvious than others when looking at a static screenshot.
43+
44+
The highlights will include:
45+
- Better information flow and navigation
46+
- More flexible sidebar arrangements; allowing the user to position them on either side of the editor, or split them vertically
47+
- Improved visual accessibility
48+
- A built-in dark theme (this one appears to generate particular excitement)
49+
50+
<div class="doc-callout">
51+
If you want to follow the development work more directly, follow the <a href="https://github.com/node-red/node-red/issues/5362">Node-RED 5.0 issue on GitHub</a>. From there you'll find links to issues for different parts of the plan - some already raised, some to follow.
52+
</div>
53+
54+
### Node Appearance Improvements
55+
56+
We've separated out the apperance of the nodes themselves as its own area.
57+
58+
The design of the node has changed very little since the early days of the project. Over time, various additions have been made (status text below, badges above). But there are some unsatisfied requirements we want to look at.
59+
60+
For example, some nodes have an implicit connection to other nodes; such as the Link Call, Status or Catch nodes. But this isn't visually represented in anyway. This makes navigating those implicit connections hard to do and breaks the developer workflow.
61+
62+
Another area is how to better handle more custom nodes. At Node-RED Con we saw the work being [done at Fludily](https://youtu.be/7Hwt4LIAFn4?si=eIv4fo5bGaC-flnD&t=465) to create financial workflows in their custom Node-RED application. They have created a very rich visualisation capability within the editor workspace. Whilst that's a level of customisation quite specific to their needs, there is clearly some interesting lessons we can learn here.
63+
64+
We already have community nodes, such as [Image Tools](https://flows.nodered.org/node/node-red-contrib-image-tools) that provide in-editor image previews. Currently that relies on "insider information" to inject the image into the workspace. If Node-RED were to change the internal workings of how flows are drawn, that would break the node. So we want to see how we can accommodate this type of customisation in a standard way - whilst keeping some design guidelines and control in place to ensure a good user experience.
65+
66+
### Function Enhancements
67+
68+
There are some fairly targetted functional enhancements we also want to look at. They are a bit more open ended at this stage, but will build on the changes described above.
69+
70+
The main area here is looking at the debugging experience in the editor. The existing Debug sidebar is the backbone of figuring out what's happening in your flows; but there is plenty of room for improvement, as evident from the many threads in the forum with questions, complaints and suggestions.
71+
72+
We will be working on a plan for how debugging can be made much easier. What lands in Node-RED 5.0 remains to be seen, but we should see some incremental improvements coming soon.
73+
74+
In terms of Node.js support, we'll continue to support the current and active releases. The Node-RED 5.0 docker images we provide will be based on Node 24.
75+
76+
### Project Infrastructure Updates
77+
78+
When we talk about modernizing the Node-RED experience, this isn't just about the end-user experience. As an Open-Source project, we rely on developers contributing their time to make all of these plans a reality. We need to make it as easy as possible for new developers to contribute. With that in mind, there are various project infrastructure updates we want to make.
79+
80+
- Apply standard linting to the code base
81+
- Move to npm workspaces for the repository structure. When we setup the current repository structure, containing multiple npm packages, there wasn't a good solution available to manage everything. So we created our own structure and scripts to manage it. This has worked pretty solidly, but things have moved on and we want to re-evaluate. If there's a good standard solution for this today, we want to consider moving to it so new contributors don't have to learn "our way" of doing things.
82+
- Replace our task runner with a modern alternative. This is the tool that manages the development environment, runs tests, creates release and many other tasks. It does its job, but it hasn't updated for a number of years. There are many alternatives available - so we'll be evaluating the right tool to move to.
83+
- Improve our release process; automate more things to make the releases quick to do whilst ensuring a secure and trusted process.
84+
85+
## Next Steps
86+
87+
We want to move quite quickly on this plan to get to a stable Node-RED 5.0 release early in the new year. Given the scope of changes being proposed, as with previous major releases, we'll be publishing regular beta releases of Node-RED 5.0. That'll start this week, with refreshes as updates are made. We really want to get community feedback along the way.
88+
89+
With this focus on getting to Node-RED 5.0, we will consider Node-RED 4.x in maintenance mode - it will continue to receive fixes for bugs and security related updates, but any new feature will target Node-RED 5.0.
90+
91+
If you want to follow the development work, [this is the top-level planning item](https://github.com/node-red/node-red/issues/5362). From there you'll find links to issues for different parts of the plan - some already raised, some to follow.
92+
93+
This is an exciting step for the Node-RED project; laying the ground work and refreshing the UX for the future.

about/releases/index.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,25 @@ title: Release Plan
44
slug: releases
55
---
66

7-
_Update: 2025-07-29_ : this release plan is currently out of date. With the [4.1 release](/blog/2025/07/29/version-4-1-released) now available, we're currently looking to the future of the project and working out our roadmap. This page will be updated as part of this work.
7+
_Last Updated 2025-12-01_
88

9-
---
109

1110
This plan is a guide for how the project plans to schedule upcoming releases, taking
1211
into account the release schedule of the underlying Node.js runtime.
1312

1413
![](release-plan.png)
1514

16-
The project aims to make a new major release around April each year. This aligns
17-
with when versions of Node.js reach their end-of-life and enables us to drop support
18-
for them.
15+
The project aims to make a new major release once a year to align with the Node.js schedule.
16+
As they reach their end-of-life, a new major release will be made that updates the default
17+
Node.js version and drop support for older versions.
1918

20-
The active Node-RED stream will get regular minor releases (for example 4.0 -> 4.1)
21-
containing new features as well as maintenance releases (for example 4.0.1 -> 4.0.2)
19+
The active Node-RED stream will get regular minor releases (for example 5.0 -> 5.1)
20+
containing new features as well as maintenance releases (for example 5.0.1 -> 5.0.2)
2221
as and when they are needed.
2322

2423
When a new major version is released, the previous version enters maintenance mode
25-
for an extended period of time. During this time it will only receive bug fixes
26-
and security updates.
24+
for a period of time. During this time it will only receive bug fixes and security
25+
updates.
2726

2827
This proposal means:
2928

@@ -35,8 +34,9 @@ This proposal means:
3534

3635
Release | Initial | Maintenance Start | End-of-life
3736
--------|-----------------|----------------------|-----------------
38-
4.x | *2024-04-30* * | *2025-04-30* * | 2026-06-30
39-
3.x | 2022-07-14 | *2024-04-30* * | 2025-06-30
37+
5.x. | *2026-01* | |
38+
4.x | 2024-04-30. | *2026-01* | 2026-06-30
39+
3.x | 2022-07-14 | 2024-04-30. | 2025-06-30
4040
2.x | 2021-07-22 | 2022-07-14 | 2023-06-30
4141
1.x | 2019-09-30 | 2021-04-30 | 2022-06-30
4242

about/releases/release-plan.png

8.38 KB
Loading
134 KB
Loading
30.6 KB
Loading

docs/faq/node-versions.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ title: Supported Node versions
55
slug: node versions
66
---
77

8-
_Updated: 2024-01-03_
8+
_Updated: 2025-12-01_
99

10-
Node-RED currently recommends **Node 20.x**.
10+
Node-RED currently recommends **Node 22.x**.
1111

1212
We try to stay up to date with Node.js releases. Our goal is to support
1313
the [Maintenance and Active LTS releases](https://nodejs.org/en/about/releases/).
@@ -17,6 +17,7 @@ routinely test against them.
1717

1818
Node-RED Version | Minimum Node.js Version
1919
---|---
20+
5.x | 22
2021
4.x | 18
2122
3.x | 14
2223
2.x | 12

0 commit comments

Comments
 (0)