Release Date: 2025-10-13
Breaking Changes: None (Pydantic V2 backward compatible)
Overview
Version 2.3.0 completes the compliance storage backend infrastructure, migrates to Pydantic V2, and significantly enhances type safety across the codebase.Key Features
ποΈ Compliance Storage Backend
Complete pluggable storage architecture with 5 abstract interfaces and in-memory implementations. New Interfaces (src/mcp_server_langgraph/core/compliance/storage.py - 735 lines):
UserProfileStore- CRUD operations for user profilesConversationStore- Manage conversations with archivalPreferencesStore- User preferences key-value storageAuditLogStore- Audit logging with date filteringConsentStore- GDPR consent tracking
- For development and testing without external dependencies
- Production-ready interface for database backends
- Pluggable architecture
- Type safety with Pydantic models
- GDPR compliant
π Enhanced Type Safety
Coverage Increase: 27% β 64% Strict mypy typing enabled for additional modules:mcp_server_langgraph.auth.*mcp_server_langgraph.llm.*mcp_server_langgraph.core.agent
disallow_untyped_calls = true, strict = true
Impact: Catches type errors at development time, prevents runtime bugs
π Pydantic V2 Migration
Fixed Deprecations:- Replaced
class Configwithmodel_config = ConfigDict(...) - Replaced deprecated
regexparameter withpatternin Query validators
data_export.py: UserDataExport modelgdpr.py: UserProfileUpdate, ConsentRecord, ConsentResponse models
π Error Handling Strategy Documentation
Createddocs/architecture/adr-0006-error-handling-strategy (600+ lines):
- 5 error categories (Client 4xx, Server 5xx)
- Layered propagation pattern (4 layers)
- Consistent JSON response format
- Retry strategies (LLM: 3x, OpenFGA: 2x, Redis: 2x)
- 40+ standardized error codes
- OpenTelemetry integration
Files Modified
Compliance Module (4 files)
Compliance Module (4 files)
-
storage.py (NEW) - 735 lines
- 5 abstract interfaces
- 6 Pydantic models
- 5 in-memory implementations
-
data_export.py (MODIFIED)
- Integrated with UserProfileStore
- Integrated with ConversationStore, PreferencesStore
- Pydantic V2 migration
-
retention.py (MODIFIED)
- Cleanup inactive sessions integration
-
session.py (MODIFIED)
- Added get_inactive_sessions()
- Added delete_inactive_sessions()
Configuration (2 files)
Configuration (2 files)
-
pyproject.toml
- Strict mypy for auth/llm/agent modules
-
.flake8 (NEW)
- Explicit configuration (47 lines)
- Max line length: 127 (aligned with Black)
- Google docstring convention
Dependency Management
New Documentation
docs/DEPENDENCY_MANAGEMENT.md(580 lines)scripts/dependency-audit.sh(320 lines)
- Critical security: 48h SLA
- Major versions: 2-4 weeks
- Minor versions: 1-2 weeks
- Patches: 1 month
- Outdated packages scan
- Security vulnerability scan (pip-audit)
- License compliance (pip-licenses)
- Dependency conflict detection
Upgrade Guide
From v2.2.0
For Custom Extensions
If youβve extended Pydantic models:Whatβs Next
v2.4.0
- LangGraph 0.6.10 upgrade
- 100% test pass rate
- 21 comprehensive ADRs