# 🎉 Node-RED 3.0 Released

**URL:** <https://discourse.nodered.org/t/node-red-3-0-released/65082>\
**Category:** News\
**Created:** [14 July 2022 09:11 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082 "2022-07-14T09:11:49Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![Flachmann](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/flachmann/32/60457_2.png) [@Flachmann](https://discourse.nodered.org/u/Flachmann)\
**Post date:** [19 July 2022 13:36 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/61 "2022-07-19T13:36:53Z")

</div>

Very cool, thank you. Already download!

Do you also have plans to release a new version of **nrLint**? nrLint is a great tool, but the current version has a lot of issues. 🤒

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [19 July 2022 13:50 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/62 "2022-07-19T13:50:59Z")

</div>

> [@Flachmann](#):
>
> Do you also have plans to release a new version of **nrLint**? nrLint is a great tool, but the current version has a lot of issues. 🤒

Yes, it needs some attention. Of course, anyone else could get involved at help resolve those issues... otherwise it will get updated as soon as I have the bandwidth to do so.

---

<div class="post-metadata">

**Author:** ![ncherry](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ncherry/32/27_2.png) [@ncherry](https://discourse.nodered.org/u/ncherry)\
**Post date:** [19 July 2022 18:06 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/63 "2022-07-19T18:06:27Z")

</div>

Further data points:

```nohighlight
03.0.5060.114 (Official Build) built on Debian 11.3, running on Debian 11.4 (64-bit) 
Revision	a1c2360c5b02a6d4d6ab33796ad8a268a6128226-refs/branch-heads/5060@{#1124}
OS	Linux
JavaScript	V8 10.3.174.18

```

Chromium on my Pi 4 fails

```auto
Revision 564abd8de2c05f45308eec14f9110a10aff40ad9-refs/branch-heads/4515@{#1501}
OS Linux
JavaScript V8 9.2.230.17

```

Chromium on my Pi 4 fails 3 different errors

```auto
    at <anonymous>:225:76
    at Array.map (<anonymous>)
    at Array.handleDebugMessage (<anonymous>:220:47)
    at WebSocket.i.onmessage (red.min.js?v=3.0.0:16)
(anonymous) @ VM389:225
handleDebugMessage @ VM389:220
i.onmessage @ red.min.js?v=3.0.0:16
red.min.js?v=3.0.0:18 Uncaught TypeError: Object.hasOwn is not a function
    at SVGGElement.<anonymous> (red.min.js?v=3.0.0:18)
    at vendor.js?v=3.0.0:37
    at Tn (vendor.js?v=3.0.0:35)
    at Array.Ma.each (vendor.js?v=3.0.0:37)
    at Gt (red.min.js?v=3.0.0:18)
(anonymous) @ red.min.js?v=3.0.0:18
(anonymous) @ vendor.js?v=3.0.0:37
Tn @ vendor.js?v=3.0.0:35
Ma.each @ vendor.js?v=3.0.0:37
Gt @ red.min.js?v=3.0.0:18
requestAnimationFrame (async)
H @ red.min.js?v=3.0.0:18
redraw @ red.min.js?v=3.0.0:18
success @ red.min.js?v=3.0.0:16
c @ vendor.js?v=3.0.0:2
fireWith @ vendor.js?v=3.0.0:2
l @ vendor.js?v=3.0.0:2
(anonymous) @ vendor.js?v=3.0.0:2
load (async)
send @ vendor.js?v=3.0.0:2
ajax @ vendor.js?v=3.0.0:2
s.ajax @ vendor.js?v=3.0.0:4
d @ red.min.js?v=3.0.0:16
(anonymous) @ red.min.js?v=3.0.0:16
(anonymous) @ red.min.js?v=3.0.0:18
c @ vendor.js?v=3.0.0:2
fireWith @ vendor.js?v=3.0.0:2
l @ vendor.js?v=3.0.0:2
(anonymous) @ vendor.js?v=3.0.0:2
load (async)
send @ vendor.js?v=3.0.0:2
ajax @ vendor.js?v=3.0.0:2
s.ajax @ vendor.js?v=3.0.0:4
S.<computed> @ vendor.js?v=3.0.0:2
getJSON @ vendor.js?v=3.0.0:2
(anonymous) @ red.min.js?v=3.0.0:18
c @ vendor.js?v=3.0.0:2
fireWith @ vendor.js?v=3.0.0:2
l @ vendor.js?v=3.0.0:2
(anonymous) @ vendor.js?v=3.0.0:2
load (async)
send @ vendor.js?v=3.0.0:2
ajax @ vendor.js?v=3.0.0:2
s.ajax @ vendor.js?v=3.0.0:4
S.<computed> @ vendor.js?v=3.0.0:2
getJSON @ vendor.js?v=3.0.0:2
refresh @ red.min.js?v=3.0.0:18
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
load (async)
(anonymous) @ red.min.js?v=3.0.0:16
each @ vendor.js?v=3.0.0:2
each @ vendor.js?v=3.0.0:2
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
s @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
success @ red.min.js?v=3.0.0:16
c @ vendor.js?v=3.0.0:2
fireWith @ vendor.js?v=3.0.0:2
l @ vendor.js?v=3.0.0:2
(anonymous) @ vendor.js?v=3.0.0:2
load (async)
send @ vendor.js?v=3.0.0:2
ajax @ vendor.js?v=3.0.0:2
s.ajax @ vendor.js?v=3.0.0:4
t @ red.min.js?v=3.0.0:16
success @ red.min.js?v=3.0.0:16
c @ vendor.js?v=3.0.0:2
fireWith @ vendor.js?v=3.0.0:2
l @ vendor.js?v=3.0.0:2
(anonymous) @ vendor.js?v=3.0.0:2
load (async)
send @ vendor.js?v=3.0.0:2
ajax @ vendor.js?v=3.0.0:2
s.ajax @ vendor.js?v=3.0.0:4
r @ red.min.js?v=3.0.0:16
(anonymous) @ red.min.js?v=3.0.0:16
success @ red.min.js?v=3.0.0:16
c @ vendor.js?v=3.0.0:2
fireWith @ vendor.js?v=3.0.0:2
l @ vendor.js?v=3.0.0:2
(anonymous) @ vendor.js?v=3.0.0:2
load (async)
send @ vendor.js?v=3.0.0:2
ajax @ vendor.js?v=3.0.0:2
s.ajax @ vendor.js?v=3.0.0:4
(anonymous) @ red.min.js?v=3.0.0:16
loadNodeCatalogs @ red.min.js?v=3.0.0:16
success @ red.min.js?v=3.0.0:16
c @ vendor.js?v=3.0.0:2
fireWith @ vendor.js?v=3.0.0:2
l @ vendor.js?v=3.0.0:2
(anonymous) @ vendor.js?v=3.0.0:2
load (async)
send @ vendor.js?v=3.0.0:2
ajax @ vendor.js?v=3.0.0:2
s.ajax @ vendor.js?v=3.0.0:4
i @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
a @ red.min.js?v=3.0.0:16
n @ red.min.js?v=3.0.0:16
success @ red.min.js?v=3.0.0:16
c @ vendor.js?v=3.0.0:2
fireWith @ vendor.js?v=3.0.0:2
l @ vendor.js?v=3.0.0:2
(anonymous) @ vendor.js?v=3.0.0:2
load (async)
send @ vendor.js?v=3.0.0:2
ajax @ vendor.js?v=3.0.0:2
s.ajax @ vendor.js?v=3.0.0:4
(anonymous) @ red.min.js?v=3.0.0:16
success @ red.min.js?v=3.0.0:16
c @ vendor.js?v=3.0.0:2
fireWith @ vendor.js?v=3.0.0:2
l @ vendor.js?v=3.0.0:2
(anonymous) @ vendor.js?v=3.0.0:2
load (async)
send @ vendor.js?v=3.0.0:2
ajax @ vendor.js?v=3.0.0:2
s.ajax @ vendor.js?v=3.0.0:4
(anonymous) @ red.min.js?v=3.0.0:16
loadPluginCatalogs @ red.min.js?v=3.0.0:16
success @ red.min.js?v=3.0.0:16
c @ vendor.js?v=3.0.0:2
fireWith @ vendor.js?v=3.0.0:2
l @ vendor.js?v=3.0.0:2
(anonymous) @ vendor.js?v=3.0.0:2
load (async)
send @ vendor.js?v=3.0.0:2
ajax @ vendor.js?v=3.0.0:2
s.ajax @ vendor.js?v=3.0.0:4
i @ red.min.js?v=3.0.0:16
(anonymous) @ red.min.js?v=3.0.0:16
success @ red.min.js?v=3.0.0:16
c @ vendor.js?v=3.0.0:2
fireWith @ vendor.js?v=3.0.0:2
l @ vendor.js?v=3.0.0:2
(anonymous) @ vendor.js?v=3.0.0:2
load (async)
send @ vendor.js?v=3.0.0:2
ajax @ vendor.js?v=3.0.0:2
s.ajax @ vendor.js?v=3.0.0:4
d @ red.min.js?v=3.0.0:16
(anonymous) @ red.min.js?v=3.0.0:16
success @ red.min.js?v=3.0.0:16
c @ vendor.js?v=3.0.0:2
fireWith @ vendor.js?v=3.0.0:2
l @ vendor.js?v=3.0.0:2
(anonymous) @ vendor.js?v=3.0.0:2
load (async)
send @ vendor.js?v=3.0.0:2
ajax @ vendor.js?v=3.0.0:2
s.ajax @ vendor.js?v=3.0.0:4
r @ red.min.js?v=3.0.0:16
i @ red.min.js?v=3.0.0:16
init @ red.min.js?v=3.0.0:16
(anonymous) @ red.min.js?v=3.0.0:16
(anonymous) @ red.min.js?v=3.0.0:16
e @ vendor.js?v=3.0.0:38
(anonymous) @ vendor.js?v=3.0.0:38
(anonymous) @ vendor.js?v=3.0.0:38
(anonymous) @ vendor.js?v=3.0.0:38
(anonymous) @ vendor.js?v=3.0.0:38
value @ vendor.js?v=3.0.0:38
(anonymous) @ vendor.js?v=3.0.0:38
(anonymous) @ vendor.js?v=3.0.0:38
(anonymous) @ vendor.js?v=3.0.0:39
(anonymous) @ vendor.js?v=3.0.0:39
Promise.then (async)
(anonymous) @ vendor.js?v=3.0.0:39
Promise.then (async)
(anonymous) @ vendor.js?v=3.0.0:39
i.default @ vendor.js?v=3.0.0:39
value @ vendor.js?v=3.0.0:39
(anonymous) @ vendor.js?v=3.0.0:39
Promise.then (async)
value @ vendor.js?v=3.0.0:39
value @ vendor.js?v=3.0.0:39
value @ vendor.js?v=3.0.0:38
value @ vendor.js?v=3.0.0:38
(anonymous) @ vendor.js?v=3.0.0:38
value @ vendor.js?v=3.0.0:38
value @ vendor.js?v=3.0.0:38
value @ vendor.js?v=3.0.0:38
i @ vendor.js?v=3.0.0:38
value @ vendor.js?v=3.0.0:38
f @ vendor.js?v=3.0.0:38
setTimeout (async)
value @ vendor.js?v=3.0.0:38
init @ red.min.js?v=3.0.0:16
init @ red.min.js?v=3.0.0:16
(anonymous) @ main.min.js?v=3.0.0:16
e @ vendor.js?v=3.0.0:2
t @ vendor.js?v=3.0.0:2
setTimeout (async)
(anonymous) @ vendor.js?v=3.0.0:2
c @ vendor.js?v=3.0.0:2
fireWith @ vendor.js?v=3.0.0:2
fire @ vendor.js?v=3.0.0:2
c @ vendor.js?v=3.0.0:2
fireWith @ vendor.js?v=3.0.0:2
ready @ vendor.js?v=3.0.0:2
B @ vendor.js?v=3.0.0:2
Show 200 more frames
red.min.js?v=3.0.0:18 Uncaught TypeError: Object.hasOwn is not a function
    at SVGGElement.<anonymous> (red.min.js?v=3.0.0:18)
    at vendor.js?v=3.0.0:37
    at Tn (vendor.js?v=3.0.0:35)
    at Array.Ma.each (vendor.js?v=3.0.0:37)
    at Gt (red.min.js?v=3.0.0:18)

```

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [19 July 2022 18:11 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/64 "2022-07-19T18:11:06Z")

</div>

> [@ncherry](#):
>
> `Object.hasOwn`

Ah, that's not so good if that is in the editor.

It has only being available since the middle of 2021 and still isn't supported by all browsers.

["hasown" | Can I use... Support tables for HTML5, CSS3, etc](https://caniuse.com/?search=hasown)

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [19 July 2022 18:12 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/65 "2022-07-19T18:12:39Z")

</div>

> [@ncherry](#):
>
> Chromium on my Pi 4 fails

For chromium to be failing, it would have to be version 92 or earlier. That is (in terms of browsers) old and unsafe!

> [@TotallyInformation](#):
>
> Ah, that's not so good is that is in the editor.

It is a known issue: [Links between nodes disappear after upgrade to 3.0 under Safari · Issue #3778 · node-red/node-red · GitHub](https://github.com/node-red/node-red/issues/3778#issuecomment-1186478862)

For now the solution is to update your browser.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [19 July 2022 18:13 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/66 "2022-07-19T18:13:28Z")

</div>

ps: sorry about the typing and typos my thumb is in a pot

---

<div class="post-metadata">

**Author:** ![sharonv](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@sharonv](https://discourse.nodered.org/u/sharonv)\
**Post date:** [19 July 2022 21:17 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/67 "2022-07-19T21:17:17Z")

</div>

Seems like a couple of focus issues with the new (and awesome) release:

1. CTRL+ENTER to confirm and close dialogs, only in case of multi page dialogs. Such case reproduces with the inject or change nodes, where you would set a field to be of type jsonata, after opening the jsonata expression dialog and setting content, it can be closed with "Done" mouse click on the button or CTRL+ENTER key combination (win10). The jsonata dialog will confirm and close but the edit change/inject node will note also submit on another CTRL+ENTER key press, only via mouse click.

2. Right click on the main canvas (empty area) \> get the new context menu \> select insert \> node \> the cursor does not go to the search box and typing / keyboard browsing will not work unless setting the focus onto the search bar.

---

<div class="post-metadata">

**Author:** ![dubnemo](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dubnemo/32/38759_2.png) [@dubnemo](https://discourse.nodered.org/u/dubnemo)\
**Post date:** [20 July 2022 17:49 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/68 "2022-07-20T17:49:18Z")

</div>

Happy here! Thank you!

---

<div class="post-metadata">

**Author:** ![ncherry](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ncherry/32/27_2.png) [@ncherry](https://discourse.nodered.org/u/ncherry)\
**Post date:** [21 July 2022 03:51 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/69 "2022-07-21T03:51:50Z")

</div>

Agreed, it's 92. Seems Debian is slow to update on the Pi. I should check for the 64bit Linux to see if that has a later version.

Thanks good information.

---

<div class="post-metadata">

**Author:** ![SonoraTechnical](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/sonoratechnical/32/20033_2.png) [@SonoraTechnical](https://discourse.nodered.org/u/SonoraTechnical)\
**Post date:** [21 July 2022 15:54 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/70 "2022-07-21T15:54:14Z")

</div>

Very pleased to see the Monaco editor at work in my flows. I know that it's been available for sometime, but I was slow to adopt it. Of course it is the default with 3.0, so I decided to give it a go. I have some very extensive function blocks and I'm delighted that all of my syntax plays very nice with Monaco. It's a good user experience!

Thanks Team!

---

<div class="post-metadata">

**Author:** ![tree-frog](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/tree-frog/32/89303_2.png) [@tree-frog](https://discourse.nodered.org/u/tree-frog)\
**Post date:** [21 July 2022 18:47 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/71 "2022-07-21T18:47:59Z")

</div>

Upgraded, Installed Node-RED 3.0.0... ☹

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/b/bb8b00798c62a96d9672548ecb3d49fe999fda90.png)

It gets stuck here. I blocked out my info in the path. I did a classic global install on my system running 2.?? (last 2.? install version) Windows 10 Node

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/9/b967ea2933e9bdd7b851b23c1b14885083ce5586.png)

Log entry  
1195 verbose stack Error: EBUSY: resource busy or locked, copyfile  
'C:\Users\blah.blahblah\AppData\Roaming\npm\node\_modules\node-red\node\_modules\bcrypt\lib\binding\napi-v3\bcrypt\_lib.node' -\>  
'C:\Users\blah.blahblah\AppData\Roaming\npm\node\_modules.node-red-hGBPYeBB\node\_modules\bcrypt\lib\binding\napi-v3\bcrypt\_lib.node'

1205 error errno -4082

---

<div class="post-metadata">

**Author:** ![UnborN](https://avatars.discourse-cdn.com/v4/letter/u/4491bb/32.png) [@UnborN](https://discourse.nodered.org/u/UnborN)\
**Post date:** [21 July 2022 19:18 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/72 "2022-07-21T19:18:36Z")

</div>

Try `npm cache clean`  
and also running `npm install -g --unsafe-perm node-red`  
from Command prompt as administrator instead of Powershell

ps. did you stop NR before running the upgrade ?

---

<div class="post-metadata">

**Author:** ![tree-frog](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/tree-frog/32/89303_2.png) [@tree-frog](https://discourse.nodered.org/u/tree-frog)\
**Post date:** [21 July 2022 20:30 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/73 "2022-07-21T20:30:33Z")

</div>

OOPS!. I HAD it running as a service. Thanks. A little "stop and think about what your doing" goes a long way.

Thanks for that fix. I'll try it when I can get to it later tomorrow.

Kind Thanks!

---

<div class="post-metadata">

**Author:** ![rei\_vilo](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/rei_vilo/32/162_2.png) [@rei\_vilo](https://discourse.nodered.org/u/rei_vilo)\
**Post date:** [22 July 2022 11:03 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/74 "2022-07-22T11:03:10Z")

</div>

Issue solved with [release 3.0.1](https://discourse.nodered.org/t/node-red-3-0-1-released/65472). Thank you!

---

<div class="post-metadata">

**Author:** ![sanyafifa](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/sanyafifa/32/64323_2.png) [@sanyafifa](https://discourse.nodered.org/u/sanyafifa)\
**Post date:** [22 July 2022 13:19 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/75 "2022-07-22T13:19:19Z")

</div>

Issue solved with [release 3.0.1](https://discourse.nodered.org/t/node-red-3-0-1-released/65472). Thank you!

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [22 July 2022 14:04 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/76 "2022-07-22T14:04:36Z")

</div>

TBH @rei_vilo and @sanyafifa - I was personally in 2 minds on whether to "fix" this one - I guess you did not update your browsers!

From the web...

> According to Google's blog post announcing Chrome 93, **the latest version of the web browser fixed 27 security flaws, and five of those flaws carried a “high” risk ranking**.

And Chrome(ium) 93 is not even the latest - current version is 103 (11 whole revisions newer!)

I hope you dont use them online 😛

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [22 July 2022 15:50 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/77 "2022-07-22T15:50:35Z")

</div>

Let's Please remember that some people may be using node-red on old iPads so may not be connected to the Internet but still need to use older versions of browsers.

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [22 July 2022 15:57 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/78 "2022-07-22T15:57:06Z")

</div>

> [@TotallyInformation](#):
>
> Please remember that some people may be using node-red on old iPads so may not be connected to the Internet but still need to use older versions of browsers.

Also the FireFox ESR release which many people will be using. Doesn't have all the latest features, but does get regular security fixes. It was discovering we were broken on that which urged me to get 3.0.1 released sooner rather than later.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [22 July 2022 16:36 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/79 "2022-07-22T16:36:22Z")

</div>

Valid points guys.

---

<div class="post-metadata">

**Author:** ![sanyafifa](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/sanyafifa/32/64323_2.png) [@sanyafifa](https://discourse.nodered.org/u/sanyafifa)\
**Post date:** [22 July 2022 19:58 UTC](https://discourse.nodered.org/t/node-red-3-0-released/65082/80 "2022-07-22T19:58:36Z")

</div>

I am constantly updating raspbian os. The new version of chrome is not in the repository. And I use a firewall 🙂

[Previous page](https://discourse.nodered.org/t/node-red-3-0-released/65082.md?page=3)

[Next page](https://discourse.nodered.org/t/node-red-3-0-released/65082.md?page=5)
