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: pypa/build
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1.6.0
Choose a base ref
...
head repository: pypa/build
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 1.6.1
Choose a head ref
  • 10 commits
  • 24 files changed
  • 7 contributors

Commits on Sep 9, 2026

  1. 🔧 build(type): replace mypy with pyrefly (#1168)

    Co-authored-by: layday <layday@protonmail.com>
    2 people authored and henryiii committed Sep 9, 2026
    Configuration menu
    Copy the full SHA
    7f0cc7e View commit details
    Browse the repository at this point in the history
  2. 🐛 fix(release): format generated changelog (#1170)

    Format the generated changelog with [docstrfmt
    2.2.1](https://github.com/LilSpazJoekp/docstrfmt/releases/tag/v2.2.1)
    before creating a release commit. v2.2.0 skipped `CHANGELOG.rst` in
    GitHub's `build/build` checkout, leaving the 1.6.0 changelog over 120
    columns.
    
    Pin the release dependency and pre-commit hook to v2.2.1, with a
    package-specific cutoff timestamp so uv can install it before the
    seven-day window expires. Reformat the existing changelog to match
    docstrfmt's output.
    gaborbernat authored and henryiii committed Sep 9, 2026
    Configuration menu
    Copy the full SHA
    1c5bd6c View commit details
    Browse the repository at this point in the history
  3. docs: use PyPI ref directly (#1172)

    ## Description
    
    Fixes docstrfmt. See
    LilSpazJoekp/docstrfmt#176.
    
    <!-- Describe what changes you made and why -->
    
    ## Changelog
    
    <!-- All PRs should include a changelog fragment in docs/changelog/ -->
    
    Not needed.
    
    - [ ] Added changelog fragment: `docs/changelog/<pr_number>.<type>.rst`
      - Types: `feature`, `bugfix`, `doc`, `removal`, `misc`
    - Example: `123.feature.rst` containing `` Add custom backend support -
    by :user:`yourname` ``
    
    ## Checklist
    
    - [ ] Tests pass locally (`tox`)
    - [ ] Code follows project style (`tox -e fix`)
    - [ ] Type checks pass (`tox -e type`)
    - [x] Documentation builds (`tox -e docs`)
    
    Signed-off-by: Henry Schreiner <henryfs@princeton.edu>
    henryiii committed Sep 9, 2026
    Configuration menu
    Copy the full SHA
    5c3fd46 View commit details
    Browse the repository at this point in the history
  4. docs: fix changelog page heading levels and sidebar (#1171)

    ## Description
    
    Fix up the display of the changelog; now just a normal entry, the ToC is
    now nested properly (first entry was raised a level before due to
    docstrfmt rewriting it).
    
    <!-- Describe what changes you made and why -->
    
    ## Changelog
    
    <!-- All PRs should include a changelog fragment in docs/changelog/ -->
    
    None needed.
    
    - [ ] Added changelog fragment: `docs/changelog/<pr_number>.<type>.rst`
      - Types: `feature`, `bugfix`, `doc`, `removal`, `misc`
    - Example: `123.feature.rst` containing `` Add custom backend support -
    by :user:`yourname` ``
    
    ## Checklist
    
    - [ ] Tests pass locally (`tox`)
    - [ ] Code follows project style (`tox -e fix`)
    - [ ] Type checks pass (`tox -e type`)
    - [x] Documentation builds (`tox -e docs`)
    henryiii committed Sep 9, 2026
    Configuration menu
    Copy the full SHA
    aad39a8 View commit details
    Browse the repository at this point in the history
  5. pre-commit: bump repositories (#1173)

    Co-authored-by: Bernát Gábor <gaborjbernat@gmail.com>
    2 people authored and henryiii committed Sep 9, 2026
    Configuration menu
    Copy the full SHA
    e02ffd3 View commit details
    Browse the repository at this point in the history
  6. build(deps): bump re-actors/alls-green from 1.2.2 to 1.3.0 in the git…

    …hub-actions group (#1174)
    
    Bumps the github-actions group with 1 update:
    [re-actors/alls-green](https://github.com/re-actors/alls-green).
    
    Updates `re-actors/alls-green` from 1.2.2 to 1.3.0
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/re-actors/alls-green/releases">re-actors/alls-green's
    releases</a>.</em></p>
    <blockquote>
    <h2>v1.3.0</h2>
    <!-- raw HTML omitted -->
    <h2>🛡️ What's Unmessed</h2>
    <blockquote>
    <p>[!caution]</p>
    <p>There was a small command injection risk in prior versions. I
    consider it very low because of the specifics of the action use case.
    But still, do upgrade, okay?</p>
    <p><a href="https://github.com/illera88"><code>@​illera88</code></a><a
    href="https://github.com/sponsors/max-sixty">💰</a> fixed this <a
    href="https://docs.zizmor.sh/audits/#template-injection">template
    injection</a> bug in <a
    href="https://redirect.github.com/re-actors/alls-green/issues/37">#37</a>
    by passing inputs via env vars.</p>
    <p>See GHSA-gj76-h2ch-5m76 for more detail that was first reported by <a
    href="https://github.com/Corbynx010"><code>@​Corbynx010</code></a><a
    href="https://github.com/sponsors/Corbynx010">💰</a> while I was at
    EuroPython.</p>
    </blockquote>
    <h2>✨ What's Improved</h2>
    <p>I did a bunch of internal refactoring including hints of what <a
    href="https://github.com/max-sixty"><code>@​max-sixty</code></a><a
    href="https://github.com/sponsors/max-sixty">💰</a> reported in <a
    href="https://redirect.github.com/re-actors/alls-green/issues/23">#23</a>.
    And took a small patch of <a
    href="https://github.com/krokofant"><code>@​krokofant</code></a><a
    href="https://github.com/sponsors/krokofant">💰</a> in. This involved a
    bunch of preparatory infra work with testing infra.</p>
    <p>One notable improvement is that now thanks to <a
    href="https://github.com/tomasr8"><code>@​tomasr8</code></a><a
    href="https://github.com/sponsors/tomasr8">💰</a>'s and <a
    href="https://github.com/hugovk"><code>@​hugovk</code></a><a
    href="https://github.com/sponsors/hugovk">💰</a>'s UX suggestions in <a
    href="https://redirect.github.com/re-actors/alls-green/issues/31">#31</a>,
    the gate status output is colored in the console and should be easier to
    scan in the log output per line. They entries now have leading
    <code>✓</code>/<code>❌</code> acceptance marks and the actual incoming
    job outcomes are labeled with
    <code>🟢</code>/<code>🔴</code>/<code>⬜</code>/<code>⚫</code>.</p>
    <h2>🐛 What's Fixed</h2>
    <p>The job-statuses summary could print &quot;Some of the allowed to be
    skipped jobs did not succeed&quot; based on the wrong condition — it's
    now tied to <code>allowed-skips</code> as intended, not
    <code>allowed-failures</code>.</p>
    <h2>💪 New Contributors</h2>
    <ul>
    <li><a
    href="https://github.com/Corbynx010"><code>@​Corbynx010</code></a><a
    href="https://github.com/sponsors/Corbynx010">💰</a> lurked in
    GHSA-gj76-h2ch-5m76 before everyone else 😉</li>
    <li><a href="https://github.com/illera88"><code>@​illera88</code></a>
    made their first contribution in <a
    href="https://redirect.github.com/re-actors/alls-green/issues/37">#37</a>
    and GHSA-gj76-h2ch-5m76</li>
    <li><a href="https://github.com/krokofant"><code>@​krokofant</code></a>
    and <a href="https://github.com/max-sixty"><code>@​max-sixty</code></a>
    first contributed in <a
    href="https://redirect.github.com/re-actors/alls-green/issues/23">#23</a></li>
    <li><a href="https://github.com/tomasr8"><code>@​tomasr8</code></a> and
    <a href="https://github.com/hugovk"><code>@​hugovk</code></a> in <a
    href="https://redirect.github.com/re-actors/alls-green/issues/31">#31</a></li>
    </ul>
    <p><strong>🪞 Full Diff</strong>: <a
    href="https://github.com/re-actors/alls-green/compare/v1.2.2...v1.3.0">https://github.com/re-actors/alls-green/compare/v1.2.2...v1.3.0</a></p>
    <p><strong>🧔‍♂️ Release Manager:</strong> <a
    href="https://github.com/sponsors/webknjaz"><code>@​webknjaz</code></a>
    <a href="https://stand-with-ukraine.pp.ua">🇺🇦</a></p>
    <p><strong>💬 Discuss</strong> <a
    href="https://bsky.app/profile/did:plc:ve6s3mxkefjaxty3m4fdqumn/post/3mtn27ckwcs2g">on
    Bluesky 🦋</a>, <a
    href="https://mastodon.social/@webknjaz/117136385624434132">on Mastodon
    🐘</a> and <a
    href="https://github.com/re-actors/alls-green/discussions/41">on
    GitHub</a>.</p>
    <p><a href="https://github.com/sponsors/webknjaz"><img
    src="https://img.shields.io/badge/%40webknjaz-transparent?logo=githubsponsors&amp;logoColor=%23EA4AAA&amp;label=Sponsor&amp;color=2a313c"
    alt="GH Sponsors badge" /></a></p>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/re-actors/alls-green/commit/b5b5b37504aa4183270bd3d855c52a67f212be35"><code>b5b5b37</code></a>
    Merge pull request <a
    href="https://redirect.github.com/re-actors/alls-green/issues/38">#38</a>
    from re-actors/pre-commit-ci-update-config</li>
    <li><a
    href="https://github.com/re-actors/alls-green/commit/bd6edd6ad7041501d63ef0c4db5b2a91844258db"><code>bd6edd6</code></a>
    [pre-commit.ci] pre-commit autoupdate</li>
    <li><a
    href="https://github.com/re-actors/alls-green/commit/3967c811870ad806b96fe6fc92c30945e28c7f83"><code>3967c81</code></a>
    💅 Make the output easier to scan</li>
    <li><a
    href="https://github.com/re-actors/alls-green/commit/e68df088d4e9ee6bc36b8ea7deacf96161902d2a"><code>e68df08</code></a>
    💅 Style job statuses title with a 🔮</li>
    <li><a
    href="https://github.com/re-actors/alls-green/commit/62d37b2e61967193e11080807fa07b65a5da2f1e"><code>62d37b2</code></a>
    🧪 Unxfail 'success-of-some-allowed-to-skip-or-fail'</li>
    <li><a
    href="https://github.com/re-actors/alls-green/commit/7b5df6d203876347f566cd7054f1e14c4fe7feab"><code>7b5df6d</code></a>
    💅 Add a Codecov badge to README</li>
    <li><a
    href="https://github.com/re-actors/alls-green/commit/2410c4cfd1739b8daac80b163f67b3bc7e82fa8a"><code>2410c4c</code></a>
    🐛 Correct reporting failed skipped jobs</li>
    <li><a
    href="https://github.com/re-actors/alls-green/commit/6457593303d1f188ac0d1f1b6c215f89606a7820"><code>6457593</code></a>
    💅 Add a GH Sponsors badge</li>
    <li><a
    href="https://github.com/re-actors/alls-green/commit/a617895ce910f6b620c770a79fc80d7fdc3cb0a3"><code>a617895</code></a>
    💅 Add a pre-commit.ci badge</li>
    <li><a
    href="https://github.com/re-actors/alls-green/commit/8de05dc10f508bf473c58ea66a5ee252fe7e63bd"><code>8de05dc</code></a>
    🧪 Force <code>ctrace</code> core in coveragepy</li>
    <li>Additional commits viewable in <a
    href="https://github.com/re-actors/alls-green/compare/05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe...b5b5b37504aa4183270bd3d855c52a67f212be35">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility
    score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=re-actors/alls-green&package-manager=github_actions&previous-version=1.2.2&new-version=1.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
    
    Dependabot will resolve any conflicts with this PR as long as you don't
    alter it yourself. You can also trigger a rebase manually by commenting
    `@dependabot rebase`.
    
    [//]: # (dependabot-automerge-start)
    [//]: # (dependabot-automerge-end)
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    You can trigger Dependabot actions by commenting on this PR:
    - `@dependabot rebase` will rebase this PR
    - `@dependabot recreate` will recreate this PR, overwriting any edits
    that have been made to it
    - `@dependabot show <dependency name> ignore conditions` will show all
    of the ignore conditions of the specified dependency
    - `@dependabot ignore <dependency name> major version` will close this
    group update PR and stop Dependabot creating any more for the specific
    dependency's major version (unless you unignore this specific
    dependency's major version or upgrade to it yourself)
    - `@dependabot ignore <dependency name> minor version` will close this
    group update PR and stop Dependabot creating any more for the specific
    dependency's minor version (unless you unignore this specific
    dependency's minor version or upgrade to it yourself)
    - `@dependabot ignore <dependency name>` will close this group update PR
    and stop Dependabot creating any more for the specific dependency
    (unless you unignore this specific dependency or upgrade to it yourself)
    - `@dependabot unignore <dependency name>` will remove all of the ignore
    conditions of the specified dependency
    - `@dependabot unignore <dependency name> <ignore condition>` will
    remove the ignore condition of the specified dependency and ignore
    conditions
    
    
    </details>
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored and henryiii committed Sep 9, 2026
    Configuration menu
    Copy the full SHA
    c93ca6f View commit details
    Browse the repository at this point in the history
  7. fix: always use copies for the isolated venv on Windows (#1176)

    The broken probe fixed in #1118 (1.6.0, broken previously) wasn't
    actually supposed to be there; `python -m venv` doesn't check for
    symlink support. Even if symlinks are supported, python don't always
    work symlinked on Windows. This PR removes the check.
    
    Fixes #1175.
    
    :robot: _AI text below_ :robot:
    
    
    
    Version 1.6.0 fixed the symlink probe in #1118. Before that fix the
    probe always failed on Windows, so every isolated environment was built
    from copies. After the fix, GitHub Windows runners report symlink
    support, and `venv` started to symlink `python.exe`. A symlinked
    interpreter cannot find the DLLs of some Python builds, most visibly
    conda, and pip fails with `DLL load failed while importing _ssl` /
    `_ctypes`. Projects such as xgboost, LightGBM, and partcad have pinned
    `build<1.6` to work around this.
    
    This change removes the probe and hardcodes `symlinks=os.name != 'nt'`,
    which is the `venv` CLI default and the behavior all releases before
    1.6.0 had in practice. The two tests for the probe are removed with it.
    henryiii committed Sep 9, 2026
    Configuration menu
    Copy the full SHA
    244b250 View commit details
    Browse the repository at this point in the history
  8. docs: fix doubled backslashes in Windows pip config path (#1149)

    ### What was wrong
    
    Two pages give the location of pip's Windows configuration file, and
    both write the path with two backslashes per separator inside an inline
    literal:
    
    - `docs/reference/environment-variables.rst` — "Alternative:
    Configuration Files"
    - `docs/how-to/corporate-environments.rst` — "Configuration Files"
    
    reStructuredText does not treat backslashes as escape characters inside
    inline literals, so the doubled separators are rendered verbatim.
    Readers are shown a path with doubled separators, which is not a valid
    Windows path — anyone copying it to find or create their `pip.ini` gets
    the wrong location.
    
    This is visible on the published docs today, on both `stable` and
    `latest`:
    
    - <https://build.pypa.io/en/stable/reference/environment-variables.html>
    - <https://build.pypa.io/en/latest/how-to/corporate-environments.html>
    
    pip's own documentation gives this location with single separators
    (<https://pip.pypa.io/en/stable/topics/configuration/>), and the
    surrounding docs are already consistent with that — the `TEMP` example a
    few sections up in the same reference page uses single separators.
    
    ### How it was verified
    
    - Rendered the exact source lines through docutils before and after: the
    current source renders with doubled separators, the fixed source renders
    the correct path.
    - Built the full docs with the project's own settings, `sphinx-build -W
    -n -b html docs`, which **succeeded**, and diffed the generated HTML for
    both pages — each now renders the correct single-separator path.
    - Cross-checked against the live published pages (linked above) and
    against pip's documentation.
    - Confirmed `git grep` finds no other occurrence of the doubled form in
    the repository.
    
    ### What changed
    
    One line in each of the two files, changing the doubled separators in
    the inline literal to single ones. Nothing else — no prose, formatting,
    or unrelated files.
    
    ### Validation performed
    
    `sphinx-build -W -n` completed with no warnings or errors. I could not
    run the full `tox -e docs` environment locally (it pins `base_python =
    "3.14"`; I have 3.12), so `proselint` did not run — but this change
    touches no prose, only the contents of an inline literal.
    
    Happy to fold in the second file separately if you would rather keep the
    how-to and reference changes apart.
    
    ### Before / after on Read the Docs
    
    The Read the Docs preview for this PR renders the correct path on both
    pages, which can be compared directly against the currently published
    docs:
    
    | | Reference page | How-to page |
    |---|---|---|
    | Published today |
    [environment-variables](https://build.pypa.io/en/latest/reference/environment-variables.html)
    |
    [corporate-environments](https://build.pypa.io/en/latest/how-to/corporate-environments.html)
    |
    | This PR |
    [environment-variables](https://pypa-build--1149.org.readthedocs.build/en/1149/reference/environment-variables.html)
    |
    [corporate-environments](https://pypa-build--1149.org.readthedocs.build/en/1149/how-to/corporate-environments.html)
    |
    aroh3006 authored and henryiii committed Sep 9, 2026
    Configuration menu
    Copy the full SHA
    7785161 View commit details
    Browse the repository at this point in the history
  9. ci: support releases from v* branches (#1178)

    🤖 _AI text below_ 🤖
    
    The pre-release workflow, the local release script, and the test
    workflow only accepted `main`. This lets them also run on `v*`
    maintenance branches:
    
    - `pre-release.yml`: run on `main` or `v*`, check out the dispatched
    ref, push back to the dispatched branch.
    - `tasks/release.py`: push to the current branch instead of `main`.
    - `test.yml` and `cd.yml`: trigger on pushes and PRs for `v*` branches.
    
    The `release` and `pypi` GitHub environments need `v*` added to their
    branch rules before a release from a `v1` branch can run.
    henryiii committed Sep 9, 2026
    Configuration menu
    Copy the full SHA
    a6f707a View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2026

  1. Configuration menu
    Copy the full SHA
    89cccef View commit details
    Browse the repository at this point in the history
Loading