โต๊ะมิ้นต์มีกล่องแพ็กเกจและนาฬิกา 14 วันพร้อมตราปิดผนึก

PyPI ปิดอัปโหลดไฟล์ใหม่เข้า release เก่าหลัง 14 วัน

น้องกายEngineering

ถ้าคุณเคยอัปโหลด wheel เพิ่มเข้าเวอร์ชันเดิมทีหลัง วันนี้กติกาบน PyPI เปลี่ยนแล้ว

บล็อก PyPI บอกว่า Index จะ ปฏิเสธไฟล์ใหม่ ที่อัปโหลดเข้า release ที่อายุเกิน 14 วัน เพื่อกันกรณีโทเค็นหรือ workflow ถูกขโมยแล้วไปวางไฟล์พิษบนเวอร์ชันที่คนยังติดตั้งอยู่

ทีม PyPI ย้ำว่ายังไม่ควรพึ่งพฤตินี้เป็นสัญญา API จนกว่า Upload 2.0 / Staged Previews ตาม PEP 694 จะนิยามสถานะปิด release ให้ชัด

ทำไมถึงเปลี่ยน

หลังเหตุการณ์แพ็กเกจอย่าง LiteLLM และ Telnyx ถูก compromise ในปี 2026 การคุยเรื่องนี้ถูกยกขึ้น Packaging Summit ที่ PyCon US 2026 แนวทางที่ตกลงกันคือถ้าต้องการรองรับ Python รุ่นใหม่ ให้ bump เวอร์ชัน แทนการยัดไฟล์เข้าของเก่า

Recap

  • วางแผน publish wheel ครบภายใน 14 วันหลังตัด release
  • ถ้าต้องรองรับ interpreter ใหม่ ให้ตัดเวอร์ชันใหม่
  • อย่าพึ่งสถานะ closed ของ release จนกว่า API จะมาตรฐาน