• v0.5.6 cc8b2c2bb4

    code-index v0.5.6
    All checks were successful
    CI / cargo fmt (push) Successful in 16s
    Release Build / Generate Version (push) Successful in 15s
    CI / cargo clippy (push) Successful in 54s
    CI / cargo test (push) Successful in 3m5s
    Release Build / Build linux-x86_64 (push) Successful in 5m6s
    Release Build / Build windows-x86_64 (push) Successful in 5m15s
    Release Build / Build linux-aarch64 (push) Successful in 5m32s
    Release Build / Build linux-x86_64-musl (push) Successful in 5m37s
    Release Build / Create Forgejo Release (push) Successful in 1m50s
    Stable

    buildagent released this 2026-07-07 09:29:35 +02:00 | 223 commits to master since this release

    code-index v0.5.6

    The precision release: a rewritten reference resolver, two new MCP tools, a
    security + robustness hardening pass, and a broad performance sweep. Schema
    advances v6 → v10 (auto-migrated on first run).

    Three-binary release: code-index-mcp (MCP stdio bridge — the usual entry),
    code-index-daemon (long-lived watcher + RPC server, auto-spawned), and
    code-index (CLI: init, index, watch, doctor, link).

    Highlights

    • Two new MCP tools (10 → 12).
      • repo_map — a personalized PageRank over the reference graph, token-budgeted, for "what matters here" orientation.
      • changed_symbols — a git-diff-aware report of which symbols a working-tree change touches.
    • Three-tier reference resolver. Name resolution now applies a visibility gate, a same-file preference, then an import-based boost — lifting resolution on this repo from 16.2% → 21.4% while eliminating a class of false positives (qualified calls like Vec::new() no longer take shortcuts).
    • Visibility-aware indexing across all 6 languages (Rust, TypeScript/JavaScript, Python, C#, PHP, Ruby).

    Features

    • repo_map: personalized PageRank over the ref graph, token-budgeted, with deterministic attribution and target-sensitive edge caching.
    • changed_symbols: git-diff-aware symbol report.
    • Reference roles v1: a Test role bit, with exclude_tests on find_references.
    • response_format = concise | detailed, corrective hints, and pinned pagination on tool responses.
    • Outline-hash resolve firewall: per-file Skipped / Scoped / Full resolve scopes so edits only re-resolve what changed.

    Security & robustness

    • Closed a git-config RCE: a hostile repository can no longer inject code via diff.external / fsmonitor / hooksPath; textconv is disabled.
    • Fixed a UTF-8 boundary panic and a leaf-symlink path-escape in the MCP server.
    • Daemon RPC capability-token auth: a random 128-bit token (0600 file) authenticates every RPC; mismatches are rejected in constant time.
    • Integrity-check now tolerates transient FTS5 lock contention (not treated as corruption); idle shutdown keys on activity age.
    • Writer-thread death is now surfaced so the daemon exits and is respawned; --no-daemon always reconciles so a partial index self-heals.

    Performance

    • search_symbols rewritten to be index-driven; new m0009 search indexes (NOCASE name, file-span) and m0010 indexed_at index.
    • entry_points collapsed to a single scan; cross-project fan-out (search/repo_map) now runs concurrently.
    • Prepared-statement caching on the writer hot path; per-file and per-query allocation cut across indexer/daemon/mcp.

    Schema

    • Migrations m0006 – m0010 (schema v6 → v10): symbols.visibility, refs.roles, files.outline_hash, crash-safe persistent resolve-pending tables, qualified-ref flag, and the search / indexed_at indexes. Existing databases auto-migrate on first run (one Full resolve pass after upgrade, by design).

    Downloads

    Platform Archive
    Linux x86_64 (glibc) code-index-v0.5.6-linux-x86_64.tar.gz
    Linux x86_64 (static/musl) code-index-v0.5.6-linux-x86_64-musl.tar.gz
    Linux ARM64 code-index-v0.5.6-linux-aarch64.tar.gz
    Windows x64 code-index-v0.5.6-windows-x86_64.zip

    (macOS builds are added once a macOS runner is registered.) SHA256 checksums (.sha256) accompany every archive.

    Wire into Claude Code

    { "mcpServers": { "code-index": { "command": "/usr/local/bin/code-index-mcp", "args": ["--root", "/path/to/your/project"] } } }
    

    Full commit log: git log v0.5.5..v0.5.6 (27 commits).

    Downloads