Changelog¶
All notable changes to the Code Graph Knowledge System will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]¶
[0.9.0] - 2025-11-07¶
Maintenance¶
- Major improvements:
- Major improvements:
-
- Update pyproject.toml description from 'AI-powered code intelligence' to 'Enterprise knowledge management platform'
-
- Remove invalid ../README.md references from mkdocs.yml (mkdocs can't access files outside docs/)
-
- Move frontend documentation to appropriate docs/ directories
[0.8.0] - 2025-11-06¶
Added¶
- Add Memory Store for AI agent project knowledge persistence (v0.6)
Maintenance¶
-¶
-¶
-¶
- Update permission settings
- Claude/refactor directory structure 011 c us sd tp bi mf1 eiq b hx zr m
- Fix import paths for reorganized services subpackage structure
- Co-authored-by: royisme 350731+royisme@users.noreply.github.com
- CRITICAL FIX (P0): Fixed all internal imports to use codebase_rag.* namespace
- Fixed all dynamic imports inside test functions that were still using
- Updated all test files to use new import paths:
-
- Update build-frontend.sh references: ./build-frontend.sh → ./scripts/build-frontend.sh
-
- Remove docs/CNAME (use GitHub Pages default URL)
- This reverts commit 393317c.
- Added professional technical documentation to explain:
- Comprehensive documentation update to reflect the new src-layout structure.
- Complete removal of backward compatibility shims and legacy code structure.
- Scripts documentation should be in docs/development/ instead of
- Phase 6: Non-code file organization and cleanup
- Major restructuring to align with Python best practices:
- Updated cache-to configuration to include a TTL of 7 days.
- Fetch Latest Main Branch Updates
- REMOVED from all Dockerfiles:
- Changed from 'version' to 'bun-version' per official docs:
-
- uses: oven-sh/setup-bun@v2 (was @v1)
- CRITICAL FIXES:
- Removed temporary documentation files created during development:
- Updated all docker-compose files to support two-port architecture:
-
User Feedback¶
-
Context¶
-
Context¶
-
Problem¶
-
Problem¶
-
Changes¶
-
Problem¶
-
Problem¶
- These files are now in .gitignore and should not be tracked:
- As TS Type Safety Auditor, eliminated ALL type issues:
- Upgraded frontend to production-ready modern stack:
- This commit fixes multiple issues that prevented Docker build from succeeding:
- The frontend-builder stage in Dockerfile.full and Dockerfile.standard
- Migrate monitor features from NiceGUI to frontend
- Properly integrate the React frontend into the Docker build process to enable
- Backend Docker images don't need frontend code:
- Runtime images don't need README.md or pyproject.toml:
-
Critical Docker Build Issues Fixed¶
-
Phase 3: Remove NiceGUI Dependencies¶
- This commit migrates all task monitoring features from NiceGUI to the React frontend:
- Delete old file
- Fix Docker setup and MCP image building
- Implemented complete changelog automation using Conventional Commits:
- Implemented complete version management automation:
- Removed manual "Table of Contents" sections from 3 documentation files:
- Fixed all 9 broken links causing build failures in strict mode:
- Added comprehensive documentation (13,000+ more lines):
- Added comprehensive user documentation (13,000+ lines):
- Co-authored-by: royisme 350731+royisme@users.noreply.github.com
- Added complete documentation for all three deployment modes:
-
- Create logo.svg with code graph visualization
-
- Remove non-existent custom_dir (docs/overrides)
-
- Remove temporary documentation files (CONFIGURATION_GUIDE, summaries)
- Address PR review feedback: align Python versions and clarify Ollama config
- Co-authored-by: royisme 350731+royisme@users.noreply.github.com
- Updated remaining references from docs.vantagecraft.dev to code-graph.vantagecraft.dev
- Complete step-by-step guide covering:
- Complete documentation of Docker MCP Registry submission:
- Add submission files for Docker MCP Registry with 3 variants:
- BREAKING CHANGE: Default docker-compose.yml now points to minimal mode
- Implement automatic memory extraction features
- Address code review feedback: extract magic numbers and fix variable reassignment bug
- Co-authored-by: Copilot 175728472+Copilot@users.noreply.github.com
- Co-authored-by: royisme 350731+royisme@users.noreply.github.com
- Comprehensive implementation of automatic memory extraction features using LLM analysis.
- Fixed test failures caused by MCP SDK type handling:
- [WIP] Add memory management system for AI agent project
- Co-authored-by: royisme 350731+royisme@users.noreply.github.com
- Addressed two issues from code review:
- Fixed two critical P1 bugs in Memory Store:
- Co-authored-by: Copilot 175728472+Copilot@users.noreply.github.com
- Co-authored-by: Copilot 175728472+Copilot@users.noreply.github.com
- Add complete testing infrastructure with 105+ unit tests and CI/CD workflows
- BREAKING CHANGE: FastMCP v1 removed, Official MCP SDK is now the only version
- Migration Summary:
- Implements official Model Context Protocol SDK alongside existing FastMCP version,
- Implements a comprehensive Memory Management system for AI agents to maintain
- This commit adds a complete modern frontend application to replace the
- Fix get_changed_files() dict access in incremental ingestion
- Fix deduplication silently dropping nodes without ref
- Fix dict access, missing parameters, and key mismatches from PR #6 review
- Co-authored-by: royisme 350731+royisme@users.noreply.github.com
- Co-authored-by: royisme 350731+royisme@users.noreply.github.com
- Co-authored-by: royisme 350731+royisme@users.noreply.github.com
- Review codebase-rag against requirements
- This commit adds multi-language support and production-ready Docker deployment.
- This commit completes v0.5 milestone by adding MCP tools for code graph
-
- Added v0.4 status and progress tracking (90% complete)
- Implements major v0.4 features: incremental mode and pack enhancements.
- Implements v0.3 requirement: extract import/dependency relationships between files.
- Added detailed documentation covering:
- This commit addresses critical gaps in the v0.2 specification:
- Add repository ingestion, related search, and context packing APIs
- Per feedback, keeping original Python 3.13 requirement
-
- Remove all v02-suffixed files and backend/ directory structure
- Co-authored-by: royisme 350731+royisme@users.noreply.github.com
- Co-authored-by: royisme 350731+royisme@users.noreply.github.com
- Co-authored-by: royisme 350731+royisme@users.noreply.github.com
- Co-authored-by: royisme 350731+royisme@users.noreply.github.com
- Co-authored-by: royisme 350731+royisme@users.noreply.github.com
- Roy/tests fix query bug
- This commit introduces a complete real-time monitoring ecosystem with three distinct approaches:
- ```python
- Here's the corrected SEARCH/REPLACE block:
-
- Added OpenRouterEmbeddingGenerator implementation for embedding generation
-
- Added OpenRouter fields in config model info
-
- Adding OpenRouter configuration settings (API key, base URL, models)
- This reverts commit 0b8fd12.
Other¶
-
- services/init.py:
- Removed eager imports of all subpackages to avoid triggering heavy dependencies (llama_index, etc.) when tests import services
- Updated documentation with correct import examples
-
- Remove docs/CNAME file (use GitHub Pages default URL)
- Update site_url to vantagecraft.dev/docs/code-graph/
- Update workflow notification URL
- Add comprehensive Cloudflare setup guide
-
- Remove main branch push trigger from docker-build.yml
- Now Docker images are built only when version tags are pushed
- This aligns with the bump-version.sh workflow where tags are created
- Keep PR and manual workflow_dispatch triggers for testing
- Avoid conflicts with user's main GitHub Pages site (royisme.github.io) and allow multiple project-specific subdomains.
Planned Features¶
- API authentication with JWT
- Web-based configuration UI
- Multi-provider LLM support (simultaneous)
- Advanced code refactoring suggestions
- Rust, C++, C# language support
- Real-time collaboration features
- Plugin system for custom extensions
[0.7.0] - 2025-01-15¶
Added - Automatic Memory Extraction¶
- Conversation Analysis: Extract memories from AI conversation history
- LLM-powered decision and experience detection
- Confidence scoring for automatic saving
- Configurable auto-save threshold
- Git Commit Analysis: Analyze git commits for architectural decisions
- Parse commit messages and changed files
- Extract decisions, experiences, and conventions
- Link memories to specific commits
- Code Comment Mining: Extract TODO, FIXME, NOTE, DECISION markers
- Automatic scanning of code comments
- Convert markers to structured memories
- Track technical debt and action items
- Query-based Memory Suggestions: Suggest important memories from Q&A
- Analyze knowledge base queries and answers
- Identify information worth remembering
- Suggest memory creation with auto-populated fields
- Batch Repository Extraction: Comprehensive codebase analysis
- Extract from git history (configurable commit limit)
- Mine code comments across file patterns
- Bulk memory creation from repository insights
Added - New MCP Tools (5 tools)¶
extract_from_conversation: Extract memories from conversation historyextract_from_git_commit: Analyze git commits for memoriesextract_from_code_comments: Mine code comments for action itemssuggest_memory_from_query: Suggest memories from Q&A sessionsbatch_extract_from_repository: Full repository analysis
Added - New API Endpoints (5 endpoints)¶
POST /api/v1/memory/extract/conversation: Extract from conversationsPOST /api/v1/memory/extract/commit: Extract from git commitsPOST /api/v1/memory/extract/comments: Extract from code commentsPOST /api/v1/memory/suggest: Suggest memory from query/answerPOST /api/v1/memory/extract/batch: Batch repository extraction
Changed¶
- Enhanced memory extraction service with LLM-powered analysis
- Improved error messages for memory operations
- Updated MCP handler architecture documentation
- Enhanced memory search relevance scoring
Fixed¶
- Neo4j connection timeout in Docker environments
- Memory search not finding recently added memories
- Environment variable handling in Docker deployment
- Race condition in concurrent memory additions
Documentation¶
- Added comprehensive memory extraction guide
- Updated API documentation with extraction endpoints
- New examples for automatic memory extraction
- Enhanced troubleshooting guide
[0.6.0] - 2024-12-20¶
Added - Memory Store for AI Agents¶
- Memory Management System: Long-term project knowledge persistence
- Decision memory type: Architecture and technical choices
- Preference memory type: Coding styles and conventions
- Experience memory type: Problems encountered and solutions
- Convention memory type: Team rules and standards
- Plan memory type: Future improvements and TODOs
- Note memory type: General project information
- Memory Operations: Full CRUD operations for memories
- Add memory with importance scoring
- Search memories with semantic search
- Update existing memories
- Delete memories (soft delete)
- Supersede memories (version history)
- Project memory summaries
- Memory Relationships: Graph-based memory connections
BELONGS_TO: Memory to project relationshipsRELATES_TO: Inter-memory relationshipsSUPERSEDES: Memory version history
Added - Multi-Language Support (3 languages)¶
- Java Support: Complete Java code analysis
- Import statement parsing (standard and static)
- Class inheritance and interface tracking
- Method visibility detection (public/protected/private)
- Package dependency mapping
- PHP Support: PHP code analysis
- Use statement parsing (class, function, const)
- Require/include dependency tracking
- Class extends and implements relationships
- Function type hint extraction
- Go Support: Golang code analysis
- Package import parsing (single and blocks)
- Struct and interface detection
- Function and method extraction (with receivers)
- Package alias tracking
Added - Docker Multi-Mode Deployment¶
- Three deployment modes:
- Minimal: Code Graph only (~800MB)
- Standard: Code Graph + Memory (~1.2GB)
- Full: All features (~1.5GB)
- Docker Compose configurations:
docker-compose.minimal.ymldocker-compose.standard.ymldocker-compose.full.yml- Multi-platform support: amd64, arm64
- Helper scripts: Simplified deployment commands
Added - MCP Tools (7 memory tools)¶
add_memory: Save new project knowledgesearch_memories: Find relevant memoriesget_memory: Retrieve specific memoryupdate_memory: Modify existing memorydelete_memory: Remove memorysupersede_memory: Create new memory that replaces old oneget_project_summary: Get project memory overview
Added - API Endpoints (7 memory endpoints)¶
POST /api/v1/memory/add: Add new memoryPOST /api/v1/memory/search: Search memoriesGET /api/v1/memory/{memory_id}: Get specific memoryPUT /api/v1/memory/{memory_id}: Update memoryDELETE /api/v1/memory/{memory_id}: Delete memoryPOST /api/v1/memory/supersede: Supersede old memoryGET /api/v1/memory/project/{project_id}/summary: Project summary
Changed¶
- Updated file patterns to include Java, PHP, Go files
- Enhanced code graph to support new language relationships
- Improved transformer architecture for multi-language support
Documentation¶
- Added Memory Store user guide
- Added memory API documentation
- Updated examples with memory usage
- Enhanced CLAUDE.md with memory workflows
[0.5.0] - 2024-11-15¶
Added - MCP Protocol Support¶
- Official MCP SDK Integration: Model Context Protocol v1.1.0+
- Modular Architecture: Handler-based design (310-line main server)
- Knowledge handlers: Query, search, document management
- Code graph handlers: Ingestion, analysis, statistics
- System handlers: Health checks, configuration
- Task handlers: Background processing, monitoring
- 30 MCP Tools: Comprehensive AI assistant integration
- 8 knowledge tools
- 10 code graph tools
- 4 system tools
- 8 task monitoring tools
- Advanced Features:
- Session management framework
- Streaming support (SSE)
- Multi-transport capability (stdio, SSE, WebSocket)
Added - Prometheus Metrics¶
- 15+ metrics for monitoring:
- Request counters (total, by endpoint, by status)
- Request duration histograms
- Active request gauges
- Neo4j operation metrics
- Document processing metrics
- Error rate tracking
- Metrics endpoint:
GET /api/v1/metrics - Grafana dashboard configuration (optional)
Added - Neo4j Health Monitoring¶
- Connection status tracking
- Query performance metrics
- Database size monitoring
- Index usage statistics
Changed¶
- Refactored MCP server from 1400 lines to 310 lines (78% reduction)
- Extracted handlers into
mcp_tools/package - Improved error handling and logging
- Enhanced code organization and maintainability
Documentation¶
- Added MCP v2 modularization guide
- Updated MCP integration documentation
- Added Prometheus metrics documentation
- Enhanced deployment guides
[0.4.0] - 2024-10-20¶
Added - Real-time Task Monitoring¶
- Web UI Monitoring: NiceGUI-based monitoring interface
- Real-time task status updates via WebSocket
- File upload functionality (50KB size limit)
- Directory batch processing
- Task progress visualization
- Accessible at
/ui/monitorwhenENABLE_MONITORING=true - Server-Sent Events (SSE): Streaming APIs for real-time updates
/api/v1/sse/task/{task_id}: Monitor single task/api/v1/sse/tasks: Monitor all tasks with filtering/api/v1/sse/stats: SSE connection statistics- Task Queue System: Background processing with monitoring
- Async task execution
- Progress tracking
- Error handling and retry logic
- Task history and logs
Added - Large File Handling¶
- Multi-strategy approach:
- Direct processing: Files < 10KB
- Temporary file strategy: Files 10-50KB
- Directory processing prompt: Files > 50KB
- MCP automatic temp files: All sizes
- Configurable limits: Size thresholds via environment variables
Added - Client Examples¶
examples/pure_mcp_client.py: Pure MCP client with watch toolsexamples/hybrid_http_sse_client.py: HTTP + SSE hybrid approach- Real-time monitoring demonstrations
Changed¶
- Enhanced file upload handling with size validation
- Improved error messages for large file uploads
- Better timeout handling for large documents
Fixed¶
- Memory leaks in long-running tasks
- SSE connection stability issues
- File upload timeout for large files
[0.3.0] - 2024-09-15¶
Added - Universal SQL Schema Parser¶
- Multi-dialect support: Oracle, MySQL, PostgreSQL, SQL Server
- Configurable business domain classification: YAML/JSON configuration
- Pre-built industry templates:
- Insurance: Policies, claims, underwriting
- E-commerce: Products, orders, customers
- Banking: Accounts, transactions, loans
- Healthcare: Patients, diagnoses, treatments
- Comprehensive parsing:
- Table and column extraction
- Foreign key relationships
- Index definitions
- Business domain classification
- Professional documentation generation: Markdown output
- Real-world tested: 356-table Oracle database (4,511 columns)
Added - SQL API Endpoints¶
POST /api/v1/sql/parse: Parse SQL schema filesPOST /api/v1/sql/analyze: Analyze database structureGET /api/v1/sql/templates: List available templates
Changed¶
- Enhanced schema parsing with configurable templates
- Improved relationship detection
- Better error handling for malformed SQL
Documentation¶
- Added SQL parsing user guide
- Industry template documentation
- Configuration examples
[0.2.0] - 2024-08-01¶
Added - Multi-Provider LLM Support¶
- Ollama integration: Local LLM hosting (default)
- OpenAI integration: GPT models and embeddings
- Google Gemini integration: Gemini models and embeddings
- OpenRouter integration: Multi-provider access
- HuggingFace embeddings: Local embedding models
- Provider configuration: Via
.envfile with flexible switching
Added - Enhanced Configuration¶
- Environment-based configuration system
- Support for multiple embedding providers
- Configurable timeouts and limits
- Feature flags (monitoring, Prometheus)
Changed¶
- Refactored service initialization for multi-provider support
- Improved LLM provider abstraction layer
- Enhanced error messages for provider issues
Fixed¶
- OpenAI API compatibility issues
- Gemini embedding dimension mismatches
- Provider-specific timeout handling
[0.1.0] - 2024-07-01¶
Added - Initial Release¶
- Core Features:
- Neo4j GraphRAG integration
- Vector search with LlamaIndex
- Document processing (text, markdown, code)
- Knowledge graph construction
- Intelligent query engine
- RESTful API
- Code Analysis:
- Python code parsing
- TypeScript/JavaScript parsing
- Import relationship mapping
- Basic code graph visualization
- Document Management:
- Multi-format support
- Asynchronous processing
- Chunk-based indexing
- Vector similarity search
- API Endpoints:
/api/v1/health: Health check/api/v1/knowledge/query: Query knowledge base/api/v1/knowledge/search: Vector search/api/v1/documents/upload: Upload documents/api/v1/documents/list: List documents- Infrastructure:
- FastAPI backend
- Neo4j database
- Docker support
- Basic logging and error handling
Documentation¶
- Initial README
- API documentation
- Basic deployment guide
- Example scripts
Version History Summary¶
| Version | Release Date | Key Features |
|---|---|---|
| 0.7.0 | 2025-01-15 | Automatic memory extraction (5 tools) |
| 0.6.0 | 2024-12-20 | Memory Store, Multi-language (Java/PHP/Go), Docker modes |
| 0.5.0 | 2024-11-15 | MCP protocol, Prometheus metrics, Modular architecture |
| 0.4.0 | 2024-10-20 | Real-time monitoring, SSE, Large file handling |
| 0.3.0 | 2024-09-15 | Universal SQL parser, Business domain templates |
| 0.2.0 | 2024-08-01 | Multi-provider LLM support (Ollama/OpenAI/Gemini) |
| 0.1.0 | 2024-07-01 | Initial release with core features |
Upgrade Guides¶
Upgrading from 0.6.x to 0.7.0¶
No breaking changes. Simply pull new Docker image:
New Features Available: - Memory extraction endpoints and MCP tools - Automatic memory mining from git and code
Upgrading from 0.5.x to 0.6.0¶
Breaking Changes: - None, fully backward compatible
New Configuration Options:
Data Migration: - No migration needed - Memory Store creates new nodes in existing Neo4j database
Upgrading from 0.4.x to 0.5.0¶
Breaking Changes: - MCP server entry point changed from mcp_server.py to start_mcp.py
Configuration Update:
// claude_desktop_config.json
{
"mcpServers": {
"code-graph": {
"command": "python",
"args": ["/path/to/start_mcp.py"] // Changed from mcp_server.py
}
}
}
Data Migration: - No database changes - MCP protocol fully backward compatible
Upgrading from 0.3.x to 0.4.0¶
No breaking changes. New features are opt-in:
Migration Notes¶
Python Version Upgrade¶
As of v0.6.0, Python 3.13+ is required. If upgrading from older versions:
# Update Python
python3.13 -m venv .venv
source .venv/bin/activate
# Reinstall dependencies
pip install --upgrade pip
pip install -e .
Neo4j Version Compatibility¶
All versions support Neo4j 5.0+. No database migration needed between versions.
Environment Variables¶
Check .env.example for new configuration options in each version.
Deprecation Notices¶
Deprecated in 0.7.0¶
- None
Deprecated in 0.6.0¶
- None
Deprecated in 0.5.0¶
- Old MCP server entry point (
mcp_server.py): Usestart_mcp.pyinstead - Will be removed in: v1.0.0
Removed in 0.5.0¶
- None
Contributing¶
See CONTRIBUTING.md for guidelines on contributing to this project.
Support¶
- Documentation: https://code-graph.vantagecraft.dev
- Issues: https://github.com/royisme/codebase-rag/issues
- Discussions: https://github.com/royisme/codebase-rag/discussions
Links¶
Note: Dates in this changelog are illustrative. Check GitHub Releases for actual release dates.