Commit Graph

411 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
Tomasz Kramkowski ea707737bb Allow configuring preview features in uv.toml and pyproject.toml (#18437)
## Summary

This is a continuation of the excellent work by @j-helland in #16452 and
#17202 and closes #15767.

This PR adds `preview-features` to `uv.toml` and `pyproject.toml`.

This field can be set to a boolean or to a list of features.

It is intended to supersede the `preview` setting itself, and conflicts
with it.

There's a little bit of complexity required to ensure that setting
either `preview` or `preview-features` is combined at the right point,
but it's also necessary to leave them split to accurately warn when a
`uv.toml` masks a `pyproject.toml` in the same directory.

Additionally there's complexity involved in making things work with
`deny_unknown_fields` and `flatten` (they're incompatible so require
manual flattening) and also this improves error messages somewhat.

Also (supersedes) closes #16452 and (supersedes) closes #17202.

## Test Plan

Tests taken from the original PR with some alterations and a bunch of
additional tests.

---------

Co-authored-by: j-helland <jonathan.w.helland@gmail.com>
Co-authored-by: Zanie Blue <contact@zanie.dev>
2026-06-14 11:06:53 +00:00
Zsolt Dollenstein 5aa65dd7ad Bump version to 0.11.21 (#19810) 2026-06-11 17:39:38 +00: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
William Woodruff 26cf03d7f8 docs: add a small section for malware checks (#19680)
## Summary

We landed this with #18936, so it probably makes sense to have _some_
docs for it. Not 100% sure if this is the best place, but it seems
pretty close 🙂

See #18781 

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

## Test Plan

NFC, docs only.

Signed-off-by: William Woodruff <william@yossarian.net>
2026-06-04 21:09:24 -04:00
sharif e99d9e1c3e Document --find-links caching behavior (#19585)
Closes #12425.
2026-06-04 21:07:48 -04:00
Zanie Blue 7b2cff1c31 Bump version to 0.11.19 (#19668) 2026-06-03 17:06:27 -05: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
William Woodruff c07a6efb38 Reject locked malware installations (#18936)
Co-authored-by: Zanie Blue <contact@zanie.dev>
Signed-off-by: William Woodruff <william@astral.sh>
Signed-off-by: William Woodruff <william@yossarian.net>
2026-05-21 12:52:18 -04: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
konsti c9873e0060 Add TOML v1.1 -> v1.0 backwards compatibility for source distributions (#18741)
[TOML 1.1](https://github.com/toml-lang/toml/releases/tag/1.1.0)
introduces support for new syntax that older tools with only TOML 1.0
support don't understand.

Usually, the user is either in control of which tools need to read the
TOML files or the TOML gets converted before publishing (for wheels:
`pyproject.toml` -> `METADATA`). The specific case where this doesn't
work is when a package manager that only support TOML 1.0 tries to build
the source distribution of a dependency. Build tools need to parse
`pyproject.toml` in source distributions to extract the `[build-system]`
table, and if any other part of the file contains TOML 1.1 syntax, they
fail to build. This generally doesn't trigger backtracking, so the user
is left with a failure when any (transitive) dependency in their
dependency tree has started using a single instance of TOML 1.1. Most
package managers, including pip, are implemented in Python and use
stdlib's tomllib, which only support TOML 1.0 up to including Python
3.14.

To work around this, we do a best-effort rewrite of `pyproject.toml` to
TOML 1.0 during source distribution builds.

This approach is inspired by Cargo, which has been successfully
rewriting published `Cargo.toml`s for many versions. While the `toml`
crate doesn't guarantee this downgrade always works
(https://github.com/toml-rs/toml/issues/1088), this crate is also used
by Cargo, and this best effort rewrite handles the biggest failure case:
Newlines and trailing commas in inline tables. Similarly following
Cargo, we also add a `pyproject.toml.orig` to the source distribution.

https://discuss.python.org/t/adopting-toml-1-1/105624 was inconclusive,
but a best-in-class tool should do this transformation.

---------

Co-authored-by: Tomasz (Tom) Kramkowski <tom@astral.sh>
2026-05-18 13:08:37 +02:00
Charlie Marsh 30a9143a13 Add support for Azure request signing (#19421)
## Summary

This follows the pattern we use for GCS and AWS: set
`UV_AZURE_ENDPOINT_URL`, then we use `AZURE_CLIENT_ID`,
`AZURE_TENANT_ID`, and `AZURE_FEDERATED_TOKEN_FILE` to sign requests to
that endpoint (or the CLI authentication, based on `reqsign`'s default
precedence).

Closes https://github.com/astral-sh/uv/issues/19420.
2026-05-15 20:33:36 +01:00
Zsolt Dollenstein 77ef90777c Move Bazel auth helper setup into integration guide (#19392)
Make a new Bazel guide, that links to two of the most popular Bazel
rulesets that support uv. Move the Bazel specific authentication setup
to this new guide.

This is a followup to #19358
2026-05-13 15:04:46 +01: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
Zsolt Dollenstein 634b03f972 Document uv auth helper for Bazel credential helper use (#19358) 2026-05-12 12:15:08 -04: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
Tobias Hernstig 4cefd6444f docs: Add 'Exporting lockfiles' to the Concepts->Projects index (#19209)
## Summary

Add 'Exporting lockfiles' to the Concepts->Projects index. It was
missing.
2026-04-29 13:03:32 -05:00
Tobias Hernstig 4423c33c4f docs: Clarify that uv init creates git files/folders in projects guide (#19183) 2026-04-27 10:30:32 -04:00
Zsolt Dollenstein 0e961dd9a2 Bump version to 0.11.8 (#19184) 2026-04-27 11:40:45 +00:00
Charlie Marsh b8b3073ba3 Update PyTorch documentation for PyTorch 2.11 (#19095)
## Summary

Motivated by:
https://github.com/astral-sh/uv/issues/10712#issuecomment-4287063561.
2026-04-21 14:02:05 -04: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
Charlie Marsh 39b83c30e0 Add exclude-newer to [[tool.uv.index]] (#18839)
## Summary

This PR enables users to set an `exclude-newer` override on a per-index
basis.

The priority is such that global `exclude-newer-package` has highest
priority, followed by `exclude-newer` on an index, followed by global
`exclude-newer`.

Closes https://github.com/astral-sh/uv/issues/16813.
2026-04-08 18:52:40 +00:00
Zanie Blue 6af38bb1be Update bare suffix in subsequent--bare init documentation as well (#18925) 2026-04-08 17:00:21 +00:00
rm76 5aca743f0e uv init example-bare --bare (#18822)
A small typo:
uv init example --bare --> uv init example-bare --bare

<!--
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? -->

## Test Plan

<!-- How was it tested? -->
2026-04-08 18:29:20 +02:00
Zanie Blue 3523c23490 Bump version to 0.11.4 (#18909) 2026-04-07 21:25:19 -04:00
Zanie Blue de7b3de062 Clarify that --exclude-newer compares artifact upload times (#18830)
Co-authored-by: Claude <noreply@anthropic.com>
2026-04-07 08:15:38 -05:00
Zanie Blue 464a33ca82 Bump version to 0.11.3 (#18805) 2026-04-01 15:52:54 -05:00
Rex Ledesma 08577895ae docs: add explicit example for opting package out of --exclude-newer (#18803)
<!--
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

Add the explicit configuration for opting out a package out of
`--exclude-newer`. The docs mention this from
https://github.com/astral-sh/uv/pull/16854, but the actual
pyproject.toml configuration was missing. I found it from
https://github.com/astral-sh/uv/issues/12449#issuecomment-4170155721,
but this should be in the docs.

## Test Plan

uv run --only-group docs mkdocs serve -f mkdocs.yml

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
2026-04-01 20:40:20 +00: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 10477cd1ce Split the alternative indexes page into separate pages (#18607)
Same idea as #18597
2026-03-23 14:41:51 -05:00
Lirui Luo 47edbf95a9 Clarify FLASH_ATTENTION_SKIP_CUDA_BUILD guidance for flash-attn installs (#18473)
## Summary
- replace the current `FLASH_ATTENTION_SKIP_CUDA_BUILD` wording with a
more accurate description
- explain that the variable disables local CUDA compilation instead of
guaranteeing a compatible wheel
- recommend pinning to a known-supported combination when relying on
published wheels

Addresses #17794.

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2026-03-23 19:22:52 +00:00
Zanie Blue b6854d77bf Upgrade reqwest to 0.13 (#18550)
The following user-facing changes are included here:

- `aws-lc` is used instead of `ring` for a cryptography backend
- Expands our certificate signature algorithm support to include
ECDSA_P256_SHA512, ECDSA_P384_SHA512, ECDSA_P521_SHA256,
ECDSA_P521_SHA384, and ECDSA_P521_SHA512
- `--native-tls` is deprecated in favor of a new `--system-certs` flag,
avoiding confusion with the TLS implementation used (we use `rustls` not
`native-tls`, see prior confusion at
https://github.com/astral-sh/uv/issues/11595)
- NASM is a new build requirement on Windows, it is required by `aws-lc`
on x86-64 and i386
- `rustls-platform-verifier` is used instead of `rustls-native-certs`
for system certificate verification
- On macOS, certificate validation is now delegated to
`Security.framework` (`SecTrust`). Performance when using
`--system-certs` is improved by avoiding exporting and parsing all the
certificates from the keychain at startup.
- On Windows, certificate validation is now delegated to
`CertGetCertificateChain` and `CertVerifyCertificateChainPolicy`
    - On Linux, certificate validation should be approximately unchanged
- Some previously failing chains may succeed, and some previously
accepted chains may fail; generally, this should result in behavior
closer matching browsers and other native applications
- macOS and Windows may now perform live OCSP fetches for early
revocation, which could add latency to some requests
- Empty `SSL_CERT_FILE` values are ignored (for consistency with
`SSL_CERT_DIR`)

The following internal changes are included here:

- Certificate loading has been refactored to use a newtype with helper
methods
- The certificate tests have been rewritten
- We use `webpki-root-certs` instead of `webpki-roots`, see
https://github.com/astral-sh/uv/pull/17543#discussion_r2820187691
- We request `identity` encoding for range requests, see
https://github.com/astral-sh/async_http_range_reader/pull/3#discussion_r2700194798
- Various dependencies (including forks) updates to versions which use
reqwest 0.13+

This is a replacement of #17543 with an updated description. See that
pull request for prior discussion. I've made the following changes from
the initial approach there:

- Previously, the `native-tls` TLS implementation was added which
included an OpenSSL build. We don't currently use the `native-tls`
implementation, but the `--native-tls` flag there was erroneously
updated to enable it.
- Previously, there was a `--tls-backend` flag to toggle between
`native-tls` and `rustls`. Since we currently always use `rustls`, this
is deferred to future work (if we need it at all).
- Previously, there were unintentional breaking changes to
`SSL_CERT_FILE` and `SSL_CERT_DIR` handling, including merging with the
base certificates instead of replacing them, dropping support for
OpenSSL hash-named certificate files, skipping deduplication of
certificates. Here, we retain use of `rustls-native-certs` for loading
certificates from the system as it handles these edge cases.


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

---------

Co-authored-by: salmonsd <22984014+salmonsd@users.noreply.github.com>
2026-03-23 13:22:19 -05:00
Zanie Blue 00d72dac7b Bump version to 0.10.12 (#18578) 2026-03-19 21:18:55 +00:00
Zanie Blue 4f9c88cd3e Adjust the PyPy note (#18548) 2026-03-18 09:08:55 -05: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
William Woodruff 4d4b968f25 Deprecate some non-PEP 625 source distributions (#17467) 2026-03-17 08:18:09 +09:00
Inada Naoki efdf905f82 Add missing -o requirements.txt in uv pip compile example (#12308)
## Summary

`uv pip compile` doesn't produce `requirements.txt` without `-o
requirements.txt` option.
2026-03-15 21:34:14 +00: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