# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.2.3] - 2026-03-16

### Added
- **Installation verification**: New `--verify` flag runs full diagnostics (Python version, dependencies, PATH, environment variables)
- **Module runner support**: Can now run via `python -m siemens_graph_studio_mcp` when CLI not in PATH
- **Comprehensive Installation Guide**: New `docs/INSTALLATION_GUIDE.md` with:
  - Multiple installation methods (pipx, uv, pip)
  - Step-by-step VS Code MCP setup
  - PATH troubleshooting for all platforms
  - Common error solutions

### Changed
- README now recommends pipx/uv for isolated installation
- Improved troubleshooting section with expandable details

## [0.2.2] - 2026-03-16

### Fixed
- **Critical import bug**: Fixed absolute imports that caused "attempted relative import beyond top-level package" error when running tools after pip install
- All internal imports now use relative imports (e.g., `from .models` instead of `from models`)
- Removed sys.path hacks from tool modules that broke when installed as a package

## [0.2.1] - 2026-03-13

### Added
- "What's New" section in README for PyPI visibility
- VS Code MCP config example file

### Fixed
- Version consistency across all package files
- Removed example credentials from test documentation

## [0.2.0] - 2026-03-13

### Added
- **Property Type Detection**: Distinguish between `owl:ObjectProperty` (relationships) and `owl:DatatypeProperty` (attributes) for smarter query generation
- **Improved Property Discovery**: Knowledge overview now returns ALL object properties + top data properties per class, providing better context for SPARQL query construction
- **Agent System Prompt**: Comprehensive documentation (`docs/AGENT_SYSTEM_PROMPT.md`) with:
  - Recommended query workflow with decision tree
  - Tool call budget (5 calls max per turn)
  - SPARQL best practices and pitfalls
  - Fallback strategies for empty results
- **SPARQL Reference Guide**: New documentation (`docs/SPARQL_REFERENCE.md`) with:
  - Property naming conventions and URI structure
  - Essential query patterns for discovery and exploration
  - Common pitfalls and retry strategies
  - Performance tips
- **Architecture Documentation**: Improved README with module structure and key component descriptions

### Changed
- Enhanced `discover_knowledge_overview` to categorize properties by type (object vs data)
- Property discovery now prioritizes cross-domain relationships (object properties) alongside high-frequency data properties
- Increased property budget from 10 to 50 for comprehensive schema coverage
- Updated cache serialization to persist `is_object_property` field

### Fixed
- Property discovery now correctly identifies property types from OWL type annotations

## [0.1.0] - 2026-03-10

### Added
- Initial public release
- MCP server implementation for Siemens Graph Studio
- SPARQL query execution tools
- Knowledge discovery tools (ontologies, classes, properties)
- Ontology management tools (create, delete, modify)
- GraphMart transformation layer management
- Support for multiple MCP transports (stdio, SSE, HTTP)
- Configuration via environment variables or JSON config files
- OpenAI integration for natural language to SPARQL translation
- Ontology caching for improved performance
- Claude Desktop integration support
- Comprehensive documentation and examples

### Security
- No hardcoded credentials - all configuration via environment variables or config files
- Sensitive values masked in log output
- Apache 2.0 license

## [Unreleased]

### Planned
- Additional query optimization features
- Enhanced error handling and retry logic
- Support for federated queries
- Performance monitoring tools
- Integration with additional AI providers
