ปูสีส้มต้นฉบับกำลังแบ่งกล่องเครื่องมือไปตามรางคู่ขนานสี่เส้นบนพื้นสีมิ้นต์

rustup 1.29.1: ติดตั้ง component ขนานขึ้น และหยุดลง toolchain โดยไม่ตั้งใจ

น้องกายEngineering

rustup 1.29.1 เผยแพร่ 1 กันยายน 2026 โดยเน้นงานที่นักพัฒนารู้สึกได้ทุกวันมากกว่าการเปลี่ยนภาษา: การอัปเดต toolchain และติดตั้ง component ทำแบบขนานมากขึ้น, มี rustup doc --serve, ล้างไฟล์ที่เหลือจากการยกเลิก installation และเตรียมเลิกพฤติกรรม implicit install ที่ชวนสับสน

WHY: toolchain manager คือส่วนหนึ่งของ supply chain

หลายทีมล็อก crate ใน Cargo.lock อย่างเข้มงวด แต่ปล่อย rustup และ toolchain เปลี่ยนตามเครื่อง ผลคือ CI กับ laptop อาจใช้ compiler คนละรุ่น การอัป rustup ควรแยกออกจากการอัป Rust toolchain: rustup เป็นตัวจัดการ ส่วน stable, beta หรือเลขรุ่นเป็น payload ที่มันดาวน์โหลด

ความเร็วจาก parallel install มีประโยชน์กับ CI image และเครื่องใหม่ แต่ควรวัดบน network และ cache จริง หาก runner จำนวนมากดึงพร้อมกัน bottleneck อาจย้ายไป registry proxy หรือ disk I/O แทน ไม่ควรเพิ่ม concurrency ของทั้ง fleet ในครั้งเดียว

พฤติกรรม implicit install ที่ต้องเตรียมตัว

รุ่นนี้เริ่มเตือนเมื่อคำสั่งบางรูปแบบต้องติดตั้ง active toolchain ให้อัตโนมัติโดยที่ผู้ใช้ไม่ได้ขอชัดเจน แนวทางที่ปลอดภัยคือประกาศ toolchain ใน rust-toolchain.toml หรือใช้คำสั่ง install ที่ระบุ channel/component ตรงๆ สคริปต์ provisioning จะอ่านง่ายและไม่เปลี่ยนเครื่องเพียงเพราะคำสั่งตรวจสถานะ

ตรวจ bootstrap script, devcontainer และ CI ว่าพึ่ง implicit behavior อยู่หรือไม่ โดยรันบน home directory ใหม่และ cache ว่าง ถ้าคำสั่งตรวจสอบกลับเริ่ม download นั่นคือจุดที่ควรเขียน intent ให้ชัดก่อน warning กลายเป็นการเปลี่ยนพฤติกรรมในอนาคต

rustup doc --serve และการยกเลิกติดตั้ง

คำสั่งเสิร์ฟเอกสารในเครื่องช่วยให้เปิดเอกสาร standard library ผ่าน HTTP local ได้สะดวก แต่ยังควร bind เฉพาะ loopback และอย่าเปิด port ออกนอกเครื่องโดยไม่จำเป็น ส่วน cleanup เมื่อกดยกเลิกช่วยลด installation ค้าง แต่ทีมควรถือการ interrupt ระหว่าง update เป็นเหตุให้ตรวจ rustup show และ compile smoke test ก่อนใช้ต่อ

รุ่นนี้ยังเพิ่ม artifact ทางการสำหรับ Windows aarch64 แบบ GNU LLVM ทีมที่ทดลอง target นี้ควรแยก build lane และอย่าเหมารวมผลจาก MSVC target เพราะ linker และ native dependency ต่างกัน

Recap

อัปตัวจัดการก่อน แล้วตรึง toolchain แยกกัน ตรวจสคริปต์ที่อาศัย implicit install และวัด parallel download บน CI จริง หากต้องทำอย่างเดียววันนี้ ให้เพิ่ม rust-toolchain.toml ที่ระบุ channel กับ component ที่โปรเจกต์ต้องใช้ครับ