v0.17.0
Highlights
- Full multi-language coverage for Ruby, Kotlin, Swift, PHP, Go, and Rust — god-file detection, error-swallow detection (empty
catch/rescue/if err != nil { }/if let Err/Err =>arms), semantic chunking, and import edges all light up for files that previously fell through to "extension recognized, zero signal." - Empty-catch detector for JS/TS/TSX/Java/C#/C++ — tree-sitter-backed, surfaced alongside the existing Python
swallowed_exceptdetector in the KNOWN-ISSUES prompt section. - Breaking dep change:
tree-sitteris now required, not optional. Switched from the unmaintainedtree-sitter-languagestotree-sitter-language-pack>=0.13.0,<1.0— wheels for Python 3.10–3.14 across macOS universal2, Linux x86_64/aarch64/musl, and Windows x64. - Dead code removed:
neo.self_correctionandneo.input_templates(625 lines, unreachable since v0.7.0). neo serve— CAR-hosted tool surface forneo.process, Phase 1 of the CAR migration.
Full details in CHANGELOG.md.
Migration
If you were pinning tree-sitter-languages in a downstream environment, switch to tree-sitter-language-pack. Fresh pip install neo-reasoner users get the new stack automatically.