Skip to content

Latest commit

 

History

History
572 lines (450 loc) · 37.8 KB

PREVIEW-CHANGELOG.md

File metadata and controls

572 lines (450 loc) · 37.8 KB

Changelog

0.2.33

Preview features

  • Add --package to uv sync (#5656)
  • Add documentation for caching the uv cache in GHA (#5663)
  • Avoid persisting uv add calls that result in resolver errors (#5664)
  • Bold active nav links for accessibility (#5673)
  • Check idempotence in packse lock scenarios (#5485)
  • Detect python version from python project by default in uv venv (#5592)
  • Drop badges from docs landing (#5617)
  • Fix non-registry serialization for receipts (#5668)
  • Generate CLI reference for documentation (#5685)
  • Improve copy of console command examples (#5397)
  • Improve the project guide (#5626)
  • Improve the Python version concepts documentation (#5638)
  • Improve the dependency concept documentation (#5658)
  • Include newly-added optional dependencies in lockfile (#5686)
  • Initialize the cache in uv init (#5669)
  • Limit sync after uv add (#5705)
  • Move pip-compatibility doc into pip interface section (#5670)
  • Move settings reference to reference section (#5689)
  • Omit the nav bar title when it has no use (#5316)
  • Omit transitive development dependencies from workspace lockfile (#5646)
  • Prioritize forks based on Python narrowing (#5642)
  • Prioritize forks based on upper bounds (#5643)
  • Prompt an early jump to the feature overview during first steps (#5655)
  • Remove breadcrumbs for navigation (#5676)
  • Replace --python-preference installed with managed (#5637)
  • Set lower bounds in uv add (#5688)
  • Simplify GHA UV_SYSTEM_PYTHON examples (#5659)
  • Support legacy tool receipts with PEP 508 requirements (#5679)
  • Unhide the experimental top-level commands (#5700)
  • Use "uv" for title of index instead of "Introduction" (#5677)
  • Use fork markers and fork preferences in resolution with lockfile (#5481)
  • Use full requirement when serializing receipt (#5494)
  • Use intersection rather than union for requires-python (#5644)
  • uvx warn when no executables are available (#5675)

0.2.32

Preview features

  • Implement uv run --directory (#5566)
  • Add --isolated support to uv run (#5471)
  • Add --no-workspace and --no-project in lieu of --isolated (#5465)
  • Add documentation for cache clearing (#5517)
  • Add forks to lockfile, don't read them yet (#5480)
  • Add links to documentation footer (#5616)
  • Error when multiple git references are provided in uv add (#5502)
  • Improvements to the project concept docs (#5634)
  • List installed tools when no command is provided to uv tool run (#5553)
  • Make --directory a global argument (#5579)
  • Reframe use of --isolated in tool run (#5470)
  • Remove --isolated usages from the uv python API (#5468)
  • Rename more use of "lock file" to "lockfile" (#5629)
  • Suppress resolver output by default in uv run and uv tool run (#5580)
  • Wrap documentation at 100 characters (#5635)

0.2.31

Preview features

  • Allow uv pip install for unmanaged projects (#5504)
  • Compare simplified paths in Windows exclusion tests (#5525)
  • Respect reinstalls in cached environments (#5499)
  • Use hatchling rather than implicit setuptools default (#5527)
  • Use relocatable installs to support concurrency-safe cached environments (#5509)
  • Support --editable installs for uv tool (#5454)
  • Fix basic case of overlapping markers (#5488)

0.2.30

Preview features

  • Allow distributions to be absent in deserialization (#5453)
  • Merge identical forks (#5405)
  • Minor consistency fixes for code blocks (#5437)
  • Prefer "lockfile" to "lock file" (#5427)
  • Update documentation sections (#5452)
  • Use sitecustomize.py to implement environment layering (#5462)
  • Use stripped variants by default in Python install (#5451)

0.2.29

Preview features

  • Add PyPy finder (#5337)
  • Add uv init --virtual (#5396)
  • Allow uv init in unmanaged projects (#5372)
  • Allow comments in .python-version[s] (#5350)
  • Always show lock updates in uv lock (#5413)
  • Improvements to the docs content (#5426)
  • Fix blurring from nav title box shadow (#5374)
  • Ignore Ctrl-C signals in uv run and uv tool run (#5395)
  • Ignore hidden directories in workspace discovery (#5408)
  • Increase padding between each nav section (#5373)
  • Mark --raw-sources as conflicting with sources-specific arguments (#5378)
  • Omit empty uv.tool.dev-dependencies on uv init (#5406)
  • Omit interpreter path during uv venv with managed Python (#5311)
  • Omit interpreter path from output when using managed Python (#5313)
  • Reject Git CLI arguments with non-Git sources (#5377)
  • Retain dependency specifier in uv add with sources (#5370)
  • Show additions and removals in uv lock updates (#5410)
  • Skip 'Nothing to uninstall' message when removing dangling environments (#5382)
  • Support requirements.txt files in uv tool install and uv tool run (#5362)
  • Use env variables in Github Actions docs (#5411)
  • Use logo in documentation (#5421)
  • Warn on requirements.txt-provided arguments in uv run et al (#5364)

0.2.28

Preview features

  • Add requires-python to uv init (#5322)
  • Add uv add --no-editable (#5246)
  • Add constraint dependencies to pyproject.toml (#5248)
  • Add support for requirements files in uv run (#4973)
  • Avoid redundant members update in uv init (#5321)
  • Create member pyproject.toml prior to workspace discovery (#5317)
  • Fix uv init . (#5330)
  • Fix uv init creation of a sub-package by path (#5247)
  • Fix colors in uv tool run suggestion (#5267)
  • Improve consistency of tool CLI (#5326)
  • Make tool install robust to malformed receipts (#5305)
  • Reduce spacing between nav items (#5310)
  • Respect exclusions in uv init (#5318)
  • Store resolution options in lockfile (#5264)
  • Use backticks in project init message (#5302)
  • Ignores workspace when --isolated flag is used in uv init (#5290)
  • Normalize directory names in uv init (#5292)
  • Avoid project discovery in uv python pin if --isolated is provided (#5354)
  • Show symbolic links in uv python list (#5343)
  • Discover workspace from target path in uv init (#5250)
  • Do not create nested workspace in uv init (#5293)

0.2.27

Preview features

  • Add --frozen to uv add, uv remove, and uv tree (#5214)
  • Add --locked and --frozen to uv run CLI (#5196)
  • Add uv tool dir --bin to show executable directory (#5160)
  • Add uv tool list --show-paths to show install paths (#5164)
  • Add color to python pin CLI (#5215)
  • Added a way to inspect installation scripts on Powershell(Windows) (#5157)
  • Avoid TOCTOU errors in .python-version reads (#5223)
  • Only show the Python installed on the system if --python-preference only-system is specified (#5219)
  • Check python pin compatibility with Requires-Python (#4989)
  • Enforce hashes in lockfile install (#5170)
  • Fix reference to uv run in uv tree CLI (#5216)
  • Handle universal vs. fork markers with ResolverMarkers (#5099)
  • Implement uv init (#4791)
  • Make Python install robust to individual failures (#5199)
  • Make registry hashes optional in the lockfile (#5166)
  • Merge extras in lockfile (#5181)
  • Move integration guide docs and edit Azure integration guide (#5117)
  • Process completed Python installs and uninstalls as a stream (#5203)
  • Skip invalid tools in uv tool list (#5156)
  • Touch-ups to tools guide (#5202)
  • Use +- install output for Python versions (#5201)
  • Use display representation for download error (#5173)
  • Use specialized error message for invalid Python install / uninstall requests (#5171)
  • Use the strongest hash in the lockfile (#5167)
  • Write project guide (#5195)
  • Write tools concept document (#5207)
  • Fix reference to projects.md (#5154)
  • Fixes to the settings documentation (#5177)
  • Set exact version specifiers when resolving from lockfile (#5193)

0.2.26

Preview features

  • Indicate that uv lock --upgrade has updated the lock file (#5110)
  • Sort managed Python installations by version (#5140)
  • Support workspace to workspace path dependencies (#4833)
  • Allow conflicting locals when forking (#5104)
  • Rework pyproject.toml reformatting to respect original indentation (#5075)

Documentation

  • Add stubs for the project documentation (#5135)
  • Add settings.md to docs (#5091)
  • Add contributor documentation for the docs (#5108)
  • Add reference documentation for global settings (#5123)
  • Add reference documentation for pip settings (#5125)
  • Add reference documentation for resolver settings (#5122)
  • Add uv to docs Pull Request titles (#5115)
  • Auto-merge docs PRs on release (#5101)
  • Autogenerate possible values for enums in reference documentation (#5137)

0.2.25

Preview features

  • Add documentation for running scripts (#4968)
  • Add guide for tools (#4982)
  • Allow URL dependencies in tool run --from (#5002)
  • Add guide for authenticating to Azure Artifacts (#4857)
  • Improve rc file detection based on rustup (#5026)
  • Rename python install --force parameter to --reinstall (#4999)
  • Use lockfile to prefill resolver index (#4495)
  • uv tool install hint the correct when the executable is available (#5019)
  • uv tool run error messages references uvx when appropriate (#5014)
  • uvx warns when requested executable is not provided by the package #5071)
  • Exit with zero when uv tool install request is already satisfied (#4986)
  • Respect the libc of the execution environment with uv python list (#5036)
  • Update standalone Pythons to include 3.12.4 (#5042)
  • uv tool run suggest valid commands when command is not found (#4997)
  • Add Windows path updates for uv tool (#5029)
  • Add a command to append uv's binary directory to PATH (#4975)

0.2.24

Preview features

  • Add Python installation guide (#4942)
  • Add uv python pin (#4950)
  • Add command-separation for Python discovery display (#4916)
  • Avoid debug error for uv run with unknown Python version (#4913)
  • Enable --all to uninstall all managed Pythons (#4932)
  • Enable --all to uninstall all managed tools (#4937)
  • Filter out markers based on Python requirement (#4912)
  • Implement uv tree (#4708)
  • Improve 'any' search message during uv python install (#4940)
  • Lock for the duration of tool commands (#4720)
  • Perform lock in uv sync by default (#4839)
  • Reinstall and recreate environments when interpreter is removed (#4935)
  • Respect --isolated in uv python install (#4938)
  • Respect resolver settings in uv remove (#4930)
  • Update "Python versions" documentation (#4943)
  • Warn if tool binary directory is not on path (#4951)
  • Avoid reparsing wheel URLs (#4947)
  • Avoid serializing if lockfile does not change (#4945)

0.2.23

Preview features

  • Avoid creating cache directories in tool directory (#4868)
  • Add progress bar when downloading python (#4840)
  • Add some decoration to tool CLI (#4865)
  • Add some text decoration to toolchain CLI (#4882)
  • Add user-facing output to indicate PEP 723 script (#4881)
  • Ensure Pythons are aligned in uv python list (#4884)
  • Fix always-plural message in uv python install (#4866)
  • Skip installing --with requirements if present in base environment (#4879)
  • Sort dependencies before wheels and source distributions (#4897)
  • Improve logging during resolver forking (#4894)

0.2.22

Preview features

  • Always use base interpreter for cached environments (#4805)
  • Cache tool environments in uv tool run (#4784)
  • Check hash of downloaded python toolchain (#4806)
  • Remove incompatible wheels from uv.lock (#4799)
  • uv cache prune removes all cached environments (#4845)
  • Add dedicated help menu for uvx (#4770)
  • Change "toolchain" to "python" (#4735)
  • Create empty environment for uv run --isolated (#4849)
  • Deduplicate when install or uninstall python (#4841)
  • Require at least one target for toolchain uninstalls (#4820)
  • Resolve requirements prior to nuking tool environments (#4788)
  • Tweak installation language in toolchain install (#4811)
  • Use already-installed tools in uv tool run (#4750)
  • Use cached environments in PEP 723 execution (#4789)
  • Use optimized versions of managed Python on Linux (#4775)
  • Fill Python requests with platform information during automatic fetches (#4810)
  • Remove installed python for force installation (#4807)
  • Add tool version to list command (#4674)
  • Add entrypoints to tool list (#4661)

0.2.21

Preview features

  • Replace tool environments on updated Python request (#4746)

0.2.20

0.2.19

Preview features

  • Remove dangling environments in uv tool uninstall (#4740)
  • Respect upgrades in uv tool install (#4736)
  • Add PEP 723 support to uv run (#4656)
  • Add tool dir and toolchain dir commands (#4695)
  • Omit pythonX.Y segment in stdlib path for managed toolchains on Windows (#4727)
  • Add uv toolchain uninstall (#4646)
  • Add uvx alias for uv tool run (#4632)
  • Allow configuring the toolchain fetch strategy (#4601)
  • Drop prefer prefix from toolchain-preference values (#4602)
  • Enable projects to opt-out of workspace management (#4565)
  • Fetch managed toolchains if necessary in uv tool install and uv tool run (#4717)
  • Fix tool dist-info directory normalization (#4686)
  • Lock the toolchains directory during toolchain operations (#4733)
  • Log when we start solving a fork (#4684)
  • Reinstall entrypoints with --force (#4697)
  • Respect data scripts in uv tool install (#4693)
  • Set fork solution as preference when resolving (#4662)
  • Show dedicated message for tools with no entrypoints (#4694)
  • Support unnamed requirements in uv tool install (#4716)

0.2.18

Preview features

  • Add uv tool list (#4630)
  • Add uv tool uninstall (#4641)
  • Add support for specifying name@version in uv tool run (#4572)
  • Allow uv add to specify optional dependency groups (#4607)
  • Allow the package spec to be passed positionally in uv tool install (#4564)
  • Avoid infinite loop for cyclic installs (#4633)
  • Indent wheels like dependencies in the lockfile (#4582)
  • Sync all packages in a virtual workspace (#4636)
  • Use inline table for dependencies in lockfile (#4581)
  • Make source field in lock file more structured (#4627)

0.2.17

Preview features

  • Add --extra to uv add and enable fine-grained updates (#4566)

0.2.16

Preview features

  • Add --package argument to uv add and uv remove (#4556)
  • Add uv tool install (#4492)
  • Fallback to interpreter discovery in uv run (#4549)
  • Make uv.sources without --preview non-fatal (#4558)
  • Remove non-existent extras from lockfile (#4479)
  • Support conflicting URL in separate forks (#4435)
  • Automatically detect workspace packages in uv add (#4557)
  • Omit distribution.sdist from lockfile when it is redundant (#4528)
  • Remove source and version from lock file when unambiguous (#4513)
  • Allow uv lock to read overrides from tool.uv (#4108) (#4369)

0.2.15

0.2.14

Preview features

  • Expose toolchain-preference as a CLI and configuration file option (#4424)
  • Improve handling of command arguments in uv run and uv tool run (#4404)
  • Add tool.uv.sources support for uv add (#4406)
  • Use correct lock path for workspace dependencies (#4421)
  • Filter out sibling dependencies in resolver forks (#4415)

0.2.13

Preview features

  • Add --workspace option to uv add (#4362)
  • Ignore query errors during uv toolchain list (#4382)
  • Respect .python-version files and fetch manged toolchains in uv project commands (#4361)
  • Respect .python-version in uv venv --preview (#4360)

0.2.12

Preview features

  • Add --force option to uv toolchain install (#4313)
  • Add --no-build, --no-build-package, and binary variants (#4322)
  • Add EXTERNALLY-MANAGED markers to managed toolchains (#4312)
  • Add uv toolchain find (#4206)
  • Add persistent configuration for non-pip APIs (#4294)
  • Add support for adding/removing development dependencies (#4327)
  • Add support for listing system toolchains (#4172)
  • Add support for toolchain requests by key (#4332)
  • Allow multiple toolchains to be requested in uv toolchain install (#4334)
  • Fix relative and absolute path handling in lockfiles (#4266)
  • Load configuration options from workspace root (#4295)
  • Omit project name from workspace errors (#4299)
  • Read Python version files during toolchain installs (#4335)
  • Remove extraneous installations in uv sync by default (#4366)
  • Respect requires-python in uv lock (#4282)
  • Respect workspace-wide requires-python in interpreter selection (#4298)
  • Support unnamed requirements in uv add (#4326)
  • Use portable slash paths in lockfile (#4324)
  • Use registry URL for fetching source distributions from lockfile (#4280)
  • uv sync --no-clean (#4367)
  • Filter dependencies by tracking markers on resolver forks (#4339)
  • Use Requires-Python to filter dependencies during universal resolution (#4273)

0.2.11

Preview features

  • Add changelog for preview changes (#4251)
  • Allow direct URLs for dev dependencies (#4233)
  • Create temporary environments in dedicated cache bucket (#4223)
  • Improve output when an older toolchain version is already installed (#4248)
  • Initial implementation of uv add and uv remove (#4193)
  • Refactor project interpreter request for requires-python specifiers (#4216)
  • Replace toolchain fetch with toolchain install (#4228)
  • Support locking relative paths (#4205)
  • Warn when 'requires-python' does not include a lower bound (#4234)

0.2.10

Preview features

  • Add uv toolchain install (#4164)
  • Add uv toolchain list (#4163)
  • Add extra and dev dependency validation to lockfile (#4112)
  • Add markers to edges rather than distributions (#4166)
  • Cap Requires-Python comparisons at the patch version (#4150)
  • Do not create a virtual environment when locking (#4147)
  • Don't panic with invalid wheel source (#4191)
  • Fetch managed toolchains in uv run (#4143)
  • Fix PEP 508 link in preview doc specifying_dependencies (#4158)
  • Ignore tags in universal resolution (#4174)
  • Implement Toolchain::find_or_fetch and use in uv venv --preview (#4138)
  • Lock all packages in workspace (#4016)
  • Recreate project environment if --python or requires-python doesn't match (#3945)
  • Respect --find-links in lock and sync (#4183)
  • Set --dev to default for uv run and uv sync (#4118)
  • Track Markers via a PubGrub package variant (#4123)
  • Use union of requires-python in workspace (#4041)
  • make universal resolver fork only when markers are disjoint (#4135)

0.2.9

Preview features

  • Add support for development dependencies (#4036)
  • Avoid enforcing distribution ID uniqueness for extras (#4104)
  • Ignore upper-bounds on Requires-Python (#4086)

0.2.8

Preview features

  • Default to current Python minor if Requires-Python is absent (#4070)
  • Enforce Requires-Python when syncing (#4068)
  • Track supported Python range in lockfile (#4065)

0.2.7

Preview features

  • Fix a bug where no warning is output when parsing of workspace settings fails. (#4014)
  • Normalize extras in lockfile (#3958)
  • Respect Requires-Python in universal resolution (#3998)

0.2.6

Preview features

  • Add uv run --package (#3864)
  • Add index URL parameters to Project CLI (#3984)
  • Avoid re-adding solutions to forked state (#3967)
  • Draft for user docs for workspaces (#3866)
  • Include all extras when generating lockfile (#3912)
  • Remove unstable uv lock from pip interface (#3970)
  • Respect resolved Git SHAs in uv lock (#3956)
  • Use lockfile in uv run (#3894)
  • Use lockfile versions as resolution preferences (#3921)
  • Use universal resolution in uv lock (#3969)

0.2.5

Preview features

  • Add context to failed uv tool run (#3882)
  • Add persistent storage of installed toolchains (#3797)
  • Gate discovery of managed toolchains with preview (#3835)
  • Initial workspace support (#3705)
  • Move editable discovery behind --preview for now (#3884)

0.2.4

0.2.3

Preview features

  • Allow specification of additional requirements in uv tool run (#3678)

0.2.2

0.2.1

Preview features

  • Allow users to specify a custom source package to uv tool run (#3677)

0.2.0

Preview features

  • Add initial implementation of uv tool run (#3657)
  • Add offline support to uv tool run and uv run (#3676)
  • Better error message for uv run failures (#3691)
  • Discover workspaces without using them in resolution (#3585)
  • Support editables in uv sync (#3692)
  • Track editable requirements in lockfile (#3725)

0.1.45

Preview features

  • Add direct URL conversion to lockfile (#3633)
  • Add hashes and versions to all distributions (#3589)
  • Add local path conversions from lockfile (#3609)
  • Add missing "directory" branch in source match (#3608)
  • Add registry file size to lockfile (#3652)
  • Add registry source distribution support to lockfile (#3649)
  • Refactor editables for supporting them in bluejay commands (#3639)
  • Rename sourcedist to sdist in lockfile (#3590)
  • Respect installed packages in uv run (#3603)
  • Support lossless serialization for Git dependencies in lockfile (#3630)

0.1.44

0.1.43

Preview features

  • Create virtualenv if it doesn't exist in project API (#3499)
  • Discover uv run projects hierarchically (#3494)
  • Read and write uv.lock based on project root (#3497)
  • Read package name from pyproject.toml in uv run (#3496)
  • Rebrand workspace API as project API (#3489)

0.1.42

Preview features

  • Use environment layering for uv run --with (#3447)
  • Warn when missing minimal bounds when using tool.uv.sources (#3452)

0.1.41

0.1.40

Preview features

  • Add basic tool.uv.sources support (#3263)
  • Improve non-git error message (#3403)
  • Preserve given for tool.uv.sources paths (#3412)
  • Restore verbatim in error message (#3402)
  • Use preview mode for tool.uv.sources (#3277)
  • Use top-level --isolated for uv run (#3431)
  • add basic "install from lock file" operation (#3340)
  • uv-resolver: add initial version of universal lock file format (#3314)