v0.20.0 - Retrieval quality and battery-aware indexing
What's new
Battery-aware background indexing
Automatic startup and watcher indexing can now pause while a Mac is running on battery through the opt-in indexing.pauseBackgroundIndexingOnBattery setting. Pending work is coalesced and manual indexing remains available. Thanks to @Nicolas-nwb for the original contribution.
Stronger retrieval quality
- Exact definition and implementation searches rescue authoritative symbols omitted by per-file semantic chunk caps, without increasing embedding volume.
- Nested declarations are cataloged independently of semantic chunk limits, improving lookup for methods in large classes.
- Conceptual context packs prioritize implementation sources while preserving requested documentation, test, and fixture intent.
- Broader repository-task routing hints use bounded
codebase_contextguidance without repeating on tool loops.
Trustworthy quality measurement
- Added a representative graded benchmark across TypeScript, Rust, Swift, and PHP with route, outcome, recovery, difficulty, filtering, and symbol-aware evidence.
- Added privacy-safe per-route effectiveness diagnostics and retained scheduled evaluation artifacts.
- Raised scheduled quality floors so meaningful retrieval regressions fail CI.
Reliability and maintenance
- Routine branch switching is silent unless branch debug logging is explicitly enabled.
- Evaluation diagnostics upload on successful and failed runs.
- GitHub Actions now use immutable Node.js 24 releases and Release Drafter uses its current configuration model.
- Patched the PostCSS path traversal advisory and the safely overridable brace-expansion dependency.
Validation
The release passed the complete build, typecheck, lint, package smoke test, CodeQL analysis, and all 1,217 automated tests.
Full changelog: v0.19.1...v0.20.0