Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: astral-sh/uv
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.10.5
Choose a base ref
...
head repository: astral-sh/uv
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0.10.6
Choose a head ref
  • 10 commits
  • 163 files changed
  • 4 contributors

Commits on Feb 24, 2026

  1. Configuration menu
    Copy the full SHA
    536727e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0d35322 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f2c006a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    70a3bf0 View commit details
    Browse the repository at this point in the history
  5. Fix astral-test-pypa-gh-action publish test bug in patch version re…

    …trieval (#18174)
    
    The jq filter used `.files[-1].filename` to get the latest published
    version then uses sed to extract the version from a sdist filename, but
    the last file in the list can be a wheel rather than an sdist in the
    middle of an upload. When it's a wheel, the filename passes through
    unchanged and bash complains trying to evaluate it as arithmetic.
    
    e.g.:
    
    > astral_test_pypa_gh_action-0.1.1650-py3-none-any.whl: syntax error:
    invalid arithmetic operator (error token is ".1.1650-py3-none-any.whl")
    
    Surprisingly, this does not fail the job — `sed -i
    "s/0.1.0/0.1.$((patch_version + 1))/g` fails silently in its subshell,
    leaving the version as 0.1.0, `test.pypi.org` returns 400 File already
    exists, and the test succeeds because we use `skip-existing: true`.
    zanieb authored Feb 24, 2026
    Configuration menu
    Copy the full SHA
    f5e00a3 View commit details
    Browse the repository at this point in the history
  6. Fix Python version selection for scripts with a requires-python con…

    …flicting with `.python-version` (#18097)
    
    See #17717 (comment)
    
    Updates `ScriptPython::from_request` to match the implementation of
    `WorkspacePython::from_request` and adds filtering such that if the
    `.python-version` conflicts with the `requires-python`, we prefer the
    latter.
    
    Co-authored-by: Claude <noreply@anthropic.com>
    zanieb and claude authored Feb 24, 2026
    Configuration menu
    Copy the full SHA
    f5b95ba View commit details
    Browse the repository at this point in the history
  7. Remove verbose documentation from optional dependencies help text (#1…

    …8180)
    
    This seems a bit much
    
    Co-authored-by: Claude <noreply@anthropic.com>
    zanieb and claude authored Feb 24, 2026
    Configuration menu
    Copy the full SHA
    7ba5946 View commit details
    Browse the repository at this point in the history
  8. Apply lockfile marker normalization for fork markers (#18116)

    While dependency markers get a roundtrip through simplify/complexify
    ([crates/uv-resolver/src/lock/mod.rs#L4846-L4848](https://github.com/astral-sh/uv/blob/3223b1c39f8011a4460f2b5d56ace19e5d26e16d/crates/uv-resolver/src/lock/mod.rs#L4846-L4848),
    #15994), this treatment was missing
    for fork markers, causing errors with `--locked --refresh` on a fresh
    lockfile.
    
    Fixes #16839
    Closes #18024
    konstin authored Feb 24, 2026
    Configuration menu
    Copy the full SHA
    55cfaf9 View commit details
    Browse the repository at this point in the history
  9. Preserve file permissions when using reflinks on Linux (#18187)

    Fixes an regression from #18117 where executable permissions were not
    preserved on reflink. On Linux, the `FICLONE` ioctl only clones data
    blocks without preserving file metadata, so permissions must be copied
    separately. On macOS, `clonefile` already preserves permissions.
    
    This appears to be a well known issue:
    
    - pnpm/pnpm#8546
    -
    https://github.com/morelj/reflink/blob/53408edf3bf3c5090b1146923f72066c7f6e9200/cloneflags.go#L6-L22
    - python/cpython#81338
    
    Closes #18181
    zanieb authored Feb 24, 2026
    Configuration menu
    Copy the full SHA
    908a7c1 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    a91bcf2 View commit details
    Browse the repository at this point in the history
Loading