ข้ามไปยังเนื้อหา
Software

Node.js 27 alpha ออกแล้ว: เริ่มปฏิทินใหม่ปีละรุ่น และมีค่าเริ่มต้นหน่วยความจำที่เปลี่ยน

Node.js 27 alpha ออกเมื่อ 29 ตุลาคม 2026 เป็นรุ่นแรกของรอบออกรุ่นหลักปีละครั้ง มาพร้อม V8 15.6 และ npm 12 แต่ยังไม่ใช่รุ่นสำหรับใช้งานจริงในระบบ production

โดย กองบรรณาธิการ THAI DATA อ่าน 4 นาที

แชร์FacebookXLINELinkedIn
ผู้เข้าร่วมงานนั่งฟังในห้องประชุม ภาพจากเว็บไซต์ OpenJS Foundation ผู้ดูแลโครงการ Node.js
ภาพ: OpenJS Foundation

สรุปประเด็นสำคัญ

  • Node.js 27 alpha รุ่นแรก (27.0.0-alpha.0.0.0) ออกเมื่อ 29 ตุลาคม 2026 และโครงการระบุว่าไม่ได้ทำมาเพื่อใช้ใน production
  • ตั้งแต่สาย 27 Node.js ออกรุ่นหลักปีละครั้งในเดือนเมษายน เลิกแบ่งเลขคู่และเลขคี่ และทุกรุ่นจะเป็น LTS
  • กำหนดของ Node.js 27 คือ 27.0.0 วันที่ 22 เมษายน 2027 เข้า LTS 20 ตุลาคม 2027 และหมดอายุ 30 เมษายน 2030
  • ถ้าไม่ตั้ง --max-old-space-size ขนาด heap เริ่มต้นจะเป็นครึ่งหนึ่งของหน่วยความจำจริง จำกัดที่ 256 MB ถึง 4 GB
  • ระบบ build ต้องใช้ OpenSSL 3 ขึ้นไป ยกเลิก OpenSSL engine และลด macOS บน Intel เป็นระดับ experimental

Node.js 27 alpha รุ่นแรกออกเมื่อ 29 ตุลาคม 2026 เป็นจุดเริ่มของรอบใหม่ที่ Node.js จะออกรุ่นหลักปีละครั้ง และทุกรุ่นจะเป็น LTS รุ่นนี้ยังไม่ใช่รุ่นสำหรับ production แต่รวมการเปลี่ยนแปลงที่ทำให้ของเดิมพังได้ไว้มาก ทีมพัฒนาจึงควรเริ่มทดสอบตั้งแต่ตอนนี้

27.0.0 ตัวจริงกำหนดออก 22 เมษายน 2027 ส่วน Node.js 27 alpha มีไว้ให้ผู้เขียนไลบรารีและระบบ CI เจอปัญหาก่อนถึงผู้ใช้ ต่างจาก Nightly ตรงที่รุ่น Alpha ลงลายเซ็น ติดแท็ก และผ่านการทดสอบกับแพ็กเกจโอเพนซอร์สหลักด้วย CITGM

หน้า Release ของ Node.js 27 alpha รุ่น 27.0.0-alpha.0.0.0 วันที่ 29 ตุลาคม 2026
หน้า Release ของ Node.js 27.0.0-alpha.0.0.0 ระบุวันที่ 29 ตุลาคม 2026 และหัวข้อ V8 15.6 ภาพ: Node.js (ภาพหน้าจอ)

Node.js 27 alpha เปลี่ยนรอบออกรุ่นอย่างไร

โครงการให้เหตุผลว่าตารางเดิมใช้มา 10 ปี รุ่นเลขคี่มีคนใช้น้อย และคนใหม่สับสนเรื่องเลขคู่เลขคี่ อีกเรื่องคือ Node.js ดูแลโดยอาสาสมัครเป็นหลัก การทำ security release ให้ 4–5 สายพร้อมกันจึงเริ่มแบกไม่ไหว

ช่วง ระยะเวลา ความหมาย
Alpha 6 เดือน (ตุลาคม–มีนาคม) ทดสอบล่วงหน้า รับ semver-major ได้
Current 6 เดือน (เมษายน–ตุลาคม) ทำให้นิ่ง
LTS 30 เดือน รับแก้ความปลอดภัยระยะยาว
EOL ไม่มีกำหนด โครงการไม่ซัพพอร์ตแล้ว

รวมแล้วแต่ละรุ่นได้ซัพพอร์ต 36 เดือนนับจาก Current รุ่นแรก และเลขรุ่นจะตรงกับปี เช่น 27.0.0 ปี 2027 และ 28.0.0 ปี 2028 ผู้ที่ขยับเฉพาะรุ่น LTS อยู่แล้วแทบไม่ต้องเปลี่ยนวิธีทำงาน โครงการบอกว่าตารางนี้ยังปรับได้ และให้ยึด schedule.json เป็นหลัก

แผนภูมิรอบออกรุ่นใหม่ของ Node.js ช่วง Alpha, Current และ LTS ของสาย 27 ถึง 30
แผนภูมิรอบออกรุ่นใหม่ของ Node.js แสดงช่วง Alpha, Current และ LTS ของ Node.js 27 ถึง 30 ที่เหลื่อมกัน ภาพ: Node.js

สิ่งที่เปลี่ยนใน Node.js 27 alpha และอาจทำให้ของเดิมพัง

Node.js 27 alpha ขยับ V8 เป็น 15.6.75.13 จาก 14.6 ใน Node.js 26 และอัปเกรด npm เป็น 12.1.0 ส่วนที่ทีมปฏิบัติการควรดูเป็นพิเศษมีดังนี้

  • ขนาด heap เริ่มต้น ถ้าไม่ตั้ง --max-old-space-size จะใช้ครึ่งหนึ่งของหน่วยความจำจริง จำกัดระหว่าง 256 MB ถึง 4 GB และหน่วยความจำของ Buffer กับ ArrayBuffer นับรวมในเพดาน heap ด้วย
  • รูปแบบ serialize ใหม่ v8.serialize(), structuredClone() และ postMessage() ใช้รูปแบบที่ Node.js รุ่นเก่าอ่านไม่ได้
  • OpenSSL ระบบ build ต้องใช้ OpenSSL 3 ขึ้นไป ใช้ซอร์ส OpenSSL 4.1.0 ถอดการ build FIPS provider แบบรวมมา และยุติการรองรับ OpenSSL engine
  • HTTP ค่า keepAliveTimeout เริ่มต้นเพิ่มเป็น 65 วินาที req.headers เป็นออบเจกต์ไม่มี prototype และคำตอบที่ header เกินเพดานจะถูกปฏิเสธ
  • API เก่า โมดูล domain ถูก deprecate ตอนรันไทม์ และ _tls_* ถูกนำออก
  • แพลตฟอร์ม macOS บน Intel ลดเป็นระดับ experimental

ของใหม่ที่น่าลอง ได้แก่ Iterator.zip(), Math.sumPrecise(), fs.glob แบบเนทีฟ, net/promises แบบ experimental และแฟล็กสิทธิ์ --allow-env

ตารางช่วง Alpha, Current, LTS และ EOL ในประกาศปรับรอบออกรุ่นของ Node.js
หน้าประกาศปรับรอบออกรุ่นของ Node.js แสดงตารางช่วง Alpha, Current, LTS และ EOL ภาพ: Node.js (ภาพหน้าจอ)

ตารางซัพพอร์ตหลัง Node.js 27 alpha ที่องค์กรควรวางแผนตาม

สาย สถานะ ณ 31 ตุลาคม 2026 เข้า LTS หมดอายุ
Node.js 20 EOL 24 ตุลาคม 2023 30 เมษายน 2026
Node.js 22 LTS (Maintenance) 29 ตุลาคม 2024 30 เมษายน 2027
Node.js 24 LTS (Maintenance) 28 ตุลาคม 2025 30 เมษายน 2028
Node.js 26 LTS 28 ตุลาคม 2026 30 เมษายน 2029
Node.js 27 Alpha 20 ตุลาคม 2027 30 เมษายน 2030
ไทม์ไลน์ซัพพอร์ต Node.js 22, 24, 26 และ 27 ตาม schedule.json Node.js 27 เข้า LTS 20 ตุลาคม 2027 และหมดอายุ 30 เมษายน 2030
ไทม์ไลน์ซัพพอร์ต Node.js 22 ถึง 27 จาก schedule.json ภาพ: THAI DATA (ข้อมูล: nodejs/Release schedule.json)
ตาราง Node.js Releases แสดงสาย v27 สถานะ Alpha และสายอื่น
หน้า Node.js Releases แสดงสาย v27 สถานะ Alpha และสายอื่นที่เป็น LTS หรือ EOL ภาพ: Node.js (ภาพหน้าจอ)

ทำไมเรื่องนี้สำคัญ

การออกรุ่นปีละครั้งทำให้แผนอัปเกรดคาดเดาง่ายขึ้น เพราะทุกเดือนตุลาคมจะมีรุ่น LTS ใหม่หนึ่งรุ่น และสายที่ต้องดูแลพร้อมกันลดลง แต่ผู้เขียนไลบรารีเสียช่วงทดสอบแบบเดิมจากรุ่นเลขคี่ ถ้าทดสอบเฉพาะ LTS จะไม่ทันรายงานบั๊กก่อนกระทบผู้ใช้ ซึ่งโครงการเตือนไว้ตรง ๆ

ค่า heap เริ่มต้นใน Node.js 27 alpha เป็นตัวอย่างที่เห็นชัด แอปที่พึ่งค่าเดิมอาจมีพฤติกรรมเปลี่ยนไปเมื่อใช้ Buffer มาก โครงการจึงแนะนำให้ตั้ง --max-old-space-size เองถ้าแอปอาศัยค่าเดิม

ผลต่อองค์กรไทยและทีมพัฒนา

  • อย่าใช้ Node.js 27 alpha ใน production ให้ระบบจริงอยู่บน Node.js 24 หรือ 26 และเก็บรุ่น alpha ไว้ใน CI หรือสภาพแวดล้อมทดสอบเท่านั้น
  • ขึ้นจาก Node.js 22 ภายในครึ่งแรกของปี 2027 และเลิกใช้ Node.js 20 ที่หมดอายุแล้ว
  • เพิ่มงานทดสอบ Node.js 27 alpha ใน CI โดยเฉพาะทีมที่ดูแลไลบรารีหรือแพ็กเกจภายในองค์กร
  • ตรวจค่าหน่วยความจำของคอนเทนเนอร์ กำหนด --max-old-space-size ให้ชัด และวัดแอปที่ใช้ Buffer มาก
  • เช็กงานที่ใช้ OpenSSL engine หรือ FIPS ระบบที่ต้องผ่านข้อกำหนดด้านการเข้ารหัสควรวางทางเลือกก่อนถึงเมษายน 2027
  • ระวังระบบที่ใช้หลายรุ่นพร้อมกัน ข้อมูลจาก v8.serialize() ของรุ่นใหม่จะอ่านด้วยรุ่นเก่าไม่ได้ ถ้าเก็บไว้ในคิวหรือแคชต้องวางแผนการย้าย

อ่านเพิ่มเรื่อง Node.js 26 เข้า LTS และ security release เดือนตุลาคม และข่าวนักพัฒนาอื่นได้ที่หมวดซอฟต์แวร์

ภาพบันทึก

มาสคอตเต่าจรวดของ Node.js
มาสคอตเต่าจรวดของ Node.js ภาพ: Node.js

คำถามที่พบบ่อย

Node.js 27 alpha ใช้ใน production ได้หรือไม่?

ไม่ควร โครงการ Node.js ระบุว่าช่อง Alpha ทำมาสำหรับผู้เขียนไลบรารีและ CI ที่ต้องทดสอบการเปลี่ยนแปลงล่วงหน้า ไม่ได้ตั้งใจให้ใช้ใน production และ API อาจเปลี่ยนได้ระหว่างรุ่น ระบบจริงควรอยู่บนรุ่น LTS เช่น Node.js 24 หรือ 26

Node.js 27 จะออกตัวจริงเมื่อไร?

ตาม schedule.json ของโครงการ Node.js 27.0.0 กำหนดออก 22 เมษายน 2027 เข้า LTS 20 ตุลาคม 2027 และหมดอายุ 30 เมษายน 2030 ส่วนช่วง Node.js 27 alpha เริ่มปลายเดือนตุลาคม 2026 โครงการระบุว่าตารางนี้ยังปรับได้

Node.js เปลี่ยนรอบออกรุ่นใหม่อย่างไร?

ตั้งแต่สาย 27 Node.js ออกรุ่นหลักปีละครั้งในเดือนเมษายน แทนปีละ 2 รุ่น ทุกรุ่นเข้า LTS ในเดือนตุลาคม ไม่มีการแบ่งเลขคู่เลขคี่แล้ว และเลขรุ่นจะตรงกับปีที่ออก เช่น 27.0.0 ในปี 2027 รวมระยะเวลาซัพพอร์ต 36 เดือน

ทีมที่ใช้ Node.js 22 ต้องรีบขยับหรือไม่?

ควรเริ่มวางแผน เพราะ Node.js 22 หมดอายุ 30 เมษายน 2027 ตาม schedule.json ส่วน Node.js 20 หมดอายุไปแล้วเมื่อ 30 เมษายน 2026 ทางเลือกคือขึ้น Node.js 24 ซึ่งได้ถึง 30 เมษายน 2028 หรือ Node.js 26 ซึ่งได้ถึง 30 เมษายน 2029

แหล่งอ้างอิง

  1. Node.js 27.0.0-alpha.0.0.0 (Alpha) — Node.js
  2. Evolving the Node.js Release Schedule — Node.js
  3. Node.js Releases — Node.js
  4. schedule.json (nodejs/Release) — Node.js Release Working Group

บุคคล องค์กร และสถานที่ในข่าวนี้

เลือกชื่อเพื่ออ่านข่าวทั้งหมดที่กล่าวถึง ตัวเลขคือจำนวนข่าว

องค์กรและบริษัท
Intel42
ผลิตภัณฑ์และเทคโนโลยี
Node.js15npm12OpenSSL10macOS44
แท็กJavaScriptV8
แชร์FacebookXLINELinkedIn

พบข้อมูลคลาดเคลื่อน? แจ้งกองบรรณาธิการ