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.9.27
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.9.28
Choose a head ref
  • 12 commits
  • 177 files changed
  • 10 contributors

Commits on Jan 27, 2026

  1. Support Pyodide interpreter in windows (#17658)

    ## Summary
    
    This adds Pyodide interpreter support in windows environment. In Pyodide
    0.29.2, we made some enhancements to run Pyodide CLI in windows. This PR
    relaxes a check that was disabling `uv pip` in Windows + Pyodide and
    adds integration test.
    
    ## Test Plan
    
    Added integration test, also tested locally by running
    
    ```
    uv python install cpython-3.13.2-emscripten-wasm32-musl
    uv venv venv-pyodide -p cpython-3.13.2-emscripten-wasm32-musl
    call venv-pyodide\Scripts\activate
    uv pip install packaging
    python -c "import packaging"
    ```
    ryanking13 authored Jan 27, 2026
    Configuration menu
    Copy the full SHA
    d31d7d7 View commit details
    Browse the repository at this point in the history
  2. Set XDG_CONFIG_HOME in with_real_home() to isolate test config (#…

    …17456)
    
    The `with_real_home()` method sets `HOME` to the real home directory,
    which is required for tests that use the macOS keychain for
    authentication. However, this causes a problem: when `HOME` is set but
    `XDG_CONFIG_HOME` is not, uv resolves the config directory to
    `$HOME/.config/uv` per the XDG specification. This means tests would
    read the user's real configuration files (like `.python-version` or
    `uv.toml`), which can override test-specified settings and cause
    failures.
    
    This PR sets `XDG_CONFIG_HOME` to the test's isolated config directory
    in `with_real_home()`, ensuring that even when the real HOME is needed
    for keychain access, configuration files are read from an isolated
    location.
    
    ## Test plan
    
    - Existing tests pass
    - Tests using `with_real_home()` no longer read user config files
    gaborbernat authored Jan 27, 2026
    Configuration menu
    Copy the full SHA
    5aeaa31 View commit details
    Browse the repository at this point in the history
  3. Use Rust 1.91 features Duration::from_mins and `Path::with_added_ex…

    …tension` (#17710)
    
    Co-authored-by: Claude <noreply@anthropic.com>
    zanieb and claude authored Jan 27, 2026
    Configuration menu
    Copy the full SHA
    2183c3f View commit details
    Browse the repository at this point in the history
  4. Require fs-err 3.2.2 (for File::set_modified) (#17718)

    <!--
    Thank you for contributing to uv! To help us out with reviewing, please
    consider the following:
    
    - Does this pull request include a summary of the change? (See below.)
    - Does this pull request include a descriptive title?
    - Does this pull request include references to any relevant issues?
    -->
    
    ## Summary
    
    Update the `fs-err` dependency to 3.2.2, because `uv` uses
    `File::set_modified` in
    
    
    https://github.com/astral-sh/uv/blob/2183c3fe1b4b8e83ea284f7b8ffbdc736f40332e/crates/uv-install-wheel/src/linker.rs#L337
    
    and this API was added [in
    3.2.2](https://github.com/andrewhickman/fs-err/blob/3.2.2/CHANGELOG.md#322).
    <!-- What's the purpose of the change? What does it do, and why? -->
    
    Version 3.2.2 was already in `Cargo.lock`, but I ran `cargo update
    fs-error` and it made two small changes anyway.
    
    ## Test Plan
    
    <!-- How was it tested? -->
    There’s not much to test, as this just increases the minimum version.
    You can verify the original problem by checking out `main` and running
    
    ```
    $ cargo update fs-err --precise 3.2.1
    $ cargo build
    ```
    
    to see the error
    
    ```
    error[E0599]: no method named `set_modified` found for struct `fs_err::File` in the current scope
       --> crates/uv-install-wheel/src/linker.rs:337:35
        |
    337 |             if let Err(err) = dir.set_modified(now) {
        |                                   ^^^^^^^^^^^^ method not found in `fs_err::File`
    ```
    musicinmybrain authored Jan 27, 2026
    Configuration menu
    Copy the full SHA
    e007d3f View commit details
    Browse the repository at this point in the history
  5. Update debian Docker tag to v13 (#17695)

    This PR contains the following updates:
    
    | Package | Type | Update | Change |
    |---|---|---|---|
    | debian | container | major | `bookworm` → `trixie` |
    
    ---
    
    ### Configuration
    
    📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on
    Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule
    defined).
    
    🚦 **Automerge**: Disabled by config. Please merge this manually once you
    are satisfied.
    
    ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
    rebase/retry checkbox.
    
    🔕 **Ignore**: Close this PR and you won't be reminded about this update
    again.
    
    ---
    
    - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
    this box
    
    ---
    
    This PR was generated by [Mend Renovate](https://mend.io/renovate/).
    View the [repository job
    log](https://developer.mend.io/github/astral-sh/uv).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYnVpbGQ6c2tpcC1yZWxlYXNlIiwiaW50ZXJuYWwiXX0=-->
    
    ---------
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    Co-authored-by: Zanie Blue <contact@zanie.dev>
    Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
    3 people authored Jan 27, 2026
    Configuration menu
    Copy the full SHA
    b73f6cb View commit details
    Browse the repository at this point in the history
  6. Skip uploads when validation reports 'Already uploaded' (#17412)

    ## Summary
    
    If the file was already uploaded, `/validate` already tells us that.
    charliermarsh authored Jan 27, 2026
    Configuration menu
    Copy the full SHA
    3a5c343 View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2026

  1. Sync latest Python releases (#17726)

    Pick up python-build-standalone 20260127 for OpenSSL 3.5.5.
    
    Co-authored-by: geofft <74644+geofft@users.noreply.github.com>
    github-actions[bot] and geofft authored Jan 28, 2026
    Configuration menu
    Copy the full SHA
    c377edc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    583414f View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2026

  1. Warn if multiple indexes include default = true (#17713)

    Prepare for #17011
    
    Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
    konstin and charliermarsh authored Jan 29, 2026
    Configuration menu
    Copy the full SHA
    b273747 View commit details
    Browse the repository at this point in the history
  2. Ensure uv.exe exits when uvw.exe or uvx.exe is killed (#17500)

    This matches the approach used by the trampoline in `bounce.rs` so we
    combine the implementations in a new `uv-windows` crate.
    
    Closes #17492
    Closes #11817
    zanieb authored Jan 29, 2026
    Configuration menu
    Copy the full SHA
    1b4407f View commit details
    Browse the repository at this point in the history
  3. Add a workflow to publish versions to another repository (#17648)

    This is loosely a copy of the `publish-docs` workflow. It uses
    https://github.com/astral-sh/versions/blob/main/scripts/publish-version.py
    to add the latest version in the cargo dist plan to that repository.
    zanieb authored Jan 29, 2026
    Configuration menu
    Copy the full SHA
    29b59d6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0e1351e View commit details
    Browse the repository at this point in the history
Loading