Commit Graph

104 Commits

Author SHA1 Message Date
Aria Desires 3cdf50e092 Bump version to 0.11.23 (#19927) 2026-06-19 10:42:39 -07:00
Aria Desires 94988e5e08 Bump version to 0.11.22 (#19917) 2026-06-18 15:06:46 -07:00
Zsolt Dollenstein 5aa65dd7ad Bump version to 0.11.21 (#19810) 2026-06-11 17:39:38 +00:00
Zanie Blue 0f5e199f2e Add parallel discovery of Python versions for uv python list (#18684)
Currently, Python discovery happens sequentially — which is good most of
the time because uv will lazily exit once it finds a satisfactory
version. However, in `uv python list`, uv needs to query all
interpreters on the system which makes sequential discovery quite slow.

Here, we add parallelization to discovery. Annoyingly, it means a fair
amount of code repetition, but I've done my best to minimize that.

In the long-term, we may want to consolidate these code paths such that
uv can do prefetching during normal discovery, since technically if the
interpreter we want is far down the PATH then laziness does not save us
anything.

```
Benchmark 1: main
  Time (mean ± σ):      3.108 s ±  0.026 s    [User: 2.290 s, System: 0.386 s]
  Range (min … max):    3.072 s …  3.157 s    8 runs

Benchmark 2: branch
  Time (mean ± σ):     414.1 ms ±  11.1 ms    [User: 2955.2 ms, System: 743.7 ms]
  Range (min … max):   398.1 ms … 429.5 ms    8 runs

Summary
  branch ran
    7.51 ± 0.21 times faster than main
```
2026-06-10 12:18:37 -05:00
konsti 9252ba6b52 Bump version to 0.11.20 (#19765)
Released on 2026-06-10.

### Enhancements

- Add `--emit-index-url` and `--emit-find-links` to `uv export`
([#18370](https://github.com/astral-sh/uv/pull/18370))
- Add `--find-links` support for `uv pip list`
([#16103](https://github.com/astral-sh/uv/pull/16103))
- Group executable install errors during `uv python install`
([#19691](https://github.com/astral-sh/uv/pull/19691))
- Use ICF in macOS release builds to reduce binary sizes
([#19615](https://github.com/astral-sh/uv/pull/19615))

### Preview features

- Add initial hidden `uv upgrade` command
([#19678](https://github.com/astral-sh/uv/pull/19678))
- Reject Git revisions in `uv upgrade`
([#19742](https://github.com/astral-sh/uv/pull/19742))

### Configuration

- Recognize `UV_NO_INSTALL_PROJECT`, `UV_NO_INSTALL_WORKSPACE`,
`UV_NO_INSTALL_LOCAL`
([#19323](https://github.com/astral-sh/uv/pull/19323))

### Performance

- Speed up discovery of large workspaces
([#18311](https://github.com/astral-sh/uv/pull/18311))

### Bug fixes

- Allow unknown preview flags with a warning again
([#19669](https://github.com/astral-sh/uv/pull/19669))
- Apply dependency exclusions to direct requirements
([#19699](https://github.com/astral-sh/uv/pull/19699))
- Avoid following external symlinks during cache clean
([#19682](https://github.com/astral-sh/uv/pull/19682))
- Avoid following symlinks during cache prune
([#19543](https://github.com/astral-sh/uv/pull/19543))
- Fix Git cache keys for worktrees and packed refs
([#19706](https://github.com/astral-sh/uv/pull/19706))
- Make resolver error handling iterative to avoid stack overflows
([#19695](https://github.com/astral-sh/uv/pull/19695))
- Pass `VIRTUAL_ENV` through `cygpath` inside `fish` on Windows
([#19703](https://github.com/astral-sh/uv/pull/19703))
- Rebuild explicit local directory tool installs
([#19591](https://github.com/astral-sh/uv/pull/19591))
- Validate egg top-level entries as identifiers
([#19679](https://github.com/astral-sh/uv/pull/19679))

### Documentation

- Document `--find-links` caching behavior
([#19585](https://github.com/astral-sh/uv/pull/19585))
- Add a small section for malware checks
([#19680](https://github.com/astral-sh/uv/pull/19680))
2026-06-10 10:12:23 +02:00
Zanie Blue 7b2cff1c31 Bump version to 0.11.19 (#19668) 2026-06-03 17:06:27 -05:00
Tomasz Kramkowski 95507374d8 Use global preview in CondaEnvironmentKind::from_prefix_path (#19649)
## Summary

This expands the usage of global preview in a key area which has
wide-ranging impact.

Key notes:

* uv-dev needs to set up default global preview because of this.
Although it seems like it should technically have been setting it up
earlier?
* A number of tests no longer pass `Preview::default()` but also don't
use the guard. This is because they only call into the preview stuff
when the relevant conda environment variables are present. Which we
assume they're not (otherwise the tests would be invalid for other
reasons). There's really a hermeticity issue here, but I've addressed it
in a separate PR.

## Test Plan

Tests have been modified, but existing coverage should be sufficient.
2026-06-03 20:44:15 +01:00
Zanie Blue e32666915e Bump version to 0.11.18 (#19639) 2026-06-01 19:05:49 +00:00
Aria Desires a33a629d66 Bump version to 0.11.17 (#19599) 2026-05-28 12:58:35 -07:00
William Woodruff 135a363678 Bump version to 0.11.16 (#19522)
Signed-off-by: William Woodruff <william@yossarian.net>
2026-05-21 17:21:08 -04:00
Zanie Blue 78d8fe93c7 Refactor hint handling (#18090)
This adds abstractions for handing hints, pulling them out of ad-hoc
addendums to error messages and treating them as a first-class concept
so we can render them more consistently.

The key concepts are:

- `Hints`: a wrapper struct for `Vec<Cow<'a, str>>`
- `Hint`: a trait with `hints(&self) -> Hints<'_>`

Error types now `impl Hint` to provide hints. This means errors need to
carry more information to construct the `Hint` lazily instead of ahead
of time. The majority of refactoring around error types is to support
that change.

When displaying errors, we
[downcast](https://github.com/astral-sh/uv/pull/18090/changes#r2935662966)
to each type known to implement the trait and extract hints. We then
display all the hints after the error chain is complete.

The user-facing affect of this is that hints are now always rendered
outside the error chain.

This is a blocker to #17110 and is pulled out of that project. There is
still some weirdness with miette's `help:` prompts that will be removed
entirely in a following change.

---------

Co-authored-by: Codex <noreply@openai.com>
2026-05-20 10:43:52 -07:00
Zanie Blue de16a7b1a3 Bump version to 0.11.15 (#19472)
Co-authored-by: Codex <noreply@openai.com>
2026-05-18 12:10:13 -07:00
github-actions[bot] 3fdfdc7d4a Bump version to 0.11.14 (#19377)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Zanie Blue <contact@zanie.dev>
2026-05-12 12:29:37 -05:00
Jonathan J. Helmus 4512a39319 Bump version to 0.11.13 (#19345)
## Summary
Preps 0.11.13.

## Test Plan
NFC
2026-05-10 17:37:45 -07:00
William Woodruff 63c5f57d36 Bump version to 0.11.12 (#19331) 2026-05-08 15:06:22 -07:00
github-actions[bot] ed7b060013 Bump version to 0.11.11 (#19303)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Zanie Blue <contact@zanie.dev>
2026-05-06 12:34:21 -07:00
github-actions[bot] add376fd92 Bump version to 0.11.10 (#19293)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Zanie Blue <contact@zanie.dev>
2026-05-05 12:39:52 -07:00
Zanie Blue 7829a03b6c Bump version to 0.11.9 (#19273) 2026-05-05 05:06:19 +00:00
Zanie Blue a846497e95 Use symlinks instead of junctions on Wine (#19213)
Integration test coverage added in
https://github.com/astral-sh/uv/pull/19214
Closes https://github.com/astral-sh/uv/issues/19187

On Wine, we're compiled for Windows but junctions are not available.
Here, we switch to symlinks when we can detect Wine.
2026-04-30 09:02:07 -05:00
Zsolt Dollenstein 0e961dd9a2 Bump version to 0.11.8 (#19184) 2026-04-27 11:40:45 +00:00
Zanie Blue 9d177269e1 Bump version to 0.11.7 (#19017) 2026-04-15 21:03:37 +00:00
konsti 65950801cc Bump version to 0.11.6 (#18948) 2026-04-09 11:21:12 +00:00
Zanie Blue 95eaa68c8d Bump version to 0.11.5 (#18930) 2026-04-08 15:01:32 -05:00
Zanie Blue 3523c23490 Bump version to 0.11.4 (#18909) 2026-04-07 21:25:19 -04:00
Zanie Blue 464a33ca82 Bump version to 0.11.3 (#18805) 2026-04-01 15:52:54 -05:00
Zanie Blue 02036a8ba5 Bump version to 0.11.2 (#18732) 2026-03-26 20:44:25 +00:00
Zanie Blue a6042f67fc Bump version to 0.11.1 (#18704) 2026-03-24 22:18:22 +00:00
Zanie Blue 1f31f0e9fb Bump version to 0.11.0 (#18683)
Co-authored-by: Zsolt Dollenstein <zsol.zsol@gmail.com>
Co-authored-by: Geoffrey Thomas <geofft@ldpreload.com>
2026-03-23 21:13:35 +00:00
Zanie Blue 00d72dac7b Bump version to 0.10.12 (#18578) 2026-03-19 21:18:55 +00:00
Charlie Marsh 006b56b12d Bump version to 0.10.11 (#18521)
Co-authored-by: Tomasz Kramkowski <tom@astral.sh>
2026-03-16 19:32:39 -04:00
Zanie Blue 8c730aaad6 Bump version to 0.10.10 (#18455) 2026-03-13 14:35:08 -05:00
Zanie Blue f675560f32 Bump version to 0.10.9 (#18357) 2026-03-06 14:00:59 -06:00
Zanie Blue 363aea27be Drop the sys-info dependency (#18324)
Part of https://github.com/astral-sh/uv/issues/14574 and
https://github.com/termux/termux-packages/issues/27547

Avoids the downstream patch at
https://github.com/termux/termux-packages/blob/master/packages/uv/0001-sys-info-replace-index-with-strchr.diff

`sys-info-rs` has not been updated in years
https://github.com/FillZpp/sys-info-rs — it includes C code and can't be
built on Termux https://github.com/FillZpp/sys-info-rs/issues/116

I considered switching to https://github.com/GuillaumeGomez/sysinfo but
our usage is trivial, so we implement our requirements in `uv-platform`
instead
2026-03-06 16:30:19 +00:00
Zanie Blue c021be36ab Bump version to 0.10.8 (#18277) 2026-03-03 15:08:03 -06:00
Zsolt Dollenstein 08ab1a3447 Bump version to 0.10.7 (#18212) 2026-02-27 07:07:47 -05:00
Zanie Blue a91bcf2683 Bump version to 0.10.6 (#18189) 2026-02-24 17:33:36 -06:00
Zanie Blue f5b95ba548 Fix Python version selection for scripts with a requires-python conflicting with .python-version (#18097)
See https://github.com/astral-sh/uv/issues/17717#issuecomment-3886377795

Updates `ScriptPython::from_request` to match the implementation of
`WorkspacePython::from_request` and adds filtering such that if the
`.python-version` conflicts with the `requires-python`, we prefer the
latter.

Co-authored-by: Claude <noreply@anthropic.com>
2026-02-24 05:16:48 -06:00
Zanie Blue e2c05a54e6 Bump version to 0.10.5 (#18172) 2026-02-23 16:16:32 -06:00
Tomasz Kramkowski 079e3fd059 Bump version to 0.10.4 (#18072) 2026-02-17 21:15:57 +00:00
Tomasz Kramkowski c75a0c625c Bump version to 0.10.3 (#18012) 2026-02-16 10:42:51 +00:00
Tomasz Kramkowski a788db7e5d Bump version to 0.10.2 (#17958) 2026-02-10 18:21:21 +00:00
konsti b1b14d39ae Bump version to 0.10.1 (#17953) 2026-02-10 11:14:16 +00:00
Zanie Blue 0ba432459a Bump version to 0.10.0 (#17882)
Co-authored-by: Brent Westbrook <36778786+ntBre@users.noreply.github.com>
2026-02-05 20:28:44 +00:00
Zanie Blue d2ab2d0208 Stabilize Python upgrades (#17766)
Includes a few things...

- Drops preview warnings for use of `uv python upgrade` and `uv python
install --upgrade`
- Adds `--resolve-links` to `uv python find`, which I needed in test
cases to retain existing snapshots
- Fixes issues in our "Using environment ..." messages on Windows which
were incorrect
- Refactors `from_executable` for the `PythonMinorVersionLink` type
(https://github.com/astral-sh/uv/pull/17842/commits/28b2ed2525327d94fdf5372a29bbbc476d74680f)
to use the type system to prevent incorrect construction (for above)
- Removes special casing where we only upgrade links if they already
exist, which existed so preview wasn't needed on every invocation
- Fixes a bug with `PythonMinorVersionLink::exists` which returned
`true` even if the link pointed to the wrong Python installation leading
to discovery failures
2026-02-05 11:52:18 -06:00
Zanie Blue ea4560831e Bump version to 0.9.30 (#17865) 2026-02-04 21:18:04 +00:00
Zanie Blue 1f1321d842 Bump version to 0.9.29 (#17837) 2026-02-03 13:06:01 -06:00
Zanie Blue 0e1351e400 Bump version to 0.9.28 (#17738) 2026-01-29 13:51:05 -06:00
Zanie Blue b5797b2ab4 Bump version to 0.9.27 (#17706) 2026-01-26 22:38:10 +00:00
Zanie Blue ee4f003628 Bump version to 0.9.26 (#17496) 2026-01-15 14:25:54 -06:00
Zanie Blue 38fcac0f36 Bump version to 0.9.25 (#17449) 2026-01-13 16:55:34 -06:00