Release Notes
Added
init subcommand: generates the standard, fully-commented sai-cfg.yml via a short
interview (backend, embedder, collection, model, optional connection settings and
extra excludes). --yes accepts every default non-interactively; --force
overwrites; --output <path> redirects. vector_dim is auto-filled for recognized
models and asked for otherwise; the generated file is validated before writing.
update subcommand: self-update to the latest GitHub release via the official
release installer (on Windows it prints the PowerShell one-liner instead, since a
running executable cannot replace itself).
- Native Windows installer wrapper (
install.ps1): same agent-wiring flags as
install.sh, PowerShell-style (-Platform, -All, -Write, …), hosted on the
install page alongside the shell installer.
- AST chunking for Rust and Go (function-only, like TS/TSX).
- Library target (
src/lib.rs): the indexing pipeline, config resolution, vector
backends, and similarity core are now reusable from other crates; the binary is a
thin clap wrapper around app::run.
- Integration tests (
tests/) exercising the public library API: CLI/config
precedence, walk/filter/chunk pipeline, opt-out markers, deterministic point ids.
- CI workflow (
ci.yml): rustfmt, clippy (-D warnings), tests on Linux/macOS/Windows,
MSRV (1.88) check, and a cargo hack --each-feature matrix.
- Hosted install page and one-line installer/uninstaller (GitHub Pages + cargo-dist).
Changed
sai-cfg.yml is the standard config name: it is what init generates and the first
file sought when --config is omitted (then sai-cfg.yaml, then the legacy
indexer.yaml, which keeps working). The repo's example config is now sai-cfg.yml,
generated by init --yes.
- All CLI commands now route backend access through the dedicated worker thread
(previously MCP-only), so the DuckDB backend's synchronous I/O never blocks the
main Tokio runtime; the worker thread is joined on exit so the DuckDB connection
checkpoints its WAL cleanly. The find_similar/find_duplicates orchestration
is now shared between the CLI and MCP (one code path in search).
- mdBook (
book/) is now the single documentation source; the legacy docs/*.md
pages were removed and all links repointed at the book.
- The example config's chunker comments now describe the function-only
TS/TSX/Rust/Go AST behavior.
Fixed
- The installers' "Next steps" now print the bare
semanticastindexer command (the
absolute path could be wrong when the install dir was not yet on the current
shell's PATH) and tell you to open a new terminal when needed; absolute paths are
still used where they belong — inside the generated MCP config snippets.
- Windows builds with
--features all no longer fail to link (LNK2038 runtime-
library mismatch): tokenizers' esaxx_fast feature is dropped, removing the
esaxx-rs C++ object whose hardcoded static CRT conflicted with bundled DuckDB's
dynamic CRT. esaxx only accelerates unigram training, which this project never
does; tokenizer loading/encoding is unaffected.
- CLI
sync no longer leaves the DuckDB HNSW index dropped when a file fails
mid-batch — it now uses the same always-rebuild refresh path as the MCP
sai_refresh tool.
Cargo.toml repository URL now points at the actual GitHub repo.
- The Makefile no longer passes a nonexistent
--language flag to the binary
(it broke make run/make prod; extensions are selected with --ext).
Install semanticastindexer 0.1.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/maadgrom/semanticastindexer/releases/download/v0.1.1/semanticastindexer-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/maadgrom/semanticastindexer/releases/download/v0.1.1/semanticastindexer-installer.ps1 | iex"
Download semanticastindexer 0.1.1