n8n 2.0 升级必读!默认更安全、SQLite 性能提升10倍,还有这些破坏性更新

n8n 2.0 正式发布!深度解析默认安全机制(Secure-by-default)、SQLite 10倍性能提升、Task Runners等关键更新。本文提供详细的破坏性变更清单与升级迁移指南,助你平滑过渡到更稳定、安全的企业级自动化平台。

阅读时长: 4 分钟
共 1874字
作者: eimoon.com

距离 n8n 1.0 发布已经过去两年多了。2025年12月8日,n8n 2.0 BETA 版本正式发布,并将于 12月15日 发布稳定版(Stable)。

很多用户可能期待大版本的更新会带来各种眼花缭乱的新功能,但 n8n 2.0 的核心主题非常明确且务实:“默认安全(Secure-by-default)”、可靠性与性能

这次更新标志着 n8n 进一步向企业级平台迈进。为了实现更高的安全性与稳定性,官方引入了一系列“破坏性变更(Breaking Changes)”。在点击升级按钮之前,这篇文章将帮你梳理你需要知道的一切。

🚀 核心理念:为什么是 2.0?

n8n 遵循语义化版本控制。这意味着如果不增加主版本号,就不能发布破坏性变更。自 2023 年 7 月 1.0 发布以来,团队积攒了许多需要通过破坏性变更来实现的改进,包括安全加固和移除不稳定的旧功能。

此次 2.0 版本将所有这些改进整合在一起,旨在为关键任务工作流提供更强的安全性、可靠性和扩展性。

🔒 安全篇:默认更安全 (Secure by Default)

n8n 2.0 最显著的变化是收紧了默认设置。如果你之前的部署依赖于宽松的权限,升级后可能需要手动调整配置。

1. Task Runners 默认启用 为了隔离风险,Code 节点现在的执行将默认在隔离环境(Task Runners)中运行。这意味着 Code 节点对主进程的访问将受到限制。

  • 注意: n8n 官方 Docker 镜像将不再包含用于 External Mode 的 Task Runner,你需要使用独立的 n8nio/runners 镜像。
  • Python 变化: 基于 Pyodide 的 Python 环境被移除,取而代之的是基于 Task Runner 的原生 Python。这意味着你不能再使用 _input 或点符号访问变量,必须改用原生 Python 方式。

2. Code 节点禁止访问环境变量 为了防止凭证泄露,Code 节点默认被阻止访问环境变量。

  • 如何迁移: 官方建议改用 Credentials 存储敏感数据。如果必须访问,需显式设置 N8N_BLOCK_ENV_ACCESS_IN_NODE=false

3. 高风险节点默认禁用 Execute Command(执行任意命令)和 Local File Trigger(访问文件系统)节点默认被禁用。

  • 如何迁移: 如果需要使用,需通过 NODES_EXCLUDE 环境变量将其移出禁用列表。

4. 认证增强 OAuth 回调 URL 默认不再允许跳过认证 (N8N_SKIP_AUTH_ON_OAUTH_CALLBACK 默认为 false)。

🛠️ 工作流与体验:更符合直觉

1. “发布”与“保存”分离 (Publish / Save) 在 v1.x 中,保存一个激活的工作流会立即更新生产环境,这虽然方便但也容易导致“手滑”事故。 v2.0 引入了新的范式:Save(保存) 仅保存你的编辑草稿,而 Publish(发布) 才会显式地将更改推送到线上生产环境。这为后续即将推出的“自动保存”功能奠定了基础。

2. 子工作流(Sub-workflow)等待机制修复 这是一个期待已久的修复,但也是一个破坏性变更。 在 v1.x 中,如果子工作流包含 Wait 节点(例如等待 Webhook 或人工审批),父工作流往往会错误地收到子工作流的“输入数据”作为结果。 在 v2.0 中,父工作流将正确地等待子工作流完成,并接收子工作流结束时的最终输出数据。 这使得构建“人工介入(Human-in-the-loop)”审批流变得真正可行。

⚡ 性能与基础设施:更快、更稳

1. SQLite 性能暴增 10 倍 n8n 移除了旧版 SQLite 驱动,全面启用 Pooling Driver。新驱动使用 WAL 模式和连接池,基准测试显示速度最高可提升 10 倍。

2. 移除内存二进制数据模式 为了防止大文件撑爆内存,v2.0 移除了将二进制数据保留在内存中的选项。现在默认使用**文件系统(Filesystem)**或数据库存储二进制数据。请确保你的 n8n 实例有足够的磁盘空间。

3. 放弃 MySQL/MariaDB 支持 n8n 后端数据库不再支持 MySQL 和 MariaDB。官方建议迁移到 PostgreSQL 以获得最佳兼容性。

  • 注:这指的是 n8n 自身的配置数据库,MySQL 节点(用于连接外部数据库)不受影响。

📋 升级前的准备清单

在按下更新键之前,请务必执行以下步骤:

  1. 检查迁移报告 (Migration Report) 如果你是全局管理员且版本在 1.119.0 以上,可以在 Settings -> Migration Report 中查看。该工具会自动扫描你的实例和工作流,列出所有受影响的配置和节点。

    • 红色 Critical: 必须修复,否则工作流会挂。
    • 黄色 Warning: 建议修复。
  2. 备份数据 特别是如果你正在使用 MySQL/MariaDB,请务必先使用工具将数据迁移至 PostgreSQL 或 SQLite。

  3. 开发环境调整 --tunnel 启动参数已被移除,本地开发请改用 ngrok 或 Cloudflare Tunnel。

📅 时间表与后续

  • 2.0.0 Beta: 2025年12月8日
  • 2.0.x Stable: 2025年12月15日
  • v1.x 支持周期: v1.x 将在 2.0 发布后继续支持 3个月,但这期间仅提供安全更新和 Bug 修复,不再添加新功能。

n8n 团队表示,未来将加快大版本的迭代频率(每年1-2个大版本),以便更灵活地交付改进。

这次升级是 n8n 从“好用的工具”向“可靠的平台”转变的重要一步。虽然破坏性变更带来了一些迁移成本,但换来的是一个更安全、更健壮的自动化底座。

准备好迎接 2.0 了吗?快去检查你的 Migration Report 吧!

📬 关注我获取更多资讯

公众号
📢 公众号
个人号
💬 个人号
使用 Hugo 构建
主题 StackJimmy 设计