🎉 Node-RED 1.2.0-beta.1 released

The first public beta release of Node-RED 1.2.0 is now available.

This contains everything planned for the final release which, pending feedback on the beta, we plan to do next week.

The Change Log has the full list of changes in this release, but here are the highlights:

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.

Editor features

Importing duplicate nodes/subflows

When you import a flow that contains nodes/subflows you already have, the editor will now ask you what to do. In the case of Subflows/Config nodes, it gives you the option of replacing the instances you already have, rather than importing a copy.

More details

Simplified Git Workflow

The projects feature now provides an option for a simplified git workflow. The option, under User Settings, lets you enable an 'automatic' mode where changes will be automatically committed with every deploy.

More details

Other project enhancements include:

  • the project settings dialog also now lets you edit the project's version string.
  • the flowFilePretty option is now automatically enabled for projects unless explicitly set to false

Handling 'lost' nodes

We've seen a very small number of instances where a node forgets what tab it is on and its z property is set to 0 - causing the node to disappear from the editor. We've never managed to recreate this issue to get to the bottom of it - something to do with deleting flows. But with this release, the editor will now help recover those lost nodes by added a 'recovery' tab to add them to.

More details

Other editor features

  • sidebar tabs can now be reordered (details)
  • the palette manager has an option to upload a node module tgz file rather than install from the catalog. This can be disabled in the settings. (details)
  • The ACE edit component has been updated to the latest version which brings much better support for ES6 JavaScript syntax
  • Fixes issues around copy/paste of nodes within groups causing lockups.
  • When merging groups, the style options of the first selected group is used for the combined group.

Runtime features

Splitting .config.json into multiple files

The runtime settings file, .config.json has been split in to four separate files to better organise the content and allow the user to be more selective over what they version control.

If you have a backup script that includes .config.json you will need to update it to backup these other files instead.

More details

Introducing RED.hooks api

This is part of the pluggable message routing work. It is less relevant to end users at this point in time, but will underpin a lot of exciting features in the future, such as a proper flow debugger, distributed node-red runtimes and integrated flow testing.

More details

Node Features

  • The trigger node can now be configured to set its delay/repeat-interval by msg.delay
  • The Function node's "setup" code can now log and send messages (details)
  • More of the core nodes now implement the 'done' api so can be used with the Complete node - yaml, xml, json, html, http, template, range, link, status, catch , complete, inject. Work continues on the remain nodes.

Lots more...

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 1.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 #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 only outstanding work is to catch up on some translations for the new features. They won't warrant another beta release, so we plan to get the full release done next week.

28 Likes

So thrilled to hear about ongoing work for distributed Node-Red in the future! Excellent job.

1 Like

I got the beta installed yesterday and started testing.

I did not have issues on any of the new features.

I tested groups/moving nodes in groups extensively, and was unable to get it to 'lock up' like I've been able to do (unfortunately a lot) in 1.1.3. so that's great!

Splitting out the config into multiple files is a welcome change.

More nodes supporting done/complete node is VERY welcome too!

Jsonata comment coloring :+1:.

I don't use projects (haven't quite figured out how to make it work when running NR in a container - but that isn't for this thread), so that was untested.

4 Likes

GIT and Distributed underway.. seems like every limitation in this magnificent platform is progressively being removed ..and with style.

So glad to hear.

It's industrial-strength magic.

Just to say that despite an early hiccup (which was actually a known issue on the previous version not this one), I've been using it now since release as my development version. I've had no problems so far either with flows or custom node development.

I know this isn't specific to this version but working on the moment node again over the last week or so, I was prompted to improve my regression tests:

Really liking the nested groups :smiley: (the test functions use a common function that ingests a js object of tests and outputs a node.warn if any of the tests fail).

1 Like

Small issue (might have been present before 1.2.0)

If you choose markdown on a template node, the full screen editor opens without the preview button until you press it again...

1 Like

Not sure if this is a bug or an oddity.

I had the beta running and was doing some work, deleted some tabs
I shutdown NR and downgraded to 1.1.3 to test something.
When I started NR up, the flowhad the original tabs back.

Just thought I'd report it.

EDIT - I tried again and see that the beta made a copy of my flow so I have my flow.json and a_myflow.json

1 Like

Umm, the beta didn't spontaneously rename your flow file. How exactly are you running Node-RED?

I’m running projects. I didn’t give the actual name so if in 1.1.3 the flow was test.json, when I switch to beta the flow was named a_test.json

Is it reproducable?

Sorry, been invaded by grand kids. It is the project name that changes not the flow name. Here is a log of beta then I down grade to 1.1.3 and the startup log for it. You will see the project name changes.

What got me is I started in 1.1.3 and then switched to 1.2.0-beta.a. I deleted some of the tabs and deployed. Shutdown NR and swapped back to 1.1.3 and started up and saw all the flows I had deleted were back and the changes I made were gone.

So the change of project name is very strange - not something I can explain at the moment. But I can see why your old flows return when you go back to 1.1.3...

In 1.2.0 we've split the .config.json file up into multiple files - one of those is .config.projects.json - which contains information about the projects configured in Node-RED, including which is the active project.

So for some reason .config.projects.json has gained this extra project which it thinks is the active project. Go have a look in that file - can you see the original project listed as well as the 'new' one? Also check in ~/.node-red/projects - can you see both original and new projects under there?

When you go back to 1.1.3, it loads the old .config.json file, which still has your original project listed as the active project - so it loads the flows from that project, not the 'new' one.

But this is stranger still - it's one thing to change the new of a flow file, its another to have spontaneously created a whole new project. I can't see how that's possible.~

Let me go thru the whole thing in a bit after I chase out the grandkids.

This must have been in there since 1.0.0 at least. I fixed it on my Twitch live stream this evening - the replay will be up shortly if you want to watch me talk it through and find the fix... :wink:

1 Like

Good stuff.

It's a shame (for me) your live talks are on a Monday (I struggle to get time on a Monday evening) :frowning: hey ho.

I'll definitely have a watch later.

Cheers Nick.

1 Like

While I haven't been able to get th sequence of events down to reproduce it, it has happened to me again. I end up with a project named 'xxxxx' and a project named 'a_xxxxx'.

@knolleary Discovered another issue. I can run the beta fine until I secure NR in the settings fil. I used this in settings.js

    // Securing Node-RED
    // -----------------
    // To password protect the Node-RED editor and admin API, the following
    // property can be used. See http://nodered.org/docs/security.html for details.
    adminAuth: {
        type: "credentials",
        users: [{
            username: "admin",
            password: "$2b$08$bovtLPvaC3rkIS2oKwtGKOKTez/6QIW70pMJFzIobnwA0R88255xy",
            permissions: "*"
        }]
    },

the password is 'node-red'.

Nick, I can start deleting nodes to see if I can figure out what is happening or do what ever you want me to. This is a test system I play with all the time reproducing user errors. I'll wait to proceed till I hear from you.
NR starts fine and I get the password screen and login and the taskbar with nodes loading starts to run until it gets to 149/198 and then it hangs.

Yes, this happened to me but all lost nodes where almost impossible to "grab" or see. They where piled together up in the left corner of the tab area, partly outside of the area

Have you checked the browser console for any errors?

Any errors in the browser console?