PyPI now blocks new file uploads to releases older than 14 days

The supply-chain hardening closes the trick behind March's LiteLLM and Telnyx hacks: stolen tokens quietly repackaging the trusted old releases you pin.

Nowline JUL 25 2:00 PM banner

Top AI stories from the last hour

Top AI stories from the last hour

Copy markdown

  • 14 days, then the file list is frozen

    You can no longer add a new file to any PyPI release older than 14 days — the release's uploads are effectively locked. Merged July 8 and announced July 22, it means late artifacts (say, a wheel for a new Python) now need a fresh version, not an edit to the old one.

  • Why now: the TeamPCP token thefts

    The rule directly answers March's LiteLLM (v1.82.8) and Telnyx compromises, where attackers used stolen publishing tokens and mutable GitHub Actions refs to slip malware into long-stable packages. Freezing old releases kills that hiding spot — a poisoned build can't backfill a version you already trust and pin.

  • Who it hits, and what to do

    Almost no one: just 56 of 15,000 top projects had ever shipped a wheel more than 14 days after a release. If you publish, upload every artifact inside the two-week window or bump the version — PyPI calls it a step toward fully immutable releases under PEP 694's Upload 2.0 API.