1623 字
8 分鐘

n8n 2.40.5 要升級嗎?stable、beta 與 2.41.0 RC 的檢查清單

截至 2026 年 9 月 23 日,npm registry 查到的 n8n dist-tags 是:latest、stable 與 beta 指向 2.40.5,next 與 rc 指向 2.41.0。這個結果與「stable、beta 一定是不同版本」的直覺不同,也代表升級前應該讀 registry 的實際標籤,不要只看 Docker 的 latest。

本文把 n8n 2.40.5 當成目前的 production 候選,並把 2.41.0 當成獨立的預發布測試線。版本與 security advisory 都可能變動;文中的版本判讀是查核日的快照,不是永久承諾。

先確認你要升級的是哪一條線#

先在自己的環境重新查詢:

Terminal window
npm view n8n dist-tags --json
npm view n8n@latest version time
npm view n8n@next version
用途查核時的版本建議做法
production self-hosted2.40.5固定完整版本,先在 staging 驗證再部署
想追蹤下一版2.41.0只放在隔離環境,不能和 production 共用未驗證資料庫
Docker 部署n8nio/n8n:2.40.5固定 image tag,並記錄 digest;不要用 latest 當回滾點
npm/pnpm 啟動[email protected]將版本寫進 lockfile,升級時檢查 lockfile diff

GitHub 的 2.40.5 release note 顯示這是一個 bug-fix release,內容包含限制 declarative routing 在 base URL ownership check 中的處理。它不是「所有 n8n security advisory 都已修好」的證明;穩定標籤與資安修補是兩個要分開驗證的問題。

先保存可回復的基準#

n8n 的資料不只在 workflow JSON。升級前應把下列項目列入同一張 change checklist:

  1. n8n database 與 schema migration 的備份。
  2. credentials、encryption key、webhook base URL 與反向代理設定。
  3. active/inactive workflow、執行紀錄保留策略與 queue worker 設定。
  4. custom node、community node、外部 binary 與環境變數。
  5. 現在的 n8n image digest、Node.js runtime、資料庫版本與部署 manifest。

如果 workflow 會處理外部 API,先在 staging 跑一條從 trigger 到最後一個 side effect 的測試流程;只確認 editor 可以開啟,不能證明 webhook、credential 和 retry 行為都正常。像是 n8n Code node 的資料過濾陷阱 這類 workflow 行為,也應在升級後重新確認輸入型別與輸出資料形狀。

2.40.5 升級時要測哪些邊界#

Base URL、webhook 與反向代理#

因為 2.40.5 的 release note 涉及 base URL ownership check,升級後應至少測試:

  • editor 的公開網址與 webhook URL 是否仍使用同一個 host、scheme 和 path。
  • 反向代理轉送 Host、X-Forwarded-Host、X-Forwarded-Proto 的方式是否一致。
  • webhook 在外部網路請求時能否正確到達 active workflow。
  • queue worker、主程序與 editor 看到的 base URL 是否一致。

不要只在內網打開 editor;用實際的公開 webhook 發送一個不會造成不可逆 side effect 的測試事件,再檢查 execution status。

Database、queue 與執行紀錄#

若使用 PostgreSQL、queue mode 或多個 worker,升級流程應分開驗證:

備份 database → 更新 staging image → 啟動主程序 → 確認 migration
→ 啟動 worker → 執行無副作用 workflow → 測 webhook → 觀察 queue 與 error

重點是確認 worker 和主程序沒有使用不同版本的 image,也沒有因為 migration 尚未完成就開始消費工作。升級期間若必須暫停 workflow,先確認外部 webhook 的重試策略,避免恢復後重複建立資料。

Credentials、community node 與外部依賴#

把 credentials 解密、OAuth refresh、HTTP request、檔案讀寫和 community node 各選一個代表流程。若版本升級伴隨 Node.js 或 image base 的變更,再加上原生依賴與 binary 的 smoke test。

不要把「workflow JSON 可以匯入」當成完整相容性測試;真正要比對的是 node 的輸入、輸出、錯誤分支和 side effect。

不能省略的 security advisory 查核#

n8n 公開 security advisories 頁面在 2026 年 9 月 16 日附近列出多筆新公告,嚴重度涵蓋 high 與 moderate。這些公告的受影響版本、修補版本和利用前提各不相同,不能從「目前是 stable」推導出「沒有風險」。

每次升級前使用以下流程:

  1. 打開 n8n 的 published security advisories,依公告逐筆查看 affected versions、patched versions 和 workaround。
  2. 將目前的 2.40.5 與公告的版本範圍比對;若範圍不清楚,先不要把 production 當成已完成修補。
  3. 確認公開 editor、webhook、credential test endpoint、community package 與 database query 等暴露面是否真的存在。
  4. 對高風險公告留下「已修補、已降低暴露面或接受風險」的決策紀錄。

這一段需要依公告內容逐筆判讀;本文只完成 advisory index 的存在與查核路徑確認,沒有把每一筆公告的影響範圍誤寫成 2.40.5 的保證。

一個可以回滾的部署順序#

推薦把變更拆成小步驟:

  1. 記錄目前 image digest、dist-tag 查詢結果、database backup 與設定檔 checksum。
  2. 在 staging 固定 2.40.5,完成 migration、登入、credential、queue、webhook 和代表性 workflow 測試。
  3. 先更新一個 canary worker 或低流量 instance,觀察 error rate、queue latency、execution failure 與 webhook response。
  4. 確認無異常後,再更新其他 worker 和主程序;每一個 process 都要使用同一個版本。
  5. 若發現問題,停止擴大部署,保留 log 與 execution ID,回到上一個已驗證的 image/package 版本。

不要在沒有 database backup 的情況下直接 downgrade。若 migration 改變 schema,回退可能需要官方相容性說明或從備份還原;「把 tag 改回去」本身不是 rollback plan。

2.41.0 要不要現在試?#

可以,但應把它視為另一個測試目標,而不是 2.40.5 的小 patch。使用 npm view n8n@next version 或 npm view n8n dist-tags 重新確認預發布版本,建立隔離 database 與 encryption key,並禁止它接收 production webhook。

如果目標只是取得 2.40.5 的 bug fix,不需要因為 next 有新版本就一起升級。預發布線的價值在於提前發現相容性問題,不是替 production 省略 staging。

常見問題#

Q: stable、latest 和 beta 都是 2.40.5,代表 beta 可以直接用嗎?#

A: 不要只根據名稱判斷。查核日的 npm dist-tags 確實指向同一個版本,但 tag 可能由 registry 維護者調整;部署時仍應固定完整版本,並用自己的 registry 查詢結果作為證據。

Q: 只更新 n8n image,不更新 workflow,需要測試嗎?#

A: 需要。image 會改變 runtime、內建 node、credential、webhook 與 queue 行為;至少要執行一個無副作用 workflow、一次 webhook 和一個會走 error branch 的流程。

Q: n8n 2.40.5 已經是 stable,就不用再看 security advisory 嗎?#

A: 仍要看。stable 描述的是發行線,不是針對每一個公開漏洞的風險判定;請依 advisory 的 affected/patched versions 和自己的暴露面逐筆確認。

參考資料:

n8n GitHub:2.40.5 release

n8n npm package 與版本資訊

n8n GitHub:公開 security advisories

n8n 文件:Release notes

n8n 2.40.5 要升級嗎?stable、beta 與 2.41.0 RC 的檢查清單
https://laplusda.com/posts/n8n-2-23-to-2-30-update/
作者
Zero
發佈於
2026-07-13
許可協議
CC BY-NC-SA 4.0