Be nice to FOSS maintainers.
#### β¨ What's Changed The main theme of this patch release that the support for uploading [PEP 639 licensing metadata] to PyPI has been fixed in [#327](https://github.com/pypa/gh-action-pypi-publish/issues/327). #### π οΈ Internal Updates A few smaller updates include the attestation existence being checked earlier in the process now, listing all the violating files together, not just one (PR [#315](https://github.com/pypa/gh-action-pypi-publish/issues/315)). And the lock file with the software available in runtime has been re-pinned in [#329](https://github.com/pypa/gh-action-pypi-publish/issues/329). Additionally, the CI now runs the smoke-tests against both Ubuntu 22.04 and 24.04 explicitly via [`da900af`](https://github.com/pypa/gh-action-pypi-publish/commit/da900af96347cc027433720ad4f122117645459d). **πͺ Full Diff**: https://github.com/pypa/gh-action-pypi-publish/compare/v1.12.3...v1.12.4 **π§ββοΈ Release Manager:** [@webknjaz](https://github.com/sponsors/webknjaz) [πΊπ¦](https://stand-with-ukraine.pp.ua) **π Special Thanks** to [@dnicolodi](https://github.com/dnicolodi)[π°](https://github.com/sponsors/dnicolodi) and [@woodruffw](https://github.com/woodruffw)[π°](https://github.com/sponsors/woodruffw) for releasing the license metadata support fix in Twine! **π¬ Discuss** [on Bluesky π¦](https://bsky.app/profile/webknjaz.me/post/3lghhtwey522z), [on Mastodon π](https://mastodon.social/@webknjaz/113881243992941874) and [on GitHub][release discussion]. [![GH Sponsors badge]][GH Sponsors URL] [PEP 639 licensing metadata]: https://packaging.python.org/en/latest/specifications/core-metadata/#license-expression [release discussion]: https://github.com/pypa/gh-action-pypi-publish/discussions/330 [GH Sponsors badge]: https://img.shields.io/badge/%40webknjaz-transparent?logo=githubsponsors&logoColor=%23EA4AAA&label=Sponsor&color=2a313c [GH Sponsors URL]: https://github.com/sponsors/webknjazTake the 2025 Python Packaging Survey if you still haven't!
> \[!important] > π¨ This release includes fixes for [GHSA-vxmw-7h4f-hqxh](https://github.com/pypa/gh-action-pypi-publish/security/advisories/GHSA-vxmw-7h4f-hqxh) discovered by [@woodruffw](https://github.com/woodruffw)[π°](https://github.com/sponsors/woodruffw). > We've also integrated [Zizmor](http://zizmor.sh) to catch similar issues in the future and you should too. #### β¨ New Stuff [@woodruffw](https://github.com/woodruffw)[π°](https://github.com/sponsors/woodruffw) updated the README to no longer mention the attestations feature being experimental in [#347](https://github.com/pypa/gh-action-pypi-publish/issues/347): it's been rather stable for a year already π He also added more diagnostic output which includes printing out the GitHub Environment claim via [#371](https://github.com/pypa/gh-action-pypi-publish/issues/371) and warning about the unsupported reusable workflows configurations [#306](https://github.com/pypa/gh-action-pypi-publish/issues/306), when using Trusted Publishing. > \[!tip] > The official support for reusable workflows is currently blocked on changes to PyPI. To get updates about progress on the action side, you may want to subscribe to [#166](https://github.com/pypa/gh-action-pypi-publish/issues/166). > At PyCon US 2025 Sprints, [@facutuesca](https://github.com/facutuesca)[π°](https://github.com/sponsors/facutuesca), [@miketheman](https://github.com/miketheman)[π°](https://github.com/sponsors/miketheman), [@woodruffw](https://github.com/woodruffw)[π°](https://github.com/sponsors/woodruffw) and I[π°][GH Sponsors URL] spent several hours IRL brainstorming how to fix this and migrate projects that happen to rely on an obscure corner case with reusable workflows that temporarily allows them to function by accident. > The result of that discussion is posted @ [pypi/warehouse#11096 (comment)](https://github.com/pypi/warehouse/issues/11096#issuecomment-2895081700). > Note that this is a volunteer-led effort and there is no ETA. If you need this soon, make your employer sponsor the PSF and maybe they'll be able to hire somebody for this work on Warehouse. In addition to that, [@konstin](https://github.com/konstin)[π°](https://github.com/sponsors/konstin) sent [#378](https://github.com/pypa/gh-action-pypi-publish/issues/378) to pin `actions/setup-python` to a SHA hash. This makes `pypi-publish` compatible with new GitHub policies that allow organizations to mandate hash-pinning actions used in workflows. #### π οΈ Internal Dependencies [@webknjaz](https://github.com/webknjaz)[π°][GH Sponsors URL] made a bunch of updates to the action runtime which includes bumping it to Python 3.13 in [#331](https://github.com/pypa/gh-action-pypi-publish/issues/331) and updating the dependency tree across the board. `pip-with-requires-python` is no longer being installed ([#332](https://github.com/pypa/gh-action-pypi-publish/issues/332)). Some related bumps were contributed by [@woodruffw](https://github.com/woodruffw)[π°](https://github.com/sponsors/woodruffw) ([#359](https://github.com/pypa/gh-action-pypi-publish/issues/359)) and [@kurtmckee](https://github.com/kurtmckee)[π°](https://github.com/sponsors/kurtmckee) sent a contributor-facing PR, bumping the linting configuration via [#335](https://github.com/pypa/gh-action-pypi-publish/issues/335). #### πͺ New Contributors - [@kurtmckee](https://github.com/kurtmckee) made their first contribution in [#335](https://github.com/pypa/gh-action-pypi-publish/issues/335) - [@konstin](https://github.com/konstin) made their first contribution in [#378](https://github.com/pypa/gh-action-pypi-publish/issues/378) **πͺ Full Diff**: