Skip to content

v7.13.0

Latest

Choose a tag to compare

@kdeldycke kdeldycke released this 17 Aug 09:38
Immutable release. Only release title and notes can be modified.

Note

7.13.0 is available on 馃悕 PyPI and 馃悪 GitHub.

  • Breaking: the agents component is renamed subagents, its config key agents.location becoming subagents.location. Naming the old component in [tool.repomatic] include or exclude fails the init; the old config key is ignored with a warning.
  • Breaking: repomatic init claude is renamed repomatic init agent, and its destination follows [tool.repomatic] agent.location (defaulting per [tool.repomatic.flavor] agent) rather than a fixed root-level claude.md, reaching instructions kept as AGENTS.md or outside the root.
  • Breaking: the runner-images command, its workflow job and its [tool.repomatic] runner-images config key are gone, along with the issue they maintained; sync-runner-images closes that issue on its first run.
  • Breaking: the Cloudflare Pages deploy needs only CLOUDFLARE_API_TOKEN: a token scoped to Cloudflare Pages: Edit resolves its own account, so CLOUDFLARE_ACCOUNT_ID becomes an override for a credential spanning several accounts; cloudflare-pages --account-id prints the identifier for that case.
  • Breaking: the VirusTotal scan history moves from docs/assets/virustotal-scans.json to virustotal-scans.csv. The first scan-virustotal run after upgrading converts the old JSON on its own; delete the stale .json afterwards.
  • New [tool.repomatic] site.deploy config choosing where the built site publishes: github-pages, the default, or cloudflare-pages through wrangler pages deploy, with site.cloudflare-project naming a Pages project that predates the repository.
  • New cloudflare-pages command reconciling the live Pages project against the declared site.* state: --check, --apply, --dump, and --create for rebuilding from nothing. Warns a month before the API token expires, which Cloudflare never signals.
  • New cloudflare-pages --attach-domain serving a project at a custom domain, creating the proxied CNAME record the bare API leaves missing.
  • New cloudflare-config-drift job in the Docs workflow running that check apart from the deploy, so drift is loud without holding up publishing.
  • lint-repo now fails a committed _redirects file that would lose rules to the Cloudflare Pages engine's silent budget accounting, naming each URL a dropped rule leaves dead or silently misredirected.
  • lint-repo now warns when wrangler.toml contradicts the declared Cloudflare Pages project name or compatibility date, and checks a migrated site keeps its GitHub Pages custom domain pointing at the new host so published github.io URLs keep redirecting.
  • The Cloudflare deploy job now drops files over Direct Upload's 25 MiB per-file limit, naming each in the log, instead of failing the whole upload on the first one.
  • The Docs workflow now runs monthly, mirrored into downstream callers: a lapsed Cloudflare token becomes a red run, and link rot surfaces between pushes.
  • The Docs workflow no longer publishes Sphinx's parse cache: doctrees now build in the runner's temp directory instead of riding the Pages upload, 118 MB of a 182 MB artifact on an autodoc-heavy project.
  • Every setup guide step is rewritten to the actions it asks for; the guide and lint-repo now ask about whichever host site.deploy names, and the Cloudflare step hands out a pre-filled account-owned token form.
  • New sample-metrics command recording what forges say about the repositories a project tracks into one committed CSV: star count, newest release or tag, and newest commit, read from GitHub, GitLab and Forgejo instances.
  • sample-metrics renders the accumulated history as themeable SVG charts, replacing the star-history embeds GitHub's 2026 stargazer restriction broke. Star history recovers from per-star timestamps, archived pages with --backfill-wayback, or a star-history.com export with --import-csv.
  • New [tool.repomatic.metrics] charts option scale = "logarithmic", measuring the vertical axis in powers of ten so series orders of magnitude apart stay legible on one chart.
  • New opt-in metrics.yaml workflow running the sampler weekly and committing its store. Enable with [tool.repomatic] metrics.sync = true and declare the repositories to follow in [tool.repomatic.metrics] subjects.
  • New sync-runner-images command and weekly job opening a pull request that moves a deprecated runner image onto its successor, or probes a strictly newer one as continue-on-error. Decline a proposal for good with [tool.repomatic.sync-runner-images] ignore.
  • New job-timings command reporting median whole-job wall-clock per runner image, read from recent successful runs.
  • lint-deps now warns about a dependency floor comment running past [tool.repomatic] lint-deps.comment-word-threshold words, 40 by default.
  • New lint-anchors command checking every authored same-page fragment link against the anchors the built site actually carries, run by the Docs workflow before each deploy.
  • New pr-body and pr-sync option --template-arg-file KEY=PATH, reading a template value from a file for a value with no ceiling on its size.
  • New git-commit-push option --all-changes, staging everything the working tree carries instead of a named path list.
  • New bundled repomatic-test-matrix skill deciding which Python versions, operating systems and runner images earn a test-matrix cell.
  • Bundled guidance moves its release-repair, label-retirement and test-matrix procedures out of claude.md and into the skills that run them, leaving the always-loaded file carrying rules rather than checklists.
  • The bundled repomatic-ship skill now names all three shapes an unanswered hardware-key signing prompt produces, treating a silent hang as a missed prompt rather than a slow command.
  • The bundled sphinx-docs agent's page roster gains the plugin, commit-messages and history pages.
  • The release PR's unshippable-dependency warning is now a single line naming each package, each linked to the line declaring it, instead of a paragraph and a four-column table.
  • The binaries catalog now leaves the VirusTotal cell empty unless a scan record backs it, instead of linking every binary to an analysis page that was never created.
  • The bundled [tool.typos] config now accepts PNGs and PATCHed, which typos otherwise splits and rewrites to ONGs and PATCHead.
  • repomatic init no longer drops the comment documenting a bundled template's first key: six of the nine templates were losing their opening comment, the [tool.typos] proper-noun map among them.
  • Fix ci-status --help collapsing everything after its first example into one garbled line.
  • update-dep-graph now reads the root's direct dependencies from uv.lock: uv's SBOM export promoted a dependency-group package to a primary dependency whenever an extra pulled it in transitively.
  • New Cloudflare Pages documentation page covering Direct Upload, token scoping and rotation, the drift check, and the redirects engine's undocumented accounting. It opens on a runbook taking a bare domain name to a published site in seven commands.
  • This project's documentation moves to repomatic.net, and its links move with it: every reference now names the extensionless URL Cloudflare Pages serves. The old kdeldycke.github.io/repomatic addresses keep redirecting.

Full changelog: v7.12.1...v7.13.0