Node version selection in palette

Hello everyone,

I've been working on some Node-RED projects recently and needed to install a bunch of nodes from the palette. There’s a great selection, but some nodes are better maintained than others. Because of this, upgrading to the latest version sometimes messes up or changes my flows significantly.

This got me wondering: why isn't there an option to pick a specific version of a node? In industrial automation, it's pretty standard to choose the software version you want, of course assuming all the pros and cons that come with it.

I couldn't find clear info on this. Does anyone know why it’s like this or if there are plans to add this feature in the future?

Thanks for your comments!

It is certainly a missing feature. Something I'd like us to look at, but will require quite a lot of work to achieve as the current catalog only lists the current version.

There's another question on nodes that change their minimum node.js version or node-red version support. Right now, the Palette Manager doesn't know about that information, so will offer to install a node that isn't compatible with your current node.js version.

If we're going to do the work to extend the catalogue format to include multiple versions, it should also include any additional version requirements so the palette manager can offer the latest compatible node version.

2 Likes

Got it!
It's definitely a challenge, but it will add great value to NR's flexibility.
Thanks!

If you already have an idea in mind I can try to work on it during the holidays.

For the NR part I see the following points:

  • add a version selection input
  • change the color of the label for each option according to the "compatible" scale
  • add a notification that asks if the user really wants to (force) install an "incompatible" version
  • get from the runtime some current infos (node version...)

Of course this is only a draft and depends on a new structure of the catalog.

4 Likes

In case you do not know, it is possible to manually install a particular version using the command line. If you go into the folder where you flows are stored (usually this is your .node-red folder) then you can run something like
npm install node-red-contrib-xxx@1.2.5
to install version 1.2.5 or that node.
Then you need to restart node-red to get it to pick it up.

Not sure if this is useful, but the library manager in uibuilder also uses npm under the skin, it was really easy to allow text input to allow manual installation from any npm supported location, version and branch. Indeed, I have a 2nd input for version/branch but actually should remove it because it isn't needed.

Not necessarily suggesting quite such openness for Node-RED but it could certainly be an advanced option maybe?

Doesn't solve the full issue raised here but if you are going to do some work in this area, may be worth considering.

It would mean, for example, that people could install not only nodes from npmjs but also from local dev versions or GitHub/GitLab versions, great for testing and development. All without having to drop to a command line.

Kind of related,

although it may become redundant, if the other suggestions are implemented ?