v1.0.0
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]
[1.0.0] - 2026-02-13
Added
- Agentic Mode (default interaction model):
MessageOrchestratorroutes messages to agentic (3 commands) or classic (13 commands) handlers based onAGENTIC_MODEsetting- Natural language conversation with Claude -- no terminal commands needed
- Automatic session persistence per user/project directory
- Event-Driven Platform:
EventBus-- async pub/sub system with typed event subscriptions (UserMessage, Webhook, Scheduled, AgentResponse)AgentHandler-- bridges events toClaudeIntegration.run_command()for webhook and scheduled event processingEventSecurityMiddleware-- validates events before handler processing
- Webhook API Server (FastAPI):
POST /webhooks/{provider}endpoint for GitHub, Notion, and generic providers- GitHub HMAC-SHA256 signature verification
- Generic Bearer token authentication
- Atomic deduplication via
webhook_eventstable - Health check at
GET /health
- Job Scheduler (APScheduler):
- Cron-based job scheduling with persistent storage in
scheduled_jobstable - Jobs publish
ScheduledEventto event bus on trigger - Add, remove, and list jobs programmatically
- Cron-based job scheduling with persistent storage in
- Notification Service:
- Subscribes to
AgentResponseEventfor Telegram delivery - Per-chat rate limiting (1 msg/sec) to respect Telegram limits
- Message splitting at 4096 char boundary
- Broadcast to configurable default chat IDs
- Subscribes to
- Database Migration 3:
scheduled_jobsandwebhook_eventstables, WAL mode enabled - Automatic Session Resumption: Sessions are now automatically resumed per user+directory
- SDK integration passes
resumeparameter to Claude Code for real session continuity - Session IDs extracted from Claude's
ResultMessageinstead of generated locally /cdlooks up and resumes existing sessions for the target directory- Auto-resume from SQLite database survives bot restarts
- Graceful fallback to fresh session when resume fails
/newand/endare the only ways to explicitly clear session context
- SDK integration passes
Recently Completed
Storage Layer Implementation (TODO-6) - 2025-06-06
- SQLite Database with Complete Schema:
- 7 core tables: users, sessions, messages, tool_usage, audit_log, user_tokens, cost_tracking
- Foreign key relationships and proper indexing for performance
- Migration system with schema versioning and automatic upgrades
- Connection pooling for efficient database resource management
- Repository Pattern Data Access Layer:
- UserRepository, SessionRepository, MessageRepository, ToolUsageRepository
- AuditLogRepository, CostTrackingRepository, AnalyticsRepository
- Persistent Session Management:
- SQLiteSessionStorage replacing in-memory storage
- Session persistence across bot restarts and deployments
- Analytics and Reporting System:
- User dashboards with usage statistics and cost tracking
- Admin dashboards with system-wide analytics
Telegram Bot Core (TODO-4) - 2025-06-06
- Complete Telegram bot with command routing, message parsing, inline keyboards
- Navigation commands: /cd, /ls, /pwd for directory management
- Session commands: /new, /continue, /status for Claude sessions
- File upload support, progress indicators, response formatting
Claude Code Integration (TODO-5) - 2025-06-06
- Async process execution with timeout handling
- Session state management and cross-conversation continuity
- Streaming JSON output parsing, tool call extraction
- Cost tracking and usage monitoring
Authentication & Security Framework (TODO-3) - 2025-06-05
- Multi-provider authentication (whitelist + token)
- Rate limiting with token bucket algorithm
- Input validation, path traversal prevention
- Security audit logging with risk assessment
- Bot middleware framework (auth, rate limit, security, burst protection)
[0.1.0] - 2025-06-05
Added
Project Foundation (TODO-1)
- Complete project structure with Poetry dependency management
- Exception hierarchy, structured logging, testing framework
- Code quality tools: Black, isort, flake8, mypy with strict settings
Configuration System (TODO-2)
- Pydantic Settings v2 with environment variable loading
- Environment-specific overrides (development, testing, production)
- Feature flags system for dynamic functionality control
- Comprehensive validation with cross-field dependencies
Development Status
- TODO-1: Project Structure & Core Setup -- Complete
- TODO-2: Configuration Management -- Complete
- TODO-3: Authentication & Security Framework -- Complete
- TODO-4: Telegram Bot Core -- Complete
- TODO-5: Claude Code Integration -- Complete
- TODO-6: Storage & Persistence -- Complete
- TODO-7: Advanced Features -- Complete (agentic platform, webhooks, scheduler, notifications)
- TODO-8: Complete Testing Suite -- In progress
- TODO-9: Deployment & Documentation -- In progress