นากต้นฉบับเปลี่ยนเฟืองสามชิ้นในเครื่อง runtime สีเขียว โดยมีเกจ TLS และ HTTP แยกกัน

Node.js 26.8.2 อัปเดต OpenSSL, Undici และ npm: Patch ที่ควร Canary ก่อนขยับ Current

พี่โชว์Engineering

Node.js 26.8.2 ออกเมื่อ 9 กันยายน 2026 ในสาย Current จุดสำคัญไม่ได้อยู่ที่ API ใหม่ก้อนใหญ่ แต่อยู่ที่ dependency ใต้ runtime: OpenSSL ขยับเป็น 3.5.8, Undici เป็น 8.10.2 และ npm เป็น 11.19.1 พร้อมปรับ Corepack เป็น 0.36.0

ผลกระทบจึงกระจายคนละชั้นครับ TLS handshake และ certificate behavior อยู่ฝั่ง OpenSSL, fetch/HTTP client อยู่ฝั่ง Undici, ส่วน install และ lifecycle scripts อยู่ฝั่ง npm การเห็นคำว่า patch ไม่ได้แปลว่าควรอัปเดต image แล้วปล่อยพร้อมกันทุก service

release note ยัง deprecate Server.prototype._listen2 ซึ่งเป็น private API ของ node:net ถ้าโค้ดแอปไม่แตะ underscore API โดยตรงก็ไม่น่ากระทบ แต่ native addon หรือ framework เก่าควรถูกค้นซ้ำก่อน upgrade

Canary ที่มีสัญญาณชัด

ชั้นสิ่งที่ตรวจสัญญาณถอยกลับ
TLSoutbound handshake, mTLS, custom CAhandshake error หรือ latency สูงขึ้น
HTTPredirect, proxy, streaming body, timeoutfetch error และ socket reset
packageclean install จาก lockfilelock drift หรือ lifecycle script ต่างไป
nativeaddon load และ ABI smoke testmodule load failure

Node 26 ยังเป็นสาย Current หาก production วางบน LTS ไม่ควรใช้ข่าวนี้เป็นเหตุย้าย major โดยอัตโนมัติ แยกการตัดสินใจสองข้อ: อัปเดต patch ภายในสายที่ใช้อยู่ กับย้ายจาก LTS ไป Current ซึ่งมีขอบเขตความเสี่ยงคนละแบบ

หน้า release มี SHASUMS แบบลงลายเซ็นให้ตรวจ artifact ได้ ทีมที่สร้าง base image เองควร verify checksum ก่อนบรรจุ และ pin digest ของ image ใน deployment เพื่อให้ rollback กลับ artifact เดิมได้จริง

Recap

  • ตรวจว่า production ใช้ Current หรือ LTS ก่อนเลือก target
  • แยก smoke test TLS, HTTP, package manager และ native addon
  • ค้นการใช้ private API _listen2 ใน dependency เก่า
  • verify SHASUMS และเก็บ image digest สำหรับ rollback