Skip to content

Releases: pmarreck/codescan

20260424.a028026

24 Apr 14:07

Choose a tag to compare

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 for embedding_api_key so committed configs never bake in secrets.
  • Watcher syslog logging + codescan log subcommand — 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 MCP logs tool.
  • oMLX / OpenAI-compatible embedding dialect — alongside Ollama. embedding_api=openai, Bearer auth, auto-detection between the two.
  • Auto-configurationcodescan index probes Ollama, then oMLX, and auto-selects. codescan init writes a working config. codescan setup-model prints instructions for both dialects.
  • Lexical-only mode--lexical-only or interactive fallback when no embedding server is reachable.
  • Watch managementwatch list, watch prune for multi-project setups.
  • MCP edit toolsinsert_at, insert_after, replace_lines, replace_symbol, replace_content, create_file, destroy_file.

Reliability fixes

  • Connection: close on embedding requests — root cause of batch-mid-index WriteFailed: std.http.Client pooled keep-alive sockets were closed by the server; next reuse surfaced as WriteFailed mid-body. Each embed request now opens a fresh connection.
  • Retry on transient HTTP errorsHttpConnectionClosing, ConnectionResetByPeer, BrokenPipe, WriteFailed, ReadFailed, ConnectionTimedOut, etc. Three attempts, 100ms / 500ms backoff.
  • setup-model shows both paths — previously hid the dialect the current config wasn't set to.

Under the hood

  • POSIX syslog(3) C FFI wrapper.
  • writeValueFor / setApiKeyLiteral helpers so config writes preserve raw ${VAR} references.
  • log_cmd module 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

v0.1.0

23 Jan 17:25

Choose a tag to compare

ReleaseFast builds for macOS (arm64), Linux (x86_64 musl), Windows (x86_64). macOS binary links only libSystem (OS limitation).