You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add codesage index --batch-size <N> to override embedding batch size.
Add target, acceleration, and embedding-device details to codesage --version.
Add CoreML embedding and reranker support on Apple Silicon via device = "coreml".
Add codesage index --verbose for per-phase indexing progress.
Add stale-file metadata to MCP responses via _meta.stale_files.
Add tree-sitter query validation to codesage doctor.
Add codesage install / codesage uninstall support for Codex and opencode.
Add default project injection with codesage mcp --project <root>.
Add optional line numbers to export_context and feature_bundle.
Add repo-size-based token budgets for export_context and feature_bundle.
Add Laravel route-handler references for impact_analysis and find_references.
Changed
Default Apple embedding batch size is now 10.
macOS builds now link ONNX Runtime with CoreML support at compile time.
The MCP daemon now exits after 30 minutes without clients; set CODESAGE_DAEMON_IDLE_TIMEOUT_SECS=0 to keep it alive.
Semantic indexing now writes changed files in bounded batches and reports structural and semantic failures separately.
MCP tool handlers now run off the async runtime worker threads.
Fixed
codesage cleanup no longer treats every vec table as orphaned when the active semantic table is missing.
codesage cleanup --dry-run no longer loads the embedder.
codesage mcp --project, codesage install, and codesage install-hooks reject non-UTF-8 paths instead of writing lossy values.
codesage index now prunes excluded directories, skips unreadable or deleted files, and fails when trust-boundary backfill fails.
Chunk merging and overlap now respect chunk_size.
impact_analysis rejects ambiguous bare symbols; callee export prefers imported symbols over homonyms.
Parser extraction now handles PHP multi-namespace files, Java nested types, and nested functions with correct qualified names and kinds.
Feature mapping now drops excluded files before trust-boundary aggregation, deduplicates entry files, includes Rust library files under src/, and ignores disabled PHP extension macros.
list_features tag filters now escape SQL LIKE metacharacters.
serde_json imports now map to the serialization trust boundary.
list_dependencies now reports reverse file importers.
ReferenceKind JSON now uses snake_case names and still accepts the legacy spellings.
--version handling no longer intercepts subcommand arguments or panics on non-UTF-8 argv.
codesage init rejects a non-directory .codesage path.
CODESAGE_NVIDIA_LIBS can point directly at CUDA library directories.
Unknown device values are rejected instead of falling back to CPU.
Search ranking no longer promotes weak matches with negative KNN scores.
Reranker score extraction handles rank-1 logits and malformed tensor lengths without panicking.
Custom embedding models with already-pooled ONNX output now fail with an actionable error.
MCP tool panics now return errors instead of hanging clients.
MCP semantic tools now fail on malformed project config instead of creating a default semantic table.
The MCP daemon survives transient accept() errors.
codesage daemon status and codesage daemon stop can find daemons from previous builds.
codesage daemon status and codesage daemon stop use a stable /tmp/codesage-$UID fallback across TMPDIR changes.
session-start and session-end validate snapshot paths and loaded session IDs.
session-end flushes its report before exiting nonzero.
codesage map now takes the project index lock.
Generated git hooks shell-quote the codesage binary path.
Security
codesage daemon status and codesage daemon stop validate runtime dirs and pid identity before trusting pid files.
codesage daemon refuses a symlinked or foreign-owned /tmp/codesage-$UID runtime dir.
Non-Linux codesage daemon status / stop no longer trust a stale pid unless the daemon socket is reachable.
list_features --since and MCP since reject option-like git refs.