Skip to main content
Glama
CHANGELOG.md9.96 kB
# Changelog <!-- markdownlint-disable MD024 --> 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.1.2] - 2025-10-07 ### Added - **Release Infrastructure**: Added `tests/packaging/test_packaged_version.sh` script to validate version consistency between `pyproject.toml` and installed package before deployment - **CI/CD Integration**: Updated `.github/workflows/publish.yml` to run packaging validation tests before PyPI publication - **Developer Tooling**: Added `.claude/commands/release-prep.md` slash 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 ### Changed - **Version Handling**: Simplified `_version.py` by removing `PackageNotFoundError` fallback 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% ### Fixed - **Version Validation**: Packaging test now validates three-part semver format (MAJOR.MINOR.PATCH) with regex pattern matching ## [0.1.1] - 2025-10-06 ### Fixed - **Version Reporting**: Fixed `_version.py` to correctly report package version (0.1.1) instead of fallback "0.0.0" - now uses `importlib.metadata.version("databeak")` instead of `__name__` - **Server Info**: `get_server_info` and `health_check` MCP tools now correctly return actual package version ### Changed - **Version Management**: Converted from dynamic versioning (via git tags) to static version in `pyproject.toml` for more reliable version control - **Test Implementation**: Updated version tests to read from `pyproject.toml` using `tomllib` parser instead of `importlib.metadata` for more direct source of truth ### Added - **Unit Tests**: Added `test_get_server_info_returns_actual_version` unit test to validate version reporting - **Integration Tests**: Added 5 new integration tests in `test_system_server_integration.py` to verify version propagation through the full MCP client stack ## [0.1.0] - 2025-10-06 ### Fixed - **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 `CellValue` type alias to `models/__init__.py` to eliminate circular dependency between `typed_dicts.py` and `data_models.py` - **Filter Operations**: Added dict-to-FilterCondition conversion with `==` to `=` operator normalization for backward compatibility ### Changed - **Type Annotations**: Added generic TypeVar `T` to `apply_violation_limits` for 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 `FilterValue` to modern `type` statement syntax (PEP 695) - **Pydantic Validators**: Simplified validation logic in pydantic_validators.py, removed duplicate type hints, and streamlined field validator implementations ### Removed - **Dead Code**: Removed unused `session_service.py` and `statistics_service.py` modules with dependency injection abstractions (0% actual usage) - **Unused Models**: Removed `DataSchema` and `DataQualityRule` Pydantic models (61 lines) that were only tested but never used in production code - **Deprecated Enum**: Removed `OperationType` enum that was marked for cleanup and had no active usage - **Misleading Documentation**: Removed `docs/docker-deployment.md` that referenced deleted Docker files - **Example Code**: Removed `examples/dependency_injection_demo.py` that 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 ### Added - **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) ### Changed - **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) ### Removed - **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 ### Fixed - **Circular Import Resolution**: Resolved critical circular import between `session.py` and `session_service.py` using 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 ### Changed - **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 ### Added - **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 ### Changed - **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 ### Fixed - **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 ### Removed - **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 ### Added - 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 [0.0.1]: https://github.com/jonpspri/databeak/releases/tag/v0.0.1 [0.0.2]: https://github.com/jonpspri/databeak/releases/tag/v0.0.2 [0.0.3]: https://github.com/jonpspri/databeak/releases/tag/v0.0.3 [0.0.4]: https://github.com/jonpspri/databeak/releases/tag/v0.0.4 [0.1.0]: https://github.com/jonpspri/databeak/releases/tag/v0.1.0 [0.1.1]: https://github.com/jonpspri/databeak/releases/tag/v0.1.1

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jonpspri/databeak'

If you have feedback or need assistance with the MCP directory API, please join our Discord server