Node-RED 4.1 现已可供安装。如果升级,请阅读升级说明

变更日志中包含了此版本的完整变更列表。

借此机会,我们已经在思考下一步的计划——我们将在接下来的几周内进行一次社区调查,以帮助我们规划未来的路线图。请您花费10分钟时间分享您的想法。您可以在此参与调查



更新通知

当您启动 4.1 版本时,首先会看到的一个请求是启用更新通知。这会在有新版 Node-RED 可用时,在编辑器中显示通知。这能确保您及时了解最新的修复和功能。作为回报,Node-RED 会向项目发送匿名的使用信息,包括正在使用的 NR 版本和操作系统类型。您的用户或流程的任何信息都不会被共享。关于收集了什么信息、为什么收集以及如何使用这些信息的更多详情,请参见文档

另外,当您的节点面板中有任何节点有可用更新时,它也会通知您。这部分通知由节点面板管理器根据其下载的节点目录来处理;因此,它是默认启用的。

节点文档图标

一个经常被请求的功能终于实现了;任何在编辑对话框的“描述”字段中添加了文档的节点,现在都会显示信息图标。点击该图标将打开编辑对话框。

和以前一样,当选中一个节点时,其“描述”中的任何内容都会显示在信息侧边栏中。

如果您不喜欢这个图标,可以在编辑器设置对话框中将其关闭。

管理流程依赖

虽然 Node-RED 通过其导入/导出对话框使得分享流程变得非常简单,但一个常见的挑战是不知道需要安装哪些额外的模块才能让流程正常工作。

在此版本中,当您导出流程时,它现在会包含流程所使用的额外模块的元数据。

导入流程时,如果任何节点类型无法识别,编辑器现在可以利用这些信息来告知您需要安装什么。

注意:我们选择不自动安装模块,因为我们认为用户应该能够自己做出选择,而不是在不知情的情况下被安装东西,这一点很重要。

这个额外的元数据保存在导出文件的一个全局配置节点中。这是一种在 Node-RED 4.0 中引入的节点类型——所以您仍然可以将 4.1 版本的流程导回到 4.0 版本。

节点面板管理器更新

节点面板管理器进行了一些小而强大的更新。

已弃用的模块

如果一个节点模块已被其作者在 npm 上弃用,或在流程库中被标记为如此,它现在会显示一个“已弃用”徽章。这将是一个信号,除非您有非常特殊的需求,否则应避免使用该模块。

流程库也已更新,在节点页面上显示此信息。

按下载量对节点排序

默认情况下,可供安装的节点列表现在按下载次数排序。这有助于优先显示更广泛使用和更受欢迎的节点。

我们在“节点”选项卡中添加了指向节点文档的链接(以前这只在“安装”选项卡中)。

更好地支持插件

已安装模块列表现在能更好地处理插件——特别是那些同时包含插件和节点的模块。

事件日志小部件

从节点面板管理器安装节点时,有时会花费一些时间,具体取决于 Node-RED 的运行环境和被安装模块的大小。如果您关闭了节点面板管理器,就会失去对仍在进行的安装过程的任何反馈。

我们从 Node-RED 的早期就有了事件日志视图(菜单 -> 视图 -> 事件日志),但我敢打赌大多数用户都不知道它的存在。

在此版本中,如果后台有安装正在进行,编辑器页脚会显示一个进度小部件。点击它会打开事件日志。安装完成后,小部件会自动隐藏。

其他更新

变更日志中还有许多其他较小的项目,这里再重点介绍几个:

  • 当您有配置错误的节点时进行部署,一直都会请求确认。现在的逻辑将忽略被禁用的节点——因为它们不会影响已部署的流程。

  • 新增了一个动作,可以触发任何选中节点的按钮。这个动作(core:trigger-selected-nodes-action)可以在动作菜单(Ctrl-Shift-P)中找到,并且可以绑定到您想要的任何键盘快捷键。

  • 在节点编辑对话框外部点击将不再关闭该对话框。

节点更新

以下是各个核心节点更新的列表。

  • Complete/Status: 修复 complete 节点,使其不立即反馈给直接连接的节点 (#5114)
  • Function: 将 URL/URLSearchParams 添加到 Function 沙箱 (#5159)
  • Function: 在 function 节点中添加对 node: 前缀模块的支持 (#5067)
  • Function: 添加 globalFunction 超时 (#4985) @vasuvanka
  • Exec: 使 stdout 和 err 之间的编码处理保持一致 (#5158)
  • Split: 让 split 节点将原始消息发送到 complete 节点 (#5113)
  • Split: 重命名“拆分该字段”(#5130)
  • MQTT: 确保生成的 mqtt clientId 只使用有效字符 (#5156)
  • HTTP In: 提供对请求体作为 Buffer 的访问
  • HTTP Request: 修复 http-request 中 ALPN 设置的大小写 (#5105)
  • HTTP Request: (文档) 推荐使用 HTTPS 而非 HTTP (#5141)
  • HTTP Request: 在 HTTP Digest 中包含 URL 查询参数 (#5166)
  • Catch: 将代码添加到 Catch 节点发送的错误对象中 (#5081)
  • Debug: 改进错误对象的调试显示 (#5079)
  • Debug: 改进超长消息属性的显示

完整变更日志

此版本的完整变更集可以在变更日志中找到。

感谢所有为这个版本做出贡献的人——没有你们,我们无法做到!

社区

作为一个开源项目,我们依赖社区的贡献。我们拥有一个强大而充满活力的用户社区,这在论坛的活跃度上得到了很好的体现。看到社区成员互相支持,真是太棒了。

如果您有兴趣为 Node-RED 做贡献,现在是时候来论坛Slack 上与我们交流了。