[ANNOUNCE] Node-RED-Dashboard 3.0.4

And finally - here is Dashboard 3.0.4

The reason for the major version jump is the update to the socket.io library which drops support for node8 and node10. This is in line with Node-RED core.

We also add an optional Class field to core widgets to help local style customisations - Thanks @Steve-Mcl. 3rd party ui-widget creators are free to also add this field but obviously this will only work with Dashboard v3.


This is likely to be the last Major release of Dashboard as-is. This is due to the Angular v1 library on which it is built being End of Life at the end of 2021. We (I) fully intend to try to maintain Dashboard beyond this date - but users should note that if any further security vulnerabilities appear they will not be fixable by us. Users must do their own due diligence to assess their level of risk for any continued use, for example usage within a closed network may well be fine, but we cannot provide individual advice and guidance.

We would like to have a wider discussion on the future of dashboard here


  • Set minimum requirement to be Node12 (in line with core)
  • Bump libraries to latest including socketIO - this also drops node 8 support, Node10 is also EOL
  • Add optional CSS Class field to core widgets


  • Fix dropdown string types (again)
  • Fix button and switch invalid buffer to not crash NR
  • Fix form to correctly send false on reset of checkbox and switch

As usual please ensure you also flush browser caches etc to ensure you reload local pages after updating and restarting the core of Node-RED.


works for me. I didn't encounter any annomalies whatsoever.

Thanks @dceejay and @knolleary, especially for the new Class field, love it!

After the dashboard update, we run into the following error: The dashboard will disconnect from time to time. It looks like the error is from the dropdown node. Here is the screen shot of the error message.

OK. The bug looks like from the dropdown node and the input to the dropdown node.
We change the dropdown node options based on user selection.
A simplified input is as follows:

        return msg;

OK. The update requires the label field defined. The update can not take just value input.
An adjustment like the following solves the problem:

      return msg;

You can not use both value and label such as {'50Hz':50} as the payload. The payload should be value only.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.