Commit Graph

5742 Commits

Author SHA1 Message Date
Assad Yousuf 24ebdf02c0
Preserve comments on version bump (#16141)
## Summary
Fixes [1633](https://github.com/astral-sh/uv/issues/16133). Preserves
comments preceding "version = ..." line when uv version --bump is ran

## Test Plan
Added IT test

---------

Co-authored-by: konsti <konstin@mailbox.org>
2025-10-09 16:07:00 +00:00
konsti 3e6fe1da86
Allow missing `Scripts` directory (#16206)
With the new Python install manager, the `Scripts` directory reported by
Python may not exist.

See https://github.com/astral-sh/uv/pull/16205 for a failing CI run:
https://github.com/astral-sh/uv/actions/runs/18377230241/job/52354460636?pr=16205#step:4:15

Fixes https://github.com/astral-sh/uv/issues/16204
2025-10-09 16:34:40 +02:00
konsti f0fbda1001
Update codspeed to v4 (#16139)
Simplifies the codspeed setup.
2025-10-09 15:57:05 +02:00
konsti 40397ddb4b
Log Python choice in `uv init` (#16182)
Example output:

```
$ uv-debug init foo -v
  DEBUG uv 0.9.0+6 (d3324baf68 2025-10-08)
  DEBUG Acquired shared lock for `/home/konsti/.cache/uv`
  DEBUG No Python version file found in ancestors of working directory: /home/konsti/projects/foo
  DEBUG Checking for Python environment at: `foo/.venv`
  DEBUG Searching for default Python interpreter in managed installations or search path
  DEBUG Searching for managed installations at `/home/konsti/.local/share/uv/python`
  DEBUG Found managed installation `cpython-3.14.0-linux-x86_64-gnu`
  DEBUG Found `cpython-3.14.0-linux-x86_64-gnu` at `/home/konsti/.local/share/uv/python/cpython-3.14.0-linux-x86_64-gnu/bin/python3.14` (managed installations)
  DEBUG Using Python version `>=3.14` from default interpreter
  DEBUG `git rev-parse --is-inside-work-tree` failed but didn't contain `not a git repository` in stderr for `/home/konsti/projects/foo`
  DEBUG No Python version file found in ancestors of working directory: /home/konsti/projects/foo
  DEBUG Writing Python versions to `/home/konsti/projects/foo/.python-version`
  Initialized project `foo` at `/home/konsti/projects/foo`
  DEBUG Released lock at `/home/konsti/.cache/uv/.lock`
```

First commit is refactoring, second commit is the actual change.
2025-10-09 13:55:22 +00:00
konsti 5ee728b3e3
Retry all h2 errors (#16038)
The h2 errors, a specific type nested in reqwest errors, all look like
they shouldn't happen in regular operations and should be retried. This
covers all `io::Error`s going through h2 (i.e., only HTTP 2
connections).

Fixes https://github.com/astral-sh/uv/issues/15916
2025-10-09 13:53:14 +00:00
Mitchell Berendhuysen 40204f06d1
Replace `fs_err` alias (#16201) 2025-10-09 15:18:38 +02:00
samypr100 f81c6b9a62
document uv version for environment variables (#15196)
## Summary

As new environment variables get introduced (e.g. `UV_EDITABLE`) I
thought it would useful to start tracking which release they were
introduced. I think its a common workflow to navigate to the [env var
documentation](https://docs.astral.sh/uv/reference/environment) to know
what the env var for something is but then end up in a situation where
one is using an environment variable with the wrong version of uv and
not notice immediately that its not compatible and therefore ignored.

## Test Plan

Existing tests.

The versions in `since` have all been manually reviewed to the best of
my ability for correctness.
2025-10-08 12:31:12 -05:00
Zanie Blue 1051709792
Treat deleted Windows registry keys as equivalent to missing ones (#16194)
I noticed this flaked in a snapshot.

We may want to encode this in a helper at some point.
2025-10-08 12:24:36 -05:00
Zanie Blue 9cec60bcc4
Include the RFC in the docs for our `Credentials` variants (#16162) 2025-10-08 16:26:30 +00:00
Shunsuke Tsuchiya 39e2e3e74b
Support `UV_WORKING_DIRECTORY` for setting `--directory` (#16125)
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

<!-- What's the purpose of the change? What does it do, and why? -->

This pull request enables the `--directory` option to accept environment
variable: `UV_DIRECTORY`

### Motivation

Currently, the `--project` option already supports environment
variables, but --directory does not.

The motivation for this change is the same as for the --project option.
When using this option, it’s likely that the project root and the
directory containing the uv project differ. In such cases, allowing
environment variables makes it easier to avoid repeatedly specifying the
directory in commands or task runners.

### Other PRs

- PR for create `--project` option:
https://github.com/astral-sh/uv/pull/12327

## Test Plan

<!-- How was it tested? -->

### no auto testing

As with the --project option, no auto tests are included for this
change.
This is because the implementation relies on Clap’s built-in attribute
functionality, and testing such behavior would effectively mean testing
a third-party crate, which would be redundant.

As long as the compiler accepts it, things should work as expected.

### testing manually

i tested manually like [previous pull
request](https://github.com/astral-sh/uv/pull/12327)

```shell
$ cargo build --locked
./target/debug/uv init uv_directory

$ mkdir uv_directory

$ UV_DIRECTORY=uv_directory ./target/debug/uv sync
Using CPython 3.14.0rc3
Creating virtual environment at: .venv
Resolved 1 package in 15ms
Audited in 0.04ms

$ UV_DIRECTORY=uv_directory ./target/debug/uv run main.py
Hello from uv-directory!

$ ./target/debug/uv run main.py
error: Failed to spawn: `main.py`
  Caused by: No such file or directory (os error 2)
```

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2025-10-08 08:46:11 -05:00
Ruben Arts 2e180f5c66
Add missing fields to the Cargo package manifests (#16179)
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

Hey devs, great tool as always, you're doing amazing work. 

## Summary

<!-- What's the purpose of the change? What does it do, and why? -->

Adds the following fields to the `[package]` table of `Cargo.toml` files
where they were missing:
```toml
rust-version = { workspace = true }
homepage = { workspace = true }
documentation = { workspace = true }
repository = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
```

Most crates already had these fields, this just aligns the rest for
consistency.

This also resolves the warnings from `cargo-deny` when using `uv` crates
as dependencies in Pixi.
## Test Plan
No tests needed, this only updates metadata.
2025-10-08 12:01:52 +02:00
github-actions[bot] 4c4fce4284
Sync latest Python releases (#16169)
Automated update for Python releases.

Co-authored-by: zanieb <2586601+zanieb@users.noreply.github.com>
2025-10-08 04:26:32 +00:00
Zanie Blue 39b6886536
Bump version to 0.9.0 (#16161)
Co-authored-by: konsti <konstin@mailbox.org>
2025-10-07 23:17:42 +00:00
Zanie Blue df0a12d461
Fix `uv python upgrade` replacement of installed binaries on pre-release to stable (#16159) 2025-10-07 20:29:42 +00:00
Zanie Blue 3a507e69b2
Ban pre-release versions in `uv python upgrade` requests (#16160) 2025-10-07 15:07:09 -05:00
github-actions[bot] 37b3557dab
Sync latest Python releases (#16157)
Pick up python-build-standalone tag 20251007 to add 3.14.0 final
and 3.13.8, and adjust tests.

Also, fix matching version requests with prereleases: `uvx
python@3.14.0rc3` should not be satisfied by 3.14.0 final.

Co-authored-by: Geoffrey Thomas <geofft@ldpreload.com>
2025-10-07 19:07:18 +00:00
Zanie Blue 61b8eae08a
Fix `uv python upgrade / install` output when there is a no-op for one request (#16158) 2025-10-07 18:39:28 +00:00
Skyler Hawthorne 9214855109
fix compile error on missing uv-python metadata (#16154)
The `uv-python` crate reads the checked-in download metadata to write
out a minified version to be statically included into the binary.

Sometimes, the resulting `download-metadata-minified.json` can go
missing, such as when `uv` is installed via `cargo` as a git source, and
there is an update; `cargo` will do a hard reset on the git repo it
stores in the cache, causing it to be deleted. In these instances, the
`uv-python` crate does not currently re-run its build script, because as
it happens, there was no change to the `download-metadata.json` since it
was last compiled. This causes a build error like:

```
            Updating git repository `https://github.com/astral-sh/uv`
          Installing uv v0.8.24 (https://github.com/astral-sh/uv?tag=0.8.24#252f8873)
            Updating crates.io index
           Compiling uv-version v0.8.24 (/home/skhawtho/.cargo/git/checkouts/uv-c9e40703e19509a8/252f887/crates/uv-version)
           Compiling uv-git v0.0.1 (/home/skhawtho/.cargo/git/checkouts/uv-c9e40703e19509a8/252f887/crates/uv-git)
           Compiling uv-build-backend v0.1.0 (/home/skhawtho/.cargo/git/checkouts/uv-c9e40703e19509a8/252f887/crates/uv-build-backend)
           Compiling uv-configuration v0.0.1 (/home/skhawtho/.cargo/git/checkouts/uv-c9e40703e19509a8/252f887/crates/uv-configuration)
           Compiling uv-client v0.0.1 (/home/skhawtho/.cargo/git/checkouts/uv-c9e40703e19509a8/252f887/crates/uv-client)
           Compiling uv-extract v0.0.1 (/home/skhawtho/.cargo/git/checkouts/uv-c9e40703e19509a8/252f887/crates/uv-extract)
           Compiling uv-workspace v0.0.1 (/home/skhawtho/.cargo/git/checkouts/uv-c9e40703e19509a8/252f887/crates/uv-workspace)
           Compiling uv-python v0.0.1 (/home/skhawtho/.cargo/git/checkouts/uv-c9e40703e19509a8/252f887/crates/uv-python)
           Compiling uv-requirements-txt v0.0.1 (/home/skhawtho/.cargo/git/checkouts/uv-c9e40703e19509a8/252f887/crates/uv-requirements-txt)
           Compiling uv-bin-install v0.0.1 (/home/skhawtho/.cargo/git/checkouts/uv-c9e40703e19509a8/252f887/crates/uv-bin-install)
           Compiling uv-publish v0.1.0 (/home/skhawtho/.cargo/git/checkouts/uv-c9e40703e19509a8/252f887/crates/uv-publish)
        error: couldn't read `crates/uv-python/src/download-metadata-minified.json`: No such file or directory (os error 2)
           --> crates/uv-python/src/downloads.rs:795:45
            |
        795 | const BUILTIN_PYTHON_DOWNLOADS_JSON: &str = include_str!("download-metadata-minified.json");
            |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

        error: could not compile `uv-python` (lib) due to 1 previous error
        error: failed to compile `uv v0.8.24 (https://github.com/astral-sh/uv?tag=0.8.24#252f8873)`, intermediate artifacts can be found at `/home/skhawtho/.cache/cargo`.
        To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.
```

This fixes the issue by also adding a `rerun-if-changed` on the
resulting minified JSON file.

Separately, this revision also changes the output directory of the
minified file to the build script's output directory via the `OUT_DIR`
environment variable, so as not to pollute the source code.
2025-10-07 12:33:04 -05:00
Zanie Blue 83f738074d
Allow use of free-threaded variants in Python 3.14+ without explicit opt-in (#16142)
Closes https://github.com/astral-sh/uv/issues/15739
Closes #12445
2025-10-07 11:24:05 -05:00
liam 7d63ef114a
Surface pinned-version hint when `uv tool upgrade` can’t move the tool (#16081)
Resolves https://github.com/astral-sh/uv/issues/15665

`uv tool upgrade` already respects version pins, but when a tool was
installed with an exact version the command quietly becomes a no-op even
though users expect it to upgrade the executable. This change tweaks the
upgrade flow to detect that situation by inspecting the stored receipt
and, whenever the tool stays pinned, emit a concise hint explaining why
the version didn’t move and how to reinstall without the pin.

The message still appears if the run only refreshed supporting packages,
so users aren’t misled by dependency churn that leaves the tool itself
untouched.

I also added an integration test for the scenario end to end by
installing `babel==2.6.0`, attempting an upgrade, and asserting that the
hint is shown alongside the dependency updates.
2025-10-07 11:18:39 -05:00
konsti 73e62c0c17
Don't warn when dependency is constraint by other dependency (#16149)
Currently, `uv lock --resolution lowest-direct` warns above the setup
below, as we visit the unbounded `anyio[trio]` first.

```toml
[project]
name = "project"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = [
    "anyio[trio]",
    "anyio>=4"
]
```
2025-10-07 17:59:01 +02:00
Zanie Blue 252f887338
Bump version to 0.8.24 (#16146) 2025-10-07 03:03:01 +00:00
Zanie Blue 6f7d0dc7b4
Emit a message on `cache clean` and `prune` when lock is held (#16138)
Closes https://github.com/astral-sh/uv/issues/16112

```
❯ cargo run -q cache clean
Cache is currently in-use, waiting for other uv processes to finish (use `--force` to override)
```

Otherwise, `-v` is required to see we're waiting on a lock.

I'd rather do this than elevate the exclusive lock log message to
something more verbose because this allows us to use a more specific
message as appropriate for the situation. We also previously reduced the
verbosity of arbitrary locks, e.g., see
https://github.com/astral-sh/uv/issues/7489
2025-10-06 16:49:24 +00:00
Zanie Blue 7e4edf0fb4
Add `--force` flag for `uv cache prune` (#16137)
Matching #15992 

See https://github.com/astral-sh/setup-uv/issues/588
2025-10-06 11:36:58 -05:00
konsti 3bed81866f
Remove unused version.rs (#16135)
This file does not have a `mod version;`, I assume it's a remnant of the
`uv version` -> `uv self version` transition.
2025-10-06 09:58:20 -05:00
Zanie Blue 00d3aa3780
Bump version to 0.8.23 (#16119) 2025-10-04 12:46:01 -05:00
Takayuki Maeda 34ec30563e
Move `TRACING_DURATIONS_FILE` to `EnvironmentOptions` (#16109)
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

<!-- What's the purpose of the change? What does it do, and why? -->

Fixes a part of #14720

Add `TRACING_DURATIONS_FILE` to EnvironmentOptions.

## Test Plan

<!-- How was it tested? -->
2025-10-04 00:09:55 -05:00
Zanie Blue 241ad88051
Confirm that the directory name is a valid Python install key during managed check (#16080)
Closes https://github.com/astral-sh/uv/issues/16077

```
❯ UV_PYTHON_INSTALL_DIR=/opt uv python list --no-managed-python
cpython-3.9.6-macos-aarch64-none    /usr/bin/python3
❯ alias uv=$(pwd)/target/debug/uv
❯ UV_PYTHON_INSTALL_DIR=/opt uv python list --no-managed-python
cpython-3.13.3-macos-aarch64-none     /opt/homebrew/bin/python3.13 -> ../Cellar/python@3.13/3.13.3/bin/python3.13
cpython-3.13.3-macos-aarch64-none     /opt/homebrew/bin/python3 -> ../Cellar/python@3.13/3.13.3/bin/python3
cpython-3.12.10-macos-aarch64-none    /opt/homebrew/bin/python3.12 -> ../Cellar/python@3.12/3.12.10/bin/python3.12
cpython-3.11.12-macos-aarch64-none    /opt/homebrew/bin/python3.11 -> ../Cellar/python@3.11/3.11.12/bin/python3.11
cpython-3.9.6-macos-aarch64-none      /usr/bin/python3
pypy-3.10.14-macos-aarch64-none       /opt/homebrew/bin/pypy3 -> ../Cellar/pypy3.10/7.3.17_1/bin/pypy3
```

Prevents false positives when the `UV_PYTHON_INSTALL_DIR` is a prefix of
some other path with Python installations
2025-10-03 19:36:08 +00:00
Aria Desires b06f02f13d
Fix typo in `_CONDA_ROOT` docs (#16114)
All other references are correct, just slipped through in the actual
docs.
2025-10-03 10:38:00 -05:00
Charlie Marsh 8da9df3654
Avoid rejecting already-installed URL distributions with `--no-sources` (#16094)
## Summary

This PR removes a guard that was accidentally included in
https://github.com/astral-sh/uv/pull/15234/files#diff-6be6d80fe4821c47b70a372260f55e73b8da8182b8dcad7525d5cd3eb584532b.
I meant to remove that logic before merging.

Closes https://github.com/astral-sh/uv/issues/16068.
2025-10-02 09:32:14 -04:00
Charlie Marsh c2100d11f3
Make cache control lookups robust to username (#16088)
## Summary

We serialize the index to the lockfile without the username, so if we
compare based on `==` and the user _includes_ the username in their
`pyproject.toml`, the check will always fail.

Closes https://github.com/astral-sh/uv/issues/16076.
2025-10-01 16:57:50 -04:00
liam d51a1e7456
Deduplicate marker-specific dependencies in `uv pip tree` output (#16078)
Resolves https://github.com/astral-sh/uv/issues/16067

When we build the dependency graph we add an edge per `Requires-Dist`.
If a package publishes multiple marker-guarded requirements (like
pylint’s `dill>=…` for different Python versions), more than one marker
can evaluate to true at runtime, which gives us several edges pointing
to the same installed package node.

To avoid printing the package multiple times, we gather all edges
targeting that node, pass them through a `Cursor`, and aggregate their
requirement details before we print the dependency line. That
aggregation does two things:
  1. If any edge carries a URL, we return that URL immediately.
2. Otherwise we merge all version specifiers into one canonical PEP 440
string.

I've added an integration test, namely `cargo test -p uv --test it
--features pypi -- no_duplicate_dependencies_with_markers` exercises the
new snapshot that installs pylint (with the real dill duplication
scenario present in the original issue) and asserts the tree output,
both with and without `--show-version-specifiers`, now shows a single
dill entry with the merged constraint.
2025-10-01 11:01:41 -05:00
Zanie Blue 8b86bd530e
Remove tracking of inferred dependency conflicts (#15909)
Alternative to #15884 (see commentary there)

Closes https://github.com/astral-sh/uv/issues/15869
2025-10-01 10:03:42 -05:00
Charlie Marsh ab2f394019
Use a global flags instance for wheel check (#16047)
## Summary

This stands up the idea proposed in
https://github.com/astral-sh/uv/pull/16046/files#r2384395797.
2025-09-30 00:10:11 +00:00
Charlie Marsh 7d9ea797b0
Add `UV_SKIP_WHEEL_FILENAME_CHECK` to allow installing invalid wheels (#16046)
## Summary

This PR adds a user setting to allow (in rare cases) accepting wheels
with mismatched filenames and internal metadata.

Closes https://github.com/astral-sh/uv/issues/8082.

Closes https://github.com/astral-sh/uv/issues/15647.
2025-09-29 19:54:25 -04:00
Charlie Marsh 170ab1cd7f
Ignore origin when comparing installed tools (#16055)
## Summary

This field gets dropped when you serialize and deserialize, so we should
ignore it when comparing indexes.

Closes https://github.com/astral-sh/uv/issues/16051.
2025-09-29 17:23:18 +00:00
Charlie Marsh e87236391f
Re-order lock validation checks by severity (#16045)
## Summary

I don't think it's common for this to matter, but in theory at least
it's important that these are ordered by severity. Otherwise, e.g,
changing the pre-release mode (and then returning early) could mean we
retain the forks when we otherwise shouldn't.
2025-09-29 09:42:21 -04:00
Charlie Marsh b2cc2c2749
Respect `--no-color` on the CLI (#16044)
## Summary

This argument has always existed for compatibility, but apparently we
don't respect it. I assume it was unintentionally dropped during a
refactor.

Closes https://github.com/astral-sh/uv/issues/15950.
2025-09-29 09:38:47 -04:00
Andrei Berenda 1d76c5a365
Add UV_LOG_CONTEXT to EnvironmentOptions (#16031)
## Summary
Add UV_LOG_CONTEXT to EnvironmentOptions
Relates https://github.com/astral-sh/uv/issues/14720

## Test Plan

Tests with existing tests
2025-09-25 21:01:29 +00:00
Andrei Berenda 372283c0cf
Add install_mirrors to EnvironmentOptions (#15937)
## Summary

Add install_mirrors to EnvironmentOptions
Relates #14720

## Test Plan

Tests with existing tests
2025-09-25 10:35:09 -05:00
Zanie Blue ade2bdbd2a
Bump version to 0.8.22 (#16005) 2025-09-23 14:43:48 -05:00
William Woodruff 92cd9cfb0c
deps: bump astral-tokio-tar to 0.5.5 (#16004) 2025-09-23 13:46:08 -04:00
github-actions[bot] 268f1325ba
Upgrade Pyodide to 0.28.3 (#15999)
Automated update for Python releases.

Co-authored-by: zanieb <2586601+zanieb@users.noreply.github.com>
2025-09-23 09:57:15 -05:00
Charlie Marsh f64da27450
Bump version to v0.8.21 (#16001) 2025-09-23 13:55:19 +00:00
renovate[bot] 9af64cc156
Update Rust crate anyhow to v1.0.100 (#15974)
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs
from Renovate will soon appear from 'Mend'. Learn more
[here](https://redirect.github.com/renovatebot/renovate/discussions/37842).

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://redirect.github.com/dtolnay/anyhow) |
workspace.dependencies | patch | `1.0.99` -> `1.0.100` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

###
[`v1.0.100`](https://redirect.github.com/dtolnay/anyhow/releases/tag/1.0.100)

[Compare
Source](https://redirect.github.com/dtolnay/anyhow/compare/1.0.99...1.0.100)

- Teach clippy to lint formatting arguments in `bail!`, `ensure!`,
`anyhow!`
([#&#8203;426](https://redirect.github.com/dtolnay/anyhow/issues/426))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/astral-sh/uv).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCJdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: konstin <konstin@mailbox.org>
2025-09-23 11:49:23 +00:00
Charlie Marsh 8d6b369274
Refresh lockfile when `--refresh` is provided (#15991) (#15994)
## Summary

If you provide `--refresh` to `uv lock`, we'll now always resolve (even
though it might return the same result). This is also robust to
`--locked` such that `--refresh --locked` will only fail if the lockfile
changes.

Closes https://github.com/astral-sh/uv/issues/15997.
2025-09-23 07:25:13 -04:00
Charlie Marsh 7f7fac812c
Add S3 request signing (#15925)
## Summary

This PR enables users to mark a URL as an S3 endpoint, at which point uv
will sign requests to that URL by detecting credentials from the
standard AWS environment variables, configuration files, etc.

Signing is handled by the
[reqsign](https://docs.rs/reqsign/latest/reqsign/) crate, which we can
also use in the future to sign requests for other providers.
2025-09-22 23:59:52 +00:00
Zanie Blue 3e6fd0b775
Bump version to 0.8.20 (#15998) 2025-09-22 22:34:27 +00:00
Zanie Blue 107d4e0ac7
Add `--force` flag for `uv cache clean` (#15992)
Follows https://github.com/astral-sh/uv/pull/15990 to address concerns
there.
2025-09-22 22:15:14 +00:00
Zanie Blue c21b11edb9
Revert "Refresh lockfile when `--refresh` is provided (#15991)" (#15993)
This reverts commit aeb7ee056e from
https://github.com/astral-sh/uv/pull/15991 since it will break `uv lock
--locked --refresh` otherwise.
2025-09-22 21:13:23 +00:00