🎉 Node-RED 3.0.0-beta.4 released

:tada: The fourth and next final beta release of Node-RED 3.0 is now available.

Node-RED 3.x requires at least Node 14.x or later. We recommend the current Active LTS release, Node 16.x.

We had hoped beta.3 was going to be the last one before we got to the final release. But there were a few issues that were reported against it that we wanted to make sure were properly resolved before doing the final release. We've also happened to have a bit of a in rush of PRs from new contributors that brought some useful new features.

So here we have the next final beta with 24 PRs since the last beta.

If you haven't already, please read through the release notes for beta.1, beta.2 and beta.3.

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

  • Importing flows via Import dialog (CTRL-I) fails with a pop up error
    • PR raised to fix this
    • will update the post with a workaround (if I can find a nice easy/friendly way)
  • Editor fails to load if settings.js file does not contain editorTheme.codeEditor property. The workaround is to add this property (which does exist in the default settings file):
    editorTheme: {
        ...
        codeEditor: { lib: 'monaco' }
        ...
    }
    

Stopping Flows without Stopping Node-RED

(Some how this feature didn't get mentioned in the ChangeLog...)

We've introduced the optional ability to run Node-RED without the flows themselves running. We already had Safe Mode that achieved a similar result, but with this new feature, you can stop and start the flows directly from the editor. The runtime will remember the state of the flows so when Node-RED starts up, the flows will stay in the same started/stopped state.

This feature is not enabled by default. To enable it, you need to add the following to your settings.js file:

runtimeState: {
   enabled: true,
   ui: true
}

(the exact details of that settings object may yet be tweaked before 3.0-final)

With that set, you get a new option in the Deploy menu:

Clicking that option will stop the flows running, but you can continue editing them and deploy changes. Whilst stopped, the Inject/Debug node buttons will be disabled.

When the flows are stopped, the menu shows a start option instead:

We're interested in feedback on the UX of this. There are some bits I think we can further refine - such as have a more obvious indicator in the workspace if the flows are stopped. There is also the existing 'Restart Flows' option - which is more technically a 'Reload Flows' as it does more than just stop/start.

Right-Click Menu

The Right-Click menu was introduced in beta.3. A few issues were raised around its behaviour on particular OS/browsers. We believe this release has addressed those issues.

Accessing previous welcome tours

We introduced the Welcome Tour back in 2.1.0 and it has been updated for each major release. With this release, we've added a way to access the tours of the previous releases in the Help sidebar:

Node Fixes

  • CSV: Fix CSV node to handle when outputting text fields (#3716)
  • Delay: Fix delay rate limit last timing when empty (#3709)
  • Link: Ensure link-call cache is updated when link-in is modified (#3695)
  • Join: Join node in reduce mode doesn't keep existing msg properties (#3670)
  • Template: Add support for evalulating {{env.}} within a template node (#3690)

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

As we've said with the last two three betas, this contains just about everything for the final release - but this time we mean it even even more.

There are a couple more minor PRs that I hope we can resolve for 3.0 which shouldn't require a whole new beta release. In terms of timing of the 3.0 release, the main challenge is scheduling the time it takes to do the final release. So rather than promise anything here, just know we want to get there as soon as time allows.

14 Likes

Right-click mouse seems to be working fine on Vivaldi(chrome based) and Chrome itself on Windows 11 for me :slight_smile:

4 Likes

A comment in the latest settings.js file (line 286):

logging: {
    /** Only console logging is currently supported */
   console: {

Would seem to imply that custom logging isn't available? However, it is working as my mqttLog custom logger is working fine.

Docker builds done, in usual place nodered/node-red-dev:3.0.0-beta.4

2 Likes

how can i catch start/stop actions in flow?

For start - use an inject set to trigger once
image

For stop - it doesnt really make sense since the flows are stopped. However, you could always use the "on close" of a function node to perform some task.

cannot import nodes, who can confirm that?

What do you mean by that - can you provide a step by step?

A little off topic here... Sorry

But what will happen with the score card in reference to the min node version when v3 hits.
currently, we get marked for requiring a more updated node version that is required by Node RED 2.x.x.

How is the score card going to work with 2 different min node versions (Node RED 2 vs Node RED 3)
Will the score card remain aligned with v2 requirements?

Never mind - I found it.

Issue raised - bah! silly miss by me :frowning:

Fixed in github. Ensure importMap is not null when using import UI by Steve-Mcl · Pull Request #3723 · node-red/node-red · GitHub

I will update the 1st post to include info about this (and how to work around it ASAP)

2 Likes

Loving the right click context menu - but i have noticed a slight inconsistency in right click context menu to the available actions.

Issue

Selecting a bunch of nodes with wires does enable context menus "insert --> junction" or "insert --> links" BUT you can perform these actions with the action list

chrome_BKo1qywUi2

Proposal

Enable the "Insert --> junction" and "Insert --> links" when nodes with wire(s) are selected.

2 Likes

docker pull nodered/node-red-dev:3.0.0-beta.4
Error response from daemon: manifest for nodered/node-red-dev:3.0.0-beta.4 not found: manifest unknown: manifest unknown

Is there a typo in your post or have I done/missed something stupid...again? (Preemptive excuse: no coffee yet)

Check Docker hub first - Docker Hub

Yes, there is a missing v from the tag nodered/node-red-dev:v3.0.0-beta.4

But it looks like a bug in the GH action as only one of the many builds has a v prefix

1 Like

The problem is the tag name, it shouldn't have the leading v when created (only the beta's have this problem, will fix for final release) and it's normally not a problem as this build would have been tagged as latest for a release build

1 Like

I just wanted to report this - it seems it may have been a cache issue.

Just upgraded to 3.0.0-beta.4 and have the NASA-WildFire flow on one of my tabs of a project. Works fine but I decided to move it to a new project. I selected the tab and exported it to the clipboard and created a new project. When I tried to import it This popped up:
Screen Shot 2022-06-30 at 11.53.13 AM

I went back to beta 3 and imported it fine so I tried again in beta 4 and this time cleared the caches and it imported fine.

Odd - the problem was due to importMap not being "something" and should be 100% repeatable problem. No matter - it is fixed in GitHib (expect a beta.5 :sigh:)

for anyone else reading - this is a known issue (documented in first post)

3 Likes

Nick jinxed it!

1 Like

Excellent work !

There was the PR for fixing the Ctrl+click quick-add of a node
Include scroll offset when positioning quick-add dialog #3685

but it seems there is also an issue with the offset when Right clicking --> Insert --> Node
when the flow is scrolled a bit down
(the dialog doesnt show at the place of right-clicking)

Node-RED version: v3.0.0-beta.4
Node.js version: v16.14.0
OS Windows 11
Browser: Firefox / Chrome

Hey @UnborN any chance you could capture a screenshot & raise an issue?

:+1:

Issue with dialog offset when Right clicking --> Insert --> Node (v3.0.0-beta.4) #3725

1 Like