2.4.0 (2026-05-19)
Bug Fixes
- eval: address copilot review on provider normalisation (d5ebb40)
- eval: address PR review feedback on search-quality benchmark (18533f3)
- eval: work around bash truncation and normalise URL forms (09684ce)
- scraper: address Copilot review on Defuddle middleware (231cbe2)
- scraper: continue from llms seeds on root not found (7ac577a)
- scraper: keep redirect scope anchored to start path (a9fbca0)
- scraper: scope Carbon link rule to srv. host, add Yahoo tracker pixel (d35fc3e)
- scraper: skip speculative playwright prefetches (1e65812)
- scraper: strip ad networks, search widgets, breadcrumbs, and skip-links (4898ce9), closes #420
- scraper: tighten llms markdown handling (1e88418)
- splitter: preserve code fence balance across chunk boundaries (06c7f08), closes #418
- splitter: preserve fenced code-block info strings verbatim (a5445bb)
- store: harden vector search test isolation (0dc51a6)
Features
- eval: add Context7 provider for cross-system benchmark comparison (4209af4)
- eval: introduce IR-grounded search-quality benchmark (6755d08)
- scraper: add Defuddle as opt-in HTML extractor (#386) (5a89f84)
- scraper: discover llms txt and prefer markdown (4230917)
Performance Improvements
- scraper: lazy-load Defuddle so default cheerio path is free (729526f)