ลังซิปสีเขียวบนโต๊ะสว่าง ซิปสีอำพันถูกดึง แผ่นกระดาษสีบล็อกเขียวและฟ้าเลื่อนออกมา หมีเขียวมิ้นต์ใส่แว่นชี้ไปที่ลัง

Node.js 26.8: เปิดไฟล์ซิปในตัวรันไทม์ และ REPL ที่เริ่มมีสีตามไวยากรณ์

พี่โชว์Engineering

ถ้าเคยต้องติดตั้งไลบรารีเสริมแค่เพื่อแกะไฟล์ซิป หรือเปิด REPL ของ Node แล้วตัวอักษรเป็นสีเดียวทั้งจอ รุ่น 26.8.0 สาย Current ที่ออก 26 สิงหาคม 2026 มีของใช้ตรงนั้นในตัวรันไทม์

วันเดียวกันมี 26.8.1 ตามมาเพื่อแก้ node --version ที่รายงานเป็นรุ่นอัลฟาโดยไม่ตั้งใจ ตามบันทึก 26.8.1 ถ้าเพิ่งติดตั้งวันนี้ให้ตรวจว่าได้แพตช์นี้แล้ว

ของที่คนใช้ทั่วไปได้ประโยชน์

บันทึก 26.8.0 ระบุของใหม่ระดับ SEMVER-MINOR ที่พี่โชว์หยิบมาเล่าเพราะไม่ต้องเป็นคนดูแลรันไทม์ก็ใช้ได้:

  • โมดูล zlib เพิ่ม ZipEntry, ZipFile และ ZipBuffer สำหรับอ่านและเขียนคลังซิปโดยไม่ต้องพึ่งแพ็กเกจภายนอกในเคสง่าย ๆ
  • MIMEType.parse แบบไม่โยนข้อผิดพลาด เมื่อข้อความชนิดไฟล์ผิดรูป จะได้ค่าว่างแทนการระเบิดโปรแกรม
  • REPL มีไฮไลต์ไวยากรณ์พื้นฐาน ทำให้มองคีย์เวิร์ดกับค่าต่างกันได้ตอนทดลองคำสั่ง
  • SQLite ในตัวเพิ่ม StatementSync.prototype.close() และ Symbol.dispose เพื่อปิดคำสั่งที่เตรียมไว้ให้ชัดเจน
  • TracingChannel ใน diagnostics_channel ถูกทำเครื่องหมายว่าเสถียรแล้ว สำหรับคนที่ต่อเครื่องมือวัด

รายการอื่นในรุ่นนี้ส่วนใหญ่เป็นการซ่อมความปลอดภัยของบัฟเฟอร์ ดีเอ็นเอส เอฟเอฟไอ และสตรีม ซึ่งสำคัญกับเซิร์ฟเวอร์ แต่ไม่ใช่จุดขายที่ผู้ใช้ทั่วไปต้องจำชื่อทุกคอมมิต

ทำไมซิปในตัวรันไทม์ถึงสำคัญ

ไฟล์ซิปคือกล่องที่บีบหลายไฟล์ไว้ด้วยกัน ถ้าโปรแกรมถอดกล่องโดยเชื่อส่วนหัวมากเกินไป ผู้โจมตีอาจใส่ส่วนหัวกำกวมให้เครื่องทำงานหนักหรืออ่านไฟล์ผิดที่ บันทึกรุ่นนี้มีคอมมิตตามมาที่ปฏิเสธส่วนหัวท้องถิ่นกับส่วนกลางที่ไม่ตรงกัน ปฏิเสธจุดจบคลังที่กำกวม และไม่แขวนตอนเก็บ FIFO

พี่โชว์ยังไม่รัน API ใหม่นี้บนเครื่องนี้ จึงไม่แปะตัวอย่างเรียกคอนสตรักเตอร์ ถ้าจะใช้ ให้อ่านเอกสารโมดูล zlib ของรุ่น 26.8 แล้วทดสบนเครื่องตัวเองก่อนใส่โปรดักชัน

ควรอัปหรือยัง

สาย Current คือสายฟีเจอร์ใหม่ ไม่ใช่สาย LTS ที่องค์กรยึดยาว ถ้าระบบโปรดักชันยังล็อก LTS อยู่ อย่ากระโดดมา 26.8 เพียงเพราะอยากได้สีใน REPL ถ้าเป็นเครื่องทดลองหรือเครื่องมือภายในที่รับไฟล์อัปโหลด การมีตัวอ่านซิปในตัวพร้อมการตรวจส่วนหัวที่เข้มขึ้น น่าสนใจกว่าการดึงแพ็กเกจซิปจากทะเบียนสาธารณะโดยไม่ตรวจที่มา

เรื่องทะเบียนแพ็กเกจที่เอไอติดตั้งให้โดยไม่ถาม ดูเพิ่มที่ /blog/llms-txt-agent-supply-chain

Recap

Node.js 26.8.0 เติมของใช้ในตัวสามอย่างที่เล่าง่าย: คลังซิป, การอ่านชนิดไฟล์แบบไม่ระเบิด, และ REPL ที่เริ่มมีสี อย่าลืมแพตช์ 26.8.1 เพื่อเลขเวอร์ชันที่ถูกต้อง และอย่าสับสนระหว่างสาย Current กับ LTS ก่อนย้ายเครื่องจริงครับ