🎉 Node-RED 3.0 Released

Node-RED 3.0 has been released!

No more betas - this is the full release.

Thanks to everyone in the community who tried out the beta releases and provided great feedback to get to this point.

Please see the release blog post for details, including the customary release video:

41 Likes

Good job. After a long time, version 3 finally came with many goodies.
Many thanks to the development team.

2 Likes

Docker builds should be done.

This release includes a bump to the base Alpine Linux version as covered here: Release Notes for Alpine 3.13.0 - Alpine Linux

This will require a minimum Docker version of 19.03.9 for 32bit based systems (Arm32 or i386)

The default Node-RED Container is based on the NodeJS node:16-alpine container. This now based on Alpine 3.16 which has dropped Python2. Python2 went end of Life in April 2020 and has not received any updates since then. It really should not be being used for anything any more. As 3.0.0 is a new major release we will also be dropping Python2 entirely. Please let us know if this breaks any nodes (but also raise issues against those nodes as they need to be updated).

7 Likes

I don't know what you've been up to since beta 4, but wow, this runs smooth. Nicely done and thank you to all of you who work on this project!

2 Likes

Running smoothly here on MX Linux (Debian).

I enabled Monaco via settings.js:

    // Customizing the editor ( enable Monaco Editor )
    editorTheme: {
        projects: {
            // To enable the Projects feature, set this value to true
            enabled: true
        },
        // Monaco enable:
        codeEditor: {
            lib: "monaco"
        }
        
    },

....when trying to edit the function nodes it is like editing the text is disabled. I cant write anything in there. Moving the curser with the arrows or marking text seems to work. - Did I miss something ?

UPDATE: Does not matter if I remove the lines in settings.js the editor wouldn ´t work. - I am not sure if the editor even changed to Monaco since it looks the same within or without them.

You possibly have a "bad node" installed. This was seen sometime ago when monaco was first introduced. Most of the problematic contrib nodes were fixed / updated (but not all!)

Questions...

  1. Are all your contrib nodes up to date?
  2. What contrib nodes do you have installed
  3. What browser are you using?
  4. Are there any errors in the browser console?
  5. Have you tried another browser?
  6. Have you tried clearing browser cache?
  1. yes
    2.:
/home/pi/.node-red/node_modules/node-red-contrib-arp
/home/pi/.node-red/node_modules/node-red-contrib-lodash
/home/pi/.node-red/node_modules/node-red-contrib-ui-multistate-switch
/home/pi/.node-red/node_modules/node-red-contrib-personal-wake-word
/home/pi/.node-red/node_modules/node-red-contrib-sunpos
/home/pi/.node-red/node_modules/node-red-contrib-uibuilder
/home/pi/.node-red/node_modules/node-red-contrib-wled3
/home/pi/.node-red/node_modules/node-red-contrib-onvif-nodes
/home/pi/.node-red/node_modules/node-red-contrib-custom-ffmpeg-video
/home/pi/.node-red/node_modules/node-red-contrib-os
/home/pi/.node-red/node_modules/node-red-contrib-viseo-ffmpeg
/home/pi/.node-red/node_modules/node-red-contrib-micropi
/home/pi/.node-red/node_modules/node-red-contrib-flogger-coco
/home/pi/.node-red/node_modules/node-red-contrib-process-resources
/home/pi/.node-red/node_modules/node-red-contrib-wavenet
/home/pi/.node-red/node_modules/node-red-contrib-miio-roborock
/home/pi/.node-red/node_modules/node-red-contrib-pushover
/home/pi/.node-red/node_modules/node-red-contrib-ui-reef
/home/pi/.node-red/node_modules/node-red-contrib-topic-link
/home/pi/.node-red/node_modules/node-red-contrib-value-for
/home/pi/.node-red/node_modules/node-red-contrib-image-tools
/home/pi/.node-red/node_modules/node-red-contrib-generic-ble
/home/pi/.node-red/node_modules/node-red-contrib-ui-iro-color-picker
/home/pi/.node-red/node_modules/node-red-contrib-xterm
/home/pi/.node-red/node_modules/node-red-contrib-json
/home/pi/.node-red/node_modules/node-red-contrib-fs
/home/pi/.node-red/node_modules/node-red-contrib-msg-speed
/home/pi/.node-red/node_modules/node-red-contrib-ui-level
/home/pi/.node-red/node_modules/node-red-contrib-fs-ops
/home/pi/.node-red/node_modules/node-red-contrib-dashboard-bar-chart-data
/home/pi/.node-red/node_modules/node-red-contrib-v8-cpu-profiler
/home/pi/.node-red/node_modules/node-red-contrib-play-audio-file
/home/pi/.node-red/node_modules/node-red-contrib-smartswitch
/home/pi/.node-red/node_modules/node-red-contrib-dwd
/home/pi/.node-red/node_modules/node-red-contrib-tts-ultimate
/home/pi/.node-red/node_modules/node-red-contrib-tankerkoenig
/home/pi/.node-red/node_modules/node-red-contrib-feedparser-x
/home/pi/.node-red/node_modules/node-red-contrib-pico2wave
/home/pi/.node-red/node_modules/node-red-contrib-presence-faker
/home/pi/.node-red/node_modules/node-red-contrib-vad
/home/pi/.node-red/node_modules/node-red-contrib-ui-led
/home/pi/.node-red/node_modules/node-red-contrib-chartjs
/home/pi/.node-red/node_modules/node-red-contrib-google-tts
/home/pi/.node-red/node_modules/node-red-contrib-merge-topic
/home/pi/.node-red/node_modules/node-red-contrib-image-output
/home/pi/.node-red/node_modules/node-red-contrib-pubsub
/home/pi/.node-red/node_modules/node-red-contrib-persist
/home/pi/.node-red/node_modules/node-red-contrib-stackhero-mysql
/home/pi/.node-red/node_modules/node-red-contrib-ui-time-scheduler
/home/pi/.node-red/node_modules/node-red-contrib-sox
/home/pi/.node-red/node_modules/node-red-contrib-play-audio
/home/pi/.node-red/node_modules/node-red-contrib-ui-state-trail
/home/pi/.node-red/node_modules/node-red-contrib-play-sound
/home/pi/.node-red/node_modules/node-red-contrib-coqui-stt
/home/pi/.node-red/node_modules/node-red-contrib-dwd-local-weather
/home/pi/.node-red/node_modules/node-red-contrib-sox-utils
/home/pi/.node-red/node_modules/node-red-contrib-fuzzywuzzy
/home/pi/.node-red/node_modules/node-red-contrib-thingspeak
/home/pi/.node-red/node_modules/node-red-contrib-pi-omxplayer
/home/pi/.node-red/node_modules/node-red-contrib-ifttt-broker
/home/pi/.node-red/node_modules/node-red-contrib-deduplicate-adv
  1. Tried different: Firefox, Chrome, Edge - nothing changed
  2. yes:
  3. yes -> see 3.
  4. yes, didn´t help.

This is the same problem as witnessed last year. Searching the error you see symbol.iterator in the forum leads to this post: 🎉 Node-RED 2.0 Released - #43 by Steve-Mcl

That list of "known bad nodes" were all clones of one or the other and all of them had hard coded into them an old version of multiple-select.min.js that is polluting some prototype.

Could you search your .node-red directory and see if multiple-select.min.js can be found please?

Of course and thx for your help. There is only one copy of that file:

pi@raspi4B:~ $ find /home/pi/.node-red -print | grep "multiple-select.min.js"
/home/pi/.node-red/node_modules/node-red-contrib-miio-roborock/static/js/multiple-select.min.js

Brilliant - however...

According to github, this package is already using v1.5.2 (which is OK): node-red-contrib-miio-roborock/multiple-select.min.js at master · andreypopov/node-red-contrib-miio-roborock · GitHub

BUT - just because that's what's in github, it doesn't mean that's what was published to NPM!

Can I ask 2 more favours please...

  1. widen the search to multiple-select*.js (sometimes they remove the min or add country code to the name)
  2. Open the file(s) in a text editor - the version should be relatively near the top of the file - do you find any with a version less than v1.5.2?

Let me know what you find - ta.

You can ask anything. I am glas someone helps me :slight_smile:
1.

pi@raspi4B:~ $ find /home/pi/.node-red -print | grep "multiple-select*"
/home/pi/.node-red/node_modules/node-red-contrib-miio-roborock/static/js/multiple-select.js
/home/pi/.node-red/node_modules/node-red-contrib-miio-roborock/static/js/multiple-select.min.js
/home/pi/.node-red/node_modules/node-red-contrib-miio-roborock/static/css/multiple-select.css

/home/pi/.node-red/node_modules/node-red-contrib-miio-roborock/static/js/multiple-select.js
no version string found that looks like a header info / description of that file.

/home/pi/.node-red/node_modules/node-red-contrib-miio-roborock/static/js/multiple-select.min.js:

/**
  * multiple-select - Multiple select is a jQuery plugin to select multiple elements with checkboxes :).
  *
  * @version v1.4.2
  * @homepage http://multiple-select.wenzhixin.net.cn
  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
  * @license MIT
  */

/home/pi/.node-red/node_modules/node-red-contrib-miio-roborock/static/css/multiple-select.css:
no version string found that looks like a header info / description of that file.

But how can a vacum cleaner module cause that error ?
I mean I ve hat a bit trouble with that module in the past (latest version didn t support my cleaner) so that s the only one that may not be up to date.
EDIT: I see its some vue stuff where and not coming from the plugin creator itself. how can I update without kicking the node-red-contrib-miio-roborock ?

This is the problem :point_up_2:


Looking at NPM is see version 2.3.4 is published (this matches github)
image

BUT on the flows lib, it is still v2.3.3
image

I have requested a refresh and v2.3.4 should be in the palette manager within the hour.

Please watch out for an update.



Its the code they copied from a repository (rather than import the NPM module). The multiple-select NPM module had long been fixed however this node had copied the bad code into their repository.

1 Like

:tada: The theme collection for Node-RED 3.0 is also available.

This release brings 8 new themes.

Full release notes: Release 3.0.0 · node-red-contrib-themes/theme-collection · GitHub

4 Likes

If you want to keep that node version, then you can simply replace the old multiple-select.js v1.4.2 file with a v1.5.2 version and restart node-red. See the documented workaround: in this thread

Thanx. what will I have to update now to get the fix?
As a temporary solution I did update the two files (multiple-select.min.js / multiple-select.css). Like described in the thread you mentioned. This makes the editor work again! Yeah!

Ok, another problem happens while testing around.
I ve many of function nodes and some of them used still "var". After update it seems that all "var" are auto-deleted (just on looking into the function node or so?).

Is that supposed to be like this ?


This is ONE switch... an I ve about 40 of that flows plus other :frowning:
would search "var " and replace "let " for the flows file be an good idea to fix fast ?

No, the editor does not delete var keyword. It does however highlight variables that are undeclared. This was a design decision to help users write better code. If you actually want to keep using variables that are undeclared, you can switch it off in the settings file. Let me know if you want to know how to do this.

aha, ok that make sense. I think I let it like it is an fix the undeclared stuff the next months :slight_smile:
I was sure that the editor (ace?) of V2.x didn´t let you initialize undeclared variables. hmmpf.
could you ever do: "myNewVar = 12;" without using "let" or "var" ?!