• เปิดใช้การป้องกันซัพพลายเชน (Supply-chain protection) เป็นค่าเริ่มต้น: เพื่อเสริมความปลอดภัย ค่าเริ่มต้นของ minimumReleaseAge ถูกตั้งเป็น 1440 (1 วัน) (แพ็กเกจที่เพิ่งเผยแพร่จะติดตั้งได้หลังผ่านไป 24 ชั่วโมง) นอกจากนี้ blockExoticSubdeps จะเป็น true โดยค่าเริ่มต้นด้วย
  • ต้องใช้ Node.js 22+: ตอนนี้จำเป็นต้องใช้ Node.js เวอร์ชัน 22 ขึ้นไป การรองรับ Node 18, 19, 20 และ 21 ถูกยุติแล้ว สำหรับไฟล์แบบสแตนด์อโลน (Standalone) ต้องใช้ glibc 2.27 ขึ้นไป
  • เพิ่ม allowBuilds: การตั้งค่าที่เกี่ยวกับการบิลด์ซึ่งเดิมมีความซับซ้อน (onlyBuiltDependencies, onlyBuiltDependenciesFile, neverBuiltDependencies, ignoredBuiltDependencies, ignoreDepScripts) ถูกลบออกทั้งหมด และรวมการจัดการไว้ที่ allowBuilds เพียงตัวเดียว
  • แยกการติดตั้งแบบโกลบอล: เมื่อติดตั้งผ่าน pnpm add -g แต่ละแพ็กเกจจะถูกติดตั้งในไดเรกทอรีอิสระที่มี package.json, node_modules และ lockfile ของตัวเอง ช่วยป้องกันความขัดแย้งของ dependency ระหว่างแพ็กเกจโกลบอล
  • ดัชนีสโตร์บนพื้นฐาน SQLite (Store v11): มีการนำ SQLite มาใช้จัดการดัชนีเพื่อลด syscall และปรับปรุงความเร็วในการติดตั้งอย่างมาก
  • โฟลว์การเผยแพร่แบบเนทีฟ (Publish): คำสั่ง pnpm publish, login, logout, view, deprecate, unpublish, dist-tag, version จะไม่พึ่งพา npm CLI อีกต่อไป และทำงานแบบเนทีฟใน pnpm
  • จำกัดบทบาทของ .npmrc: ตอนนี้ .npmrc ใช้ได้เฉพาะสำหรับการยืนยันตัวตน (auth) และการตั้งค่ารีจิสทรีเท่านั้น การตั้งค่าอื่นทั้งหมดต้องย้ายไปไว้ใน pnpm-workspace.yaml หรือ config.yaml แบบโกลบอลตัวใหม่ และใช้คำนำหน้าตัวแปรสภาพแวดล้อมเป็น pnpm_config_*

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น