Skip to content

Release: v0.14.2

Choose a tag to compare

@shinpr shinpr released this 23 May 12:02
· 69 commits to main since this release
539d9df

Added

  • BASE_DIRS — JSON array env var to configure multiple document roots, e.g. BASE_DIRS='["/a","/b"]'.
  • Repeatable --base-dir for ingest and list. CLI roots replace env roots.
  • Precedence: CLI --base-dir > BASE_DIRS > BASE_DIR > cwd.

Changed

  • Configuration warnings (e.g. BASE_DIRS is set; BASE_DIR is ignored.) now appear in MCP tool responses, not only stderr.
  • list_files returns baseDirs: string[] and per-file baseDir. Legacy baseDir (first effective root) is preserved.
  • Invalid BASE_DIRS puts the server in degraded mode: status stays callable for diagnosis, root-dependent tools return a structured error. No silent fallback.

Security

  • Sensitive paths (/etc, /usr, ~/.ssh, ...) are rejected at both CLI and MCP server startup, including their realpath canonical forms (/private/etc on macOS).
  • The raw-data ingest fast path is now gated by a realpath boundary check, closing traversal and symlink-escape vectors.