38 KiB
38 KiB
Changelog
0.2.33
Preview features
- Add
--packagetouv sync(#5656) - Add documentation for caching the uv cache in GHA (#5663)
- Avoid persisting
uv addcalls 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 installedwithmanaged(#5637) - Set lower bounds in
uv add(#5688) - Simplify GHA
UV_SYSTEM_PYTHONexamples (#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) uvxwarn when no executables are available (#5675)
0.2.32
Preview features
- Implement
uv run --directory(#5566) - Add
--isolatedsupport touv run(#5471) - Add
--no-workspaceand--no-projectin 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
--directorya global argument (#5579) - Reframe use of
--isolatedintool run(#5470) - Remove
--isolatedusages from theuv pythonAPI (#5468) - Rename more use of "lock file" to "lockfile" (#5629)
- Suppress resolver output by default in
uv runanduv tool run(#5580) - Wrap documentation at 100 characters (#5635)
0.2.31
Preview features
- Allow
uv pip installfor unmanaged projects (#5504) - Compare simplified paths in Windows exclusion tests (#5525)
- Respect reinstalls in cached environments (#5499)
- Use
hatchlingrather than implicitsetuptoolsdefault (#5527) - Use relocatable installs to support concurrency-safe cached environments (#5509)
- Support
--editableinstalls foruv 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.pyto 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 initin 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 runanduv tool run(#5395) - Ignore hidden directories in workspace discovery (#5408)
- Increase padding between each nav section (#5373)
- Mark
--raw-sourcesas conflicting with sources-specific arguments (#5378) - Omit empty uv.tool.dev-dependencies on
uv init(#5406) - Omit interpreter path during
uv venvwith 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 addwith sources (#5370) - Show additions and removals in
uv lockupdates (#5410) - Skip 'Nothing to uninstall' message when removing dangling environments (#5382)
- Support
requirements.txtfiles inuv tool installanduv tool run(#5362) - Use env variables in Github Actions docs (#5411)
- Use logo in documentation (#5421)
- Warn on
requirements.txt-provided arguments inuv runet al (#5364)
0.2.28
Preview features
- Add
requires-pythontouv 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.tomlprior to workspace discovery (#5317) - Fix
uv init .(#5330) - Fix
uv initcreation of a sub-package by path (#5247) - Fix colors in
uv tool runsuggestion (#5267) - Improve consistency of
toolCLI (#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
--isolatedflag is used inuv init(#5290) - Normalize directory names in
uv init(#5292) - Avoid project discovery in
uv python pinif--isolatedis 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
--frozentouv add,uv remove, anduv tree(#5214) - Add
--lockedand--frozentouv runCLI (#5196) - Add
uv tool dir --binto show executable directory (#5160) - Add
uv tool list --show-pathsto show install paths (#5164) - Add color to
python pinCLI (#5215) - Added a way to inspect installation scripts on Powershell(Windows) (#5157)
- Avoid TOCTOU errors in
.python-versionreads (#5223) - Only show the Python installed on the system if
--python-preference only-systemis specified (#5219) - Check
python pincompatibility withRequires-Python(#4989) - Enforce hashes in lockfile install (#5170)
- Fix reference to
uv runinuv treeCLI (#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 --upgradehas 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.tomlreformatting to respect original indentation (#5075)
Documentation
- Add stubs for the project documentation (#5135)
- Add
settings.mdto 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 --forceparameter to--reinstall(#4999) - Use lockfile to prefill resolver index (#4495)
uv tool installhint the correct when the executable is available (#5019)uv tool runerror messages referencesuvxwhen appropriate (#5014)uvxwarns when requested executable is not provided by the package #5071)- Exit with zero when
uv tool installrequest 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 runsuggest 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 runwith unknown Python version (#4913) - Enable
--allto uninstall all managed Pythons (#4932) - Enable
--allto 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 syncby default (#4839) - Reinstall and recreate environments when interpreter is removed (#4935)
- Respect
--isolatedinuv 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
--withrequirements 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 pruneremoves 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 dirandtoolchain dircommands (#4695) - Omit
pythonX.Ysegment in stdlib path for managed toolchains on Windows (#4727) - Add
uv toolchain uninstall(#4646) - Add
uvxalias foruv tool run(#4632) - Allow configuring the toolchain fetch strategy (#4601)
- Drop
preferprefix fromtoolchain-preferencevalues (#4602) - Enable projects to opt-out of workspace management (#4565)
- Fetch managed toolchains if necessary in
uv tool installanduv 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@versioninuv tool run(#4572) - Allow
uv addto 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
sourcefield in lock file more structured (#4627)
0.2.17
Preview features
- Add
--extratouv addand enable fine-grained updates (#4566)
0.2.16
Preview features
- Add
--packageargument touv addanduv remove(#4556) - Add
uv tool install(#4492) - Fallback to interpreter discovery in
uv run(#4549) - Make
uv.sourceswithout--previewnon-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.sdistfrom lockfile when it is redundant (#4528) - Remove
sourceandversionfrom lock file when unambiguous (#4513) - Allow
uv lockto read overrides fromtool.uv(#4108) (#4369)
0.2.15
0.2.14
Preview features
- Expose
toolchain-preferenceas a CLI and configuration file option (#4424) - Improve handling of command arguments in
uv runanduv tool run(#4404) - Add
tool.uv.sourcessupport foruv add(#4406) - Use correct lock path for workspace dependencies (#4421)
- Filter out sibling dependencies in resolver forks (#4415)
0.2.13
Preview features
- Add
--workspaceoption touv add(#4362) - Ignore query errors during
uv toolchain list(#4382) - Respect
.python-versionfiles and fetch manged toolchains in uv project commands (#4361) - Respect
.python-versioninuv venv --preview(#4360)
0.2.12
Preview features
- Add
--forceoption touv toolchain install(#4313) - Add
--no-build,--no-build-package, and binary variants (#4322) - Add
EXTERNALLY-MANAGEDmarkers to managed toolchains (#4312) - Add
uv toolchain find(#4206) - Add persistent configuration for non-
pipAPIs (#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 syncby default (#4366) - Respect
requires-pythoninuv lock(#4282) - Respect workspace-wide
requires-pythonin 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-Pythonto 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 addanduv remove(#4193) - Refactor project interpreter request for
requires-pythonspecifiers (#4216) - Replace
toolchain fetchwithtoolchain 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-Pythoncomparisons 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_fetchand use inuv venv --preview(#4138) - Lock all packages in workspace (#4016)
- Recreate project environment if
--pythonorrequires-pythondoesn't match (#3945) - Respect
--find-linksinlockandsync(#4183) - Set
--devto default foruv runanduv sync(#4118) - Track
Markersvia a PubGrub package variant (#4123) - Use union of
requires-pythonin 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-Pythonis absent (#4070) - Enforce
Requires-Pythonwhen 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-Pythonin 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
--previewfor 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 runanduv run(#3676) - Better error message for
uv runfailures (#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
sourcedisttosdistin 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 runprojects hierarchically (#3494) - Read and write
uv.lockbased on project root (#3497) - Read package name from
pyproject.tomlinuv 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.sourcessupport (#3263) - Improve non-git error message (#3403)
- Preserve given for
tool.uv.sourcespaths (#3412) - Restore verbatim in error message (#3402)
- Use preview mode for tool.uv.sources (#3277)
- Use top-level
--isolatedforuv run(#3431) - add basic "install from lock file" operation (#3340)
- uv-resolver: add initial version of universal lock file format (#3314)