Repository navigation
Comparing changes
Open a pull request
base repository: pypa/build
base: 1.6.0
head repository: pypa/build
compare: 1.6.1
- 10 commits
- 24 files changed
- 7 contributors
Commits on Sep 9, 2026
-
🔧 build(type): replace mypy with pyrefly (#1168)
Co-authored-by: layday <layday@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for 7f0cc7e - Browse repository at this point
Copy the full SHA 7f0cc7eView commit details -
🐛 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.
Configuration menu - View commit details
-
Copy full SHA for 1c5bd6c - Browse repository at this point
Copy the full SHA 1c5bd6cView commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for 5c3fd46 - Browse repository at this point
Copy the full SHA 5c3fd46View commit details -
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`)
Configuration menu - View commit details
-
Copy full SHA for aad39a8 - Browse repository at this point
Copy the full SHA aad39a8View commit details -
pre-commit: bump repositories (#1173)
Co-authored-by: Bernát Gábor <gaborjbernat@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for e02ffd3 - Browse repository at this point
Copy the full SHA e02ffd3View commit details -
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 "Some of the allowed to be skipped jobs did not succeed" 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&logoColor=%23EA4AAA&label=Sponsor&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 /> [](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>
Configuration menu - View commit details
-
Copy full SHA for c93ca6f - Browse repository at this point
Copy the full SHA c93ca6fView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 244b250 - Browse repository at this point
Copy the full SHA 244b250View commit details -
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) |
Configuration menu - View commit details
-
Copy full SHA for 7785161 - Browse repository at this point
Copy the full SHA 7785161View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for a6f707a - Browse repository at this point
Copy the full SHA a6f707aView commit details
Commits on Sep 10, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 89cccef - Browse repository at this point
Copy the full SHA 89cccefView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 1.6.0...1.6.1