chore[v1]: prepare for v1.6.1 - #1181
Merged
Merged
Conversation
Co-authored-by: layday <layday@protonmail.com>
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.
## 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>
## 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`)
Co-authored-by: Bernát Gábor <gaborjbernat@gmail.com>
…hub-actions group (pypa#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>
The broken probe fixed in pypa#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 pypa#1175. :robot: _AI text below_ :robot: Version 1.6.0 fixed the symlink probe in pypa#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.
### 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) |
🤖 _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.
gaborbernat
approved these changes
Sep 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This cherry-picks all but one commit from main into v1, to prepare for a 1.6.1 bugfix release.
This must be rebase merged. This PR targets
v1, notmain.v*branches (ci: support releases from v* branches #1178)