Skip to content

Releases: johnhuang316/code-index-mcp

Release v2.2.1

25 Aug 07:08
Compare
Choose a tag to compare

Bug Fix Release

Fixed

  • File watcher auto-refresh functionality restored
  • Added missing import that was causing file watcher startup failures
  • Automatic index updates now work when files are created, modified, or deleted

Impact

  • File watcher status changes from "error" to "active"
  • No more manual refresh required after file changes
  • Real-time code intelligence restored

This patch fixes the regression introduced in v2.2.0 where file watching was completely non-functional.

Upgrade recommended for all v2.2.0 users.

v2.2.0 - Return to Simplicity

25 Aug 06:09
Compare
Choose a tag to compare

What's New

Architectural Refinement: Back to Custom Indexing

  • Direct tree-sitter imports: Eliminated fallback mechanisms for cleaner, more predictable parsing
  • Simplified architecture: Moved away from complex SCIP protocol back to efficient custom JSON indexing
  • Fail-fast approach: Clear error messages when dependencies are missing, no silent degradation
  • Enhanced performance: Streamlined indexing process with reduced overhead and faster access

Improved Language Strategy Implementation

  • 7 Specialized Languages: Python, JavaScript, TypeScript, Java, Go, Objective-C, Zig now use direct tree-sitter AST parsing
  • 50+ Fallback Languages: All other file types continue to use reliable fallback indexing
  • No Regex Fallbacks: Specialized strategies use pure AST parsing for maximum accuracy
  • Cleaner Error Handling: Dependencies issues surface immediately with actionable error messages

Enhanced Parsing Accuracy

  • Better Symbol Extraction: Improved class, method, and function detection across all supported languages
  • Accurate Call Relationships: Enhanced tracking of function calls and dependencies
  • Robust Import Analysis: Better detection of module imports and exports
  • Comprehensive Testing: Validated parsing accuracy across 67 sample files in multiple languages

Technical Improvements

Dual-Strategy Architecture

  • Specialized Parsing: Tree-sitter AST analysis for core languages with full symbol extraction
  • Universal Coverage: Fallback strategy ensures all file types are indexed with basic metadata
  • Clean Separation: Clear distinction between specialized and fallback parsing approaches

Development Experience

  • Clearer Documentation: Updated all README files to accurately reflect the dual-strategy approach
  • Better Testing: Comprehensive validation across multiple programming languages
  • Simplified Maintenance: Reduced complexity makes the codebase easier to understand and extend

Migration Notes

This release represents a return to the custom indexing approach that prioritizes:

  • Efficiency over protocol compliance
  • Simplicity over complex standards
  • Performance over theoretical extensibility
  • Clarity over abstraction

The previous SCIP-based approach (v2.0.x - v2.1.x) encountered efficiency issues and limited ecosystem support. This release refocuses on the project's core mission: providing fast, accurate code indexing for LLM applications.

Breaking Changes

None - fully backward compatible with existing MCP integrations


Full Changelog: v2.1.2...v2.2.0

v2.1.2

18 Aug 09:17
Compare
Choose a tag to compare

Full Changelog: v2.1.1...v2.1.2

v2.1.1

15 Aug 09:01
Compare
Choose a tag to compare

What's Fixed

This patch release resolves stability and performance issues in Java code analysis.

Key Improvements

  • Enhanced Stability: Fixed crashes and hangs during Java file processing
  • Better Performance: Significantly faster Java symbol analysis
  • Reduced Memory Usage: Lower memory footprint during indexing
  • Improved Reliability: More consistent analysis results

Technical Changes

  • Simplified Java SCIP strategy implementation
  • Removed complex relationship tracking that was causing issues
  • Streamlined symbol registration and extraction
  • Fixed compatibility issues with large Java codebases

Full Changelog: v2.1.0...v2.1.1

v2.1.0

13 Aug 01:38
Compare
Choose a tag to compare

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

11 Aug 05:16
Compare
Choose a tag to compare

Full Changelog: v2.0.0...v2.0.1

v2.0.0 - SCIP Architecture Migration

11 Aug 03:25
Compare
Choose a tag to compare

🚀 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:

  1. Detect legacy index format
  2. Migrate to new SCIP format
  3. Maintain all existing functionality

Full Changelog: v1.2.1...v2.0.0

v1.2.1

06 Aug 03:13
Compare
Choose a tag to compare

What's Changed

  • Fix file watcher to process moved files from temporary locations by @Acren in #17

New Contributors

  • @Acren made their first contribution in #17

Full Changelog: v1.2.0...v1.2.1

Release Notes - v1.2.0

05 Aug 07:57
Compare
Choose a tag to compare

What's New

Enhanced File Search Capabilities

  • Filename-only search: Now you can search with just the filename! Use test_*.py to 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

05 Aug 03:16
Compare
Choose a tag to compare

remove sys.path.append to restore uvx environment isolation

Full Changelog: v1.1.0...v1.1.1