Releases: johnhuang316/code-index-mcp
Releases · johnhuang316/code-index-mcp
Release v2.9.1
Highlights
- Expanded whitelist now covers Java web artifacts (JSP/tag files, Grails GSP) plus Gradle/Groovy builds and Protocol Buffers so every search strategy—including Basic—can scan those files.
- Documentation in all README variants now calls out the new Java web coverage and added template engines (FreeMarker, Mustache, Liquid, ERB).
Release v2.9.0
Highlights
- Upgrade to
mcp1.21.0 and refresh the uv lockfile so we stay current with the November 2025 SDK. This brings in the latest transport/auth fixes (SEP-985 OAuth metadata fallback, Starlette 0.49.1) noted in docs/mcp-upgrade-notes.md. - Simplify the FastMCP surface by removing deprecated resource handlers, relying entirely on Context-injected tools to avoid zero-parameter template regressions.
- Add restart/upgrade documentation (
docs/mcp-restart-playbook.md,docs/mcp-upgrade-notes.md) and update.well-known/mcp.llmfeed.jsonso downstream agents see version 2.9.0.
Validation
uv run --no-sync pytest(Python 3.13.2) — 16 tests passed.- Manual smoke via the restart playbook (set_project_path → build_deep_index → search_code_advanced) completed cleanly earlier in this cycle.
Release v2.8.1
- fix: standardize MCP entry-point error propagation so FastMCP surfaces structured failures (closes #54)
Release v2.8.0
Highlights
- feat: add Go docstring extraction
- fix: harden Go import parsing and async discovery
- ci: reworked release workflow with verification/publish stages
- tests: expanded Go/Python discovery coverage
Verification
- uv run pytest
- uv run code-index-mcp --help
- uv run python -m build
- uv run twine check dist/*
Release v2.7.0
- Added pagination defaults to search_code_advanced (10 matches per page) with max_results/start_index controls.
Full Changelog: v2.6.0...v2.7.0
Release v2.6.0
Highlights
- Added
--project-pathCLI flag so the server can initialize a repository immediately on startup. - CLI docs updated across all supported languages to document the new startup flag.
- Server now guards optional
--mount-pathusage for older FastMCP versions that do not support it.
Notes
- Supplying an invalid path with
--project-pathcauses startup to fail fast with a clear error.
2.5.1 - Relative Symbol IDs
- Deep index symbol identifiers now use project-relative paths, preventing SQLite uniqueness collisions during rebuilds.
- Added regression coverage to ensure duplicate filenames across directories generate distinct symbol IDs.
- Release notes migrated to Markdown for easier editing.
Full Changelog: v2.5.0...v2.5.1
2.5.0 - SQLite Deep Index & Middleware Coverage
Highlights
- Deep index now persists to SQLite via the new
SQLiteIndexStore, replacing the legacy JSON cache while keeping build performance stable. - JavaScript strategy records middleware callbacks in the call graph, giving accurate
called_bylinks for Express-style handlers. - TypeScript strategy captures limiter callbacks, closing gaps for
.tsmiddleware exports and aligning coverage with JavaScript. - Added dedicated regression tests for the SQLite store/manager plus JavaScript and TypeScript call graph fixtures.
Full Changelog: v2.4.1...v2.5.0
2.4.1 - Search Filtering Alignment
- Code search now shares the central FileFilter blacklist, keeping results consistent with indexing (no more
node_modulesnoise). - CLI search strategies emit the appropriate exclusion flags automatically (ripgrep, ugrep, ag, grep).
- Basic fallback search prunes excluded directories during traversal, avoiding unnecessary IO.
- Added regression coverage for the new filtering behaviour (
tests/search/test_search_filters.py).
Full Changelog: v2.4.0...v2.4.1
Shallow Index Default & Streamlined Server
Highlights
- Shallow index by default: Projects initialize with the new JSON-based shallow index for rapid file discovery.
- Deep index on demand: Added the
build_deep_indextool so symbol extraction happens only when you request it. - Watcher-friendly rebuilds: File watcher callbacks now refresh the shallow index, keeping file lists current without long rebuilds.
- Server cleanup: Removed unused
structure://projectresource, legacy prompts, and auxiliary documents for a leaner runtime.
Developer Experience Improvements
find_filesnow enforces true glob semantics (single*for one segment,**for recursive matches).get_file_summaryresponds with aneeds_deep_indexhint when deep symbols are unavailable.- Index management services split shallow vs deep rebuild paths to clarify tool behavior.
- Repository docs (README, localized copies) highlight when to run
build_deep_index.
Cleanups
- Removed deprecated architecture and benchmarking documents.
- Trimmed benchmark scripts and outdated tests tied to the old SCIP experiment.
Upgrade Notes
- After updating, call
set_project_pathas usual - the server will build the shallow index automatically. - Run
build_deep_indexwhenever you need symbol-level summaries (get_file_summary) or deep search capabilities. - Optionally run
refresh_indexto refresh the shallow index if the watcher is disabled.
Compatibility
- Tool names and signatures are unchanged.
- Deep-index workflows remain available; they now require an explicit
build_deep_indexcall. - Python 3.10+ requirement unchanged; no new third-party dependencies.
Enjoy faster cold starts and a simpler interface tailored for LLM-driven workflows.