Repository navigation
- Breaking: Remove the
lint-anchorscommand and the Docs workflow step running it. A Sphinx build reports the same broken fragment links asmyst.xref_missingwarnings. - Breaking:
nuitka_matrixreplaces themodule_pathandnuitka_python_flagskeys withmain_entry_point, the value of Nuitka's--main-entry-point. A workflow reading either key needs the new one. - The
update-dep-graphjob moves from the release workflow to Autofix: it refreshes the graph on every push, for uv virtual projects too. - Add
dependency-graph.updateto turn off the dependency graph updates. - Add
lint-repo.declinedto record why a seeded tool config leaves out a bundled template entry, whichlint-repothen stops warning about. lint-reponow names a table that a seeded list lacks by the inline TOML that writes it, which is also itslint-repo.declinedkey.lint-reponow fails on a_redirectsrule that Cloudflare Pages can never apply: a source it cannot compile, a destination token it never replaces, or an exact rule that a pattern above it answers first.- The bundled
tests.yamlnow resolves again any matrix cell that carries aresolutionkey, so alowest-directcell runs every declared dependency floor. - A src-layout project now gets its binaries: each entry point compiles by name, through Nuitka's
--main-entry-point. Setnuitka.enabled = falseto build none. sync-uv-locknow prunes the fixedexclude-newer-packagecutoff of a package the lockfile does not hold, once the cooldown has passed it, and reports it as not locked.- Bump Nuitka from
4.2.2to4.3, which ships the content of each symlink in an--include-data-dirtree:repomatic run nuitkano longer stages a symlink-free copy. repomatic run nuitkanow turns off Nuitka's update check, which warned on each build made while a release newer than the pinned one existed.repomatic run nuitkanow installs Nuitka into the project virtualenv, so its compile cache survives a change ofpyproject.tomloruv.lock.- Relax the
arrow,boltonsandpyyamlfloors to>=1,>=19and>=6.0.1. - The bundled
mypyconfig now setscheck_untyped_defs, which also type-checks the functions without annotations. - The bundled
mypyconfig now skips imports intosphinx.*: Sphinx9.1.0syntax stopped the check of a project below Python 3.12. - The bundled
lycheeconfig now excludesclaude.ailinks, which a Cloudflare challenge hides from some crawlers. - Every setup guide step now reads like the token step: one lead sentence, numbered actions, form fields in a table, and the long explanations left in
docs/. job-timings,cancel-runsand theci-statusfallback now list runs with a date filter, so a stale run listing no longer feeds them weeks-old runs.cloudflare-r2 --offloadnow writes why it dropped a file as Markdown in the step summary, with code-formatted names and a docs link.- The bundled
babysit-ciandrepomatic-shipskills now run their local tests with thetestdependency group, which repositories without default groups need. - The bundled
babysit-ciskill now says to dispatchtests.yamlwhen a version-bump commit cancels the runs of the commit under it. - The bundled
benchmark-updateskill now assesses every competitor cell of a row added since the last pass, and re-anchors pinned evidence links by content after a release. - The bundled
file-bug-reportskill now searches pull requests, recent threads, development branches and release notes before it calls a report new. - The bundled
file-bug-reportskill now says to run the reproducer in a second implementation, and to read each code of conduct to its end. - The bundled
file-bug-reportskill now says not to offer a comment on an issue that a maintainer already answered as in progress. - The bundled
repomatic-auditandrepomatic-upgradeskills now read alint-repo.declinedentry as a decision, and record there a template entry left out on purpose. - The bundled
repomatic-auditskill now runs the adopted release'sinitin a throwaway worktree first, which compares every managed file at once. - The bundled
repomatic-depsskill now checks for a dependency floor set too low, and says how to relock after a floor change. - The bundled
repomatic-depsskill now reads the wholemodernizerange off the lockfile when severalsync-uv-lockpull requests merged since the last release. - The bundled
repomatic-shipskill now says how to take over a sweep lane after its agent dies mid-edit. - The bundled
repomatic-shipskill now says how to watch CI past the 30-minuteMonitordeadline, and to watch a dispatched run by its ID. - The bundled
repomatic-shipskill now limits its docs build fixes to the warnings the cycle added, and runs its tool smoke checks in a throwaway worktree. - The bundled
repomatic-test-matrixskill now says how to run every declared dependency floor in onelowest-directcell. - The bundled
upstream-auditskill now assigns each item to the project that produced it, and lists every issue the maintainer reported. - The bundled
sphinx-docsagent now runssphinx-buildwith the command sandbox off:sphinx_sitemapfails inside it. - The bundled
sphinx-docsagent now says to fail a build onmyst.xref_missingwarnings withclick_extra_fail_on_warnings, and never to suppress them. - Fix
lint-reporeporting every bundled key missing from a[tool.pytest]section kept underini_options, and asking for native keys pytest refuses beside that table. - Fix
lint-repoadvising to drop a bare[tool.lychee] excludeentry that no anchored form sits beside: it now names the anchored form to write instead. - Fix
lint-reposkipping its PAT repository-scope check on every run: the probe of another repository of the same owner now runs. - Fix
repomatic initdropping the comments beside a local key it keeps when re-syncing a tool config. - Fix
repomatic initre-syncing a multi-line tool config array at a four-space indent, whichformat-pyprojectthen rewrote to two in its own pull request. - Fix the setup guide's R2 keys step describing a dashboard route the R2 page does not have: it now links the account token form.
- Fix
fix-typosfailing oncertifiin a dependency graph that includesrequests: the bundledtyposconfig now accepts it. - Fix
repomatic run ruffandrepomatic run typosignoring the tool's exclude list for a file named on the command line. - Fix
repomatic run mdformatskipping its MyST directive repairs for the files below a directory argument. - Fix
repomatic run --verifyending in a traceback when it cannot copy a target: it now names the path and exits with code2. - Fix a
.gitignorepattern with a non-ASCII character missing its files on a machine whose locale is not UTF-8. - Fix
update-docsnot reading a MySTtoctreefence in an API index, and filing a package page that has no submodule pages underSubmodules. - Fix
sync-workflow-pinsbumping the uv pin when it cannot read thesetup-uvchecksum table: it now holds the pin until the table reads again. - Fix
update-checksumsandsync-tool-versionsstopping at the first failed download: each download is now retried, like a tool install. - Fix
sync-uv-locknever freezing or pruning anexclude-newer-packageentry whose key spells its package name differently from the lockfile. - Fix
sync-runner-imagesfailing to push its pull request: its checkout now passesREPOMATIC_PAT, which GitHub requires to update a workflow file. - Fix the
packagingandvt-pyfloors, which allowed releases the code cannot run on: they are now>=20and>=0.18.3. - Fix the two CLI self-test steps of the bundled
tests.yaml, which every run skipped: they indexedcli_scripts, a space-separated string. A downstream copy of the workflow needs the same edit. - Fix
ci-statusreporting a cancelled run, or a run that ran no job, asgreen, and reading a workflow on a tip commit where it ran no job. - Fix
ci-statuscounting a matrix job that GitHub never expanded as an allowed-failure probe: it is now a required job. - Fix the Docs workflow skipping a push that only changes
claude.md,licenseor.github/code-of-conduct.md, which the documentation includes. - Fix the bundled
babysit-ciskill pointing at a matrixexcludesection that the bundledtests.yamldoes not have: it now namesrepomatic show-test-matrix. - Fix the bundled
repomatic-depsskill saying that a same-maintainer package keeps itsexclude-newer-packagespan: only a git or path source does. - Fix four statements of the bundled
sphinx-docsagent: whatnitpickydoes, how to enableautosectionlabel, which page holds the dependency graph, and auvxcommand with no cooldown. - New upstream page tracks the pull requests and issues repomatic sends to the projects it depends on.
- Give each release of the changelog and changelog archive pages a stable anchor made from its version, like
https://repomatic.net/changelog#v7-17-1. The numbered#id1anchors, which moved with each release, are removed. - The workflows reference now lists every
lint-repocheck, rendered from the check roster likelint-repo --help. - Document that mdformat also deletes backslash escapes and entities from a Markdown image's alt-text.
- Document in the bundled
uvconfig that CI installs the uv eachsetup-uvstep pins, not the newest release above the floor. - Document that a tool the registry pins before its release clears the cooldown needs an
exclude-newer-packageentry, in a downstream repository too.
Full changelog: v7.17.1...v7.18.0