Skip to content

v0.1.2

Choose a tag to compare

@Sevthered Sevthered released this 18 Jul 00:36

fix: fold all 11 audit findings into a 0.1.2 release

Pre-publish deep scan of src/ surfaced correctness/robustness bugs also
present in 0.1.0/0.1.1. This lands all eleven (5 HIGH + 6 MED), each with a
regression test (58 -> 75 tests), and cuts a 0.1.2 (v0.1.1 was tagged on
GitHub but never published to PyPI; 0.1.2 avoids a public-tag rewrite).

HIGH:

  • watermark detection: bucket by abs_page, not chunk-relative page_idx
  • open() everywhere: encoding="utf-8" (UnicodeError under non-UTF-8 locale)
  • qa sample: clamp n to the page window (crashed on books < ~23 pages)
  • chapter-split frontmatter: JSON-quoted scalars -> always valid YAML
  • batch: catch convert/fetch errors per-book instead of aborting the run

MED:

  • indent_suspect: catch ValueError (NUL byte in code) alongside SyntaxError
  • run_mineru: TimeoutExpired -> PassFailed (clean hard-stop, cache intact)
  • scan_one: page reads inside try -> one bad page can't abort the dir scan
  • batch CLI: exit non-zero when any book is not done
  • ToC: drop destination-less level-1 bookmarks (page -1) -> no spurious H1
  • render_block: coerce explicit JSON-null field values to "" (no crash)