Releases: pmarreck/codescan
Releases · pmarreck/codescan
20260424.a028026
First public release since v0.1.1. 237 commits of feature work, reliability fixes, and workflow improvements.
Highlights
New features
- Env-var expansion inside
.codescan/config—$VAR,${VAR},${VAR:-default},${VAR-default},$$escape; raw-preservation forembedding_api_keyso committed configs never bake in secrets. - Watcher syslog logging +
codescan logsubcommand — watchers now emit lifecycle and error events to the OS log (macOS unified log / Linux journald). Retrieve filtered logs even after the watcher has died. Also exposed as an MCPlogstool. - oMLX / OpenAI-compatible embedding dialect — alongside Ollama.
embedding_api=openai, Bearer auth, auto-detection between the two. - Auto-configuration —
codescan indexprobes Ollama, then oMLX, and auto-selects.codescan initwrites a working config.codescan setup-modelprints instructions for both dialects. - Lexical-only mode —
--lexical-onlyor interactive fallback when no embedding server is reachable. - Watch management —
watch list,watch prunefor multi-project setups. - MCP edit tools —
insert_at,insert_after,replace_lines,replace_symbol,replace_content,create_file,destroy_file.
Reliability fixes
Connection: closeon embedding requests — root cause of batch-mid-indexWriteFailed:std.http.Clientpooled keep-alive sockets were closed by the server; next reuse surfaced asWriteFailedmid-body. Each embed request now opens a fresh connection.- Retry on transient HTTP errors —
HttpConnectionClosing,ConnectionResetByPeer,BrokenPipe,WriteFailed,ReadFailed,ConnectionTimedOut, etc. Three attempts, 100ms / 500ms backoff. setup-modelshows both paths — previously hid the dialect the current config wasn't set to.
Under the hood
- POSIX
syslog(3)C FFI wrapper. writeValueFor/setApiKeyLiteralhelpers so config writes preserve raw${VAR}references.log_cmdmodule with platform-specific argv builder and in-process filtering.- Extensive test coverage: 494+ tests across 3500+ total including env expansion (24 tests), retry paths, setup-model output, MCP tools, and round-trip config.
Full commit log: v0.1.1...20260424.a028026