Skip to content

v7.14.0

Latest

Choose a tag to compare

@kdeldycke kdeldycke released this 28 Aug 00:20
Immutable release. Only release title and notes can be modified.

Note

7.14.0 is available on 🐍 PyPI and 🐙 GitHub.

  • Breaking: the agent component is gone, with the agent.location config key and the bundled claude.md reference document. repomatic init no longer writes to a repository's instructions file, which each repository now owns outright.
  • Breaking: CLOUDFLARE_ACCOUNT_ID is gone: the account derives from CLOUDFLARE_API_TOKEN alone. cloudflare-pages --account-id and lint-repo --has-cloudflare-account-id are removed with it.
  • Breaking: the debug.yaml workflow is now opt-in, gated by a new [tool.repomatic] debug.sync key. A repository already carrying it keeps it by setting debug.sync = true.
  • Breaking: the arch field of repomatic metadata's build_targets and nuitka_matrix output now reads x86_64 and aarch64, not x64 and arm64. Update any workflow branching on matrix.arch.
  • Breaking: build_targets and nuitka_matrix replace the glibc_floor and min_os keys with a single floor, holding the same versions. A workflow reading matrix.min_os needs matrix.floor.
  • lint-repo gains two checks: setup-uv-checksum-coverage, warning when CI installs the pinned uv unverified, and classic-branch-protection, reporting a branch protection rule left beside a ruleset.
  • show-test-matrix gains --row-axis, --col-axis and --flat, laying the grid out on any job key the matrix carries or listing one row per job.
  • show-test-matrix states how many jobs a cell stands for (✅ stable ×5), and sorts its Python rows by release instead of job order.
  • scan-virustotal and sample-metrics publish through one long-lived pull request that each run appends to, instead of committing to the default branch. No file-modifying job pushes there any more.
  • Both gain --carry-from, restoring the store from a remote branch first, so records pending in an open pull request are appended to rather than dropped.
  • sample-metrics names the phase (forward, reconstruct, import or wayback) in a new column of its report table, so one subject reads as one outcome per phase.
  • cloudflare-pages --create is now idempotent: an existing Pages project is reused and reconciled against the declared settings, instead of failing on the API's 409 duplicate-name refusal.
  • The Todo list documentation page lists the project's pending work: each deferred change is written as a todo admonition beside the code or prose it acts on.
  • The repomatic-ship skill now sweeps those admonitions: pending work the cycle introduced is written as one, and a todo whose upstream trigger fired is retired with the shim it guards.
  • metadata and every glob-driven check now walk the repository tree once and skip .git/, instead of re-walking it on every lookup.
  • ci-status locates every workflow's newest run through one branch-wide listing instead of one query per workflow.
  • Every HTTP fetch now identifies itself with a repomatic/{version} user agent.
  • sync-workflow-pins no longer bumps the uv pin past what the pinned astral-sh/setup-uv can checksum-verify: the action silently skips validation for a version its bundled table does not list.
  • show-config wraps its widest columns instead of running past 240 characters. A format unable to hold a wrapped cell, like github or csv, stays unwrapped.
  • list-skills renders a table honoring --table-format, replacing the hand-padded lines that ran to 500 characters.
  • sync-runner-images takes --live like every other command with a dry-run mode, replacing its odd --no-dry-run spelling.
  • Dependency-update pull requests no longer list yanked or pre-release versions in their intermediate release notes.
  • The bundled [tool.typos] config no longer checks SVG content: a terminal capture splits words across <text> runs, so correcting a fragment corrupts the image.
  • The lint-repo stale gh-pages check now passes only on a confirmed 404: any other API failure reports as skipped instead of green.
  • Fix lint-repo flagging every test-matrix.exclude entry as stale on a full-include matrix, and the finding now names the missing axis values.
  • Fix lint-deps missing a dependency floor declared with > when checking floors against the cooldown window.
  • Fix lint-deps asking an aggregate extra selecting the project's own extras for a version floor, which a project can never declare on itself.
  • Fix metadata leaving the checkout on a past commit with changes stashed when a mid-scan git command fails.
  • Fix the sample-metrics chart crashing on a series whose peak is 0 or 1.
  • Fix sample-metrics abandoning the tail of a sampling pass to GitHub's secondary rate limit: the gh plumbing now retries the refusal on a bounded backoff.
  • sample-metrics --backfill-wayback gives up after ten consecutive refusals and reports to retry later, instead of spending every remaining capture's retry schedule against an exhausted per-IP budget.
  • Fix show-test-matrix leaving a cell bare when several jobs share it: every state of a stable, unstable cell now carries its own glyph.
  • Fix the plugin component writing tab-indented settings into a repository whose Biome config asks for spaces, which had sync-repomatic and format-json fighting each other. The indent now follows that config.
  • Fix init leaving behind the folder of a removed skill whose SKILL.md was already gone: the tombstone addresses the file, so an empty folder outlived every later run.
  • Fix format-images dropping its optimization summary table from the PR body, lost in 7.11.0 when its two PR-publishing steps collapsed into one.
  • The skills, subagents and plugin documentation pages group under an Agent tooling section and move to /agent-skills, /subagents and /claude-code-plugin, with the old URLs redirecting.
  • The generated API reference moves off the guide pages and splits one page per module (/repomatic.awesome_toc), instead of stacking a whole package onto one page. The guide pages keep their prose and link to it.
  • The Python compatibility table of the install page marks a version a release neither declared nor excluded with , instead of counting it as unsupported.
  • The commit-messages page and the bundled skills now hold a commit body to three cases: bundled orthogonal work, a link to a public record, or a Closes #N pointer.
  • Fix the exclude example of the configuration page naming zizmor, which is not a component: copying it made repomatic init fail.
  • Fix stale guidance in the bundled skills: two module pointers the regroup broke, the scan history now published through a pull request, and a retired upstream contribution target.
  • Fix the dead claude.md section cross-references the bundled skills and subagents carried, and guard against new ones.
  • Sphinx linkcheck no longer reports every release-asset download URL as broken: conf.py withholds its github.com credential from those URLs, which GitHub redirects to a host that answers 401.
  • Fix the dead links on the install and operation-contracts pages, and the API reference documenting every regrouped module twice.

Full changelog: v7.13.0...v7.14.0