Summary
Release v0.2.8 delivers significant architectural improvements, enhanced type safety, comprehensive code cleanup, and improved documentation. This release focuses on maintainability, code quality, and developer experience.
Highlights
- Modular architecture: Large modules split into focused, maintainable packages
- Strict type checking enabled across multi-agent modules
- Comprehensive dead code removal using vulture analysis
- Enhanced C4 visualization tooling with PlantUML support
- Improved configuration validation and error handling
Changes
Architecture and Refactoring
- Split
core/error_handling.pyinto modular package structure with separate modules for context managers, decorators, correlation, and recovery - Split
errors/base.pyinto modular error domain packages (api, configuration, database, resource, service, workflow) - Split
errors/processing.pyinto comprehensive error handling package with base, context, enums, exceptions, recovery, reporting, retry, and utilities - Split
db/query_builder.pyinto modular package with SQLite and Azure SQL implementations - Split
cli/commands/help.pyinto separate command files (help_command, status_command, validate_command, version_command) - Split
chat_history_repository.pyinto focused modules with interface and models separation - Split
custom_workflows.pyinto focused modules (introspection, schema) - Split Azure client factory into separate builder modules
- Extract knowledge base agent helpers into modular components with backends (azure, chroma, base)
- Extract stateless utilities from knowledge_base_agent.py to _helpers.py
- Refactor models/agent.py into agent_core.py, agent_chat.py, and project_agents.py
- Consolidate retry decorators with shared handler class
- Reduce cyclomatic complexity in high-complexity methods
Security Improvements
- Fix critical authentication and security issues in auth config
- Remove unused verify_password and get_password_hash from jwt.py
- Enhanced input validation across API endpoints
Bug Fixes
- Fix local file storage to return newline-delimited list
- Fix class name conversion for multi-agent service
- Fix async context and database improvements
- Fix list_files string parsing in prompts endpoints
- Fix Azure list_files to return filenames only, matching local implementation
- Fix module discovery and add missing config fields for API endpoints
- Correct import path for import_class_with_fallback
- Resolve Pydantic schema generation error and add backward compatibility shim
- Update default bike-insights model to gpt-4o-mini
- Remove leading underscores from function parameters in bike-insights
Code Quality and Type Safety
- Enable strict mypy for multi-agent modules
- Fix mypy type errors across codebase including auth_config and model_utils
- Reduce Any types by replacing with specific types
- Fix mypy type errors in Azure client factories
- Configure vulture and mypy pre-commit hooks properly
- Add comprehensive docstrings across codebase (Google-style)
Configuration Changes
- Remove legacy YAML configuration system
- Add validation and contiguity checks for model configuration
- Add enable_builtin_workflows field to ChatServiceSettings
- Add index_name field to AzureSearchSettings
- Add original_templates field to FileStorageContainerSettings
- Add create_async_openai_client method to AzureClientFactory
- Add async Azure client methods for Azure AI Search integration
- Implement list_directories method for file storage backends
Documentation
- Update C4 visualization commands to use PlantUML and explicit subagents
- Add conventional commits and secret scanning tools documentation
- Update documentation to reflect transition from local to Cosmos DB + Blob
- Add explicit model ROLE configuration to documentation
- Add simplified Blob Storage configuration method to Azure deployment guide
- Add critical gotchas from QA testing
- Add critical guidelines for testing and development file organization
- Add pre-commit check guidelines to CLAUDE.md
Cleanup and Maintenance
- Remove unused thread/step/element/feedback infrastructure from database layer
- Remove unused factory modules: blob_factory.py, openai_factory.py, search_factory.py, cosmos_factory.py, sql_factory.py
- Remove unused classes: ChromaSearchMixin, AzureSearchMixin, IConversationPattern, DatabaseClient, Action, KnowledgeBaseLink, Product
- Remove unused methods: _as_text, _get_namespace_roots, _deprecated_import_warning, _workflow_cache
- Remove unused modules: _streaming.py, policy.py, validate_helpers.py
- Remove unused database tables from Cosmos DB and Azure SQL
- Reorganize Claude commands into categorized folder structure
- Add codemap/ to .gitignore for generated C4 documentation artifacts
- Fix duplicate workspace member entry in pyproject.toml
Testing
- Update tests for new auth config and typing changes
- Comprehensive QA validation for v0.2.7 baseline
- Refactor and improve test suite coverage
Files Changed
438 files changed with approximately 20,823 insertions and 18,542 deletions.
Breaking Changes
None. This release maintains backward compatibility with v0.2.7.
Upgrade Notes
No special upgrade steps required. Update your dependency to v0.2.8 and run your existing test suite to verify compatibility.
Contributors
Thanks to all contributors who made this release possible.