What's Changed
Node-RED 5.0 is the biggest change to the editor experience in the history of the project. Back in our roadmap post we set out four areas of focus - modernising the UX, improving node appearance, targeted functional enhancements, and updating our project infrastructure. After a long run of beta releases - and a huge amount of community feedback along the way - we're delighted to bring it all together in the final release.
- Node-RED now requires Node.js 22.9 or later. At the time of release, we recommend running Node.js 24
Full changelog
- Update sidebar UX by @knolleary in #5327
- Prep dev branch for beta releases by @knolleary in #5367
- Workspace pan/zoom updates by @knolleary in #5312
- Update tour for 5-beta by @knolleary in #5370
- Fix panning workspace on touchscreens by @knolleary in #5371
- Update Sidebar UX by @knolleary in #5318
- Add ability to use pfx or p12 file for TLS connection settings option by @dceejay in #4907
- Update changelog for beta by @knolleary in #5375
- Allow sidebar to be split into two panels by @knolleary in #5378
- Update for beta.1 release by @knolleary in #5380
- Add TLS certs/keys from Env Vars by @hardillb in #5376
- Sync 4.1.3 changes to dev branch by @knolleary in #5445
- add burst mode to delay node by @dceejay in #5391
- UX updates for next beta by @knolleary in #5444
- Add pause button to debug sidebar by @dceejay in #5390
- Bump for 5beta2 by @knolleary in #5446
- Sync rel414 to dev branch by @knolleary in #5469
- Sync 4.1.5 to dev branch by @knolleary in #5481
- Resync 4.1.6 to dev branch by @knolleary in #5504
- Move location of new creds files to be next to flows (if they don't exist already in userdir) by @dceejay in #4951
- 136 - Update color of inactive tabs to not appear disabled by @n-lark in #5510
- Update Monaco to latest (0.55.1) by @Steve-Mcl in #5508
- UX updates for beta 3 by @knolleary in #5498
- Bump for beta3 release by @knolleary in #5514
- Sync 4.1.7 to dev branch by @knolleary in #5531
- [5525] UX: Misaligned first tab by @n-lark in #5536
- [5521] UX: Selecting non-flow object in Explorer causes Info to go blank by @n-lark in #5538
- [5523] UX: Cursor events in workspace get interrupted when over status/scroll bars by @n-lark in #5539
- [5522] UX: vertical scrollbar should not overlap subflow toolbar by @n-lark in #5537
- [5540] UX: handle node-red-dashboard css poisoning by @n-lark in #5548
- Improve workspace footer handling of smaller screen widths by @knolleary in #5549
- Editor loading improvements by @Steve-Mcl in #5541
- Better touch handling for submenus by @knolleary in #5550
- Fix fade effect for tab labels that overflow by @bonanitech in #5552
- Account for sidebar width when calculating zoom-to-fit scale by @knolleary in #5551
- [5377] UX: Ensure menus handle vertical overflow by @n-lark in #5448
- Include sidebar width in position calculation for reveal function by @knolleary in #5555
- Remove obsolete vendor-prefixed CSS properties by @bonanitech in #5554
- Handle shift-scroll more robustly by @knolleary in #5559
- Minor change to treeList select/expand behaviour by @knolleary in #5556
- Update reveal node styling by @knolleary in #5562
- Add error handling for markdown parser by @knolleary in #5560
- Ensure disabled tab has fully dashed border by @knolleary in #5564
- Scale highlight based on workspace zoom by @knolleary in #5563
- Tidy up modal shade appearance by @knolleary in #5566
- Improve the
user-selectCSS code usage by @bonanitech in #5565 - Renable click to close for edit dialog by @knolleary in #5567
- Various UX tweaks and tidy ups by @knolleary in #5570
- Bump for 5-beta.4 release by @knolleary in #5571
- Sync 4.1.8 to dev branch by @knolleary in #5587
- Ensure edit dialog fills the tray by @knolleary in #5600
- [3431] feature: Store sidebar width between editor sessions by @n-lark in #5605
- [5374] UX: replace touch radial menu with standard context menu by @n-lark in #5614
- [5602] UX: Unexpected tab border showing by @n-lark in #5607
- [5603] UX: Header buttons shown whilst editor loading by @n-lark in #5606
- [5617] Deploy Menu Redesign by @n-lark in #5619
- Make scrollbar hitbox larger by @knolleary in #5576
- Rework sidebars to be draggable by @knolleary in #5618
- Ensure active tab is fully visible by @knolleary in #5624
- Rework selected/hightlighted node appearance by @knolleary in #5623
- [5621] UX: Fix styling of dragging sidebar panels by @n-lark in #5627
- [5572] UX: Handle long instance title text by @n-lark in #5628
- [5616] Add back in expand/collapse tabs for sidenavs by @n-lark in #5626
- Fix node halo height calculation when status is shown by @knolleary in #5630
- [5532] UX: Improve accessibility of default theme - colour palette by @n-lark in #5613
- Pull master changes to dev by @knolleary in #5631
- [5629] UX: Deploy menu: Restart Flows should not be faded by @n-lark in #5632
- [5517] UX: Create default dark theme by @n-lark in #5625
- Bump for 5-beta.5 release by @knolleary in #5633
- [5636] V5, B5 : Sporadic Panel Height Calculations by @n-lark in #5638
- [5634] Junctions and ports on hover disappear with light theme by @n-lark in #5635
- Remove unslightly gap in the debug sidebar by @knolleary in #5639
- Fix multiplayer icon appearance by @knolleary in #5640
- Tighten select halo margin by @knolleary in #5651
- [5644] UX: Address dark theme feedback from latest beta release by @n-lark in #5646
- [5649] Accessibility - Viewports, language attributes, and tabIndex by @n-lark in #5650
- [5647] Accessibility - Names and labels by @n-lark in #5648
- Remove SASS variables marked as deprecated by @bonanitech in #5642
- Use a token exchange pattern for OAuth logins by @knolleary in #5657
- [5653] Accessibility — Attributes by @n-lark in #5655
- Remove default admin cors rules by @knolleary in #5652
- Remove aria label application from popover by @knolleary in #5654
- Sync master updates to dev by @knolleary in #5664
- [5534] UX: create mechanism for themes to provide multiple variants by @n-lark in #5659
- Use req.hostname in https redirect to ensure proxy trust is maintained by @knolleary in #5666
- [5674] UX: pointer-event deadzone in the tab bar by @n-lark in #5675
- Remove Grunt as the task runner by @knolleary in #5669
- Introduce eslint by @knolleary in #5671
- Update some dev dependencies to clear audit noise by @knolleary in #5673
- Update to latest npm by @knolleary in #5677
- Set minimum node.js version to 22.9 by @knolleary in #5678
- [5658] ctrl+space shortcut isn't always firing by @n-lark in #5670
- Only connect websocket client if need to by @dceejay in #5533
- Invert selected tab button border color to improve contrast by @knolleary in #5681
- Remove reveal on hover in search results and provide button by @knolleary in #5684
- Do not show section title if all options are hidden by @knolleary in #5689
- [5683] No discernible outline on junctions and node ports in dark mode in NR5 + lighten shade color by @n-lark in #5691
- Clip user profile image to the round button in the header by @knolleary in #5690
- Ensure png icon is centrally aligned on first layout by @knolleary in #5688
- Fix build scripts for windows by @knolleary in #5687
- Defining utility functions for re-use in a function node by @Steve-Mcl in #5494
- Allow TLS SNI Server name to be set in the http-request node by @hardillb in #5667
- Update for 5-beta.6 release by @knolleary in #5692
- [5695] Dropping a node over certain buttons in the footer toolbar causes those buttons to execute (NR5) by @n-lark in #5700
- [5696]
editorTheme.header.title: long values clip without ellipsis, and misalign whenheader.urlis set by @n-lark in #5697 - [5693 + 5699] Aligning Dark Theme with Light Theme's SCSS Structure +
node.statusfill of blue is shown as red in dark theme by @n-lark in #5694 - [5702] UX: Sidebar tab buttons do not show focus indicator when clicking on them by @n-lark in #5710
- Redraw halo if node status changes by @knolleary in #5708
- [5704] UX: Deploy menu dropdown icon appears too inactive by @n-lark in #5711
- Improve view navigator interaction by @knolleary in #5709
- Sync master by @knolleary in #5716
- Sync master by @knolleary in #5726
- Overlay status above selection halo by @knolleary in #5736
- Refactor workspace grid to use single pattern definition by @Steve-Mcl in #5735
- Feat: Show rendered info upon node/group note annotation badge click by @Steve-Mcl in #5730
- Enable badge annotations on groups by @Steve-Mcl in #5729
- Standardize popover colors by @knolleary in #5738
- Sort node lists alphabetically by @knolleary in #5739
- Tidy up popover appearance by @knolleary in #5740
- Add support for GH style blockquote alerts by @Steve-Mcl in #5733
- Shrink popover height if not sufficient vertical space by @knolleary in #5741
- Align sidebar toggle actions by @knolleary in #5742
- Move notifications bar to below tab bar by @knolleary in #5743
- Rework search statusBar by @knolleary in #5744
- Tidy up import error popover by @knolleary in #5745
- Group sidebar tab buttons by @knolleary in #5747
- Fix subflow virtual port halo sizing by @knolleary in #5748
- [5712] Accessibility - Buttons and links missing accessible names by @n-lark in #5713
- Do not adjust focus when navigating search results by @knolleary in #5749
- Fix svg tooltip text alignment by @knolleary in #5753
- Ensure quick-add aligns nodes and junctions to the grid by @knolleary in #5759
- Fix error handling for
linkcallin function node by @Steve-Mcl in #5755 - Standardize the scrollbar colors by @bonanitech in #5750
- Add alert types toolbar functionality to markdown editor by @Steve-Mcl in #5757
- Do not show context menu if in the middle of another action by @knolleary in #5763
- Ensure hidden tabs are restored on reload by @knolleary in #5762
- Resync master to dev branch by @knolleary in #5774
- Sync rel4111 to dev by @knolleary in #5782
- Add missing core actions by @knolleary in #5777
- Welcome tour v5 by @knolleary in #5784
- Align unknown node style by @knolleary in #5785
- Do not alter button text for active/focus if its the primary button by @knolleary in #5787
- Add support for installing ESM module nodes by @hlovdal in #4355
- Bump for 5.0 final release by @knolleary in #5789
- Add French translations for 5.0.0 by @GogoVega in #5641
- Synchronize
devbranch tomasterfor 5.0 release by @knolleary in #5790
Full Changelog: 4.1.11...5.0.0