diff --git a/CHANGELOG.md b/CHANGELOG.md index 502bf84e6..6771522d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,15 +8,43 @@ ### Bug fixes -- Fix loading of cached metadata for Git distributions with subdirectories ([#6094](https://github.com/astral-sh/uv/pull/6094)) +- Fix loading of cached metadata for Git distributions with + subdirectories ([#6094](https://github.com/astral-sh/uv/pull/6094)) ### Error messages - Add env var to `--link-mode=copy` warning ([#6103](https://github.com/astral-sh/uv/pull/6103)) -- Avoid displaying "failed to download" on build failures for local source distributions ([#6075](https://github.com/astral-sh/uv/pull/6075)) +- Avoid displaying "failed to download" on build failures for local source + distributions ([#6075](https://github.com/astral-sh/uv/pull/6075)) - Improve display of available package ranges ([#6118](https://github.com/astral-sh/uv/pull/6118)) - Use "your requirements" consistently in resolver error messages ([#6113](https://github.com/astral-sh/uv/pull/6113)) +### Preview features + +- Add `python-version-file` to GitHub integration documentation ([#6086](https://github.com/astral-sh/uv/pull/6086)) +- Always narrow markers by Python version ([#6076](https://github.com/astral-sh/uv/pull/6076)) +- Avoid warning for redundant `--no-project` ([#6111](https://github.com/astral-sh/uv/pull/6111)) +- Change the definition of `--locked` to require satisfaction check ([#6102](https://github.com/astral-sh/uv/pull/6102)) +- Improve debug log for interpreter requests during project + commands ([#6120](https://github.com/astral-sh/uv/pull/6120)) +- Improve display of resolution errors for workspace member conflicts with optional + dependencies ([#6123](https://github.com/astral-sh/uv/pull/6123)) +- Improve resolver error messages for single-project workspaces ([#6095](https://github.com/astral-sh/uv/pull/6095)) +- Improve resolver error messages referencing workspace members ([#6092](https://github.com/astral-sh/uv/pull/6092)) +- Invalidate `uv.lock` if registry sources are removed ([#6026](https://github.com/astral-sh/uv/pull/6026)) +- Propagate fork markers to extras ([#6065](https://github.com/astral-sh/uv/pull/6065)) +- Redact Git credentials from `pyproject.toml` ([#6074](https://github.com/astral-sh/uv/pull/6074)) +- Redact Git credentials in lockfile ([#6070](https://github.com/astral-sh/uv/pull/6070)) +- Remove 'tool' reference on `uv run` CLI ([#6110](https://github.com/astral-sh/uv/pull/6110)) +- Remove `same-graph` merging in resolver ([#6077](https://github.com/astral-sh/uv/pull/6077)) +- Strip SHA when constructing package source ([#6097](https://github.com/astral-sh/uv/pull/6097)) +- Treat Git sources as immutable in lockfile ([#6109](https://github.com/astral-sh/uv/pull/6109)) +- Use the proper singular form for workspace member dependencies in resolver + errors ([#6128](https://github.com/astral-sh/uv/pull/6128)) +- Use sets rather than vectors for lockfile requirements ([#6107](https://github.com/astral-sh/uv/pull/6107)) +- Normalize `python_version` markers to `python_full_version` ([#6126](https://github.com/astral-sh/uv/pull/6126)) +- Update Pythons to include Python 3.12.5 ([#6087](https://github.com/astral-sh/uv/pull/6087)) + ## 0.2.36 ### Bug fixes @@ -25,13 +53,35 @@ - Improve warning message when parsing `pyproject.toml` fails ([#6009](https://github.com/astral-sh/uv/pull/6009)) - Improve handling of overlapping markers in universal resolver ([#5887](https://github.com/astral-sh/uv/pull/5887)) +### Preview features + +- Add resolver error context to `run` and `tool run` ([#5991](https://github.com/astral-sh/uv/pull/5991)) +- Avoid replacing executables on no-op upgrades ([#5998](https://github.com/astral-sh/uv/pull/5998)) +- Colocate Python install cache with destination directory ([#6043](https://github.com/astral-sh/uv/pull/6043)) +- Filter mixed sources from `--find-links` entries in lockfile ([#6025](https://github.com/astral-sh/uv/pull/6025)) +- Fix some outdated documentation discussing Python environments ([#6058](https://github.com/astral-sh/uv/pull/6058)) +- Fix projects guide typo ([#6033](https://github.com/astral-sh/uv/pull/6033)) +- Fix tools guide typo ([#6027](https://github.com/astral-sh/uv/pull/6027)) +- Hide python options in `uv tool list` help ([#6003](https://github.com/astral-sh/uv/pull/6003)) +- Improve top-level help for `uv tool` commands ([#5983](https://github.com/astral-sh/uv/pull/5983)) +- Move help documentation into dedicated page ([#6057](https://github.com/astral-sh/uv/pull/6057)) +- Remove `editable: false` support ([#5987](https://github.com/astral-sh/uv/pull/5987)) +- Remove uses of `Option` in `ResolutionGraph` ([#6035](https://github.com/astral-sh/uv/pull/6035)) +- Resolve relative `tool.uv.sources` relative to containing project ([#6045](https://github.com/astral-sh/uv/pull/6045)) +- Support PEP 723 scripts in `uv add` and `uv remove` ([#5995](https://github.com/astral-sh/uv/pull/5995)) +- Support `tool.uv` in PEP 723 scripts ([#5990](https://github.com/astral-sh/uv/pull/5990)) +- Treat local indexes as registry sources in lockfile ([#6016](https://github.com/astral-sh/uv/pull/6016)) +- Use simplified paths in lockfile ([#6049](https://github.com/astral-sh/uv/pull/6049)) +- Use upgrade-specific output for tool upgrade ([#5997](https://github.com/astral-sh/uv/pull/5997)) + ## 0.2.35 ### CLI - Deprecate `--system` and `--no-system` in `uv venv` ([#5925](https://github.com/astral-sh/uv/pull/5925)) - Make `--upgrade` imply `--refresh` ([#5943](https://github.com/astral-sh/uv/pull/5943)) -- Warn when there are missing bounds on transitive dependencies with `--resolution-strategy lowest` ([#5953](https://github.com/astral-sh/uv/pull/5953)) +- Warn when there are missing bounds on transitive dependencies + with `--resolution-strategy lowest` ([#5953](https://github.com/astral-sh/uv/pull/5953)) ### Configuration @@ -44,13 +94,50 @@ ### Bug fixes -- Display portable paths in POSIX virtual environment activation commands ([#5956](https://github.com/astral-sh/uv/pull/5956)) +- Display portable paths in POSIX virtual environment activation + commands ([#5956](https://github.com/astral-sh/uv/pull/5956)) - Respect subdirectories when locating Git workspaces ([#5944](https://github.com/astral-sh/uv/pull/5944)) ### Documentation - Improve the `uv venv` CLI documentation ([#5963](https://github.com/astral-sh/uv/pull/5963)) +### Preview features + +- Add CLI flags to reference documentation ([#5926](https://github.com/astral-sh/uv/pull/5926)) +- Add `update` alias for `uv tool upgrade` ([#5948](https://github.com/astral-sh/uv/pull/5948)) +- Add caveat about pip interface name ([#5940](https://github.com/astral-sh/uv/pull/5940)) +- Add hint for long help to `uvx` ([#5971](https://github.com/astral-sh/uv/pull/5971)) +- Avoid requires-python warning in virtual-only workspace ([#5895](https://github.com/astral-sh/uv/pull/5895)) +- Discard forks when using `--upgrade` ([#5905](https://github.com/astral-sh/uv/pull/5905)) +- Document the `tool upgrade` command ([#5947](https://github.com/astral-sh/uv/pull/5947)) +- Document virtual environment discovery ([#5965](https://github.com/astral-sh/uv/pull/5965)) +- Enable mirror for `python-build-standalone` downloads ([#5719](https://github.com/astral-sh/uv/pull/5719)) +- Fix reuse of Git commits in lockfile ([#5908](https://github.com/astral-sh/uv/pull/5908)) +- Ignore local configuration in tool commands ([#5923](https://github.com/astral-sh/uv/pull/5923)) +- Improve the CLI documentation for `uv add` ([#5914](https://github.com/astral-sh/uv/pull/5914)) +- Improve the CLI documentation for `uv remove` ([#5916](https://github.com/astral-sh/uv/pull/5916)) +- Improve the `uv lock` CLI documentation ([#5932](https://github.com/astral-sh/uv/pull/5932)) +- Improve the `uv python` CLI documentation ([#5961](https://github.com/astral-sh/uv/pull/5961)) +- Improve the `uv sync` CLI documentation ([#5930](https://github.com/astral-sh/uv/pull/5930)) +- Improve the `uv tree` CLI documentation ([#5917](https://github.com/astral-sh/uv/pull/5917)) +- Fix link to tools concept page ([#5906](https://github.com/astral-sh/uv/pull/5906)) +- Add `uv tool upgrade` command ([#5197](https://github.com/astral-sh/uv/pull/5197)) +- Implement marker trees using algebraic decision diagrams ([#5898](https://github.com/astral-sh/uv/pull/5898)) +- Make repeated `uv add` operations simpler ([#5922](https://github.com/astral-sh/uv/pull/5922)) +- Move some documents to relevant sections ([#5968](https://github.com/astral-sh/uv/pull/5968)) +- Rename `distribution` to `packages` in lockfile ([#5861](https://github.com/astral-sh/uv/pull/5861)) +- Respect `--upgrade-package` in tool install ([#5941](https://github.com/astral-sh/uv/pull/5941)) +- Respect `--upgrade-package` when resolving from lockfile ([#5907](https://github.com/astral-sh/uv/pull/5907)) +- Retain and respect settings in tool upgrades ([#5937](https://github.com/astral-sh/uv/pull/5937)) +- Search beyond workspace root when discovering configuration ([#5931](https://github.com/astral-sh/uv/pull/5931)) +- Show build and install summaries in `uv run` and `uv tool run` ([#5899](https://github.com/astral-sh/uv/pull/5899)) +- Support relative path wheels ([#5969](https://github.com/astral-sh/uv/pull/5969)) +- Update the interface for declaring Python download preferences ([#5936](https://github.com/astral-sh/uv/pull/5936)) +- Use cached environments for `--with` layers ([#5897](https://github.com/astral-sh/uv/pull/5897)) +- Warn when project-specific settings are passed to non-project `uv run` + commands ([#5977](https://github.com/astral-sh/uv/pull/5977)) + ## 0.2.34 ### Enhancements @@ -74,6 +161,64 @@ - Respect pre-release preferences from input files ([#5736](https://github.com/astral-sh/uv/pull/5736)) - Support overlapping local and non-local requirements in forks ([#5812](https://github.com/astral-sh/uv/pull/5812)) +### Preview features + +- Add "next steps" to some early documentation pages ([#5825](https://github.com/astral-sh/uv/pull/5825)) +- Add `--no-build-isolation` to uv lock et al ([#5829](https://github.com/astral-sh/uv/pull/5829)) +- Add `--no-sources` to avoid reading from `tool.uv.sources` ([#5801](https://github.com/astral-sh/uv/pull/5801)) +- Add `uv add --no-sync` and `uv remove --no-sync` ([#5881](https://github.com/astral-sh/uv/pull/5881)) +- Add a guide for publishing packages ([#5794](https://github.com/astral-sh/uv/pull/5794)) +- Address some feedback in the tools documentation ([#5827](https://github.com/astral-sh/uv/pull/5827)) +- Avoid lingering dev and optional dependencies in `uv tree` ([#5766](https://github.com/astral-sh/uv/pull/5766)) +- Avoid mismatch in `--locked` with Git dependencies ([#5865](https://github.com/astral-sh/uv/pull/5865)) +- Avoid panic when re-locking with precise commit ([#5863](https://github.com/astral-sh/uv/pull/5863)) +- Avoid using already-installed tools on `--upgrade` + or `--reinstall` ([#5799](https://github.com/astral-sh/uv/pull/5799)) +- Better workspace documentation ([#5728](https://github.com/astral-sh/uv/pull/5728)) +- Collapse policies section into reference ([#5696](https://github.com/astral-sh/uv/pull/5696)) +- Don't show deprecated warning in `uvx --isolated` ([#5798](https://github.com/astral-sh/uv/pull/5798)) +- Ensure `python`-to-`pythonX.Y` symlink exists in downloaded + Pythons ([#5849](https://github.com/astral-sh/uv/pull/5849)) +- Fix CLI reference URLs to subcommands ([#5722](https://github.com/astral-sh/uv/pull/5722)) +- Fix some console blocks in the environment doc ([#5826](https://github.com/astral-sh/uv/pull/5826)) +- Group resolver options in lockfile ([#5853](https://github.com/astral-sh/uv/pull/5853)) +- Improve CLI documentation for `uv tree` ([#5870](https://github.com/astral-sh/uv/pull/5870)) +- Improve documentation for `uv init` CLI ([#5862](https://github.com/astral-sh/uv/pull/5862)) +- Improvements to the documentation ([#5718](https://github.com/astral-sh/uv/pull/5718)) +- Link to the GitHub integration guide from the cache concept ([#5828](https://github.com/astral-sh/uv/pull/5828)) +- Make some minor tweaks to the docs ([#5786](https://github.com/astral-sh/uv/pull/5786)) +- Omit local segments when adding uv add bounds ([#5753](https://github.com/astral-sh/uv/pull/5753)) +- Remove top-level bar from Python installs ([#5788](https://github.com/astral-sh/uv/pull/5788)) +- Replace `uv help python` references in CLI documentation with + links ([#5871](https://github.com/astral-sh/uv/pull/5871)) +- Respect `.python-version` in `--isolated` runs ([#5741](https://github.com/astral-sh/uv/pull/5741)) +- Respect malformed `.dist-info` directories in tool installs ([#5756](https://github.com/astral-sh/uv/pull/5756)) +- Reuse existing virtualenvs with `--no-project` ([#5846](https://github.com/astral-sh/uv/pull/5846)) +- Rewrite resolver docs ([#5723](https://github.com/astral-sh/uv/pull/5723)) +- Show default and possible options in CLI reference documentation ([#5720](https://github.com/astral-sh/uv/pull/5720)) +- Skip files when detecting workspace members ([#5735](https://github.com/astral-sh/uv/pull/5735)) +- Support empty dependencies in PEP 723 scripts ([#5864](https://github.com/astral-sh/uv/pull/5864)) +- Support uv add `--dev` in virtual workspaces ([#5821](https://github.com/astral-sh/uv/pull/5821)) +- Update documentation index ([#5824](https://github.com/astral-sh/uv/pull/5824)) +- Update resolver reference documentation ([#5823](https://github.com/astral-sh/uv/pull/5823)) +- Update the override section with some content from the README ([#5820](https://github.com/astral-sh/uv/pull/5820)) +- Update the resolution concept documentation ([#5813](https://github.com/astral-sh/uv/pull/5813)) +- Use cache for Python install temporary directories ([#5787](https://github.com/astral-sh/uv/pull/5787)) +- Use lockfile directly in `uv tree` ([#5761](https://github.com/astral-sh/uv/pull/5761)) +- Use uv installer during build ([#5854](https://github.com/astral-sh/uv/pull/5854)) +- Filter `uv tree` to current platform by default ([#5763](https://github.com/astral-sh/uv/pull/5763)) +- Redact registry credentials in lockfile ([#5803](https://github.com/astral-sh/uv/pull/5803)) +- Show extras and dev dependencies in `uv tree` ([#5768](https://github.com/astral-sh/uv/pull/5768)) +- Support `--python-platform` in `uv tree` ([#5764](https://github.com/astral-sh/uv/pull/5764)) +- Add help heading for `--no-sources` ([#5833](https://github.com/astral-sh/uv/pull/5833)) +- Avoid reusing incompatible distributions across lock and sync ([#5845](https://github.com/astral-sh/uv/pull/5845)) +- Fix broken anchor links in docs about dependencies ([#5769](https://github.com/astral-sh/uv/pull/5769)) +- Fix the default value of python-preference in + docs/reference/settings.md ([#5755](https://github.com/astral-sh/uv/pull/5755)) +- Improve CLI documentation for `uv run` ([#5841](https://github.com/astral-sh/uv/pull/5841)) +- Remove some trailing backticks from the docs ([#5781](https://github.com/astral-sh/uv/pull/5781)) +- Use `uvx` in docs serve contributing command ([#5795](https://github.com/astral-sh/uv/pull/5795)) + ## 0.2.33 ### Enhancements @@ -83,7 +228,8 @@ ### CLI - Add help sections for global options ([#5665](https://github.com/astral-sh/uv/pull/5665)) -- Move `--python` and `--python-version` into the "Python options" help ([#5691](https://github.com/astral-sh/uv/pull/5691)) +- Move `--python` and `--python-version` into the "Python options" + help ([#5691](https://github.com/astral-sh/uv/pull/5691)) - Show help specific options (i.e. `--no-pager`) in `uv help` ([#5516](https://github.com/astral-sh/uv/pull/5516)) - Update top-level command descriptions ([#5706](https://github.com/astral-sh/uv/pull/5706)) @@ -96,6 +242,43 @@ - Don't use equals signs for CLI options with values ([#5704](https://github.com/astral-sh/uv/pull/5704)) +### Preview features + +- Add `--package` to `uv sync` ([#5656](https://github.com/astral-sh/uv/pull/5656)) +- Add documentation for caching the uv cache in GHA ([#5663](https://github.com/astral-sh/uv/pull/5663)) +- Avoid persisting `uv add` calls that result in resolver errors ([#5664](https://github.com/astral-sh/uv/pull/5664)) +- Bold active nav links for accessibility ([#5673](https://github.com/astral-sh/uv/pull/5673)) +- Check idempotence in packse lock scenarios ([#5485](https://github.com/astral-sh/uv/pull/5485)) +- Detect python version from python project by default in `uv venv` ([#5592](https://github.com/astral-sh/uv/pull/5592)) +- Drop badges from docs landing ([#5617](https://github.com/astral-sh/uv/pull/5617)) +- Fix non-registry serialization for receipts ([#5668](https://github.com/astral-sh/uv/pull/5668)) +- Generate CLI reference for documentation ([#5685](https://github.com/astral-sh/uv/pull/5685)) +- Improve copy of console command examples ([#5397](https://github.com/astral-sh/uv/pull/5397)) +- Improve the project guide ([#5626](https://github.com/astral-sh/uv/pull/5626)) +- Improve the Python version concepts documentation ([#5638](https://github.com/astral-sh/uv/pull/5638)) +- Improve the dependency concept documentation ([#5658](https://github.com/astral-sh/uv/pull/5658)) +- Include newly-added optional dependencies in lockfile ([#5686](https://github.com/astral-sh/uv/pull/5686)) +- Initialize the cache in `uv init` ([#5669](https://github.com/astral-sh/uv/pull/5669)) +- Limit sync after `uv add` ([#5705](https://github.com/astral-sh/uv/pull/5705)) +- Move pip-compatibility doc into pip interface section ([#5670](https://github.com/astral-sh/uv/pull/5670)) +- Move settings reference to reference section ([#5689](https://github.com/astral-sh/uv/pull/5689)) +- Omit the nav bar title when it has no use ([#5316](https://github.com/astral-sh/uv/pull/5316)) +- Omit transitive development dependencies from workspace lockfile ([#5646](https://github.com/astral-sh/uv/pull/5646)) +- Prioritize forks based on Python narrowing ([#5642](https://github.com/astral-sh/uv/pull/5642)) +- Prioritize forks based on upper bounds ([#5643](https://github.com/astral-sh/uv/pull/5643)) +- Prompt an early jump to the feature overview during first steps ([#5655](https://github.com/astral-sh/uv/pull/5655)) +- Remove breadcrumbs for navigation ([#5676](https://github.com/astral-sh/uv/pull/5676)) +- Replace `--python-preference installed` with `managed` ([#5637](https://github.com/astral-sh/uv/pull/5637)) +- Set lower bounds in `uv add` ([#5688](https://github.com/astral-sh/uv/pull/5688)) +- Simplify GHA `UV_SYSTEM_PYTHON` examples ([#5659](https://github.com/astral-sh/uv/pull/5659)) +- Support legacy tool receipts with PEP 508 requirements ([#5679](https://github.com/astral-sh/uv/pull/5679)) +- Unhide the experimental top-level commands ([#5700](https://github.com/astral-sh/uv/pull/5700)) +- Use "uv" for title of index instead of "Introduction" ([#5677](https://github.com/astral-sh/uv/pull/5677)) +- Use fork markers and fork preferences in resolution with lockfile ([#5481](https://github.com/astral-sh/uv/pull/5481)) +- Use full requirement when serializing receipt ([#5494](https://github.com/astral-sh/uv/pull/5494)) +- Use intersection rather than union for `requires-python` ([#5644](https://github.com/astral-sh/uv/pull/5644)) +- `uvx` warn when no executables are available ([#5675](https://github.com/astral-sh/uv/pull/5675)) + ## 0.2.32 ### Enhancements @@ -114,13 +297,32 @@ - Avoid setting executable permissions on files we might not own ([#5582](https://github.com/astral-sh/uv/pull/5582)) - Statically link liblzma ([#5577](https://github.com/astral-sh/uv/pull/5577)) +### Preview features + +- Implement `uv run --directory` ([#5566](https://github.com/astral-sh/uv/pull/5566)) +- Add `--isolated` support to `uv run` ([#5471](https://github.com/astral-sh/uv/pull/5471)) +- Add `--no-workspace` and `--no-project` in lieu of `--isolated` ([#5465](https://github.com/astral-sh/uv/pull/5465)) +- Add documentation for cache clearing ([#5517](https://github.com/astral-sh/uv/pull/5517)) +- Add forks to lockfile, don't read them yet ([#5480](https://github.com/astral-sh/uv/pull/5480)) +- Add links to documentation footer ([#5616](https://github.com/astral-sh/uv/pull/5616)) +- Error when multiple git references are provided in `uv add` ([#5502](https://github.com/astral-sh/uv/pull/5502)) +- Improvements to the project concept docs ([#5634](https://github.com/astral-sh/uv/pull/5634)) +- List installed tools when no command is provided to `uv tool run` ([#5553](https://github.com/astral-sh/uv/pull/5553)) +- Make `--directory` a global argument ([#5579](https://github.com/astral-sh/uv/pull/5579)) +- Reframe use of `--isolated` in `tool run` ([#5470](https://github.com/astral-sh/uv/pull/5470)) +- Remove `--isolated` usages from the `uv python` API ([#5468](https://github.com/astral-sh/uv/pull/5468)) +- Rename more use of "lock file" to "lockfile" ([#5629](https://github.com/astral-sh/uv/pull/5629)) +- Suppress resolver output by default in `uv run` and `uv tool run` ([#5580](https://github.com/astral-sh/uv/pull/5580)) +- Wrap documentation at 100 characters ([#5635](https://github.com/astral-sh/uv/pull/5635)) + ## 0.2.31 ### Enhancements - Add `--relocatable` flag to `uv venv` ([#5515](https://github.com/astral-sh/uv/pull/5515)) - Support `xz`-compressed packages ([#5513](https://github.com/astral-sh/uv/pull/5513)) -- Warn, but don't error, when encountering tilde `.dist-info` directories ([#5520](https://github.com/astral-sh/uv/pull/5520)) +- Warn, but don't error, when encountering tilde `.dist-info` + directories ([#5520](https://github.com/astral-sh/uv/pull/5520)) ### Bug fixes @@ -133,6 +335,17 @@ - Retry on incomplete body ([#5555](https://github.com/astral-sh/uv/pull/5555)) - Ban `--no-cache` with `--link-mode=symlink` ([#5519](https://github.com/astral-sh/uv/pull/5519)) +### Preview features + +- Allow `uv pip install` for unmanaged projects ([#5504](https://github.com/astral-sh/uv/pull/5504)) +- Compare simplified paths in Windows exclusion tests ([#5525](https://github.com/astral-sh/uv/pull/5525)) +- Respect reinstalls in cached environments ([#5499](https://github.com/astral-sh/uv/pull/5499)) +- Use `hatchling` rather than implicit `setuptools` default ([#5527](https://github.com/astral-sh/uv/pull/5527)) +- Use relocatable installs to support concurrency-safe cached + environments ([#5509](https://github.com/astral-sh/uv/pull/5509)) +- Support `--editable` installs for `uv tool` ([#5454](https://github.com/astral-sh/uv/pull/5454)) +- Fix basic case of overlapping markers ([#5488](https://github.com/astral-sh/uv/pull/5488)) + ## 0.2.30 ### Enhancements @@ -150,6 +363,16 @@ - Avoid canonicalizing executables on Windows ([#5446](https://github.com/astral-sh/uv/pull/5446)) - Set standard permissions for temporary files ([#5457](https://github.com/astral-sh/uv/pull/5457)) +### Preview features + +- Allow distributions to be absent in deserialization ([#5453](https://github.com/astral-sh/uv/pull/5453)) +- Merge identical forks ([#5405](https://github.com/astral-sh/uv/pull/5405)) +- Minor consistency fixes for code blocks ([#5437](https://github.com/astral-sh/uv/pull/5437)) +- Prefer "lockfile" to "lock file" ([#5427](https://github.com/astral-sh/uv/pull/5427)) +- Update documentation sections ([#5452](https://github.com/astral-sh/uv/pull/5452)) +- Use `sitecustomize.py` to implement environment layering ([#5462](https://github.com/astral-sh/uv/pull/5462)) +- Use stripped variants by default in Python install ([#5451](https://github.com/astral-sh/uv/pull/5451)) + ## 0.2.29 ### Enhancements @@ -167,6 +390,34 @@ - Add warning to `--link-mode=symlink` documentation ([#5387](https://github.com/astral-sh/uv/pull/5387)) +### Preview features + +- Add PyPy finder ([#5337](https://github.com/astral-sh/uv/pull/5337)) +- Add `uv init --virtual` ([#5396](https://github.com/astral-sh/uv/pull/5396)) +- Allow `uv init` in unmanaged projects ([#5372](https://github.com/astral-sh/uv/pull/5372)) +- Allow comments in `.python-version[s]` ([#5350](https://github.com/astral-sh/uv/pull/5350)) +- Always show lock updates in `uv lock` ([#5413](https://github.com/astral-sh/uv/pull/5413)) +- Improvements to the docs content ([#5426](https://github.com/astral-sh/uv/pull/5426)) +- Fix blurring from nav title box shadow ([#5374](https://github.com/astral-sh/uv/pull/5374)) +- Ignore Ctrl-C signals in `uv run` and `uv tool run` ([#5395](https://github.com/astral-sh/uv/pull/5395)) +- Ignore hidden directories in workspace discovery ([#5408](https://github.com/astral-sh/uv/pull/5408)) +- Increase padding between each nav section ([#5373](https://github.com/astral-sh/uv/pull/5373)) +- Mark `--raw-sources` as conflicting with sources-specific + arguments ([#5378](https://github.com/astral-sh/uv/pull/5378)) +- Omit empty uv.tool.dev-dependencies on `uv init` ([#5406](https://github.com/astral-sh/uv/pull/5406)) +- Omit interpreter path during `uv venv` with managed Python ([#5311](https://github.com/astral-sh/uv/pull/5311)) +- Omit interpreter path from output when using managed Python ([#5313](https://github.com/astral-sh/uv/pull/5313)) +- Reject Git CLI arguments with non-Git sources ([#5377](https://github.com/astral-sh/uv/pull/5377)) +- Retain dependency specifier in `uv add` with sources ([#5370](https://github.com/astral-sh/uv/pull/5370)) +- Show additions and removals in `uv lock` updates ([#5410](https://github.com/astral-sh/uv/pull/5410)) +- Skip 'Nothing to uninstall' message when removing dangling + environments ([#5382](https://github.com/astral-sh/uv/pull/5382)) +- Support `requirements.txt` files in `uv tool install` + and `uv tool run` ([#5362](https://github.com/astral-sh/uv/pull/5362)) +- Use env variables in Github Actions docs ([#5411](https://github.com/astral-sh/uv/pull/5411)) +- Use logo in documentation ([#5421](https://github.com/astral-sh/uv/pull/5421)) +- Warn on `requirements.txt`-provided arguments in `uv run` et al ([#5364](https://github.com/astral-sh/uv/pull/5364)) + ## 0.2.28 ### Enhancements @@ -192,11 +443,37 @@ - If multiple indices contain the same version, use the first index ([#5288](https://github.com/astral-sh/uv/pull/5288)) - Include URLs on graph edges ([#5312](https://github.com/astral-sh/uv/pull/5312)) - Match wheel tags against `Requires-Python` major-minor ([#5289](https://github.com/astral-sh/uv/pull/5289)) -- Remove Simple API cache files for alternative indexes in `cache clean` ([#5353](https://github.com/astral-sh/uv/pull/5353)) +- Remove Simple API cache files for alternative indexes + in `cache clean` ([#5353](https://github.com/astral-sh/uv/pull/5353)) - Remove extraneous `are` from wheel tag error messages ([#5303](https://github.com/astral-sh/uv/pull/5303)) - Allow conflicting pre-release strategies when forking ([#5150](https://github.com/astral-sh/uv/pull/5150)) - Use tag error rather than requires-python error for ABI filtering ([#5296](https://github.com/astral-sh/uv/pull/5296)) +### Preview features + +- Add `requires-python` to `uv init` ([#5322](https://github.com/astral-sh/uv/pull/5322)) +- Add `uv add --no-editable` ([#5246](https://github.com/astral-sh/uv/pull/5246)) +- Add constraint dependencies to pyproject.toml ([#5248](https://github.com/astral-sh/uv/pull/5248)) +- Add support for requirements files in `uv run` ([#4973](https://github.com/astral-sh/uv/pull/4973)) +- Avoid redundant members update in `uv init` ([#5321](https://github.com/astral-sh/uv/pull/5321)) +- Create member `pyproject.toml` prior to workspace discovery ([#5317](https://github.com/astral-sh/uv/pull/5317)) +- Fix `uv init .` ([#5330](https://github.com/astral-sh/uv/pull/5330)) +- Fix `uv init` creation of a sub-package by path ([#5247](https://github.com/astral-sh/uv/pull/5247)) +- Fix colors in `uv tool run` suggestion ([#5267](https://github.com/astral-sh/uv/pull/5267)) +- Improve consistency of `tool` CLI ([#5326](https://github.com/astral-sh/uv/pull/5326)) +- Make tool install robust to malformed receipts ([#5305](https://github.com/astral-sh/uv/pull/5305)) +- Reduce spacing between nav items ([#5310](https://github.com/astral-sh/uv/pull/5310)) +- Respect exclusions in `uv init` ([#5318](https://github.com/astral-sh/uv/pull/5318)) +- Store resolution options in lockfile ([#5264](https://github.com/astral-sh/uv/pull/5264)) +- Use backticks in project init message ([#5302](https://github.com/astral-sh/uv/pull/5302)) +- Ignores workspace when `--isolated` flag is used in `uv init` ([#5290](https://github.com/astral-sh/uv/pull/5290)) +- Normalize directory names in `uv init` ([#5292](https://github.com/astral-sh/uv/pull/5292)) +- Avoid project discovery in `uv python pin` if `--isolated` is + provided ([#5354](https://github.com/astral-sh/uv/pull/5354)) +- Show symbolic links in `uv python list` ([#5343](https://github.com/astral-sh/uv/pull/5343)) +- Discover workspace from target path in `uv init` ([#5250](https://github.com/astral-sh/uv/pull/5250)) +- Do not create nested workspace in `uv init` ([#5293](https://github.com/astral-sh/uv/pull/5293)) + ## 0.2.27 ### Enhancements @@ -221,6 +498,41 @@ - Don't apply irrelevant constraints when validating site-packages ([#5231](https://github.com/astral-sh/uv/pull/5231)) - Respect local versions for all user requirements ([#5232](https://github.com/astral-sh/uv/pull/5232)) +### Preview features + +- Add `--frozen` to `uv add`, `uv remove`, and `uv tree` ([#5214](https://github.com/astral-sh/uv/pull/5214)) +- Add `--locked` and `--frozen` to `uv run` CLI ([#5196](https://github.com/astral-sh/uv/pull/5196)) +- Add `uv tool dir --bin` to show executable directory ([#5160](https://github.com/astral-sh/uv/pull/5160)) +- Add `uv tool list --show-paths` to show install paths ([#5164](https://github.com/astral-sh/uv/pull/5164)) +- Add color to `python pin` CLI ([#5215](https://github.com/astral-sh/uv/pull/5215)) +- Added a way to inspect installation scripts on Powershell( + Windows) ([#5157](https://github.com/astral-sh/uv/pull/5157)) +- Avoid TOCTOU errors in `.python-version` reads ([#5223](https://github.com/astral-sh/uv/pull/5223)) +- Only show the Python installed on the system if `--python-preference only-system` is + specified ([#5219](https://github.com/astral-sh/uv/pull/5219)) +- Check `python pin` compatibility with `Requires-Python` ([#4989](https://github.com/astral-sh/uv/pull/4989)) +- Enforce hashes in lockfile install ([#5170](https://github.com/astral-sh/uv/pull/5170)) +- Fix reference to `uv run` in `uv tree` CLI ([#5216](https://github.com/astral-sh/uv/pull/5216)) +- Handle universal vs. fork markers with `ResolverMarkers` ([#5099](https://github.com/astral-sh/uv/pull/5099)) +- Implement `uv init` ([#4791](https://github.com/astral-sh/uv/pull/4791)) +- Make Python install robust to individual failures ([#5199](https://github.com/astral-sh/uv/pull/5199)) +- Make registry hashes optional in the lockfile ([#5166](https://github.com/astral-sh/uv/pull/5166)) +- Merge extras in lockfile ([#5181](https://github.com/astral-sh/uv/pull/5181)) +- Move integration guide docs and edit Azure integration guide ([#5117](https://github.com/astral-sh/uv/pull/5117)) +- Process completed Python installs and uninstalls as a stream ([#5203](https://github.com/astral-sh/uv/pull/5203)) +- Skip invalid tools in `uv tool list` ([#5156](https://github.com/astral-sh/uv/pull/5156)) +- Touch-ups to tools guide ([#5202](https://github.com/astral-sh/uv/pull/5202)) +- Use +- install output for Python versions ([#5201](https://github.com/astral-sh/uv/pull/5201)) +- Use display representation for download error ([#5173](https://github.com/astral-sh/uv/pull/5173)) +- Use specialized error message for invalid Python install / uninstall + requests ([#5171](https://github.com/astral-sh/uv/pull/5171)) +- Use the strongest hash in the lockfile ([#5167](https://github.com/astral-sh/uv/pull/5167)) +- Write project guide ([#5195](https://github.com/astral-sh/uv/pull/5195)) +- Write tools concept document ([#5207](https://github.com/astral-sh/uv/pull/5207)) +- Fix reference to `projects.md` ([#5154](https://github.com/astral-sh/uv/pull/5154)) +- Fixes to the settings documentation ([#5177](https://github.com/astral-sh/uv/pull/5177)) +- Set exact version specifiers when resolving from lockfile ([#5193](https://github.com/astral-sh/uv/pull/5193)) + ## 0.2.26 ### CLI @@ -233,22 +545,35 @@ ### Bug fixes -- Download wheel to disk when streaming unzip failed with HTTP streaming error ([#5094](https://github.com/astral-sh/uv/pull/5094)) +- Download wheel to disk when streaming unzip failed with HTTP streaming + error ([#5094](https://github.com/astral-sh/uv/pull/5094)) - Filter out invalid wheels based on `requires-python` ([#5084](https://github.com/astral-sh/uv/pull/5084)) - Filter out none ABI wheels with mismatched Python versions ([#5087](https://github.com/astral-sh/uv/pull/5087)) - Lock Git cache on resolve ([#5051](https://github.com/astral-sh/uv/pull/5051)) -- Change order of `pip compile` command checks to handle exact argument first ([#5111](https://github.com/astral-sh/uv/pull/5111)) +- Change order of `pip compile` command checks to handle exact argument + first ([#5111](https://github.com/astral-sh/uv/pull/5111)) ### Documentation - Document that `--universal` implies `--no-strip-markers` ([#5121](https://github.com/astral-sh/uv/pull/5121)) +### Preview features + +- Indicate that `uv lock --upgrade` has updated the lock file ([#5110](https://github.com/astral-sh/uv/pull/5110)) +- Sort managed Python installations by version ([#5140](https://github.com/astral-sh/uv/pull/5140)) +- Support workspace to workspace path dependencies ([#4833](https://github.com/astral-sh/uv/pull/4833)) +- Allow conflicting locals when forking ([#5104](https://github.com/astral-sh/uv/pull/5104)) +- Rework `pyproject.toml` reformatting to respect original + indentation ([#5075](https://github.com/astral-sh/uv/pull/5075)) + ## 0.2.25 ### Enhancements -- Include PyPy-specific executables when creating virtual environments with `uv venv` ([#5047](https://github.com/astral-sh/uv/pull/5047)) -- Add a custom error message for `--no-build-isolation` `torch` dependencies ([#5041](https://github.com/astral-sh/uv/pull/5041)) +- Include PyPy-specific executables when creating virtual environments + with `uv venv` ([#5047](https://github.com/astral-sh/uv/pull/5047)) +- Add a custom error message for `--no-build-isolation` `torch` + dependencies ([#5041](https://github.com/astral-sh/uv/pull/5041)) - Improve missing `wheel` error message with `--no-build-isolation` ([#4964](https://github.com/astral-sh/uv/pull/4964)) ### CLI @@ -259,22 +584,50 @@ ### Bug fixes -- Fall back to streaming wheel when `Content-Length` header is absent ([#5000](https://github.com/astral-sh/uv/pull/5000)) +- Fall back to streaming wheel when `Content-Length` header is + absent ([#5000](https://github.com/astral-sh/uv/pull/5000)) - Fix substring marker expression disjointness checks ([#4998](https://github.com/astral-sh/uv/pull/4998)) - Lock directories to synchronize wheel-install copies ([#4978](https://github.com/astral-sh/uv/pull/4978)) - Normalize out complementary == or != markers ([#5050](https://github.com/astral-sh/uv/pull/5050)) -- Retry on permission errors when persisting extracted source distributions to the cache ([#5076](https://github.com/astral-sh/uv/pull/5076)) +- Retry on permission errors when persisting extracted source distributions to the + cache ([#5076](https://github.com/astral-sh/uv/pull/5076)) - Set absolute URLs prior to uploading to PyPI ([#5038](https://github.com/astral-sh/uv/pull/5038)) - Exclude `--upgrade-package` from the `pip compile` header ([#5032](https://github.com/astral-sh/uv/pull/5032)) -- Exclude `--upgrade-package` when option and value are passed as a single argument ([#5033](https://github.com/astral-sh/uv/pull/5033)) -- Add split to cover marker universe when existing splits are incomplete ([#5074](https://github.com/astral-sh/uv/pull/5074)) +- Exclude `--upgrade-package` when option and value are passed as a single + argument ([#5033](https://github.com/astral-sh/uv/pull/5033)) +- Add split to cover marker universe when existing splits are + incomplete ([#5074](https://github.com/astral-sh/uv/pull/5074)) - Use correct `pyproject.toml` path in warnings ([#5069](https://github.com/astral-sh/uv/pull/5069)) ### Documentation -- Fix `CONTRIBUTING.md` instructions to install multiple Python versions ([#5015](https://github.com/astral-sh/uv/pull/5015)) +- Fix `CONTRIBUTING.md` instructions to install multiple Python + versions ([#5015](https://github.com/astral-sh/uv/pull/5015)) - Use versioned badges when uploading to PyPI ([#5039](https://github.com/astral-sh/uv/pull/5039)) +### Preview features + +- Add documentation for running scripts ([#4968](https://github.com/astral-sh/uv/pull/4968)) +- Add guide for tools ([#4982](https://github.com/astral-sh/uv/pull/4982)) +- Allow URL dependencies in tool run `--from` ([#5002](https://github.com/astral-sh/uv/pull/5002)) +- Add guide for authenticating to Azure Artifacts ([#4857](https://github.com/astral-sh/uv/pull/4857)) +- Improve rc file detection based on rustup ([#5026](https://github.com/astral-sh/uv/pull/5026)) +- Rename `python install --force` parameter to `--reinstall` ([#4999](https://github.com/astral-sh/uv/pull/4999)) +- Use lockfile to prefill resolver index ([#4495](https://github.com/astral-sh/uv/pull/4495)) +- `uv tool install` hint the correct when the executable is + available ([#5019](https://github.com/astral-sh/uv/pull/5019)) +- `uv tool run` error messages references `uvx` when appropriate ([#5014](https://github.com/astral-sh/uv/pull/5014)) +- `uvx` warns when requested executable is not provided by the + package [#5071](https://github.com/astral-sh/uv/pull/5071)) +- Exit with zero when `uv tool install` request is already + satisfied ([#4986](https://github.com/astral-sh/uv/pull/4986)) +- Respect the libc of the execution environment + with `uv python list` ([#5036](https://github.com/astral-sh/uv/pull/5036)) +- Update standalone Pythons to include 3.12.4 ([#5042](https://github.com/astral-sh/uv/pull/5042)) +- `uv tool run` suggest valid commands when command is not found ([#4997](https://github.com/astral-sh/uv/pull/4997)) +- Add Windows path updates for `uv tool` ([#5029](https://github.com/astral-sh/uv/pull/5029)) +- Add a command to append uv's binary directory to PATH ([#4975](https://github.com/astral-sh/uv/pull/4975)) + ## 0.2.24 ### Enhancements @@ -305,6 +658,27 @@ - Allow `uv` crate to be used as a library ([#4642](https://github.com/astral-sh/uv/pull/4642)) +### Preview features + +- Add Python installation guide ([#4942](https://github.com/astral-sh/uv/pull/4942)) +- Add `uv python pin` ([#4950](https://github.com/astral-sh/uv/pull/4950)) +- Add command-separation for Python discovery display ([#4916](https://github.com/astral-sh/uv/pull/4916)) +- Avoid debug error for `uv run` with unknown Python version ([#4913](https://github.com/astral-sh/uv/pull/4913)) +- Enable `--all` to uninstall all managed Pythons ([#4932](https://github.com/astral-sh/uv/pull/4932)) +- Enable `--all` to uninstall all managed tools ([#4937](https://github.com/astral-sh/uv/pull/4937)) +- Filter out markers based on Python requirement ([#4912](https://github.com/astral-sh/uv/pull/4912)) +- Implement `uv tree` ([#4708](https://github.com/astral-sh/uv/pull/4708)) +- Improve 'any' search message during `uv python install` ([#4940](https://github.com/astral-sh/uv/pull/4940)) +- Lock for the duration of tool commands ([#4720](https://github.com/astral-sh/uv/pull/4720)) +- Perform lock in `uv sync` by default ([#4839](https://github.com/astral-sh/uv/pull/4839)) +- Reinstall and recreate environments when interpreter is removed ([#4935](https://github.com/astral-sh/uv/pull/4935)) +- Respect `--isolated` in `uv python install` ([#4938](https://github.com/astral-sh/uv/pull/4938)) +- Respect resolver settings in `uv remove` ([#4930](https://github.com/astral-sh/uv/pull/4930)) +- Update "Python versions" documentation ([#4943](https://github.com/astral-sh/uv/pull/4943)) +- Warn if tool binary directory is not on path ([#4951](https://github.com/astral-sh/uv/pull/4951)) +- Avoid reparsing wheel URLs ([#4947](https://github.com/astral-sh/uv/pull/4947)) +- Avoid serializing if lockfile does not change ([#4945](https://github.com/astral-sh/uv/pull/4945)) + ## 0.2.23 ### Enhancements @@ -318,6 +692,20 @@ - Respect `requires-python` when prefetching ([#4900](https://github.com/astral-sh/uv/pull/4900)) - Partially revert `Requires-Python` version narrowing ([#4902](https://github.com/astral-sh/uv/pull/4902)) +### Preview features + +- Avoid creating cache directories in tool directory ([#4868](https://github.com/astral-sh/uv/pull/4868)) +- Add progress bar when downloading python ([#4840](https://github.com/astral-sh/uv/pull/4840)) +- Add some decoration to tool CLI ([#4865](https://github.com/astral-sh/uv/pull/4865)) +- Add some text decoration to toolchain CLI ([#4882](https://github.com/astral-sh/uv/pull/4882)) +- Add user-facing output to indicate PEP 723 script ([#4881](https://github.com/astral-sh/uv/pull/4881)) +- Ensure Pythons are aligned in `uv python list` ([#4884](https://github.com/astral-sh/uv/pull/4884)) +- Fix always-plural message in uv python install ([#4866](https://github.com/astral-sh/uv/pull/4866)) +- Skip installing `--with` requirements if present in base + environment ([#4879](https://github.com/astral-sh/uv/pull/4879)) +- Sort dependencies before wheels and source distributions ([#4897](https://github.com/astral-sh/uv/pull/4897)) +- Improve logging during resolver forking ([#4894](https://github.com/astral-sh/uv/pull/4894)) + ## 0.2.22 ### CLI @@ -337,17 +725,46 @@ - Avoid hangs before exiting CLI ([#4793](https://github.com/astral-sh/uv/pull/4793)) - Preserve verbatim URLs for `--find-links` ([#4838](https://github.com/astral-sh/uv/pull/4838)) +### Preview features + +- Always use base interpreter for cached environments ([#4805](https://github.com/astral-sh/uv/pull/4805)) +- Cache tool environments in `uv tool run` ([#4784](https://github.com/astral-sh/uv/pull/4784)) +- Check hash of downloaded python toolchain ([#4806](https://github.com/astral-sh/uv/pull/4806)) +- Remove incompatible wheels from `uv.lock` ([#4799](https://github.com/astral-sh/uv/pull/4799)) +- `uv cache prune` removes all cached environments ([#4845](https://github.com/astral-sh/uv/pull/4845)) +- Add dedicated help menu for `uvx` ([#4770](https://github.com/astral-sh/uv/pull/4770)) +- Change "toolchain" to "python" ([#4735](https://github.com/astral-sh/uv/pull/4735)) +- Create empty environment for `uv run --isolated` ([#4849](https://github.com/astral-sh/uv/pull/4849)) +- Deduplicate when install or uninstall python ([#4841](https://github.com/astral-sh/uv/pull/4841)) +- Require at least one target for toolchain uninstalls ([#4820](https://github.com/astral-sh/uv/pull/4820)) +- Resolve requirements prior to nuking tool environments ([#4788](https://github.com/astral-sh/uv/pull/4788)) +- Tweak installation language in toolchain install ([#4811](https://github.com/astral-sh/uv/pull/4811)) +- Use already-installed tools in `uv tool run` ([#4750](https://github.com/astral-sh/uv/pull/4750)) +- Use cached environments in PEP 723 execution ([#4789](https://github.com/astral-sh/uv/pull/4789)) +- Use optimized versions of managed Python on Linux ([#4775](https://github.com/astral-sh/uv/pull/4775)) +- Fill Python requests with platform information during automatic + fetches ([#4810](https://github.com/astral-sh/uv/pull/4810)) +- Remove installed python for force installation ([#4807](https://github.com/astral-sh/uv/pull/4807)) +- Add tool version to list command ([#4674](https://github.com/astral-sh/uv/pull/4674)) +- Add entrypoints to tool list ([#4661](https://github.com/astral-sh/uv/pull/4661)) + ## 0.2.21 -- Fix issue where standalone installer failed to due missing `uvx.exe` binary on Windows ([#4756](https://github.com/astral-sh/uv/pull/4756)) +- Fix issue where standalone installer failed to due missing `uvx.exe` binary on + Windows ([#4756](https://github.com/astral-sh/uv/pull/4756)) ### CLI - Differentiate `freeze` and `list` help text ([#4751](https://github.com/astral-sh/uv/pull/4751)) +### Preview features + +- Replace tool environments on updated Python request ([#4746](https://github.com/astral-sh/uv/pull/4746)) + ## 0.2.20 -- Fix issue where the standalone installer failed due to a missing `uvx` binary ([#4743](https://github.com/astral-sh/uv/pull/4743)) +- Fix issue where the standalone installer failed due to a missing `uvx` + binary ([#4743](https://github.com/astral-sh/uv/pull/4743)) ## 0.2.19 @@ -369,6 +786,30 @@ - Narrow `requires-python` requirement in resolver forks ([#4707](https://github.com/astral-sh/uv/pull/4707)) - Fix bug when pruning the last package in `uv pip tree` ([#4652](https://github.com/astral-sh/uv/pull/4652)) +### Preview features + +- Remove dangling environments in `uv tool uninstall` ([#4740](https://github.com/astral-sh/uv/pull/4740)) +- Respect upgrades in `uv tool install` ([#4736](https://github.com/astral-sh/uv/pull/4736)) +- Add PEP 723 support to `uv run` ([#4656](https://github.com/astral-sh/uv/pull/4656)) +- Add `tool dir` and `toolchain dir` commands ([#4695](https://github.com/astral-sh/uv/pull/4695)) +- Omit `pythonX.Y` segment in stdlib path for managed toolchains on + Windows ([#4727](https://github.com/astral-sh/uv/pull/4727)) +- Add `uv toolchain uninstall` ([#4646](https://github.com/astral-sh/uv/pull/4646)) +- Add `uvx` alias for `uv tool run` ([#4632](https://github.com/astral-sh/uv/pull/4632)) +- Allow configuring the toolchain fetch strategy ([#4601](https://github.com/astral-sh/uv/pull/4601)) +- Drop `prefer` prefix from `toolchain-preference` values ([#4602](https://github.com/astral-sh/uv/pull/4602)) +- Enable projects to opt-out of workspace management ([#4565](https://github.com/astral-sh/uv/pull/4565)) +- Fetch managed toolchains if necessary in `uv tool install` + and `uv tool run` ([#4717](https://github.com/astral-sh/uv/pull/4717)) +- Fix tool dist-info directory normalization ([#4686](https://github.com/astral-sh/uv/pull/4686)) +- Lock the toolchains directory during toolchain operations ([#4733](https://github.com/astral-sh/uv/pull/4733)) +- Log when we start solving a fork ([#4684](https://github.com/astral-sh/uv/pull/4684)) +- Reinstall entrypoints with `--force` ([#4697](https://github.com/astral-sh/uv/pull/4697)) +- Respect data scripts in `uv tool install` ([#4693](https://github.com/astral-sh/uv/pull/4693)) +- Set fork solution as preference when resolving ([#4662](https://github.com/astral-sh/uv/pull/4662)) +- Show dedicated message for tools with no entrypoints ([#4694](https://github.com/astral-sh/uv/pull/4694)) +- Support unnamed requirements in `uv tool install` ([#4716](https://github.com/astral-sh/uv/pull/4716)) + ## 0.2.18 ### CLI @@ -391,17 +832,36 @@ - Explicitly mention use of seed packages during `uv venv --seed` ([#4588](https://github.com/astral-sh/uv/pull/4588)) +### Preview features + +- Add `uv tool list` ([#4630](https://github.com/astral-sh/uv/pull/4630)) +- Add `uv tool uninstall` ([#4641](https://github.com/astral-sh/uv/pull/4641)) +- Add support for specifying `name@version` in `uv tool run` ([#4572](https://github.com/astral-sh/uv/pull/4572)) +- Allow `uv add` to specify optional dependency groups ([#4607](https://github.com/astral-sh/uv/pull/4607)) +- Allow the package spec to be passed positionally + in `uv tool install` ([#4564](https://github.com/astral-sh/uv/pull/4564)) +- Avoid infinite loop for cyclic installs ([#4633](https://github.com/astral-sh/uv/pull/4633)) +- Indent wheels like dependencies in the lockfile ([#4582](https://github.com/astral-sh/uv/pull/4582)) +- Sync all packages in a virtual workspace ([#4636](https://github.com/astral-sh/uv/pull/4636)) +- Use inline table for dependencies in lockfile ([#4581](https://github.com/astral-sh/uv/pull/4581)) +- Make `source` field in lock file more structured ([#4627](https://github.com/astral-sh/uv/pull/4627)) + ## 0.2.17 ### Bug fixes - Avoid enforcing extra-only constraints ([#4570](https://github.com/astral-sh/uv/pull/4570)) +### Preview features + +- Add `--extra` to `uv add` and enable fine-grained updates ([#4566](https://github.com/astral-sh/uv/pull/4566)) + ## 0.2.16 ### Enhancements -- Add a universal resolution mode to `uv pip compile` with `--universal` ([#4505](https://github.com/astral-sh/uv/pull/4505)) +- Add a universal resolution mode to `uv pip compile` + with `--universal` ([#4505](https://github.com/astral-sh/uv/pull/4505)) - Add support for `--no-strip-markers` in `uv pip compile` output ([#4503](https://github.com/astral-sh/uv/pull/4503)) - Add `--no-dedupe` support to `uv pip tree` ([#4449](https://github.com/astral-sh/uv/pull/4449)) @@ -421,6 +881,19 @@ - Skip submodule update for fresh clones ([#4482](https://github.com/astral-sh/uv/pull/4482)) - Use shared client in Git fetch implementation ([#4487](https://github.com/astral-sh/uv/pull/4487)) +### Preview features + +- Add `--package` argument to `uv add` and `uv remove` ([#4556](https://github.com/astral-sh/uv/pull/4556)) +- Add `uv tool install` ([#4492](https://github.com/astral-sh/uv/pull/4492)) +- Fallback to interpreter discovery in `uv run` ([#4549](https://github.com/astral-sh/uv/pull/4549)) +- Make `uv.sources` without `--preview` non-fatal ([#4558](https://github.com/astral-sh/uv/pull/4558)) +- Remove non-existent extras from lockfile ([#4479](https://github.com/astral-sh/uv/pull/4479)) +- Support conflicting URL in separate forks ([#4435](https://github.com/astral-sh/uv/pull/4435)) +- Automatically detect workspace packages in `uv add` ([#4557](https://github.com/astral-sh/uv/pull/4557)) +- Omit `distribution.sdist` from lockfile when it is redundant ([#4528](https://github.com/astral-sh/uv/pull/4528)) +- Remove `source` and `version` from lock file when unambiguous ([#4513](https://github.com/astral-sh/uv/pull/4513)) +- Allow `uv lock` to read overrides from `tool.uv` (#4108) ([#4369](https://github.com/astral-sh/uv/pull/4369)) + ## 0.2.15 ### Enhancements @@ -447,7 +920,8 @@ ### Enhancements -- Support toolchain requests with platform-tag style Python implementations and version ([#4407](https://github.com/astral-sh/uv/pull/4407)) +- Support toolchain requests with platform-tag style Python implementations and + version ([#4407](https://github.com/astral-sh/uv/pull/4407)) ### CLI @@ -455,7 +929,18 @@ ### Bug fixes -- Treat mismatched directory and file urls as unsatisfied requirements ([#4393](https://github.com/astral-sh/uv/pull/4393)) +- Treat mismatched directory and file urls as unsatisfied + requirements ([#4393](https://github.com/astral-sh/uv/pull/4393)) + +### Preview features + +- Expose `toolchain-preference` as a CLI and configuration file + option ([#4424](https://github.com/astral-sh/uv/pull/4424)) +- Improve handling of command arguments in `uv run` + and `uv tool run` ([#4404](https://github.com/astral-sh/uv/pull/4404)) +- Add `tool.uv.sources` support for `uv add` ([#4406](https://github.com/astral-sh/uv/pull/4406)) +- Use correct lock path for workspace dependencies ([#4421](https://github.com/astral-sh/uv/pull/4421)) +- Filter out sibling dependencies in resolver forks ([#4415](https://github.com/astral-sh/uv/pull/4415)) ## 0.2.13 @@ -463,13 +948,23 @@ - Add resolver tracing logs for when we filter requirements ([#4381](https://github.com/astral-sh/uv/pull/4381)) +### Preview features + +- Add `--workspace` option to `uv add` ([#4362](https://github.com/astral-sh/uv/pull/4362)) +- Ignore query errors during `uv toolchain list` ([#4382](https://github.com/astral-sh/uv/pull/4382)) +- Respect `.python-version` files and fetch manged toolchains in uv project + commands ([#4361](https://github.com/astral-sh/uv/pull/4361)) +- Respect `.python-version` in `uv venv --preview` ([#4360](https://github.com/astral-sh/uv/pull/4360)) + ## 0.2.12 ### Enhancements -- Allow specific `--only-binary` and `--no-binary` packages to override `:all:` ([#4067](https://github.com/astral-sh/uv/pull/4067)) +- Allow specific `--only-binary` and `--no-binary` packages to + override `:all:` ([#4067](https://github.com/astral-sh/uv/pull/4067)) - Flatten ORs and ANDs in marker construction ([#4260](https://github.com/astral-sh/uv/pull/4260)) -- Skip invalid interpreters when searching for requested interpreter executable name ([#4308](https://github.com/astral-sh/uv/pull/4308)) +- Skip invalid interpreters when searching for requested interpreter executable + name ([#4308](https://github.com/astral-sh/uv/pull/4308)) - Display keyring stderr during queries ([#4343](https://github.com/astral-sh/uv/pull/4343)) - Allow discovery of uv binary relative to package root ([#4336](https://github.com/astral-sh/uv/pull/4336)) - Use relative path for `lib64` symlink ([#4268](https://github.com/astral-sh/uv/pull/4268)) @@ -490,8 +985,10 @@ - Allow normalization to completely eliminate markers ([#4271](https://github.com/astral-sh/uv/pull/4271)) - Avoid treating direct path archives as always dynamic ([#4283](https://github.com/astral-sh/uv/pull/4283)) - De-duplicate markers during normalization ([#4263](https://github.com/astral-sh/uv/pull/4263)) -- Fix incorrect parsing of requested Python version as empty version specifiers ([#4289](https://github.com/astral-sh/uv/pull/4289)) -- Suggest correct command to create a virtual environment when encountering externally managed interpreters ([#4314](https://github.com/astral-sh/uv/pull/4314)) +- Fix incorrect parsing of requested Python version as empty version + specifiers ([#4289](https://github.com/astral-sh/uv/pull/4289)) +- Suggest correct command to create a virtual environment when encountering externally managed + interpreters ([#4314](https://github.com/astral-sh/uv/pull/4314)) - Use consistent order for extra groups in lockfile ([#4275](https://github.com/astral-sh/uv/pull/4275)) ### Documentation @@ -499,7 +996,35 @@ - Add `pip-compile` defaults to `PIP_COMPATIBILITY.md` ([#4302](https://github.com/astral-sh/uv/pull/4302)) - Expand on `pip-compile` default differences ([#4306](https://github.com/astral-sh/uv/pull/4306)) - Tweak copy on some command-line arguments ([#4293](https://github.com/astral-sh/uv/pull/4293)) -- Move the preview changelog so the GitHub Release shows stable changes ([#4290](https://github.com/astral-sh/uv/pull/4290)) +- Move the preview changelog so the GitHub Release shows stable + changes ([#4290](https://github.com/astral-sh/uv/pull/4290)) + +### Preview features + +- Add `--force` option to `uv toolchain install` ([#4313](https://github.com/astral-sh/uv/pull/4313)) +- Add `--no-build`, `--no-build-package`, and binary variants ([#4322](https://github.com/astral-sh/uv/pull/4322)) +- Add `EXTERNALLY-MANAGED` markers to managed toolchains ([#4312](https://github.com/astral-sh/uv/pull/4312)) +- Add `uv toolchain find` ([#4206](https://github.com/astral-sh/uv/pull/4206)) +- Add persistent configuration for non-`pip` APIs ([#4294](https://github.com/astral-sh/uv/pull/4294)) +- Add support for adding/removing development dependencies ([#4327](https://github.com/astral-sh/uv/pull/4327)) +- Add support for listing system toolchains ([#4172](https://github.com/astral-sh/uv/pull/4172)) +- Add support for toolchain requests by key ([#4332](https://github.com/astral-sh/uv/pull/4332)) +- Allow multiple toolchains to be requested + in `uv toolchain install` ([#4334](https://github.com/astral-sh/uv/pull/4334)) +- Fix relative and absolute path handling in lockfiles ([#4266](https://github.com/astral-sh/uv/pull/4266)) +- Load configuration options from workspace root ([#4295](https://github.com/astral-sh/uv/pull/4295)) +- Omit project name from workspace errors ([#4299](https://github.com/astral-sh/uv/pull/4299)) +- Read Python version files during toolchain installs ([#4335](https://github.com/astral-sh/uv/pull/4335)) +- Remove extraneous installations in `uv sync` by default ([#4366](https://github.com/astral-sh/uv/pull/4366)) +- Respect `requires-python` in `uv lock` ([#4282](https://github.com/astral-sh/uv/pull/4282)) +- Respect workspace-wide `requires-python` in interpreter selection ([#4298](https://github.com/astral-sh/uv/pull/4298)) +- Support unnamed requirements in `uv add` ([#4326](https://github.com/astral-sh/uv/pull/4326)) +- Use portable slash paths in lockfile ([#4324](https://github.com/astral-sh/uv/pull/4324)) +- Use registry URL for fetching source distributions from lockfile ([#4280](https://github.com/astral-sh/uv/pull/4280)) +- `uv sync --no-clean` ([#4367](https://github.com/astral-sh/uv/pull/4367)) +- Filter dependencies by tracking markers on resolver forks ([#4339](https://github.com/astral-sh/uv/pull/4339)) +- Use `Requires-Python` to filter dependencies during universal + resolution ([#4273](https://github.com/astral-sh/uv/pull/4273)) ## 0.2.11 @@ -511,7 +1036,8 @@ ### Bug fixes -- Always install as editable when duplicate dependencies are requested ([#4208](https://github.com/astral-sh/uv/pull/4208)) +- Always install as editable when duplicate dependencies are + requested ([#4208](https://github.com/astral-sh/uv/pull/4208)) - Avoid crash with `XDG_CONFIG_HOME=/dev/null` ([#4200](https://github.com/astral-sh/uv/pull/4200)) - Improve handling of missing interpreters during discovery ([#4218](https://github.com/astral-sh/uv/pull/4218)) - Make missing `METADATA` file a recoverable error ([#4247](https://github.com/astral-sh/uv/pull/4247)) @@ -525,6 +1051,20 @@ - Re-add `aarch64-unknown-linux-gnu` binary to release assets ([#4254](https://github.com/astral-sh/uv/pull/4254)) +### Preview features + +- Add changelog for preview changes ([#4251](https://github.com/astral-sh/uv/pull/4251)) +- Allow direct URLs for dev dependencies ([#4233](https://github.com/astral-sh/uv/pull/4233)) +- Create temporary environments in dedicated cache bucket ([#4223](https://github.com/astral-sh/uv/pull/4223)) +- Improve output when an older toolchain version is already + installed ([#4248](https://github.com/astral-sh/uv/pull/4248)) +- Initial implementation of `uv add` and `uv remove` ([#4193](https://github.com/astral-sh/uv/pull/4193)) +- Refactor project interpreter request for `requires-python` + specifiers ([#4216](https://github.com/astral-sh/uv/pull/4216)) +- Replace `toolchain fetch` with `toolchain install` ([#4228](https://github.com/astral-sh/uv/pull/4228)) +- Support locking relative paths ([#4205](https://github.com/astral-sh/uv/pull/4205)) +- Warn when 'requires-python' does not include a lower bound ([#4234](https://github.com/astral-sh/uv/pull/4234)) + ## 0.2.10 ### Enhancements @@ -552,6 +1092,29 @@ - Fix PEP 508 link in preview doc `specifying_dependencies` ([#4158](https://github.com/astral-sh/uv/pull/4158)) - Clarify role of `--system` flag ([#4031](https://github.com/astral-sh/uv/pull/4031)) +### Preview features + +- Add `uv toolchain install` ([#4164](https://github.com/astral-sh/uv/pull/4164)) +- Add `uv toolchain list` ([#4163](https://github.com/astral-sh/uv/pull/4163)) +- Add extra and dev dependency validation to lockfile ([#4112](https://github.com/astral-sh/uv/pull/4112)) +- Add markers to edges rather than distributions ([#4166](https://github.com/astral-sh/uv/pull/4166)) +- Cap `Requires-Python` comparisons at the patch version ([#4150](https://github.com/astral-sh/uv/pull/4150)) +- Do not create a virtual environment when locking ([#4147](https://github.com/astral-sh/uv/pull/4147)) +- Don't panic with invalid wheel source ([#4191](https://github.com/astral-sh/uv/pull/4191)) +- Fetch managed toolchains in `uv run` ([#4143](https://github.com/astral-sh/uv/pull/4143)) +- Fix PEP 508 link in preview doc `specifying_dependencies` ([#4158](https://github.com/astral-sh/uv/pull/4158)) +- Ignore tags in universal resolution ([#4174](https://github.com/astral-sh/uv/pull/4174)) +- Implement `Toolchain::find_or_fetch` and use + in `uv venv --preview` ([#4138](https://github.com/astral-sh/uv/pull/4138)) +- Lock all packages in workspace ([#4016](https://github.com/astral-sh/uv/pull/4016)) +- Recreate project environment if `--python` or `requires-python` doesn't + match ([#3945](https://github.com/astral-sh/uv/pull/3945)) +- Respect `--find-links` in `lock` and `sync` ([#4183](https://github.com/astral-sh/uv/pull/4183)) +- Set `--dev` to default for `uv run` and `uv sync` ([#4118](https://github.com/astral-sh/uv/pull/4118)) +- Track `Markers` via a PubGrub package variant ([#4123](https://github.com/astral-sh/uv/pull/4123)) +- Use union of `requires-python` in workspace ([#4041](https://github.com/astral-sh/uv/pull/4041)) +- make universal resolver fork only when markers are disjoint ([#4135](https://github.com/astral-sh/uv/pull/4135)) + ## 0.2.9 ### Enhancements @@ -566,11 +1129,24 @@ - Add install link for specific version to README ([#4105](https://github.com/astral-sh/uv/pull/4105)) +### Preview features + +- Add support for development dependencies ([#4036](https://github.com/astral-sh/uv/pull/4036)) +- Avoid enforcing distribution ID uniqueness for extras ([#4104](https://github.com/astral-sh/uv/pull/4104)) +- Ignore upper-bounds on `Requires-Python` ([#4086](https://github.com/astral-sh/uv/pull/4086)) + ## 0.2.8 ### Bug fixes -- Fix `uv venv` handling when `VIRTUAL_ENV` refers to an non-existent environment ([#4073](https://github.com/astral-sh/uv/pull/4073)) +- Fix `uv venv` handling when `VIRTUAL_ENV` refers to an non-existent + environment ([#4073](https://github.com/astral-sh/uv/pull/4073)) + +### Preview features + +- Default to current Python minor if `Requires-Python` is absent ([#4070](https://github.com/astral-sh/uv/pull/4070)) +- Enforce `Requires-Python` when syncing ([#4068](https://github.com/astral-sh/uv/pull/4068)) +- Track supported Python range in lockfile ([#4065](https://github.com/astral-sh/uv/pull/4065)) ## 0.2.7 @@ -590,6 +1166,13 @@ - Preserve fragments when applying verbatim redirects ([#4038](https://github.com/astral-sh/uv/pull/4038)) - Avoid 'are incompatible' for singular bounded versions ([#4003](https://github.com/astral-sh/uv/pull/4003)) +### Preview features + +- Fix a bug where no warning is output when parsing of workspace settings + fails. ([#4014](https://github.com/astral-sh/uv/pull/4014)) +- Normalize extras in lockfile ([#3958](https://github.com/astral-sh/uv/pull/3958)) +- Respect `Requires-Python` in universal resolution ([#3998](https://github.com/astral-sh/uv/pull/3998)) + ## 0.2.6 ### Enhancements @@ -608,6 +1191,19 @@ - Fix reference to `--python-version` patch behavior ([#3989](https://github.com/astral-sh/uv/pull/3989)) - Avoid race condition in `OnceMap` ([#3987](https://github.com/astral-sh/uv/pull/3987)) +### Preview features + +- Add `uv run --package` ([#3864](https://github.com/astral-sh/uv/pull/3864)) +- Add index URL parameters to Project CLI ([#3984](https://github.com/astral-sh/uv/pull/3984)) +- Avoid re-adding solutions to forked state ([#3967](https://github.com/astral-sh/uv/pull/3967)) +- Draft for user docs for workspaces ([#3866](https://github.com/astral-sh/uv/pull/3866)) +- Include all extras when generating lockfile ([#3912](https://github.com/astral-sh/uv/pull/3912)) +- Remove unstable uv lock from pip interface ([#3970](https://github.com/astral-sh/uv/pull/3970)) +- Respect resolved Git SHAs in `uv lock` ([#3956](https://github.com/astral-sh/uv/pull/3956)) +- Use lockfile in `uv run` ([#3894](https://github.com/astral-sh/uv/pull/3894)) +- Use lockfile versions as resolution preferences ([#3921](https://github.com/astral-sh/uv/pull/3921)) +- Use universal resolution in `uv lock` ([#3969](https://github.com/astral-sh/uv/pull/3969)) + ## 0.2.5 ### Enhancements @@ -620,6 +1216,14 @@ - Update bundled Python URLs and add `"arm"` architecture variant ([#3855](https://github.com/astral-sh/uv/pull/3855)) +### Preview features + +- Add context to failed `uv tool run` ([#3882](https://github.com/astral-sh/uv/pull/3882)) +- Add persistent storage of installed toolchains ([#3797](https://github.com/astral-sh/uv/pull/3797)) +- Gate discovery of managed toolchains with preview ([#3835](https://github.com/astral-sh/uv/pull/3835)) +- Initial workspace support ([#3705](https://github.com/astral-sh/uv/pull/3705)) +- Move editable discovery behind `--preview` for now ([#3884](https://github.com/astral-sh/uv/pull/3884)) + ## 0.2.4 ### CLI @@ -635,7 +1239,8 @@ ### Enhancements - Incorporate build tag into wheel prioritization ([#3781](https://github.com/astral-sh/uv/pull/3781)) -- Avoid displaying log for satisfied editables if none are requested ([#3795](https://github.com/astral-sh/uv/pull/3795)) +- Avoid displaying log for satisfied editables if none are + requested ([#3795](https://github.com/astral-sh/uv/pull/3795)) - Improve logging during interpreter discovery ([#3790](https://github.com/astral-sh/uv/pull/3790)) - Improve logging for environment locking ([#3792](https://github.com/astral-sh/uv/pull/3792)) - Improve logging of interpreter implementation ([#3791](https://github.com/astral-sh/uv/pull/3791)) @@ -657,7 +1262,12 @@ - Fix interpreter cache collisions for relative virtualenv paths ([#3823](https://github.com/astral-sh/uv/pull/3823)) - Ignore unnamed requirements in preferences ([#3826](https://github.com/astral-sh/uv/pull/3826)) - Search for `python3` in unix virtual environments ([#3798](https://github.com/astral-sh/uv/pull/3798)) -- Use a cross-platform representation for relative paths in `pip compile` ([#3804](https://github.com/astral-sh/uv/pull/3804)) +- Use a cross-platform representation for relative paths + in `pip compile` ([#3804](https://github.com/astral-sh/uv/pull/3804)) + +### Preview features + +- Allow specification of additional requirements in `uv tool run` ([#3678](https://github.com/astral-sh/uv/pull/3678)) ## 0.2.2 @@ -668,7 +1278,8 @@ ### Bug fixes -- Do not treat interpereters discovered via `CONDA_PREFIX` as system interpreters ([#3771](https://github.com/astral-sh/uv/pull/3771)) +- Do not treat interpereters discovered via `CONDA_PREFIX` as system + interpreters ([#3771](https://github.com/astral-sh/uv/pull/3771)) ## 0.2.1 @@ -676,6 +1287,10 @@ - Re-added the dynamically-linked Linux binary ([#3762](https://github.com/astral-sh/uv/pull/3762)) +### Preview features + +- Allow users to specify a custom source package to `uv tool run` ([#3677](https://github.com/astral-sh/uv/pull/3677)) + ## 0.2.0 Starting with this release, uv will use the **minor** version tag to indicate breaking changes. @@ -711,14 +1326,17 @@ To align the user expectations, uv now respects the interpreter that starts it. now prefer the `python` interpreter that was used to start uv instead of searching for a virtual environment. We now check if discovered interpreters are virtual environments. This means that setting `VIRTUAL_ENV` to a Python -installation directory that is *not* a virtual environment will no longer work. Instead, use `--system` or `--python ` +installation directory that is *not* a virtual environment will no longer work. Instead, use `--system` +or `--python ` to request the interpreter. ### Enhancements - Rewrite Python interpreter discovery ([#3266](https://github.com/astral-sh/uv/pull/3266)) -- Add support for requesting `pypy` interpreters by implementation name ([#3706](https://github.com/astral-sh/uv/pull/3706)) -- Discover and prefer the parent interpreter when invoked with `python -m uv` [#3736](https://github.com/astral-sh/uv/pull/3736) +- Add support for requesting `pypy` interpreters by implementation + name ([#3706](https://github.com/astral-sh/uv/pull/3706)) +- Discover and prefer the parent interpreter when invoked + with `python -m uv` [#3736](https://github.com/astral-sh/uv/pull/3736) - Add PEP 714 support for HTML API client ([#3697](https://github.com/astral-sh/uv/pull/3697)) - Add PEP 714 support for JSON API client ([#3698](https://github.com/astral-sh/uv/pull/3698)) - Write relative paths with unnamed requirement syntax ([#3682](https://github.com/astral-sh/uv/pull/3682)) @@ -733,7 +1351,8 @@ to request the interpreter. ### Performance -- Improve performance in complex resolutions by reducing cost of PubGrub package clones ([#3688](https://github.com/astral-sh/uv/pull/3688)) +- Improve performance in complex resolutions by reducing cost of PubGrub package + clones ([#3688](https://github.com/astral-sh/uv/pull/3688)) ### Bug fixes @@ -746,7 +1365,8 @@ to request the interpreter. ### Release - Drop native `manylinux` wheel in favor of dual-tagged wheel ([#3685](https://github.com/astral-sh/uv/pull/3685)) -- The `python-patch` test feature is no longer on by default and must be manually enabled to test patch version behavior ([#3746](https://github.com/astral-sh/uv/pull/3746)) +- The `python-patch` test feature is no longer on by default and must be manually enabled to test patch version + behavior ([#3746](https://github.com/astral-sh/uv/pull/3746)) ### Documentation @@ -755,6 +1375,15 @@ to request the interpreter. - Add instructions for building and updating `uv-trampolines` ([#3731](https://github.com/astral-sh/uv/pull/3731)) - Add notes for testing on Windows ([#3658](https://github.com/astral-sh/uv/pull/3658)) +### Preview features + +- Add initial implementation of `uv tool run` ([#3657](https://github.com/astral-sh/uv/pull/3657)) +- Add offline support to `uv tool run` and `uv run` ([#3676](https://github.com/astral-sh/uv/pull/3676)) +- Better error message for `uv run` failures ([#3691](https://github.com/astral-sh/uv/pull/3691)) +- Discover workspaces without using them in resolution ([#3585](https://github.com/astral-sh/uv/pull/3585)) +- Support editables in `uv sync` ([#3692](https://github.com/astral-sh/uv/pull/3692)) +- Track editable requirements in lockfile ([#3725](https://github.com/astral-sh/uv/pull/3725)) + ## 0.1.45 ### Enhancements @@ -765,7 +1394,8 @@ to request the interpreter. ### Configuration -- Add `UV_CONCURRENT_INSTALLS` variable in favor of `RAYON_NUM_THREADS` ([#3646](https://github.com/astral-sh/uv/pull/3646)) +- Add `UV_CONCURRENT_INSTALLS` variable in favor + of `RAYON_NUM_THREADS` ([#3646](https://github.com/astral-sh/uv/pull/3646)) - Add serialization and deserialization for `--find-links` ([#3619](https://github.com/astral-sh/uv/pull/3619)) - Apply combination logic to merge CLI and persistent configuration ([#3618](https://github.com/astral-sh/uv/pull/3618)) @@ -775,11 +1405,13 @@ to request the interpreter. ### Bug fixes -- Reduce sensitivity of unknown option error to discard Python 2 interpreters ([#3580](https://github.com/astral-sh/uv/pull/3580)) +- Reduce sensitivity of unknown option error to discard Python 2 + interpreters ([#3580](https://github.com/astral-sh/uv/pull/3580)) - Respect installed packages in `uv run` ([#3603](https://github.com/astral-sh/uv/pull/3603)) - Separate cache construction from initialization ([#3607](https://github.com/astral-sh/uv/pull/3607)) - Add missing `"directory"` branch in source match ([#3608](https://github.com/astral-sh/uv/pull/3608)) -- Fix source annotation in pip compile `annotation-style=line` output ([#3637](https://github.com/astral-sh/uv/pull/3637)) +- Fix source annotation in pip compile `annotation-style=line` + output ([#3637](https://github.com/astral-sh/uv/pull/3637)) - Run cargo update to pull in h2 ([#3638](https://github.com/astral-sh/uv/pull/3638)) - URL-decode hashes in HTML fragments ([#3655](https://github.com/astral-sh/uv/pull/3655)) - Always print JSON output with `--format` json ([#3671](https://github.com/astral-sh/uv/pull/3671)) @@ -794,11 +1426,25 @@ to request the interpreter. - Add musl ppc64le support ([#3537](https://github.com/astral-sh/uv/pull/3537)) - Retag musl aarch64 for manylinux2014 ([#3624](https://github.com/astral-sh/uv/pull/3624)) +### Preview features + +- Add direct URL conversion to lockfile ([#3633](https://github.com/astral-sh/uv/pull/3633)) +- Add hashes and versions to all distributions ([#3589](https://github.com/astral-sh/uv/pull/3589)) +- Add local path conversions from lockfile ([#3609](https://github.com/astral-sh/uv/pull/3609)) +- Add missing `"directory"` branch in source match ([#3608](https://github.com/astral-sh/uv/pull/3608)) +- Add registry file size to lockfile ([#3652](https://github.com/astral-sh/uv/pull/3652)) +- Add registry source distribution support to lockfile ([#3649](https://github.com/astral-sh/uv/pull/3649)) +- Refactor editables for supporting them in bluejay commands ([#3639](https://github.com/astral-sh/uv/pull/3639)) +- Rename `sourcedist` to `sdist` in lockfile ([#3590](https://github.com/astral-sh/uv/pull/3590)) +- Respect installed packages in `uv run` ([#3603](https://github.com/astral-sh/uv/pull/3603)) +- Support lossless serialization for Git dependencies in lockfile ([#3630](https://github.com/astral-sh/uv/pull/3630)) + ## 0.1.44 ### Release -Reverts "Use manylinux: auto to enable `musllinux_1_2` aarch64 builds ([#3444](https://github.com/astral-sh/uv/pull/3444))" +Reverts "Use manylinux: auto to enable `musllinux_1_2` aarch64 +builds ([#3444](https://github.com/astral-sh/uv/pull/3444))" The manylinux change appeared to introduce SSL errors when building aarch64 Docker images, e.g., @@ -817,7 +1463,8 @@ See [#3576](https://github.com/astral-sh/uv/pull/3576) ### Configuration -- Consolidate concurrency limits and expose as environment variables ([#3493](https://github.com/astral-sh/uv/pull/3493)) +- Consolidate concurrency limits and expose as environment + variables ([#3493](https://github.com/astral-sh/uv/pull/3493)) ### Release @@ -831,13 +1478,22 @@ See [#3576](https://github.com/astral-sh/uv/pull/3576) - Avoid attempting to build editables when fetching metadata ([#3563](https://github.com/astral-sh/uv/pull/3563)) - Clone individual files on windows ReFS ([#3551](https://github.com/astral-sh/uv/pull/3551)) - Filter irrelevant requirements from source annotations ([#3479](https://github.com/astral-sh/uv/pull/3479)) -- Make cache clearing robust to directories without read permissions ([#3524](https://github.com/astral-sh/uv/pull/3524)) +- Make cache clearing robust to directories without read + permissions ([#3524](https://github.com/astral-sh/uv/pull/3524)) - Respect constraints on editable dependencies ([#3554](https://github.com/astral-sh/uv/pull/3554)) - Skip Python 2 versions when locating Python ([#3476](https://github.com/astral-sh/uv/pull/3476)) - Make `--isolated` a global argument ([#3558](https://github.com/astral-sh/uv/pull/3558)) - Allow unknown `pyproject.toml` fields ([#3511](https://github.com/astral-sh/uv/pull/3511)) - Change error value detection for glibc ([#3487](https://github.com/astral-sh/uv/pull/3487)) +### Preview features + +- Create virtualenv if it doesn't exist in project API ([#3499](https://github.com/astral-sh/uv/pull/3499)) +- Discover `uv run` projects hierarchically ([#3494](https://github.com/astral-sh/uv/pull/3494)) +- Read and write `uv.lock` based on project root ([#3497](https://github.com/astral-sh/uv/pull/3497)) +- Read package name from `pyproject.toml` in `uv run` ([#3496](https://github.com/astral-sh/uv/pull/3496)) +- Rebrand workspace API as project API ([#3489](https://github.com/astral-sh/uv/pull/3489)) + ## 0.1.42 This release includes stabilized support for persistent configuration in uv. @@ -862,9 +1518,15 @@ See: [Persistent Configuration](https://github.com/astral-sh/uv?tab=readme-ov-fi - Use Metadata10 to parse PKG-INFO of legacy editable ([#3450](https://github.com/astral-sh/uv/pull/3450)) - Apply normcase to line from easy-install.pth ([#3451](https://github.com/astral-sh/uv/pull/3451)) -- Upgrade `async_http_range_reader` to v0.8.0 to respect redirects in range requests ([#3460](https://github.com/astral-sh/uv/pull/3460)) +- Upgrade `async_http_range_reader` to v0.8.0 to respect redirects in range + requests ([#3460](https://github.com/astral-sh/uv/pull/3460)) - Use last non-EOL version for `--python-platform` macOS ([#3469](https://github.com/astral-sh/uv/pull/3469)) +### Preview features + +- Use environment layering for `uv run --with` ([#3447](https://github.com/astral-sh/uv/pull/3447)) +- Warn when missing minimal bounds when using `tool.uv.sources` ([#3452](https://github.com/astral-sh/uv/pull/3452)) + ## 0.1.41 ### Bug fixes @@ -895,11 +1557,23 @@ See: [Persistent Configuration](https://github.com/astral-sh/uv?tab=readme-ov-fi - Ignore 401 HTTP responses with multiple indexes ([#3292](https://github.com/astral-sh/uv/pull/3292)) - Avoid panic for file URLs ([#3306](https://github.com/astral-sh/uv/pull/3306)) - Quote version parse errors consistently ([#3325](https://github.com/astral-sh/uv/pull/3325)) -- Detect current environment when `uv` is invoked from within a virtualenv ([#3379](https://github.com/astral-sh/uv/pull/3379)) +- Detect current environment when `uv` is invoked from within a + virtualenv ([#3379](https://github.com/astral-sh/uv/pull/3379)) - Unset target when creating virtual environments ([#3362](https://github.com/astral-sh/uv/pull/3362)) - Update activation scripts from virtualenv ([#3376](https://github.com/astral-sh/uv/pull/3376)) - Use canonical URLs in satisfaction check ([#3373](https://github.com/astral-sh/uv/pull/3373)) +### Preview features + +- Add basic `tool.uv.sources` support ([#3263](https://github.com/astral-sh/uv/pull/3263)) +- Improve non-git error message ([#3403](https://github.com/astral-sh/uv/pull/3403)) +- Preserve given for `tool.uv.sources` paths ([#3412](https://github.com/astral-sh/uv/pull/3412)) +- Restore verbatim in error message ([#3402](https://github.com/astral-sh/uv/pull/3402)) +- Use preview mode for tool.uv.sources ([#3277](https://github.com/astral-sh/uv/pull/3277)) +- Use top-level `--isolated` for `uv run` ([#3431](https://github.com/astral-sh/uv/pull/3431)) +- add basic "install from lock file" operation ([#3340](https://github.com/astral-sh/uv/pull/3340)) +- uv-resolver: add initial version of universal lock file format ([#3314](https://github.com/astral-sh/uv/pull/3314)) + ## 0.1.39 ### Enhancements @@ -937,9 +1611,11 @@ See: [Persistent Configuration](https://github.com/astral-sh/uv?tab=readme-ov-fi ### Performance -- Only perform fetches of credentials for a realm and username combination once ([#3237](https://github.com/astral-sh/uv/pull/3237)) +- Only perform fetches of credentials for a realm and username combination + once ([#3237](https://github.com/astral-sh/uv/pull/3237)) - Unroll self-dependencies via extras ([#3230](https://github.com/astral-sh/uv/pull/3230)) -- Use read-write locks instead of mutexes in authentication handling ([#3210](https://github.com/astral-sh/uv/pull/3210)) +- Use read-write locks instead of mutexes in authentication + handling ([#3210](https://github.com/astral-sh/uv/pull/3210)) ### Bug fixes @@ -984,14 +1660,16 @@ See: [Persistent Configuration](https://github.com/astral-sh/uv?tab=readme-ov-fi ### Configuration -- Add `UV_CONSTRAINT` environment variable to provide value for `--constraint` ([#3162](https://github.com/astral-sh/uv/pull/3162)) +- Add `UV_CONSTRAINT` environment variable to provide value + for `--constraint` ([#3162](https://github.com/astral-sh/uv/pull/3162)) ### Bug fixes - Avoid waiting for metadata for `--no-deps` editables ([#3188](https://github.com/astral-sh/uv/pull/3188)) - Fix `venvlauncher.exe` reference in venv creation ([#3160](https://github.com/astral-sh/uv/pull/3160)) - Fix authentication for URLs with a shared realm ([#3130](https://github.com/astral-sh/uv/pull/3130)) -- Restrict observed requirements to direct when `--no-deps` is specified ([#3191](https://github.com/astral-sh/uv/pull/3191)) +- Restrict observed requirements to direct when `--no-deps` is + specified ([#3191](https://github.com/astral-sh/uv/pull/3191)) ### Documentation @@ -1001,8 +1679,10 @@ See: [Persistent Configuration](https://github.com/astral-sh/uv?tab=readme-ov-fi ### Enhancements -- Add a `--python-platform` argument to enable resolving against a target platform ([#3111](https://github.com/astral-sh/uv/pull/3111)) -- Enforce HTTP timeouts on a per-read (rather than per-request) basis ([#3144](https://github.com/astral-sh/uv/pull/3144)) +- Add a `--python-platform` argument to enable resolving against a target + platform ([#3111](https://github.com/astral-sh/uv/pull/3111)) +- Enforce HTTP timeouts on a per-read (rather than per-request) + basis ([#3144](https://github.com/astral-sh/uv/pull/3144)) ### Bug fixes @@ -1016,7 +1696,8 @@ See: [Persistent Configuration](https://github.com/astral-sh/uv?tab=readme-ov-fi - Allow `--python` and `--system` on `pip compile` ([#3115](https://github.com/astral-sh/uv/pull/3115)) - Remove `Option` for `--no-cache` ([#3129](https://github.com/astral-sh/uv/pull/3129)) - Rename `--compile` to `--compile-bytecode` ([#3102](https://github.com/astral-sh/uv/pull/3102)) -- Accept `0`, `1`, and similar values for Boolean environment variables ([#3113](https://github.com/astral-sh/uv/pull/3113)) +- Accept `0`, `1`, and similar values for Boolean environment + variables ([#3113](https://github.com/astral-sh/uv/pull/3113)) ### Configuration @@ -1037,7 +1718,8 @@ See: [Persistent Configuration](https://github.com/astral-sh/uv?tab=readme-ov-fi Using the keyring requires a username to be provided on index URLs now. Previously, the username `oauth2accesstoken` was assumed. This will affect Google Artifact Registry users using `--keyring-provider subprocess` and an index URL -without a username. The suggested fix is to add the required username to index URLs, e.g., `https://oauth2accesstoken@`. +without a username. The suggested fix is to add the required username to index URLs, +e.g., `https://oauth2accesstoken@`. See [#2976](https://github.com/astral-sh/uv/pull/2976#discussion_r1566521453) for details. @@ -1057,8 +1739,10 @@ See [#2976](https://github.com/astral-sh/uv/pull/2976#discussion_r1566521453) fo ### Bug fixes -- Fix HTTP authentication when the password includes percent encoded characters (e.g. with Google Artifact Registry) ([#2822](https://github.com/astral-sh/uv/issues/2822)) -- Use usernames from URLs when looking for credentials in netrc files and the keyring [#2563](https://github.com/astral-sh/uv/issues/2563)) +- Fix HTTP authentication when the password includes percent encoded characters (e.g. with Google Artifact + Registry) ([#2822](https://github.com/astral-sh/uv/issues/2822)) +- Use usernames from URLs when looking for credentials in netrc files and the + keyring [#2563](https://github.com/astral-sh/uv/issues/2563)) - Skip `HEAD` requests for indexes that return 403 (e.g. PyPICloud) ([#3070](https://github.com/astral-sh/uv/pull/3070)) - Use kebab-case consistently ([#3080](https://github.com/astral-sh/uv/pull/3080)) - Show package name in no version for direct dependency error ([#3056](https://github.com/astral-sh/uv/pull/3056)) @@ -1074,11 +1758,13 @@ See [#2976](https://github.com/astral-sh/uv/pull/2976#discussion_r1566521453) fo - Allow unnamed requirements for overrides ([#2999](https://github.com/astral-sh/uv/pull/2999)) - Enforce and backtrack on invalid versions in source metadata ([#2954](https://github.com/astral-sh/uv/pull/2954)) - Fall back to distributions without hashes in resolver ([#2949](https://github.com/astral-sh/uv/pull/2949)) -- Implement `--emit-index-annotation` to annotate source index for each package ([#2926](https://github.com/astral-sh/uv/pull/2926)) +- Implement `--emit-index-annotation` to annotate source index for each + package ([#2926](https://github.com/astral-sh/uv/pull/2926)) - Log hard-link failures ([#3015](https://github.com/astral-sh/uv/pull/3015)) - Support free-threaded Python ([#2805](https://github.com/astral-sh/uv/pull/2805)) - Support unnamed requirements in `--require-hashes` ([#2993](https://github.com/astral-sh/uv/pull/2993)) -- Respect link mode for builds, in `uv pip compile` and for `uv venv` seed packages ([#3016](https://github.com/astral-sh/uv/pull/3016)) +- Respect link mode for builds, in `uv pip compile` and for `uv venv` seed + packages ([#3016](https://github.com/astral-sh/uv/pull/3016)) - Force color for build error messages ([#3032](https://github.com/astral-sh/uv/pull/3032)) - Surface invalid metadata as hints in error reports ([#2850](https://github.com/astral-sh/uv/pull/2850)) @@ -1095,7 +1781,8 @@ See [#2976](https://github.com/astral-sh/uv/pull/2976#discussion_r1566521453) fo - Add `--find-links` source distributions to the registry cache ([#2986](https://github.com/astral-sh/uv/pull/2986)) - Allow comments after all `requirements.txt` entries ([#3018](https://github.com/astral-sh/uv/pull/3018)) - Avoid cache invalidation on credentials renewal ([#3010](https://github.com/astral-sh/uv/pull/3010)) -- Avoid calling `normalize_path` with relative paths that extend beyond the current directory ([#3013](https://github.com/astral-sh/uv/pull/3013)) +- Avoid calling `normalize_path` with relative paths that extend beyond the current + directory ([#3013](https://github.com/astral-sh/uv/pull/3013)) - Deduplicate symbolic links between `purelib` and `platlib` ([#3002](https://github.com/astral-sh/uv/pull/3002)) - Remove unused `--output-file` from `pip install` ([#2975](https://github.com/astral-sh/uv/pull/2975)) - Strip query string when parsing filename from HTML index ([#2961](https://github.com/astral-sh/uv/pull/2961)) @@ -1115,7 +1802,8 @@ See [#2976](https://github.com/astral-sh/uv/pull/2976#discussion_r1566521453) fo ### Performance -- Speed up cold-cache `urllib3`-`boto3`-`botocore` performance with batched prefetching ([#2452](https://github.com/astral-sh/uv/pull/2452)) +- Speed up cold-cache `urllib3`-`boto3`-`botocore` performance with batched + prefetching ([#2452](https://github.com/astral-sh/uv/pull/2452)) ### Bug fixes @@ -1133,7 +1821,8 @@ See [#2976](https://github.com/astral-sh/uv/pull/2976#discussion_r1566521453) fo ### Enhancements - Allow conflicting Git URLs that refer to the same commit SHA ([#2769](https://github.com/astral-sh/uv/pull/2769)) -- Allow package lookups across multiple indexes via explicit opt-in (`--index-strategy unsafe-any-match`) ([#2815](https://github.com/astral-sh/uv/pull/2815)) +- Allow package lookups across multiple indexes via explicit + opt-in (`--index-strategy unsafe-any-match`) ([#2815](https://github.com/astral-sh/uv/pull/2815)) - Allow no-op `--no-compile` flag on CLI ([#2816](https://github.com/astral-sh/uv/pull/2816)) - Upgrade `rs-async-zip` to support data descriptors ([#2809](https://github.com/astral-sh/uv/pull/2809)) @@ -1163,8 +1852,10 @@ See [#2976](https://github.com/astral-sh/uv/pull/2976#discussion_r1566521453) fo ### Bug fixes - Detect Fish via `FISH_VERSION` ([#2781](https://github.com/astral-sh/uv/pull/2781)) -- Exclude installed distributions with multiple versions from consideration in the resolver ([#2779](https://github.com/astral-sh/uv/pull/2779)) -- Resolve non-determistic behavior in preferences due to site-packages ordering ([#2780](https://github.com/astral-sh/uv/pull/2780)) +- Exclude installed distributions with multiple versions from consideration in the + resolver ([#2779](https://github.com/astral-sh/uv/pull/2779)) +- Resolve non-determistic behavior in preferences due to site-packages + ordering ([#2780](https://github.com/astral-sh/uv/pull/2780)) - Use canonical URL to key redirect map ([#2764](https://github.com/astral-sh/uv/pull/2764)) - Use distribution database and index for all pre-resolution phases ([#2766](https://github.com/astral-sh/uv/pull/2766)) - Fix `uv self update` on Linux ([#2783](https://github.com/astral-sh/uv/pull/2783)) @@ -1202,11 +1893,14 @@ See [#2976](https://github.com/astral-sh/uv/pull/2976#discussion_r1566521453) fo ### Enhancements - Accept `setup.py` and `setup.cfg` files in compile ([#2634](https://github.com/astral-sh/uv/pull/2634)) -- Add `--no-binary` and `--only-binary` support to `requirements.txt` ([#2680](https://github.com/astral-sh/uv/pull/2680)) -- Allow pre-releases, locals, and URLs in non-editable path requirements ([#2671](https://github.com/astral-sh/uv/pull/2671)) +- Add `--no-binary` and `--only-binary` support + to `requirements.txt` ([#2680](https://github.com/astral-sh/uv/pull/2680)) +- Allow pre-releases, locals, and URLs in non-editable path + requirements ([#2671](https://github.com/astral-sh/uv/pull/2671)) - Use PEP 517 to extract dynamic `pyproject.toml` metadata ([#2633](https://github.com/astral-sh/uv/pull/2633)) - Add `Editable project location` and `Required-by` to `pip show` ([#2589](https://github.com/astral-sh/uv/pull/2589)) -- Avoid `prepare_metadata_for_build_wheel` calls for Hatch packages with dynamic dependencies ([#2645](https://github.com/astral-sh/uv/pull/2645)) +- Avoid `prepare_metadata_for_build_wheel` calls for Hatch packages with dynamic + dependencies ([#2645](https://github.com/astral-sh/uv/pull/2645)) - Fall back to PEP 517 hooks for non-compliant PEP 621 metadata ([#2662](https://github.com/astral-sh/uv/pull/2662)) - Support `file://localhost/` schemes ([#2657](https://github.com/astral-sh/uv/pull/2657)) - Use normal resolver in `pip sync` ([#2696](https://github.com/astral-sh/uv/pull/2696)) @@ -1215,13 +1909,15 @@ See [#2976](https://github.com/astral-sh/uv/pull/2976#discussion_r1566521453) fo - Disallow `pyproject.toml` from `pip uninstall -r` ([#2663](https://github.com/astral-sh/uv/pull/2663)) - Unhide `--emit-index-url` and `--emit-find-links` ([#2691](https://github.com/astral-sh/uv/pull/2691)) -- Use dense formatting for requirement version specifiers in diagnostics ([#2601](https://github.com/astral-sh/uv/pull/2601)) +- Use dense formatting for requirement version specifiers in + diagnostics ([#2601](https://github.com/astral-sh/uv/pull/2601)) ### Performance - Add an in-memory cache for Git references ([#2682](https://github.com/astral-sh/uv/pull/2682)) - Do not force-recompile `.pyc` files ([#2642](https://github.com/astral-sh/uv/pull/2642)) -- Read package metadata from `pyproject.toml` when it is statically defined ([#2676](https://github.com/astral-sh/uv/pull/2676)) +- Read package metadata from `pyproject.toml` when it is statically + defined ([#2676](https://github.com/astral-sh/uv/pull/2676)) ### Bug fixes @@ -1234,7 +1930,8 @@ See [#2976](https://github.com/astral-sh/uv/pull/2976#discussion_r1566521453) fo ### Breaking changes -- `uv pip uninstall` no longer supports specifying targets with the `-e` / `--editable` flag ([#2577](https://github.com/astral-sh/uv/pull/2577)) +- `uv pip uninstall` no longer supports specifying targets with the `-e` / `--editable` + flag ([#2577](https://github.com/astral-sh/uv/pull/2577)) ### Enhancements @@ -1245,7 +1942,8 @@ See [#2976](https://github.com/astral-sh/uv/pull/2976#discussion_r1566521453) fo - Enable PEP 517 builds for unnamed requirements ([#2600](https://github.com/astral-sh/uv/pull/2600)) - Enable install audits without resolving named requirements ([#2575](https://github.com/astral-sh/uv/pull/2575)) - Enable unnamed requirements for direct URLs ([#2569](https://github.com/astral-sh/uv/pull/2569)) -- Respect HTTP client options when reading remote requirements files ([#2434](https://github.com/astral-sh/uv/pull/2434)) +- Respect HTTP client options when reading remote requirements + files ([#2434](https://github.com/astral-sh/uv/pull/2434)) - Use PEP 517 build hooks to resolve unnamed requirements ([#2604](https://github.com/astral-sh/uv/pull/2604)) - Use c-string literals and update trampolines ([#2590](https://github.com/astral-sh/uv/pull/2590)) - Support unnamed requirements directly in `uv pip uninstall` ([#2577](https://github.com/astral-sh/uv/pull/2577)) @@ -1274,7 +1972,8 @@ See [#2976](https://github.com/astral-sh/uv/pull/2976#discussion_r1566521453) fo ### Enhancements - Implement `--no-strip-extras` to preserve extras in compilation ([#2555](https://github.com/astral-sh/uv/pull/2555)) -- Preserve hashes for pinned packages when compiling without `--upgrade` ([#2532](https://github.com/astral-sh/uv/pull/2532)) +- Preserve hashes for pinned packages when compiling + without `--upgrade` ([#2532](https://github.com/astral-sh/uv/pull/2532)) - Add a `uv self update` command ([#2228](https://github.com/astral-sh/uv/pull/2228)) - Use relative paths for user-facing messages ([#2559](https://github.com/astral-sh/uv/pull/2559)) - Add `CUSTOM_COMPILE_COMMAND` support to `uv pip compile` ([#2554](https://github.com/astral-sh/uv/pull/2554)) @@ -1284,16 +1983,19 @@ See [#2976](https://github.com/astral-sh/uv/pull/2976#discussion_r1566521453) fo ### Bug fixes - Allow `VIRTUAL_ENV` to take precedence over `CONDA_PREFIX` ([#2574](https://github.com/astral-sh/uv/pull/2574)) -- Ensure mtime of site packages is updated during wheel installation ([#2545](https://github.com/astral-sh/uv/pull/2545)) +- Ensure mtime of site packages is updated during wheel + installation ([#2545](https://github.com/astral-sh/uv/pull/2545)) - Re-test validity after every lenient parsing change ([#2550](https://github.com/astral-sh/uv/pull/2550)) - Run interpreter discovery under `-I` mode ([#2552](https://github.com/astral-sh/uv/pull/2552)) -- Search in both `purelib` and `platlib` for site-packages population ([#2537](https://github.com/astral-sh/uv/pull/2537)) +- Search in both `purelib` and `platlib` for site-packages + population ([#2537](https://github.com/astral-sh/uv/pull/2537)) - Fix wheel builds and uploads for musl ARM ([#2518](https://github.com/astral-sh/uv/pull/2518)) ### Documentation - Add `--link-mode` defaults to CLI ([#2549](https://github.com/astral-sh/uv/pull/2549)) -- Add an example workflow for compiling the current environment's packages ([#1968](https://github.com/astral-sh/uv/pull/1968)) +- Add an example workflow for compiling the current environment's + packages ([#1968](https://github.com/astral-sh/uv/pull/1968)) - Add `uv pip check diagnostics` to `PIP_COMPATIBILITY.md` ([#2544](https://github.com/astral-sh/uv/pull/2544)) ## 0.1.22 @@ -1372,19 +2074,22 @@ pass the `--native-tls` command-line flag to enable this behavior. - Add `--dry-run` flag to `uv pip install` ([#1436](https://github.com/astral-sh/uv/pull/1436)) - Implement "Requires" field in `pip show` ([#2347](https://github.com/astral-sh/uv/pull/2347)) - Remove `wheel` from default PEP 517 backend ([#2341](https://github.com/astral-sh/uv/pull/2341)) -- Add `UV_SYSTEM_PYTHON` environment variable as alias to `--system` ([#2354](https://github.com/astral-sh/uv/pull/2354)) +- Add `UV_SYSTEM_PYTHON` environment variable as alias + to `--system` ([#2354](https://github.com/astral-sh/uv/pull/2354)) - Add a `-vv` log level and make `-v` more readable ([#2301](https://github.com/astral-sh/uv/pull/2301)) ### Bug fixes - Expand environment variables prior to detecting scheme ([#2394](https://github.com/astral-sh/uv/pull/2394)) -- Fix bug where `--no-binary :all:` prevented build of editable packages ([#2393](https://github.com/astral-sh/uv/pull/2393)) +- Fix bug where `--no-binary :all:` prevented build of editable + packages ([#2393](https://github.com/astral-sh/uv/pull/2393)) - Ignore inverse dependencies when building graph ([#2360](https://github.com/astral-sh/uv/pull/2360)) - Skip prefetching when `--no-deps` is specified ([#2373](https://github.com/astral-sh/uv/pull/2373)) - Trim injected `python_version` marker to (major, minor) ([#2395](https://github.com/astral-sh/uv/pull/2395)) - Wait for request stream to flush before returning resolution ([#2374](https://github.com/astral-sh/uv/pull/2374)) - Write relative paths for scripts in data directory ([#2348](https://github.com/astral-sh/uv/pull/2348)) -- Add dedicated error message for direct filesystem paths in requirements ([#2369](https://github.com/astral-sh/uv/pull/2369)) +- Add dedicated error message for direct filesystem paths in + requirements ([#2369](https://github.com/astral-sh/uv/pull/2369)) ## 0.1.17 @@ -1392,7 +2097,8 @@ pass the `--native-tls` command-line flag to enable this behavior. - Allow more-precise Git URLs to override less-precise Git URLs ([#2285](https://github.com/astral-sh/uv/pull/2285)) - Add support for Metadata 2.2 ([#2293](https://github.com/astral-sh/uv/pull/2293)) -- Added ability to select bytecode invalidation mode of generated `.pyc` files ([#2297](https://github.com/astral-sh/uv/pull/2297)) +- Added ability to select bytecode invalidation mode of generated `.pyc` + files ([#2297](https://github.com/astral-sh/uv/pull/2297)) - Add `Seek` fallback for zip files with data descriptors ([#2320](https://github.com/astral-sh/uv/pull/2320)) ### Bug fixes @@ -1408,7 +2114,8 @@ pass the `--native-tls` command-line flag to enable this behavior. ### Documentation -- Add a custom suggestion to install wheel into the build environment ([#2307](https://github.com/astral-sh/uv/pull/2307)) +- Add a custom suggestion to install wheel into the build + environment ([#2307](https://github.com/astral-sh/uv/pull/2307)) - Document the environment variables that uv respects ([#2318](https://github.com/astral-sh/uv/pull/2318)) ## 0.1.16 @@ -1418,13 +2125,16 @@ pass the `--native-tls` command-line flag to enable this behavior. - Add support for `--no-build-isolation` ([#2258](https://github.com/astral-sh/uv/pull/2258)) - Add support for `--break-system-packages` ([#2249](https://github.com/astral-sh/uv/pull/2249)) - Add support for `.netrc` authentication ([#2241](https://github.com/astral-sh/uv/pull/2241)) -- Add support for `--format=freeze` and `--format=json` in `uv pip list` ([#1998](https://github.com/astral-sh/uv/pull/1998)) +- Add support for `--format=freeze` and `--format=json` + in `uv pip list` ([#1998](https://github.com/astral-sh/uv/pull/1998)) - Add support for remote `https://` requirements files (#1332) ([#2081](https://github.com/astral-sh/uv/pull/2081)) - Implement `uv pip show` ([#2115](https://github.com/astral-sh/uv/pull/2115)) - Allow `UV_PRERELEASE` to be set via environment variable ([#2240](https://github.com/astral-sh/uv/pull/2240)) - Include exit code for build failures ([#2108](https://github.com/astral-sh/uv/pull/2108)) -- Query interpreter to determine correct `virtualenv` paths, enabling `uv venv` with PyPy and others ([#2188](https://github.com/astral-sh/uv/pull/2188)) -- Respect non-`sysconfig`-based system Pythons, enabling `--system` installs on Debian and others ([#2193](https://github.com/astral-sh/uv/pull/2193)) +- Query interpreter to determine correct `virtualenv` paths, enabling `uv venv` with PyPy and + others ([#2188](https://github.com/astral-sh/uv/pull/2188)) +- Respect non-`sysconfig`-based system Pythons, enabling `--system` installs on Debian and + others ([#2193](https://github.com/astral-sh/uv/pull/2193)) ### Bug fixes @@ -1432,7 +2142,8 @@ pass the `--native-tls` command-line flag to enable this behavior. - Add `.stdout()` and `.stderr()` outputs to `Printer` ([#2227](https://github.com/astral-sh/uv/pull/2227)) - Close `RECORD` after reading entries during uninstall ([#2259](https://github.com/astral-sh/uv/pull/2259)) - Fix Conda Python detection on Windows ([#2279](https://github.com/astral-sh/uv/pull/2279)) -- Fix parsing requirement where a variable follows an operator without a space ([#2273](https://github.com/astral-sh/uv/pull/2273)) +- Fix parsing requirement where a variable follows an operator without a + space ([#2273](https://github.com/astral-sh/uv/pull/2273)) - Prefer more recent minor versions in wheel tags ([#2263](https://github.com/astral-sh/uv/pull/2263)) - Retry on Python interpreter launch failures during `--compile` ([#2278](https://github.com/astral-sh/uv/pull/2278)) - Show appropriate activation command based on shell detection ([#2221](https://github.com/astral-sh/uv/pull/2221)) @@ -1443,14 +2154,17 @@ pass the `--native-tls` command-line flag to enable this behavior. ### Documentation -- Add `PIP_COMPATIBILITY.md` to document known deviations from `pip` ([#2244](https://github.com/astral-sh/uv/pull/2244)) +- Add `PIP_COMPATIBILITY.md` to document known deviations + from `pip` ([#2244](https://github.com/astral-sh/uv/pull/2244)) ## 0.1.15 ### Enhancements -- Add a `--compile` option to `install` to enable bytecode compilation ([#2086](https://github.com/astral-sh/uv/pull/2086)) -- Expose the `--exclude-newer` flag to limit candidate packages based on date ([#2166](https://github.com/astral-sh/uv/pull/2166)) +- Add a `--compile` option to `install` to enable bytecode + compilation ([#2086](https://github.com/astral-sh/uv/pull/2086)) +- Expose the `--exclude-newer` flag to limit candidate packages based on + date ([#2166](https://github.com/astral-sh/uv/pull/2166)) - Add `uv` version to user agent ([#2136](https://github.com/astral-sh/uv/pull/2136)) ### Bug fixes @@ -1463,7 +2177,8 @@ pass the `--native-tls` command-line flag to enable this behavior. - Expand Windows shim detection to include `python3.12.exe` ([#2209](https://github.com/astral-sh/uv/pull/2209)) - HTML-decode URLs in HTML indexes ([#2215](https://github.com/astral-sh/uv/pull/2215)) - Make direct dependency detection respect markers ([#2207](https://github.com/astral-sh/uv/pull/2207)) -- Respect `py --list-paths` fallback in `--python python3` invocations on Windows ([#2214](https://github.com/astral-sh/uv/pull/2214)) +- Respect `py --list-paths` fallback in `--python python3` invocations on + Windows ([#2214](https://github.com/astral-sh/uv/pull/2214)) - Respect local freshness when auditing installed environment ([#2169](https://github.com/astral-sh/uv/pull/2169)) - Respect markers on URL dependencies in editables ([#2176](https://github.com/astral-sh/uv/pull/2176)) - Respect nested editable requirements in parser ([#2204](https://github.com/astral-sh/uv/pull/2204)) @@ -1479,14 +2194,17 @@ pass the `--native-tls` command-line flag to enable this behavior. - Expand environment variables in `-r` and `-c` subfile paths ([#2143](https://github.com/astral-sh/uv/pull/2143)) - Treat empty index URL strings as null instead of erroring ([#2137](https://github.com/astral-sh/uv/pull/2137)) - Use space as delimiter for `UV_EXTRA_INDEX_URL` ([#2140](https://github.com/astral-sh/uv/pull/2140)) -- Report line and column numbers in `requirements.txt` parser errors ([#2100](https://github.com/astral-sh/uv/pull/2100)) +- Report line and column numbers in `requirements.txt` parser + errors ([#2100](https://github.com/astral-sh/uv/pull/2100)) - Improve error messages when `uv` is offline ([#2110](https://github.com/astral-sh/uv/pull/2110)) ### Bug fixes - Future-proof the `pip` entrypoints special-case ([#1982](https://github.com/astral-sh/uv/pull/1982)) -- Allow empty extras in `pep508-rs` and add more corner case to tests ([#2128](https://github.com/astral-sh/uv/pull/2128)) -- Adjust base Python lookup logic for Windows to respect Windows Store ([#2121](https://github.com/astral-sh/uv/pull/2121)) +- Allow empty extras in `pep508-rs` and add more corner case to + tests ([#2128](https://github.com/astral-sh/uv/pull/2128)) +- Adjust base Python lookup logic for Windows to respect Windows + Store ([#2121](https://github.com/astral-sh/uv/pull/2121)) - Consider editable dependencies to be 'direct' for `--resolution` ([#2114](https://github.com/astral-sh/uv/pull/2114)) - Preserve environment variables in resolved Git dependencies ([#2125](https://github.com/astral-sh/uv/pull/2125)) - Use `prefix` instead of `base_prefix` for environment root ([#2117](https://github.com/astral-sh/uv/pull/2117)) @@ -1503,19 +2221,23 @@ pass the `--native-tls` command-line flag to enable this behavior. ### Bug fixes -- Prioritize `PATH` over `py --list-paths` in Windows selection ([#2057](https://github.com/astral-sh/uv/pull/2057)). This fixes an issue in which the `--system` flag would not work correctly on Windows in GitHub Actions. -- Avoid canonicalizing user-provided interpreters ([#2072](https://github.com/astral-sh/uv/pull/2072)). This fixes an issue in which the `--python` flag would not work correctly with pyenv and other interpreters. +- Prioritize `PATH` over `py --list-paths` in Windows selection ([#2057](https://github.com/astral-sh/uv/pull/2057)). + This fixes an issue in which the `--system` flag would not work correctly on Windows in GitHub Actions. +- Avoid canonicalizing user-provided interpreters ([#2072](https://github.com/astral-sh/uv/pull/2072)). This fixes an + issue in which the `--python` flag would not work correctly with pyenv and other interpreters. - Allow pre-releases for requirements in constraints files ([#2069](https://github.com/astral-sh/uv/pull/2069)) - Avoid truncating EXTERNALLY-MANAGED error message ([#2073](https://github.com/astral-sh/uv/pull/2073)) - Extend activation highlighting to entire `venv` command ([#2070](https://github.com/astral-sh/uv/pull/2070)) -- Reverse the order of `--index-url` and `--extra-index-url` priority ([#2083](https://github.com/astral-sh/uv/pull/2083)) +- Reverse the order of `--index-url` and `--extra-index-url` + priority ([#2083](https://github.com/astral-sh/uv/pull/2083)) - Avoid assuming `RECORD` file is in `platlib` ([#2091](https://github.com/astral-sh/uv/pull/2091)) ## 0.1.12 ### CLI -- Add a `--python` flag to allow installation into arbitrary Python interpreters ([#2000](https://github.com/astral-sh/uv/pull/2000)) +- Add a `--python` flag to allow installation into arbitrary Python + interpreters ([#2000](https://github.com/astral-sh/uv/pull/2000)) - Add a `--system` flag for opt-in non-virtualenv installs ([#2046](https://github.com/astral-sh/uv/pull/2046)) ### Enhancements @@ -1557,7 +2279,8 @@ pass the `--native-tls` command-line flag to enable this behavior. - Properly apply constraints in venv audit ([#1956](https://github.com/astral-sh/uv/pull/1956)) - Re-sync editables on-change ([#1959](https://github.com/astral-sh/uv/pull/1959)) - Remove current directory from PATH in PEP 517 hooks ([#1975](https://github.com/astral-sh/uv/pull/1975)) -- Remove `--upgrade` and `--quiet` flags from generated output files ([#1873](https://github.com/astral-sh/uv/pull/1873)) +- Remove `--upgrade` and `--quiet` flags from generated output + files ([#1873](https://github.com/astral-sh/uv/pull/1873)) - Use full python version in `pyvenv.cfg` ([#1979](https://github.com/astral-sh/uv/pull/1979)) ### Performance @@ -1589,11 +2312,13 @@ pass the `--native-tls` command-line flag to enable this behavior. ### Enhancements - Add support for `config_settings` in PEP 517 hooks ([#1833](https://github.com/astral-sh/uv/pull/1833)) -- feat: allow passing extra config k,v pairs for pyvenv.cfg when creating a venv ([#1852](https://github.com/astral-sh/uv/pull/1852)) +- feat: allow passing extra config k,v pairs for pyvenv.cfg when creating a + venv ([#1852](https://github.com/astral-sh/uv/pull/1852)) ### Bug fixes -- Ensure authentication is passed from the index url to distribution files ([#1886](https://github.com/astral-sh/uv/pull/1886)) +- Ensure authentication is passed from the index url to distribution + files ([#1886](https://github.com/astral-sh/uv/pull/1886)) - Use `rustls-tls-native-roots` in `uv` crate ([#1888](https://github.com/astral-sh/uv/pull/1888)) - pep440: fix version ordering ([#1883](https://github.com/astral-sh/uv/pull/1883)) - Hide index URLs from header if not emitted ([#1835](https://github.com/astral-sh/uv/pull/1835)) @@ -1607,7 +2332,8 @@ pass the `--native-tls` command-line flag to enable this behavior. ### Bug fixes - Allow duplicate URLs that resolve to the same canonical URL ([#1877](https://github.com/astral-sh/uv/pull/1877)) -- Retain authentication attached to URLs when making requests to the same host ([#1874](https://github.com/astral-sh/uv/pull/1874)) +- Retain authentication attached to URLs when making requests to the same + host ([#1874](https://github.com/astral-sh/uv/pull/1874)) - Win Trampoline: Use Python executable path encoded in binary ([#1803](https://github.com/astral-sh/uv/pull/1803)) - Expose types to implement custom `ResolverProvider` ([#1862](https://github.com/astral-sh/uv/pull/1862)) - Search `PATH` when `python` can't be found with `py` ([#1711](https://github.com/astral-sh/uv/pull/1711)) @@ -1626,7 +2352,8 @@ pass the `--native-tls` command-line flag to enable this behavior. ### Enhancements - Stream zip archive when fetching non-range-request metadata ([#1792](https://github.com/astral-sh/uv/pull/1792)) -- Support setting request timeout with `UV_HTTP_TIMEOUT` and `HTTP_TIMEOUT` ([#1780](https://github.com/astral-sh/uv/pull/1780)) +- Support setting request timeout with `UV_HTTP_TIMEOUT` + and `HTTP_TIMEOUT` ([#1780](https://github.com/astral-sh/uv/pull/1780)) - Improve error message when git ref cannot be fetched ([#1826](https://github.com/astral-sh/uv/pull/1826)) ### Configuration @@ -1638,7 +2365,8 @@ pass the `--native-tls` command-line flag to enable this behavior. - Add fixup for `prefect<1.0.0` ([#1825](https://github.com/astral-sh/uv/pull/1825)) - Add support for `>dev` specifier ([#1776](https://github.com/astral-sh/uv/pull/1776)) - Avoid enforcing URL correctness for installed distributions ([#1793](https://github.com/astral-sh/uv/pull/1793)) -- Don't expect pinned packages for editables with non-existent extras ([#1847](https://github.com/astral-sh/uv/pull/1847)) +- Don't expect pinned packages for editables with non-existent + extras ([#1847](https://github.com/astral-sh/uv/pull/1847)) - Linker copies files as a fallback when ref-linking fails ([#1773](https://github.com/astral-sh/uv/pull/1773)) - Move conflicting dependencies into PubGrub ([#1796](https://github.com/astral-sh/uv/pull/1796)) - Normalize `VIRTUAL_ENV` path in activation scripts ([#1817](https://github.com/astral-sh/uv/pull/1817)) @@ -1646,12 +2374,15 @@ pass the `--native-tls` command-line flag to enable this behavior. - Retain passwords in Git URLs ([#1717](https://github.com/astral-sh/uv/pull/1717)) - Sort output when installing seed packages ([#1822](https://github.com/astral-sh/uv/pull/1822)) - Treat ARM wheels as higher-priority than universal ([#1843](https://github.com/astral-sh/uv/pull/1843)) -- Use `git` command to fetch repositories instead of `libgit2` for robust SSH support ([#1781](https://github.com/astral-sh/uv/pull/1781)) +- Use `git` command to fetch repositories instead of `libgit2` for robust SSH + support ([#1781](https://github.com/astral-sh/uv/pull/1781)) - Use redirected URL as base for relative paths ([#1816](https://github.com/astral-sh/uv/pull/1816)) -- Use the right marker for the `implementation` field of `pyvenv.cfg` ([#1785](https://github.com/astral-sh/uv/pull/1785)) +- Use the right marker for the `implementation` field + of `pyvenv.cfg` ([#1785](https://github.com/astral-sh/uv/pull/1785)) - Wait for distribution metadata with `--no-deps` ([#1812](https://github.com/astral-sh/uv/pull/1812)) - platform-host: check /bin/sh, then /bin/dash and then /bin/ls ([#1818](https://github.com/astral-sh/uv/pull/1818)) -- Ensure that builds within the cache aren't considered Git repositories ([#1782](https://github.com/astral-sh/uv/pull/1782)) +- Ensure that builds within the cache aren't considered Git + repositories ([#1782](https://github.com/astral-sh/uv/pull/1782)) - Strip trailing `+` from version number of local Python builds ([#1771](https://github.com/astral-sh/uv/pull/1771)) ### Documentation @@ -1667,7 +2398,8 @@ pass the `--native-tls` command-line flag to enable this behavior. - Expose find_uv_bin and declare typing support ([#1728](https://github.com/astral-sh/uv/pull/1728)) - Implement `uv cache dir` ([#1734](https://github.com/astral-sh/uv/pull/1734)) - Support `venv --prompt` ([#1570](https://github.com/astral-sh/uv/pull/1570)) -- Print activation instructions for a venv after one has been created ([#1580](https://github.com/astral-sh/uv/pull/1580)) +- Print activation instructions for a venv after one has been + created ([#1580](https://github.com/astral-sh/uv/pull/1580)) ### CLI @@ -1690,12 +2422,14 @@ pass the `--native-tls` command-line flag to enable this behavior. - Set index URLs for seeding venv ([#1755](https://github.com/astral-sh/uv/pull/1755)) - Support dotted function paths for script entrypoints ([#1622](https://github.com/astral-sh/uv/pull/1622)) - Support recursive extras for URL dependencies ([#1729](https://github.com/astral-sh/uv/pull/1729)) -- Better error message for missing space before semicolon in requirements ([#1746](https://github.com/astral-sh/uv/pull/1746)) +- Better error message for missing space before semicolon in + requirements ([#1746](https://github.com/astral-sh/uv/pull/1746)) - Add warning when dependencies are empty with Poetry metadata ([#1650](https://github.com/astral-sh/uv/pull/1650)) - Ignore invalid extras from PyPI ([#1731](https://github.com/astral-sh/uv/pull/1731)) - Improve Poetry warning ([#1730](https://github.com/astral-sh/uv/pull/1730)) - Remove uv version from uv pip compile header ([#1716](https://github.com/astral-sh/uv/pull/1716)) -- Fix handling of range requests on servers that return "Method not allowed" ([#1713](https://github.com/astral-sh/uv/pull/1713)) +- Fix handling of range requests on servers that return "Method not + allowed" ([#1713](https://github.com/astral-sh/uv/pull/1713)) - re-introduce cache healing when we see an invalid cache entry ([#1707](https://github.com/astral-sh/uv/pull/1707)) ### Documentation @@ -1715,9 +2449,11 @@ pass the `--native-tls` command-line flag to enable this behavior. ### Bug fixes -- Build source distributions in the cache directory instead of the global temporary directory ([#1628](https://github.com/astral-sh/uv/pull/1628)) +- Build source distributions in the cache directory instead of the global temporary + directory ([#1628](https://github.com/astral-sh/uv/pull/1628)) - Do not remove uv itself on pip sync ([#1649](https://github.com/astral-sh/uv/pull/1649)) -- Ensure we retain existing environment variables during `python -m uv` ([#1667](https://github.com/astral-sh/uv/pull/1667)) +- Ensure we retain existing environment variables + during `python -m uv` ([#1667](https://github.com/astral-sh/uv/pull/1667)) - Add yank warnings at end of messages ([#1669](https://github.com/astral-sh/uv/pull/1669)) ### Documentation @@ -1726,15 +2462,18 @@ pass the `--native-tls` command-line flag to enable this behavior. - Document RUST_LOG=trace for additional logging verbosity ([#1670](https://github.com/astral-sh/uv/pull/1670)) - Document local testing instructions ([#1672](https://github.com/astral-sh/uv/pull/1672)) - Minimal markdown nits ([#1664](https://github.com/astral-sh/uv/pull/1664)) -- Use `--override` rather than `-o` to specify overrides in README.md ([#1668](https://github.com/astral-sh/uv/pull/1668)) -- Remove setuptools & wheel from seed packages on Python 3.12+ (#1602) ([#1613](https://github.com/astral-sh/uv/pull/1613)) +- Use `--override` rather than `-o` to specify overrides in + README.md ([#1668](https://github.com/astral-sh/uv/pull/1668)) +- Remove setuptools & wheel from seed packages on Python 3.12+ ( + #1602) ([#1613](https://github.com/astral-sh/uv/pull/1613)) ## 0.1.4 ### Enhancements - Add CMD support ([#1523](https://github.com/astral-sh/uv/pull/1523)) -- Improve tracing when encountering invalid `requires-python` values ([#1568](https://github.com/astral-sh/uv/pull/1568)) +- Improve tracing when encountering invalid `requires-python` + values ([#1568](https://github.com/astral-sh/uv/pull/1568)) ### Bug fixes @@ -1760,7 +2499,8 @@ pass the `--native-tls` command-line flag to enable this behavior. - Add support for `UV_EXTRA_INDEX_URL` ([#1515](https://github.com/astral-sh/uv/pull/1515)) - Use the system trust store for HTTPS requests ([#1512](https://github.com/astral-sh/uv/pull/1512)) -- Automatically detect virtual environments when used via `python -m uv` ([#1504](https://github.com/astral-sh/uv/pull/1504)) +- Automatically detect virtual environments when used + via `python -m uv` ([#1504](https://github.com/astral-sh/uv/pull/1504)) - Add warning for empty requirements files ([#1519](https://github.com/astral-sh/uv/pull/1519)) - Support MD5 hashes ([#1556](https://github.com/astral-sh/uv/pull/1556)) @@ -1772,7 +2512,8 @@ pass the `--native-tls` command-line flag to enable this behavior. - Avoid attempting rename in copy fallback path ([#1546](https://github.com/astral-sh/uv/pull/1546)) - Fix list rendering in `venv --help` output ([#1459](https://github.com/astral-sh/uv/pull/1459)) - Fix trailing commas on `Requires-Python` in HTML indexes ([#1507](https://github.com/astral-sh/uv/pull/1507)) -- Read from `/bin/sh` if `/bin/ls` cannot be found when determining libc path ([#1433](https://github.com/astral-sh/uv/pull/1433)) +- Read from `/bin/sh` if `/bin/ls` cannot be found when determining libc + path ([#1433](https://github.com/astral-sh/uv/pull/1433)) - Remove URL encoding when determining file name ([#1555](https://github.com/astral-sh/uv/pull/1555)) - Support recursive extras ([#1435](https://github.com/astral-sh/uv/pull/1435)) - Use comparable representation for `PackageId` ([#1543](https://github.com/astral-sh/uv/pull/1543)) @@ -1829,6 +2570,5 @@ pass the `--native-tls` command-line flag to enable this behavior. - Fix diagram alignment ([#1354](https://github.com/astral-sh/uv/pull/1354)) - Grammar nit ([#1345](https://github.com/astral-sh/uv/pull/1345)) - - + \ No newline at end of file