Skip to content

chore(deps): pin uv to 0.11.26 and enable 72-hour dependency cooldown#81

Open
toshke wants to merge 2 commits into
masterfrom
chore/uv-pin-and-cooldown
Open

chore(deps): pin uv to 0.11.26 and enable 72-hour dependency cooldown#81
toshke wants to merge 2 commits into
masterfrom
chore/uv-pin-and-cooldown

Conversation

@toshke

@toshke toshke commented Jul 2, 2026

Copy link
Copy Markdown

What

  • Pins uv from 'latest' to '0.11.26' in .mise.toml
  • Adds [tool.uv] exclude-newer = "3 days" to pyproject.toml

Why pin uv?

uv = 'latest' means every mise install can silently pull a different uv binary, making builds non-reproducible. Pinning to an exact version gives reproducible installs across CI and local environments. Run mise install after merging to pull the pinned binary.

Why exclude-newer = "3 days"?

uv's exclude-newer resolver setting refuses to consider any package version published to PyPI within the last N days. Setting it to 3 days (72 hours) means:

  • A newly published package — whether a legitimate release or a malicious typosquat — cannot enter this project's lockfile until it has been public for at least 72 hours
  • That window gives the Python security community time to spot and report supply-chain attacks (hijacked maintainer accounts, malicious typosquats) before they reach your dependencies
  • It has no effect on packages already in the lockfile; only new resolutions (adding or upgrading a dep) are gated

This is a resolver-level control: it applies whenever uv lock or uv add runs, with no runtime overhead.

Opting a specific package out

If you ever need to pull a package released less than 72 hours ago, temporarily comment out or remove the setting for that resolution, then restore it.

Checklist

  • .mise.tomluv = 'latest'uv = "0.11.26"
  • pyproject.toml[tool.uv] exclude-newer = "3 days" added
  • Run mise install locally after merging

toshke and others added 2 commits July 2, 2026 16:10
- Pin uv from 'latest' to '0.11.26' in mise for reproducible installs
- Add [tool.uv] exclude-newer = "3 days" to block packages published
  within the last 72 hours from entering the lockfile

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
uv records the 3-day cooldown as exclude-newer-span = "P3D" in the
lock [options] block for reproducibility. Also syncs package version
from pyproject.toml (0.4.2 -> 0.4.3, was stale in the prior lock).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@toshke toshke force-pushed the chore/uv-pin-and-cooldown branch from ee6480f to 5f822ac Compare July 2, 2026 08:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant