Changelog¶
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.
Unreleased¶
0.1.2 - 2026-01-13¶
Added¶
- Langfuse Integration: Optional LLM observability with Langfuse
- Full trace lifecycle management (start, end, error handling)
- Span nesting for tool invocations and provider operations
- Automatic score recording for health checks and success rates
- Graceful degradation when Langfuse is unavailable
-
Configuration via environment variables or config file
-
Testcontainers Support: Production-grade integration testing
- PostgreSQL, Redis, Prometheus, Langfuse container fixtures
- Custom MCP provider container fixtures
- Conditional loading - tests work without testcontainers installed
Changed¶
- Monitoring Stack Simplified: Cleaner configuration structure
- Combined critical/warning alerts into single
alerts.yaml - Added Grafana datasource provisioning
- Removed obsolete
versionattribute from docker-compose
Fixed¶
- Fixed testcontainers import error in CI when library not installed
- Fixed Prometheus metrics
infotype (changed togaugefor compatibility) - Fixed import sorting across all modules (ruff isort)
- Fixed documentation links to point to GitHub Pages
- Removed unused imports and variables
0.1.1 - 2026-01-12¶
Added¶
- Observability Module: Comprehensive monitoring and tracing support
- OpenTelemetry distributed tracing with OTLP/Jaeger export
- Extended Prometheus metrics (circuit breaker, retry, queue depth, SLIs)
- Kubernetes-compatible health endpoints (
/health/live,/health/ready,/health/startup) - Pre-built Grafana dashboard for overview metrics
- Prometheus alert rules (critical and warning)
- Alertmanager configuration template
-
Documentation at
docs/guides/OBSERVABILITY.md -
Provider Groups: Load balancing and high availability for multiple providers
- Group multiple providers of the same type into a single logical unit
- Five load balancing strategies:
round_robin,weighted_round_robin,least_connections,random,priority - Automatic member health tracking with configurable thresholds
- Group-level circuit breaker for cascading failure protection
- Automatic retry on failure with different member selection
- New tools:
registry_group_list,registry_group_rebalance - Transparent API - existing tools work seamlessly with groups
- Domain events for group lifecycle:
GroupCreated,GroupMemberAdded,GroupStateChanged, etc. - Comprehensive documentation in
docs/PROVIDER_GROUPS.md
0.1.0 - 2025-12-16¶
Added¶
- Initial open source release
- Hot-loading MCP provider management with automatic lifecycle control
- Multiple transport modes: Stdio (default) and HTTP with Streamable HTTP support
- Container support for Docker and Podman with auto-detection
- Pre-built image support for running any Docker/Podman image directly
- Thread-safe operations with proper locking mechanisms
- Health monitoring with active health checks and circuit breaker pattern
- Automatic garbage collection for idle provider shutdown
- Provider state machine:
COLD → INITIALIZING → READY → DEGRADED → DEAD - Registry MCP tools:
registry_list,registry_start,registry_stop,registry_invoke,registry_tools,registry_details,registry_health - Comprehensive security features:
- Input validation at API boundaries
- Command injection prevention
- Rate limiting with token bucket algorithm
- Secrets management with automatic masking
- Security audit logging
- Domain-Driven Design architecture with CQRS pattern
- Event sourcing support for provider state management
- Subprocess mode for local MCP server processes
- Container mode with security hardening (dropped capabilities, read-only filesystem, no-new-privileges)
- Volume mount support with blocked sensitive paths
- Resource limits (memory, CPU) for container providers
- Network isolation options (none, bridge, host)
- Example math provider for testing
- Comprehensive test suite (unit, integration, feature, performance tests)
- GitHub Actions CI/CD for linting and testing (Python 3.10-3.13)
- Pre-commit hooks for code quality (black, isort, ruff)
- Docker and docker-compose support for containerized deployment
- Extensive documentation:
- API reference
- Architecture overview
- Security guide
- Contributing guide
- Docker support guide
Security¶
- Input validation for all provider IDs, tool names, and arguments
- Command sanitization to prevent shell injection attacks
- Environment variable filtering to remove sensitive data
- Rate limiting to prevent denial of service
- Audit logging for security-relevant events