Skip to content

v5.0.0 — Paged list_documents, index safety and merge-blocking CI gates

Choose a tag to compare

@lyonzin lyonzin released this 06 Nov 00:54
ff65acc

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 during reindex_documents(force=True) (#265).
  • Search snippets start at the match (new match_offset field), search_similar works with long documents, and list_documents is paged (#264).
  • add_from_url no longer overwrites another page whose title starts the same way (#266).
  • Numbers in keyword_routes / category_mappings no 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