Repository navigation
v5.0.0 — Paged list_documents, index safety and merge-blocking CI gates
Upgrade note (BREAKING)
list_documents now returns at most 100 documents by default (up to 200 with limit), together with total, offset and limit. To list everything, call it again with offset increased by count until offset reaches total.
Nothing else needs a change on upgrade, and existing indexes need no reindex, except installs that enabled profile: "multilingual" on a copy of the old config.example.yaml: delete its empty query_prefix/passage_prefix lines and run reindex_documents(force=True).
Highlights
- An unavailable or empty
documents_dir(unplugged drive, unmounted share) no longer wipes the index (#265). - Empty files and Office owner files (
~$report.docx) no longer break a full rebuild, and keyword search keeps answering duringreindex_documents(force=True)(#265). - Search snippets start at the match (new
match_offsetfield),search_similarworks with long documents, andlist_documentsis paged (#264). add_from_urlno longer overwrites another page whose title starts the same way (#266).- Numbers in
keyword_routes/category_mappingsno longer break indexing, and mapping keys with capital letters match their folders (#263). - Startup auto-repair keeps only the 3 most recent backups instead of piling up full copies of the index (#268).
- CI: failing tests, cancelled or timed-out jobs, MCP tool contract breaks and consistent performance regressions now block merges (#270, #273, #274).
Full details in CHANGELOG.md.
What's Changed
- fix(config): read numeric routes as text and correct reindex and profile docs by @lyonzin in #263
- fix(search): start snippets at the match, fix search_similar for long documents, page list_documents by @lyonzin in #264
- fix(index): protect the index from a missing documents_dir and empty files by @lyonzin in #265
- fix(add_from_url): never let a different URL overwrite a saved page by @lyonzin in #266
- fix(preflight): keep only the 3 newest auto-repair backups by @lyonzin in #268
- ci(quality-gate): make failing tests, cancelled jobs and stale baselines block merges by @lyonzin in #270
- ci(perf-gate): interleave branch and master runs, bypass only on labeling, measure memory peaks by @lyonzin in #273
- ci(contract): compare MCP tools and the API surface with master's code, load legacy configs through Config by @lyonzin in #274
- chore(release): v5.0.0 by @lyonzin in #275
Full Changelog: v4.11.1...v5.0.0