All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Release Infrastructure: Added
tests/packaging/test_packaged_version.shscript to validate version consistency betweenpyproject.tomland installed package before deployment - CI/CD Integration: Updated
.github/workflows/publish.ymlto run packaging validation tests before PyPI publication - Developer Tooling: Added
.claude/commands/release-prep.mdslash command for streamlined release management workflow - Test Coverage: Added 26 new unit tests covering:
- All exception class constructors and serialization (
to_dict()method) - Data session error paths (validation methods, stats generation)
- Version string format validation
- All exception class constructors and serialization (
- Version Handling: Simplified
_version.pyby removingPackageNotFoundErrorfallback logic (package metadata always available in deployment environments) - Test Coverage: Improved overall coverage from 88.61% to 89.05%
_version.py: 71.43% → 100%exceptions.py: 83.67% → 100%data_session.py: 81.25% → 100%
- Version Validation: Packaging test now validates three-part semver format (MAJOR.MINOR.PATCH) with regex pattern matching
0.1.1 - 2025-10-06
- Version Reporting: Fixed
_version.pyto correctly report package version (0.1.1) instead of fallback "0.0.0" - now usesimportlib.metadata.version("databeak")instead of__name__ - Server Info:
get_server_infoandhealth_checkMCP tools now correctly return actual package version
- Version Management: Converted from dynamic versioning (via git tags) to
static version in
pyproject.tomlfor more reliable version control - Test Implementation: Updated version tests to read from
pyproject.tomlusingtomllibparser instead ofimportlib.metadatafor more direct source of truth
- Unit Tests: Added
test_get_server_info_returns_actual_versionunit test to validate version reporting - Integration Tests: Added 5 new integration tests in
test_system_server_integration.pyto verify version propagation through the full MCP client stack
0.1.0 - 2025-10-06
- Type Safety: Resolved 10 mypy type checking errors including missing type parameters, circular imports, and unused type ignore comments
- Test Suite: Fixed 35 failing tests by correcting fixture names, adding dict-to-object conversion for FilterCondition, and handling None values in validators
- Circular Import: Moved
CellValuetype alias tomodels/__init__.pyto eliminate circular dependency betweentyped_dicts.pyanddata_models.py - Filter Operations: Added dict-to-FilterCondition conversion with
==to=operator normalization for backward compatibility
- Type Annotations: Added generic TypeVar
Ttoapply_violation_limitsfor improved type safety - Pandera Integration: Fixed pandera.errors import path in validation_server.py
- MyPy Configuration: Excluded
examples/directory from type checking to prevent false positives - Type Aliases: Migrated
FilterValueto moderntypestatement syntax (PEP 695) - Pydantic Validators: Simplified validation logic in pydantic_validators.py, removed duplicate type hints, and streamlined field validator implementations
- Dead Code: Removed unused
session_service.pyandstatistics_service.pymodules with dependency injection abstractions (0% actual usage) - Unused Models: Removed
DataSchemaandDataQualityRulePydantic models (61 lines) that were only tested but never used in production code - Deprecated Enum: Removed
OperationTypeenum that was marked for cleanup and had no active usage - Misleading Documentation: Removed
docs/docker-deployment.mdthat referenced deleted Docker files - Example Code: Removed
examples/dependency_injection_demo.pythat referenced deleted modules - Try-Except Wrappers: Removed 58 unnecessary try-except wrapper blocks from MCP tool functions (TRY301 violations) - FastMCP handles exception transformation automatically
- Transformation Service: Removed unused transformation_service.py module (676 lines, zero production usage)
- Dead TypedDicts: Removed 22 unused TypedDict classes (343 lines, 88.7% reduction in typed_dicts.py)
0.0.4 - 2025-09-30
- Relaxed JSON Schema Validation: Custom jsonschema validator that accepts integers as strings or floats, handling LLM-generated parameters that don't strictly conform to integer types (PR #115)
- Integration Testing Framework: Comprehensive integration testing with pytest config, isolated environment, and coverage reporting (PR #110)
- ReadTheDocs Configuration: Official documentation site with MkDocs integration and automated deployment (PR #108)
- Type Safety Enhancements: MCP-specific type definitions including NonNegativeIntString and PositiveIntString with regex validation (PR #111)
- Header Type Architecture: Refactored HeaderConfig to use Abstract Base Class with Pydantic discriminated union pattern for cleaner polymorphic behavior (PR #113)
- FastMCP Dependency: Updated to use released fastmcp version instead of development branch (PR #114)
- Testing Configuration: Enhanced pytest configuration with integration test markers, coverage settings, and proper test isolation
- Project Structure: Streamlined documentation and removed unmaintained agent files and Docker infrastructure (PR #116)
- Docker Support: Removed Dockerfile and docker-compose.yml as Docker deployment is not officially supported
- Agent Documentation: Removed specialized agent documentation files that are no longer actively maintained
0.0.3 - 2025-01-24
- Circular Import Resolution: Resolved critical circular import between
session.pyandsession_service.pyusing lazy imports and TYPE_CHECKING blocks - Import Architecture: Converted all relative imports to absolute imports, eliminating 15 TID252 ruff violations
- MyPy Configuration: Added
mypy_path="src"to enable type checking from project root and pre-commit compatibility - Documentation Consistency: Updated all documentation to use standardized
uv run mypy src/databeak/command syntax
- Agent Documentation: Streamlined test-coverage-analyzer agent description to focus on prescriptive guidance rather than current state information
- Quality Pipeline: Pre-commit hooks now pass completely with proper MyPy integration
0.0.2 - 2025-01-19
- Production Quality Standards: Achieved zero ruff violations across all code quality categories
- Enhanced Type Safety: 100% mypy compliance with comprehensive type annotations
- Context-Based Logging: MCP-integrated logging for better traceability in tool functions
- API Design Improvements: Keyword-only boolean parameters to eliminate boolean traps
- Data Validation: Added proper validation constraints (e.g., negative value prevention)
- Comprehensive Test Coverage: 1100+ unit tests with excellent coverage
- Logging Guidelines: Clear documentation for Context vs standard logger usage
- Architecture Simplification: Removed CorrelatedLogger, simplified to standard Python logging
- Server Composition: Enhanced modular FastMCP server architecture
- Exception Handling: Consistent exception message patterns with variable extraction
- Parameter Naming: Resolved variable shadowing (format → export_format)
- Test Structure: Improved pytest patterns with proper exception testing
- Documentation: Updated all docs to reflect current architecture and quality standards
- Security: Eliminated silent exception handling (try-except-pass patterns)
- Code Consistency: Fixed variable shadowing violations throughout codebase
- Test Quality: Proper pytest.raises usage with specific match parameters
- Error Messages: Extracted all exception messages to variables for maintainability
- Import Organization: Cleaned up unused imports and dependencies
- Code Violations: Eliminated all ruff violations (G004, FBT, EM, PT, A, ARG, S110, N818)
- Boolean Traps: Removed confusing boolean positional parameters
- Custom Logging Complexity: Simplified logging architecture
- Duplicate Code: Consolidated AutoSaveConfig implementations
- Outdated Documentation: Updated all references to current architecture
0.0.1 - 2025-09-18
- Initial release of DataBeak MCP Server
- Core CSV operations: read, write, filter, transform
- Data validation and quality checks
- Statistical analysis and profiling capabilities
- Outlier detection and handling
- Support for multiple file formats (CSV, Excel, Parquet)
- Async operations for high performance
- Comprehensive error handling and logging
- FastMCP integration for seamless AI assistant integration
- Pandas-powered data manipulation
- Full test coverage with pytest
- Documentation with examples
- Type hints and mypy compatibility