前端前線 2026 年 8 月 16 日

2026-08-16 — Node.js Interactive 2026 揭露一年一大版號新政策與 node:quic 進度,WHATWG 修正 hint popover 內開啟對話框的自動關閉規格,Node.js 26.7.0 則新增 STORE loader 私鑰與 Perfetto 追蹤支援

primary=https://nodejs.org/en/blog/events/nodejs-interactive-2026 primary=https://github.com/whatwg/html/commit/ac0389a3aca0331055bf4bf23f509c2913e3f795 primary=https://github.com/whatwg/html/issues/12763 primary=https://nodejs.org/en/blog/release/v26.7.0

Node.js Interactive 睽違十年回歸:一年一大版號、node:quic 與供應鏈防線成焦點

Node.js Blog · 2026-08-14

Node.js Interactive 於 2026 年 8 月 12 日至 13 日在美國亞特蘭大舉行,與 RenderATL、Atlanta Tech Week 同場登場,這是該系列大會自 2015 年首屆之後睽違十餘年的回歸。OpenJS Foundation 在官方部落格發布完整場次記錄,內容涵蓋治理、供應鏈安全與執行環境路線圖。核心維運者 Matteo Collina 在會中證實,Node.js 未來將改為一年一次大版號釋出,自 v27.x 起生效。

核心議題

James Snell 在講題中回顧了 node:quic 的實作進度,並提出一套橫跨 HTTP/1.1、HTTP/2 與 HTTP/3(對應 RFC 9114,底層傳輸為 RFC 9000)的統一伺服器 API 構想,目前仍需以 --experimental-quic 旗標啟用。版號政策的改變是本屆最具體的營運面消息:Collina 說明一年一大版號可降低使用者升級壓力,同時讓 TypeScript 型別剝除、node:testnode:sqlite 與 Permission Model 等內建功能有更長的穩定期。Darcy Clarke 則在「Beyond SemVer」講題中,提出以 build metadata 擴充 Semantic Versioning 2.0.0 的做法,嘗試解決純語意化版號難以表達相容性細節的問題。

供應鏈安全與治理

Kate Holterhoff 的講題整理了 2025 至 2026 年間針對 npm 生態系的重大攻擊事件,包括 Shai-Hulud 蠕蟲(第二波據報波及至少 796 個套件)與週下載量上億次的 Axios 套件遭入侵事件,並指出防禦重心正從特徵掃描轉向身分驗證式的供應鏈防線,例如 npm trusted publishing 機制。Joe Sepi 的場次則討論 JavaScript 治理如何與 W3C、Ecma International 協作,特別是 WinterCG(現為 Ecma TC55)推動的跨執行環境互通標準,讓 Node.js、Deno 與 Cloudflare Workers 之間的 API 行為更一致。文件與測試工具方面,Node.js 團隊也發表了新的 doc-kit CLI 取代既有文件產生流程。

影響範圍

對前端與 Node.js 開發者而言,最直接的影響是發布節奏將變得更可預期:從 v27.x 起每年僅一次大版號,降低了追逐 breaking change 的頻率,但也意味著新功能會集中在單一大版號內一次性推出。node:quic 與統一伺服器 API 若成形,將讓 Node.js 應用可用單一介面同時處理 HTTP/1.1、HTTP/2、HTTP/3 流量,值得持續關注其穩定化時程。

原始來源:Node.js Interactive 2026: A RecapOpenJS Foundation 講者公告


WHATWG 修正 Popover 規格:hint popover 內開啟對話框時該關閉哪些視窗

WHATWG HTML Living Standard(commit ac0389a) · 2026-08-11

WHATWG 在 2026 年 8 月 11 日將一項 Popover 規格修正併入 HTML Living Standard 原始碼,commit ac0389a3 調整了「當 hint popover 內開啟 <dialog> 並呼叫 showModal() 時,應關閉哪些 auto popover」的演算法。這項變更源自 8 月 6 日提出的議題 #12763,修復內容以 pull request #12764 併入,作者為 HTML 規格編輯 Jake Archibald。

背景

Popover API 將彈出視窗依 popover 屬性值分為兩種堆疊:auto popover(下拉選單、選單列等,會因外部點擊而自動關閉)與 hint popover(如 tooltip,疊在 auto popover 之上、行為更輕量)。規格原本規定,只要事件 endpoint 是 hint popover 就直接略過「關閉 auto popover 堆疊」,但 #12763 的測試案例顯示:使用者在 hint popover 內開啟 modal <dialog> 時,畫面上不相關的 auto popover 並未如預期被關閉。issue 作者指出「規格說應該關閉,但 Firefox 與 Chrome 目前都做錯了」。

規格細節

修正後的演算法新增一個 autoEndpoint 變數:當 endpoint 為 hint popover 時,autoEndpoint 改設為該文件的 hint stack parent,而非直接跳過關閉步驟,接著一律執行「hide popover stack until」關閉 auto 堆疊到 autoEndpoint 為止。同一份 commit 也把 light dismiss 路徑上重複撰寫的 hint/auto 判斷邏輯精簡掉,改為呼叫統一的 hide popovers until 函式。

- If endpointIsHint is true, then return.
- Run hide popover stack until given document, endpoint, Auto, ...

+ Let autoEndpoint be endpoint.
+ If endpointIsHint is true, then set autoEndpoint to
+   document's hint stack parent.
+ Run hide popover stack until given document, autoEndpoint, Auto, ...

這段調整讓「hint popover 觸發的關閉」與「點擊觸發的 light dismiss」共用同一套 endpoint 計算規則,避免兩處實作各自維護一份幾乎相同、卻可能不同步的邏輯。

影響範圍

由於 issue 中已確認 Firefox 與 Chrome 都不符合規格預期行為,瀏覽器廠商需依這次的規格文字重新對齊 popover 與 dialog 互動時的自動關閉行為。使用原生 popover 屬性搭配 <dialog> 建構 tooltip 巢狀結構的前端專案,應留意日後瀏覽器更新後,tooltip 內彈出對話框的關閉行為可能與現況不同。

原始來源:WHATWG HTML commit ac0389aIssue #12763


Node.js 26.7.0 釋出:STORE loader 私鑰、Perfetto 追蹤與可處置化的 ModuleHooks

Node.js Blog · 2026-08-05

Node.js 專案於 2026 年 8 月 5 日發布 Current 分支的 v26.7.0,由 release 負責人 Antoine du Hamel 主持釋出。此版本收錄超過 140 個 commit,涵蓋 crypto、HTTP/2、streams 與 test runner 等模組的新功能與穩定性調整。多數變更標記為 SEMVER-MINOR,可安全升級。

核心改動

  • Crypto 新增透過 STORE loader 載入私鑰的能力(#63949
  • 底層新增 Perfetto 追蹤支援,方便對接 Chrome/Android 生態系的效能分析工具(#64565
  • node:moduleModuleHooks 實作 Symbol.dispose,可搭配 using 語法做明確資源釋放(#63928
  • Test runner 新增 --test-coverage-include-all 旗標,涵蓋未被任何測試載入的檔案(#64830

其他調整

Crypto 模組的根憑證更新至 NSS 3.125,並修正了 KDF 失敗時的錯誤處理、Argon2 FIPS 模式與若干參數驗證問題。FFI 相關程式碼修補了多個 fast call 驗證與當機防護的穩定性問題,HTTP/2 與 stream 模組則針對 pipeTo 逐 chunk 配置記憶體的行為做了效能最佳化。建置端要求的 Rust 版本也調升至 >=1.86

項目版本
npm11.19.0
nghttp21.70.0
sqlite3.53.4
NSS root certs3.125

影響範圍

對維運方而言,Perfetto 追蹤支援讓 Node.js 服務可以更容易被納入既有的系統級效能觀測管線;ModuleHooks 支援 Symbol.dispose 則讓自訂模組載入 hook 的資源清理邏輯更容易寫得正確,減少手動呼叫 unregister 被遺漏的情況。使用 SQLite 內建模組或依賴 FFI 相關 API 的專案,建議直接升級到 v26.7.0 以取得對應的穩定性修正。

原始來源:Node.js 26.7.0 (Current) 發布公告


End of article
0
Would love your thoughts, please comment.x
()
x