Node-RED 1.2.0 里程碑版本发布
🚀 核心架构重大改进
运行时增强
- 插件化路由:添加 RED.hooks API 支持可插拔路由 (#2665)
- 事件系统升级:添加 flows:* 事件并弃用 nodes-* 事件
- 配置文件拆分:将 .config.json 拆分为单独文件 (#2794)
- 文件上传支持:在 /nodes API 中添加文件上传支持 (#2682)
- 消息追踪:添加 'done' 指标日志用于消息追踪 (#2685)
- API 并发控制:在 /flow API 周围添加互斥锁 (#2679)
- 会话安全:用 crypto.getBytes 替换 Math.random 生成会话令牌
项目管理革新
- 自动 Git 工作流:为项目添加 'automatic' Git 工作流 (#2035)
- 版本编辑:允许编辑项目版本字符串
- 项目配置优化:如果启用项目,默认将 flowFilePretty 设置为 true
🎨 编辑器功能全面升级
用户界面优化
- 侧边栏定制:允许侧边栏选项卡重新排序 (#2655)
- 重复节点检测:检测导入重复节点并帮助用户解决 (#2698)
- 文件上传:在选项板管理器中添加 tgz 上传按钮 (#2682)
- 组操作改进:
- 修复将节点复制/粘贴到活动组的问题 (#2686)
- 仅在需要时重新计算组标签偏移
- 合并元素时重用第一个组名称/样式 (#2680)
- 大纲视图增强:
- 导入替换子流程时确保子流程实例节点在大纲中更新
- 确保恢复的节点选项卡正确添加到大纲中
代码编辑器升级
- ACE 编辑器更新:升级到 1.4.12-src-min-noconflict(修复 #1988)
- 语法高亮增强:
- 为 JSONata 添加注释高亮并修复正则表达式处理(关闭 #2701)
- 确保 ACE NRJavaScript 模式中的错误在有效行上
- 标记编辑器:如果使用 md 模式调用 editText,则使用标记编辑器
国际化与辅助功能
- 中文翻译更新 (#2719)
- 日语翻译更新 (#2710)
- 德语翻译改进
- 工具提示优化:i18n 模块刷新工具提示 (#2717)
🔌 节点功能显著增强
核心节点改进
- 触发器节点:允许使用 msg.delay 设置延迟/循环间隔 (#2707)
- 函数节点:允许在其初始化代码中发送和记录 (#2644)
- MQTT 节点:更新到 MQTT 4.2.1(关闭 #2694)
- 调试节点:处理数组和对象调试视图中的未定义值(修复 #2696)
- Switch 节点:澄清 Switch 节点文档中的空规则 (#2649, #2669)
节点架构升级
- Done 回调:更新核心节点以使用 Done 回调 (#2653)
- 影响节点:yaml、xml、json、html、http、template、range、link、status、catch、complete、inject
错误处理与稳定性
- 上下文文件损坏:添加上下文文件损坏时的更好错误消息
- 无效属性处理:处理具有无效 z 属性的节点(关闭 #2170)
- 未知节点类型:显示时对未知节点类型进行清理
🔧 维护与性能优化
开发工具改进
- 开发模式:为 grunt dev 添加 --userDir=/tmp/foo 支持
- 编辑器禁用:如果设置 disableEditor 则跳过加载节点 HTML (#2684)
- 文件写入优化:更新 util.writeFile 在重命名前写入临时文件 (#2683)
- 模块文件处理:修复 getModuleFiles 函数以包含 path 属性 (#2705)
安全与稳定性
- 事件监听器:修复调用多个事件监听器时的 this 上下文(修复 #2692, #2693)
- Git 认证:为 Git 认证失败响应添加额外检查
- 浏览器兼容性:
- 修复 Safari 中上传按钮的宽度 (#2718)
- 防止搜索框上的 Enter 键重新加载页面(修复 #2678)
🛠️ 其他重要更新
用户体验优化
- 链接节点选择:修复活动工作空间中不存在的链接节点选择 (#2722)
- 侧边栏选项卡:修复侧边栏选项卡名称弹出窗口的意外换行 (#2716)
- 组操作限制:在非默认鼠标模式下防止组操作
- 图标选择:双击节点时禁用 Font Awesome 图标的选择
功能节点文档
- 函数节点信息:更新函数节点信息文本 (#2714)
- Switch 节点帮助:澄清 Switch 节点 isEmpty 帮助说明
这个 1.2.0 版本在插件化架构、项目管理、编辑器体验和节点功能方面都有重大提升,为 Node-RED 生态系统的发展奠定了更加坚实的基础。
git下载:
国内高速下载通道: