# Changelog

## v0.1.0 (Unreleased)

### Added
- **Int8 quantized model**: default model is now 7.5MB (down from 29MB f32)
- **Auto-quantization**: f32/f16 models from HuggingFace are automatically quantized to int8 on download
- **Token-level coloring**: search results highlight individual tokens with a relevance gradient (gray → red)
- **WASM search demo**: live in-browser semantic search at [sgrep.sh](https://sgrep.sh), powered by the same model compiled to WebAssembly
- **Heading-chunked docs search**: ⌘K search links directly to the relevant section heading
- **Context lines**: `-C`, `-B`, `-A` flags for showing surrounding lines (grep-compatible)
- **Caching**: sqlite-vec index for instant repeated searches (`--index`, `--reindex`, `--no-cache`)
- **Hybrid search**: combine BM25 keyword matching with semantic similarity (`--hybrid`, `--alpha`)
- **Zero-shot classification**: label text chunks against arbitrary categories (`-e`)
- **Code search model**: `sgrep-code-v1` fine-tuned for code search
- **Mobile docs**: responsive layout with hamburger menu and semantic search
- **curl installer**: `curl -fsSL sgrep.sh/install.sh | sh`

### Changed
- Model downloads from sgrep.sh instead of HuggingFace (faster, smaller)
- Stale f32 model caches are auto-detected and re-downloaded as int8

## v0.0.1

Initial release. Pure Rust semantic grep with Model2Vec embeddings.