A wheel whose `Requires-Dist` pnpm cannot parse failed the whole resolution, so one broken release took its distribution down at every version the project could otherwise install. The release is immutable, so nothing the project does corrects it. Such a release is now unavailable to the solver, which backtracks to one whose requirements pnpm can read, and reports the unreadable requirement when no release works. uv marks a version with unreadable metadata unavailable the same way. The direct-URL form keeps its error. `read_requirement` tells a line pnpm cannot parse apart from one it parses and does not support: every release declaring a URL requirement names the same unsupported feature, so quietly installing an older release would hide what the project has to change. `parse_requirement`, which reads what a project itself declares, is unchanged. Follows up pnpm/pnpm#14946.
291 B
291 B
pacquet, @pnpm/pnpr
| pacquet | @pnpm/pnpr |
|---|---|
| patch | patch |
A Python release whose wheel metadata declares a requirement pnpm cannot read no longer fails the install. pnpm now resolves the project against the other releases of that package, and reports the unreadable requirement when none of them works.