Skip to content

v4.1.0rc1

Pre-release
Pre-release

Choose a tag to compare

@MaxWinterstein MaxWinterstein released this 29 Aug 11:18
dc4b7ed

Bundles shfmt v3.14.0 (upstream release).

Pre-release. pip install shfmt-py will not pick this up — pre-releases are skipped unless you ask for them explicitly:

pip install --pre shfmt-py

Why this exists

A dry run of the release pipeline before cutting v4.1.0, covering several paths that no PR build can exercise because they only run on a release event:

  • Publishing to PyPI via Trusted Publishing (OIDC) rather than a stored API token, and the PEP 740 attestations that come with it
  • Stamping this release's own rev: into the README that ships inside the artifacts — previous releases advertised the previous tag on their PyPI page
  • The version assertion that every artifact filename matches the tag
  • The README-sync workflow that opens a PR after a release

Changes since v4.0.0

  • shfmt bumped 3.13.1 → 3.14.0
  • README rewritten around install paths, the pre-commit -w gotcha, EditorConfig interaction and platform support
  • Upstream's BSD-3-Clause notice now ships with the binary; the distribution declares MIT AND BSD-3-Clause
  • require_serial dropped from the pre-commit hook, and the hook is now covered end to end in CI on Linux and Windows
  • The checksum guard in setup.py and the checksum-update bot are both tested; the bot now fails loudly on a missed substitution
  • Every GitHub Action pinned by digest
  • PyPI metadata: accurate summary, issue/changelog links, keywords and classifiers