Skip to content

v1.1.0-alpha — FTS per-file delete hardening

Choose a tag to compare

@AdityaVG13 AdityaVG13 released this 12 Jul 17:17
· 738 commits to main since this release

ast-sgrep v1.1.0-alpha

Hybrid code search that understands intent — lexical FTS + AST graph + offline semantic ranking. Alpha quality; APIs may change.

Highlights

Fixed: FTS per-file delete performance and correctness

  • Rowid-based FTS deletes: replace O(N²) DELETE FROM lines_fts WHERE file_id=? with rowids collected from lines, then chunked deletes on lines_trigram (external content) and lines_fts.
  • Missing file_id indexes: add indexes on symbols, callers, imports, and semantic_chunks so ordinary per-file deletes stay linear.
  • Schema v5: existing databases pick up the new indexes via migration.
  • Hardened row deletion path with targeted tests for stale-FTS correctness, per-table deletion, and linear re-upsert performance.

Install

git clone https://github.com/AdityaVG13/ast-sgrep
cd ast-sgrep
git checkout v1.1.0-alpha
cargo build --release -p ast-sgrep-cli
./target/release/asgrep --version

Binaries: asgrep / ast-sgrep. Also: asgrep-lsp, asgrep-mcp.

Not in this release

  • crates.io packages
  • Homebrew bottles / homebrew-core (formula stub under packaging/homebrew/, SHA still placeholder until digest is filled)
  • Production stability guarantees

Docs

See README and docs/.