跳到主要内容
返回文章列表

uv 0.13.6 ลด Peak Memory ของ Workspace ใหญ่ และแก้คำสั่ง Script ที่ใช้ Active Environment

Astral ออก uv 0.13.6 ปรับ resolver และ lock พร้อมแก้การป้องกันโฟลเดอร์ที่ไม่ใช่ venv วิเคราะห์การทดสอบ CI และฟีเจอร์ wheel variants แบบ preview

uv 0.13.6 ลด Peak Memory ของ Workspace ใหญ่ และแก้คำสั่ง Script ที่ใช้ Active Environment

Astral ระบุใน release notes ของ uv 0.13.6 ว่าออกวันที่ 26 ตุลาคม 2026 โดย GitHub เผยแพร่รีลีสเมื่อ 27 ตุลาคมเวลา 00:47 UTC รุ่นนี้ปรับการใช้หน่วยความจำของงาน resolve และ lock โครงการขนาดใหญ่ พร้อมแก้กรณีคำสั่ง script ที่ใช้ active environment อาจลบไดเรกทอรีที่ไม่ใช่ virtual environment ผู้ใช้ควรอ่านเป็นแพตช์ของเครื่องมือจัดการสภาพแวดล้อม ไม่ใช่การรับประกันว่าทุกโครงการจะเร็วขึ้นเท่ากัน

การใช้หน่วยความจำต้องวัดตาม Workspace จริง

ประกาศรวมการลด peak memory ใน workspace ใหญ่และงาน lock หรือ upgrade แต่ไม่ได้ให้เปอร์เซ็นต์กลางที่ใช้แทนทุกระบบได้ ทีมที่ runner เคยหน่วยความจำเต็มควรทดลองกับ dependency graph เดิม บันทึก peak memory เวลา และผลของ lockfile โดยแยก cache อุ่นกับ cache ว่าง หากเปลี่ยนทั้ง dependency และเครื่องมือพร้อมกันจะระบุสาเหตุของผลที่ต่างได้ยาก

การทดสอบที่มีประโยชน์ควรใช้ข้อกำหนด Python และแพลตฟอร์มเดียวกับ CI จริง รวมถึง index และ dependency ภายในที่โครงการต้องใช้ เก็บผลที่ไม่เปิดเผย credential ไว้เปรียบเทียบ การที่คำสั่งจบสำเร็จในเครื่องนักพัฒนาไม่ได้ยืนยันว่าจะผ่านใน runner ที่มี memory limit ต่ำกว่า

ตรวจการใช้ --active กับงาน Script

แพตช์ระบุการป้องกัน uv run --active --script และ uv sync --active --script จากการลบไดเรกทอรีที่ไม่ใช่ virtual environment ทีมที่ใช้รูปแบบนี้ควรตรวจว่า active environment ชี้ไปที่ใดก่อนอัปเกรดและก่อนทดลองคำสั่ง ไม่ควรใช้โฟลเดอร์ข้อมูลจริงเป็นพื้นที่ทดสอบพฤติกรรมที่เกี่ยวข้องกับการสร้างหรือลบ environment

แนวทางที่ปลอดภัยต่อข้อมูลคือสร้าง workspace จำลอง แยกโฟลเดอร์ตัวอย่าง และตรวจไฟล์ที่คาดว่าต้องคงอยู่หลังคำสั่งเสร็จ หากโครงการมี wrapper script ให้ทดสอบผ่าน wrapper ด้วย เพราะตัวแปรแวดล้อมและ working directory อาจต่างจากการพิมพ์คำสั่งโดยตรง

Preview ของ Wheel Variants ต้องเปิดใช้ด้วยความเข้าใจ

รุ่นนี้เพิ่มการตรวจความสามารถ GPU ของ NVIDIA สำหรับเลือก wheel variants ภายใต้ฟีเจอร์ preview และรายงาน properties ที่ทำให้ variant ใช้ไม่ได้ ควรแยกจากพฤติกรรมปกติของทุกการติดตั้ง อย่าสรุปว่าการเพิ่มแพตช์นี้ทำให้ทุกแพ็กเกจเลือก GPU build ได้เองโดยไม่มี metadata และเงื่อนไขรองรับ

ทีมที่ทดลองฟีเจอร์นี้ควรเก็บข้อมูลฮาร์ดแวร์ driver และแพ็กเกจที่ถูกเลือก เพื่อให้จำลองผลได้ในเครื่องอื่น หากเครื่องพัฒนาและ CI ไม่มี GPU แบบเดียวกัน ควรตรวจผลการเลือก dependency แยกกัน และให้โค้ดจัดการกรณีไม่มีอุปกรณ์ตามที่แอปรองรับ

ตรึงเครื่องมือและ Python ให้แยกจากกัน

การเปลี่ยน uv ไม่จำเป็นต้องเปลี่ยน Python ของทุกงานพร้อมกัน ก่อนรับรุ่นใหม่ควรบันทึกเวอร์ชัน interpreter และตัวจัดการแพ็กเกจไว้ใน CI แล้วตรวจความต่างของ lockfile ก่อนนำไปใช้กับทุก branch การตรึงทั้งสองส่วนช่วยลดปัญหาที่คนในทีมได้ผลต่างกันเพราะเครื่องมืออัปเดตคนละเวลา

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

แหล่งต้นทาง: uv 0.13.6 release notes ระบุวันออก 26 ตุลาคม 2026 และเผยแพร่บน GitHub วันที่ 27 ตุลาคม 2026 เวลา 00:47 UTC