---
title: "Flow Engine engine upgrade to NodeRED 3"
canonical: "https://onesaitplatform.refined.site/space/DOCT/3660808193/Flow%20Engine%20engine%20upgrade%20to%20NodeRED%203"
format: markdown
---
> Macro (toc)

> ℹ️ Available since Onesait Platform version 4.2.0.

# Introduction

In the platform release, the FlowEngine execution engine based on Node-RED has been migrated to version 3.0, specifically to version 3.0.2. This allows to use all the new capabilities and enhancements of the new engine from within the FlowEngine.

![image](media://e6b373d3-7256-41aa-a5c6-8d9428276685)

Complete information on what's new in this release here: [https://nodered.org/blog/2022/07/14/version-3-0-released](https://nodered.org/blog/2022/07/14/version-3-0-released).

Let's take a look at the main improvements incorporated.

# Built-in enhancements

## Context menu

A right-click context menu has finally been added to the workspace. This gives users quick access to a lot of built-in actions in the editor and should help them discover more of the available features.

![image](media://1f053103-5a19-46ab-ad87-0a3a452c48cf)

## Possibility to generate intermediate connectors (Junctions) for better visibility

![image](media://2c34c8ad-e8fb-45b3-860a-be7c8a6fc03d)

## Possibility to install node.js modules from within the node function (for that node)

![image](media://480cc358-bdcb-4040-8197-e02432b15e12)

## New Monaco editor

From version 2.0 of NodeRED the function editor uses this editor, offering more facilities for development such as autocompletion, tooltips,...

![image](media://32cd46a2-ff98-4c8c-a419-3f12e841c58b)

## Other

- Tree view of the flows.
- New Help sidebar: The help window is now a new tab, having more space for reading.
- Grouping nodes: It allows grouping nodes as if they were a component.
- JSONata $moment support: Added support for the Moment date/time library in the FUNCTION nodes, allowing date modification functions, Timezone conversion, etc.
- Inject node properties: It now allows to configure any MSG value.
- Function node lifecycle: It allows FUNCTION nodes to create code at node initialization (deploy) and destruction.
- Importing duplicate nodes: When importing flows or nodes, it asks if you want to overwrite existing ones by id. That way, you can update or replicate flows within domains.
- Simplified Git Workflow: It is possible to configure projects to auto commit when DEPLOYing the domain.
- Handling 'lost' nodes: Bug fix for nodes that lost their reference to a NodeRED tab.
- FUNCTION node: The node can now send messages in the setup part.
- Function node use of npm modules: Nodejs modules (npm install) can be added directly to FUNCTION nodes.
- Editor features:
  - Export preview: Added a new tree view screen when exporting to make the task easier.
  - Selecting nodes: Added shotcuts for node selection and management.
  - Opening a subflow: CTRL + double click on a subflow now takes you to the subflow definition.
  - Navigating around the workspace: New shotcuts for navigation.
- Function external module changes: Improved definition of new modules. These modules are installed in background, ready to use in the FUNCTION node.
- Inject node quick inject button: Now you can inject data directly from the definition without having to deploy each time, which facilitates development.
- Removed tail node: The default node is removed. It can be reinstalled from the palette.
- Flow Debugger: A new plugin has been created to debug NodeRED, adding breakpoints between nodes (input/output), viewing message queue, etc.
- Flow Linter - nrlint: A plugin has been created to have a Flow linter available.
- New Welcome Tour Guide: A small guided tour has been added for the first time you enter the domain.
- Hiding tabs: Now you can close the tabs so that they do not occupy space in the top bar and open them from the tree view.
- Dynamic MQTT nodes: Dynamic subscription option has been added.
- Auto-complete in msg TypedInputs: Auto-complete added to some nodes when selecting MSG fields.
- New Link Call node: New node that allows, together with the LINK-IN/OUT, to generate subroutine-like executions.
- Edit & Arrange menus: Customization of elements.
- Flow/Group level environment variables: It allows you to set global variables at group and flow (tab) level.
- Debug sidebar options: Change of options in the display of debug messages
- Deep copy option on Change node: SET node now allows to make a copy of the data (not by reference).
- Delay node updates: The node now supports a second output for those MSGs that are discarded by the retention policy configured in the node.
- File nodes renamed: FILE nodes are renamed to make it easier to know which is the write node and which is the read node.
- Search History: The node search window now has a history for easy access to regular searches.
- Remembering zoom/position: Zoom and other display selections can be configured to always be stored and applied.
- Aligning nodes: Snap-to-grid option is added.
- Detaching nodes: Detaching nodes is enabled without losing the link between successor and predecessor nodes.
- Selecting multiple wires: Multiple selection now illuminates links between nodes for easier viewing.
- Slicing wires: "Slicing" links at a time using CTRL + drag right click is now allowed.
- Subflow Output labels: Added labels to subflow outputs.
- Predefined Environment Variables: Added a set of environment variables to access common names such as flow (tab), node, etc.
- The JSONParser node will now try to parse Buffer objects if it can.