Releases: johnhuang316/code-index-mcp
v2.1.0
Major SCIP Architecture Enhancement
This release completes the migration to SCIP-based code indexing with significant improvements to the core infrastructure and API simplification.
Core SCIP Infrastructure
- Complete SCIP core components: Added symbol_manager, position_calculator, reference_resolver, moniker_manager
- Two-phase SCIP analysis: Implemented symbol collection → reference resolution workflow
- Unified index management: New index_provider and unified_index_manager for seamless index operations
- SCIP-compliant symbol IDs: Standard symbol ID generation with cross-file reference support
Enhanced Strategy System
- All language strategies SCIP-compliant: Refactored Python, Java, JavaScript, Objective-C strategies
- External symbol extraction: Added dependency tracking and external symbol resolution
- Proper SCIP classifications: Implemented symbol roles and syntax kind detection
- Robust file handling: Enhanced encoding detection and error recovery
API Improvements
- Simplified find_files response: Returns clean file path lists instead of complex metadata objects
- Enhanced SCIPSymbolAnalyzer: Replaced legacy query tools with accurate symbol analysis
- Improved logging: Comprehensive logging throughout SCIP indexing pipeline
Dependency Updates
- pathspec integration: Better .gitignore parsing and file filtering
- Updated requirements: Added comprehensive dependency list for cross-platform support
Technical Improvements
- Symbol analysis tools: New inspection scripts for debugging and development
- Enhanced error handling: Better fallback strategies and error recovery
- Testing improvements: Updated sample projects for multilingual testing
Breaking Changes
- find_files API: Now returns
List[str]instead of complex metadata dictionary - Internal architecture: Significant refactoring of internal components (no user-facing impact)
v2.0.1
Full Changelog: v2.0.0...v2.0.1
v2.0.0 - SCIP Architecture Migration
🚀 Major Changes
Complete architectural overhaul - This release represents a fundamental redesign of the code indexing system.
New Architecture
- Three-layer service architecture: Service → Tool → Technical Components
- Unified SCIP indexing: Replace language-specific analyzers with SCIP protobuf format
- Simplified codebase: Reduced from 40K+ to ~1K lines of core logic
Performance & Reliability
- Faster indexing: Tree-sitter AST parsing instead of regex-based analysis
- Better accuracy: SCIP provides more precise code intelligence
- Reduced memory usage: Streamlined data structures and processing
Backward Compatibility
- MCP API unchanged: All existing MCP tools work without modification
- Automatic migration: Legacy indexes are automatically migrated
- Same functionality: All user-facing features preserved
🔧 Technical Details
Removed Components
- Language-specific analyzers (C, C++, Java, JavaScript, Python, etc.)
- Legacy indexing models and relationship management
- Complex duplicate detection and qualified name systems
New Components
- SCIP-based unified indexing system
- Service-oriented business logic layer
- Composable technical tool layer
📦 Migration
Existing users can upgrade seamlessly - the system will automatically:
- Detect legacy index format
- Migrate to new SCIP format
- Maintain all existing functionality
Full Changelog: v1.2.1...v2.0.0
v1.2.1
Release Notes - v1.2.0
What's New
Enhanced File Search Capabilities
- Filename-only search: Now you can search with just the filename! Use
test_*.pyto find all test files across any directory, no need for full paths - Dual matching logic: Searches both full paths and filenames automatically for maximum convenience
- Directory tree traversal: Replaced linear search with efficient tree-based algorithm
Cross-Platform Improvements
- Unified path format: All file paths now use forward slashes consistently across Windows, macOS, and Linux
- Fixed Windows path issues: No more double backslashes in search results
Examples
Before v1.2.0:
find_files("tests/test_*.py") # Only finds files in tests/ directory
Now in v1.2.0:
find_files("test_*.py") # Finds ALL test files in any directory
find_files("tests/test_*.py") # Still works for specific paths
find_files("README.md") # Finds all README files project-wide
Breaking Changes
None - fully backward compatible
Full Changelog: v1.1.1...v1.2.0
v1.1.1
remove sys.path.append to restore uvx environment isolation
Full Changelog: v1.1.0...v1.1.1
v1.1.0
Full Changelog: v1.0.0...v1.1.0
Release Notes - Code Index MCP v1.0.0
Stable Release
Excited to announce the first stable release of Code Index MCP! This v1.0.0 release brings powerful new features that significantly improve the code analysis experience.
What's New
Real-Time File Watcher
- Automatic Updates: Your code index now updates instantly when files change
- Zero Manual Refresh: No more running refresh commands - everything happens automatically
- Smart Monitoring: Only watches relevant files, ignores build directories and temp files
- Background Processing: Index updates happen in the background without interrupting your work
Enhanced File Analysis
- Lightning Fast: Get comprehensive file summaries instantly from the optimized index
- Rich Details: See complete function signatures, class relationships, and import dependencies
- Better Accuracy: Improved validation ensures reliable analysis results
- Cross-Platform: Consistent behavior across Windows, macOS, and Linux
Smarter Search
- Fuzzy Search: Find code even with typos using advanced fuzzy matching
- Multiple Engines: Automatically uses the best search tool available (ripgrep, ugrep, ag, grep)
- Regex Support: Powerful pattern matching with safety validation
- File Filtering: Search specific file types with glob patterns
Expanded Language Support
- 70+ File Types: Now supports even more languages and frameworks
- Database Files: Added support for SQL, CQL, Cypher, SPARQL, GraphQL
- Web Technologies: Enhanced support for modern web frameworks
- Configuration Files: Better handling of YAML, JSON, XML, and Markdown
Key Benefits
- Instant Feedback: See changes reflected in search results within seconds
- No Interruptions: Background processing keeps your workflow smooth
- Better Reliability: Robust error handling and automatic fallback strategies
- Rich Insights: Get deeper understanding of your codebase structure and relationships
Release Notes - v0.5.0
Release Notes - v0.5.0
Auto-Refresh Mechanism
Addresses Issue #14 - Automatic Index Updating.
What's New
- Auto-refresh for
find_files- automatically refreshes index when no results found - 30-second rate limiting - prevents excessive refreshes during development
- Stateless client support - persistent configuration with in-memory caching
- Improved LLM guidance - clearer tool documentation and status messages
Implementation
- Triggers on empty
find_filesresults - Full re-indexing for accuracy
- Manual
refresh_indexstill available with same rate limiting - Balances automation (common cases) with manual control (edge cases)
Design Trade-offs
We chose simplicity over complexity:
- Auto-refresh handles new files - works seamlessly
- Manual refresh for deleted/moved files - relies on comprehensive LLM guidance
This approach prioritizes practical benefits and maintainability while providing clear guidance for LLMs on when manual intervention is needed.
Full Changelog: v0.4.2...v0.5.0
Release Notes v0.4.2
What's New
Improved Code Analysis
- Enhanced language analysis with more accurate symbol detection
- Better handling of complex code structures and edge cases
- More consistent analysis results across different programming languages
- Improved error recovery when analyzing malformed code
Enhanced Multi-Language Support
- Python: Better detection of decorators, generators, and magic methods
- JavaScript/TypeScript: Improved handling of arrow functions, exports, and constants
- Java: Enhanced support for annotations, generics, and nested classes
- Objective-C: Better protocol and category detection
Performance Improvements
- Faster analysis for large codebases
- Reduced memory usage during file processing
- More efficient caching of analysis results
- Better performance when analyzing files with complex patterns
User Experience
- More reliable analysis results with fewer false positives
- Better handling of files with mixed content or unusual formatting
- Improved error messages when analysis fails
- Consistent output format across all supported languages
Bug Fixes
- Fixed issues with regex pattern matching that could cause performance problems
- Resolved inconsistencies in symbol detection across different languages
- Improved handling of edge cases in file analysis
- Better error handling for unsupported file encodings