GitHub

2026.08.14

sp-repo-review (the package)

  • New security family: added SEC001, which asks projects with GitHub Actions to run zizmor, either as the zizmorcore/zizmor-pre-commit hook or the zizmorcore/zizmor-action. (#798)
  • MY family covers ty and pyrefly: MY100 now accepts a tool.pyrefly or tool.ty section, MY101 accepts a Pyrefly preset, and the MyPy-only checks (MY102-MY106) are skipped when MyPy is not configured. (#818)
  • New PY008 check: projects must have a .gitignore file. (#827)
  • PC111 accepts ruff-format: the docs-formatting check now passes if Markdown files reach the ruff-format hook (Ruff 0.16+), as well as with blacken-docs. (#833)
  • Removed RF102 and RF103: Ruff 0.16 selects isort (I) and pyupgrade (UP) by default, so the checks are no longer needed. (#843)
  • sp-ruff-checks marks default rule groups: BLE, DTZ, FA, FLY, I, INT, PIE, and YTT are now shown in a "Selected, but on by default (safe to remove)" section. (#843)

Cookie (the template)

  • MkDocs replaced with ProperDocs: the mkdocs docs option is now properdocs, a maintained MkDocs fork. mkdocs.yml becomes properdocs.yml, and the noxfile and .readthedocs.yaml call properdocs instead. (#838)
  • Ruff formats code in the docs: blacken-docs was removed, and ruff-format gets types_or: [python, pyi, jupyter, markdown, pyproject]. (#833)
  • zizmor in generated projects: added the zizmor-pre-commit hook for GitHub CI projects. (#798)
  • Hardened generated workflows: top-level permissions: {} with minimal per-job contents: read, and persist-credentials: false on all checkouts. (#798)
  • build-and-inspect-python-package pinned to v3.0.1: the action no longer publishes moving tags, so @v2 had to become a full version. (#848)
  • Disabled the uv cache in the wheel-build job, to keep cached files out of published wheels. (#798)
  • Added a dependabot cooldown of 7 days. (#820)
  • Dropped the rule groups Ruff 0.16 selects by default from the generated extend-select. (#843)
  • Bumped actions/checkout and actions/setup-python to v7, astral-sh/setup-uv to v9, and cibuildwheel to v4.2. (#844)
  • Use actions/attest instead of the (now) wrapper action (#850)

Guide

  • New AI page: covers the use of coding agents in scientific Python projects. (#821)
  • New security page: covers zizmor, workflow permissions, and other supply-chain topics. (#798)
  • Reorganized into nested sections: pages moved out of docs/pages/ to restore the original guide URLs (with redirect stubs), titles simplified, category indexes now list all pages, and internal links use resolvable root-absolute paths. (#814, #831, #835, #840, #841)
  • Renamed the mypy guide to "typing", and added ty and pyrefly tabs next to mypy. (#816, #817, #836)
  • Covered Zensical in the docs guide. (#837)
  • Fixed the broken links that the learn site link check reported. (#839)

Infrastructure

  • Fixed an unsound ternary in the alls-green allowed-skips list. (#815)
  • Pinned GitHub Actions in this repo. (#811)
  • Bumped repo-review-webapp to 1.2.1 (#809) and mystmd to 1.10.1 (#830).
  • Multiple rounds of pre-commit hook and dependency version bumps. (#812, #824, #825, #828, #832, #842, #844, #845, #847, #849)

New Contributors

Full Changelog: 2026.06.18...HEAD

2026.06.18

sp-repo-review (the package)

  • sp-ruff-checks output formats: added plain and auto formats. auto detects AI-agent environments (via AGENT, CLAUDECODE, OPENCODE_CLIENT, etc. env vars) and uses plain; falls back to plain when rich isn't installed. (#786)
  • PC140 type checker check: now accepts pyrefly (facebook/pyrefly-pre-commit) (#789) andty (astral-sh/ty-pre-commit)(#804) alongside mypy.
  • PC180 markdown formatter check: added panache-pre-commit, mado, and markdownlint to accepted repos. (#793)

Cookie (the template)

  • ReadTheDocs native uv integration: generated .readthedocs.yaml now uses python.install.method: uv with sync for Sphinx, bumped build Python to 3.14. (#783)
  • Bumped astral-sh/setup-uv to the maintained tag scheme in generated workflows. (#777)

Guide

  • Migrated docs site from Jekyll to MyST (JupyterBook 2.0) using scientific-python-myst-theme. Replaced Liquid tags with MyST roles/directives, added docs/myst.yml TOC (29 pages), custom rr-role.mjs plugin, docs/assets/css/site.css, and updated .readthedocs.yaml to a Node/mystmd build. (#792, #801, #805)
  • Added prek tabs to the GitHub Actions docs. (#791)
  • Used hyphenated page slugs in internal doc links to match filenames. (#796)
  • Fixed factual errors, inconsistencies, and typos across the guide (Snell's law output, inverted skipif, broken hatch URL, packaging-simple PP004/PY004 mix-up, etc.). (#800)
  • Fixed malformed GHA images table. (#780)
  • Removed reference to gautamkrishnar/keepalive-workflow that violated GitHub ToS. (#781)

Infrastructure

  • Adopted zizmor for this repo's own workflows: added .github/zizmor.yml, scoped minimal per-job permissions, persist-credentials: false, dependabot cooldown, etc. (#799)
  • Bumped actions/upload-artifact 4 → 7 (#797) and astral-sh/setup-uv 8.0.0 → 8.2.0 (#778, #795) in this repo's workflows.
  • Bumped embedded repo-review-webapp anywidget + repo-review dep to 1.2.0 (webapp now runs Pyodide in a web worker). (#806) Also bumped repo-review-app through 1.0.0 final → 1.0.3, fixing mobile formatting for responsive entry boxes. (#771, #772, #8b0efde, #dfc72a2, #0e9873f)
  • Added conda badge to README. (#772)
  • Fixed typos in module documentation (docs/pages/tutorials/module.md). (#802)
  • Multiple rounds of pre-commit hook and dependency version bumps across generated ci.yml, cd.yml, and .pre-commit-config.yaml. (#774, #779, #782, #784, #787, #790, #794, #803)

New Contributors

Full Changelog: 2026.04.04...2026.06.18

2026.04.04

2026.04.03

What's Changed

Full Changelog: 2026.03.02...2026.04.03

2026.03.02

What's Changed

New Contributors

Full Changelog: 2025.11.21...2026.03.02

2025.11.21

What's Changed

  • feat: add more pre-commit ci checks by @henryiii in #695
  • fix(action): correct output formatting and select/ignore by @henryiii in #700
  • fix(sp-ruff-checks): base indendation on max size by @henryiii in #694
  • fix: accept build.jobs as valid ReadTheDocs configuration in RTD104 by @Copilot in #691
  • fix: drop old log level from check by @henryiii in #701
  • fix: hide pre-commit checks if lefthook is used by @henryiii in #702
  • fix: if show-fixes is set in config, count that by @henryiii in #686
  • fix: skip readthedocs if no readthedocs file present by @henryiii in #693
  • fix: support named tab groups for independent tab switching by @Copilot in #698
  • docs: adding zensical note, and aligning order of docs between sphinx and m… by @Samreay in #688
  • docs: bump webapp for 2025.11.10 by @henryiii in #685
  • docs: imporve the coverage page by @henryiii in #687
  • docs: mention prek by @henryiii in #696
  • refactor: readthedocs rename by @henryiii in #706
  • chore: banned imports no longer needed for typing (UP handles it) by @henryiii in #703
  • chore: enable ruff ALL by @henryiii in #705
  • ci: only compare generation on Linux (faster) by @henryiii in #699

Full Changelog: 2025.11.10...2025.11.21

2025.11.10

2025.11.07

What's Changed

  • feat: adding mkdocs into guides and cookiecutter template by @Samreay in #662
  • feat: add more Ruff checks, and a helper script by @henryiii in #670
  • feat: integrate helper into package properly by @henryiii in #675
  • feat: check for dev dependency-group by @henryiii in #673
  • feat: list Requires-Python too by @henryiii in #669
  • feat: note rules not followed in ruff description by @henryiii in #667
  • fix(pre-commit): only show errors by @henryiii in #665
  • fix: helper should sort and printout was missing sometimes by @henryiii in #674
  • fix: include markdownlint-cli2 by @henryiii in #672
  • fix: make standalone helper a little nicer before removing it by @henryiii in #676
  • fix: use FA instead of adding import via isort by @henryiii in #666

New Contributors

Full Changelog: 2025.10.20...2025.11.07

2025.10.20

2025.10.01

What's Changed

New Contributors

Full Changelog: 2025.05.02...2025.10.01

Read the original on github.com ↗