这个版本更新了什么#
Documentation only — no behaviour change. Cut as its own release because it fixes a discoverability defect in the previous one.
Why this exists#
v0.4.1 shipped a breaking change to exit codes and documented it in the 0.4.0 section — and
0.4.0 was never tagged. So anyone upgrading from 0.3.0 read the 0.4.1 notes and never met the
change most likely to turn their CI red. A breaking change nobody can find is an undocumented
breaking change.
That warning now opens the 0.4.1 section in CHANGELOG.md. The v0.4.1 tag is
deliberately left where it is: rewriting a published tag is worse than the inconsistency it would
fix, so a later release carrying the note is the honest correction.
Still the thing to know, if you are coming from 0.3.0#
Commands that could not do their work exit 2 instead of 0 — check, build,
normalize --check, zoom --level content, and the bake-off. If your CI runs klode check on a
machine without the corpus installed, it will now fail.
That is deliberate: klode check --strict used to print OK: 0 errors and exit 0 on a library
whose citation-rot check never ran, and a fresh clone has no corpus because the corpus is
git-ignored. Every anchor could have rotted while the build stayed green.
1 = measured and failed · 2 = could not measure · 0 = the work happened. Pass
--allow-unmeasured to accept a gap knowingly. Full table in the
0.4.0 notes.
Also in this release#
Remote layout backends ([ingest].docling_url, marker_url) are now documented as the
recommended path rather than a fallback for machines without a GPU. It is the configuration
with the better failure behaviour: a remote conversion has a deadline that scales with the
document, while the in-process backends have no wall-clock bound at all. Choosing the bounded
path avoids that gap instead of papering over it, and keeps the client dependency-free — which is
this project's headline claim.
Verified end to end on a machine with neither kreuzberg nor docling installed.
以上是作者写在 GitHub 上的英文更新说明原文,未经翻译。查看原页面