astral-sh
uv
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
Avoid blank line for empty `uv pip tree` (#20062) ## Summary When `uv pip tree` ran in an environment without installed packages, we rendered an empty tree and still wrote it with `writeln!`, producing an unnecessary blank line. Skip writing the rendered tree when it is empty. The existing empty-environment snapshot now expects no stdout. Closes https://github.com/astral-sh/uv/issues/20000.
main
42 minutes ago
Reuse proven-safe resolver decisions
charliermarsh:charlie/codex-proof-aware-phase-saving
49 minutes ago
Avoid blank line for empty uv pip tree
charlie/fix-empty-pip-tree-output
49 minutes ago
Continue on ignored errors when fetching wheel metadata (#12255) ## Summary When uv fetches wheel metadata during resolution, an HTTP error currently aborts immediately, even if another package version might be usable. This is common with repository firewalls that expose a package in the Simple API but block selected wheel downloads. This extends the existing per-index `ignore-error-codes` setting to wheel metadata fetches, including when uv must download a wheel to read its metadata. If a configured status code is returned, uv marks the affected version unavailable and lets the resolver try another version; unconfigured errors keep the existing fail-fast behavior. The built-in PyTorch 403 exception remains limited to package-index lookup, so wheel metadata fallback is explicitly opt-in. For example: ```toml [[tool.uv.index]] name = "private-index" url = "https://private-index.example/simple" ignore-error-codes = [403] ``` If every compatible version returns an ignored error, the resolution diagnostic reports the unavailable version and returned status code. Closes https://github.com/astral-sh/uv/issues/5260.
main
2 hours ago
Encode hashes in file paths (#19807) ## Summary Prior to this change, we treated `#` in every filesystem path as a URL fragment delimiter. A workspace member directory like `member#x` was discovered from disk, but its file URL pointed at `member` with fragment `x`, so locking failed. This separates filesystem path construction from requirement-string parsing. Literal `#` characters in paths are now percent-encoded as `%23`, while user-provided requirement strings continue to support explicit URL fragments such as `#hash=...`.
main
2 hours ago
update Cargo.lock for uv-shell dependency
sridhar-3009:fix/quote-version-range-in-install-hint
2 hours ago
Respect per-index ignored wheel metadata errors
charlie/continue
3 hours ago
Simplify fragment-preserving path parsing
charlie/encode-hash-in-file-path
3 hours ago
Latest Branches
CodSpeed Performance Gauge
-1%
Reuse proven-safe resolver decisions
#20063
1 hour ago
7d55fd5
charliermarsh:charlie/codex-proof-aware-phase-saving
CodSpeed Performance Gauge
0%
Avoid blank line for empty `uv pip tree`
#20062
1 hour ago
43988fa
charlie/fix-empty-pip-tree-output
CodSpeed Performance Gauge
+1%
fix(python): quote version ranges in the 'downloads manual' install hint
#20058
3 hours ago
10967b1
sridhar-3009:fix/quote-version-range-in-install-hint
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs