ENG-9664: pin workspace dependency resolution with uv exclude-newer#6594
ENG-9664: pin workspace dependency resolution with uv exclude-newer#6594adhami3310 wants to merge 1 commit into
Conversation
Add exclude-newer = "7 days" to the root [tool.uv] table so dependency resolution only considers package versions uploaded more than 7 days ago, for more reproducible resolutions across the workspace. Bump required-version to >=0.10 (relative exclude-newer requires a recent uv). uv.lock gains an [options] block recording exclude-newer-span = P7D (no version changes).
Greptile SummaryAdds
Confidence Score: 4/5Safe to merge; the only change is a configuration flag and its auto-generated lockfile entry, with no code logic touched. The pyproject.toml — the Important Files Changed
Reviews (1): Last reviewed commit: "ENG-9664: pin workspace dependency resol..." | Re-trigger Greptile |
|
|
||
| [tool.uv] | ||
| required-version = ">=0.7.0" | ||
| required-version = ">=0.10" |
There was a problem hiding this comment.
The relative-duration form of
exclude-newer was introduced in uv 0.9.17 (released 2025-12-09), not 0.10. Setting required-version = ">=0.10" unnecessarily blocks contributors who are on any 0.9.17–0.9.x release from running any uv command in this repo. Lowering the floor to >=0.9.17 honours the actual minimum while being less disruptive.
| required-version = ">=0.10" | |
| required-version = ">=0.9.17" |
What
Add
exclude-newer = "7 days"to the root[tool.uv]table so dependency resolution only considers package versions uploaded more than 7 days ago — more reproducible resolutions, avoids picking up brand-new (possibly broken/yanked) releases.pyproject.toml: addexclude-newer = "7 days"; bumprequired-versionto>=0.10(the relative-duration form ofexclude-newerrequires a recent uv).uv.lock: adds an[options]block recordingexclude-newer-span = "P7D"(no package version changes).Why root-only
This is a workspace-root setting. Verified empirically that the cutoff is honored and applies to every workspace member (
packages/*,docs/app,docs/package): resolution invoked from a member directory discovers the root config and produces an identical result, so it does not need to be duplicated per package.Closes ENG-9664