Skip to content

Releases: RichardAtCT/claude-code-telegram

v1.3.0

21 Feb 08:06

Choose a tag to compare

What's Changed

  • ci: enable Claude review workflow for fork PRs by @alexx-ftw in #53
  • Reduce aggressive response truncation to preserve more content by @RichardAtCT in #54
  • Replace query() with ClaudeSDKClient for native session management by @RichardAtCT in #56
  • Remove CLI subprocess backend, pass disallowed_tools to SDK by @RichardAtCT in #59
  • fix: handle unknown message types (e.g. rate_limit_event) gracefully by @lyra63237 in #72
  • Improve error reporting with descriptive, type-aware error messages by @RichardAtCT in #74
  • Update claude-agent-sdk from 0.1.38 to 0.1.39 by @RichardAtCT in #75
  • Document available Claude Code tools with descriptions and configuration by @RichardAtCT in #76
  • chore: bump poetry.lock dependencies by @RichardAtCT in #77
  • chore: migrate pyproject.toml to PEP 621 format for Poetry 2.x by @RichardAtCT in #78
  • Fix: prevent MessageParseError from killing SDK message stream by @RichardAtCT in #81
  • feat: add version management and release workflow by @RichardAtCT in #82

New Contributors

Full Changelog: v1.2.0...v1.3.0

v1.2.0

19 Feb 14:42

Choose a tag to compare

What's New

  • Remote Mac support: New make run-remote target for running the bot on a Mac accessed via SSH — handles macOS keychain unlock and tmux session management
  • Python 3.11 minimum: Bumped minimum Python version from 3.10 to 3.11
  • Setup docs: New "Running on a Remote Mac (SSH)" section covering keychain issues, workarounds, and tmux workflow

v1.1.0

18 Feb 14:29

Choose a tag to compare

What's New in v1.1.0

Added

  • Tunable Verbose Output (#29):

    • VERBOSE_LEVEL setting (0-2) controls how much of Claude's background activity is shown during execution
    • Level 0: Quiet — only final response, typing indicator still active
    • Level 1: Normal — tool names + reasoning snippets shown during execution
    • Level 2: Detailed — tool names with input summaries + longer reasoning text
    • /verbose 0|1|2 command for per-session override
    • Persistent typing indicator refreshed every ~2 seconds at all levels
  • HTML Parse Mode (#26):

    • Migrated from Markdown v1 to HTML parse mode for Telegram message formatting
    • More reliable rendering across Telegram clients

Changed

  • Updated documentation to reflect agentic mode as default interaction model (#25)

Full Changelog: v1.0.0...v1.1.0

v1.0.0

13 Feb 17:57

Choose a tag to compare

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):
    • MessageOrchestrator routes messages to agentic (3 commands) or classic (13 commands) handlers based on AGENTIC_MODE setting
    • 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 to ClaudeIntegration.run_command() for webhook and scheduled event processing
    • EventSecurityMiddleware -- 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_events table
    • Health check at GET /health
  • Job Scheduler (APScheduler):
    • Cron-based job scheduling with persistent storage in scheduled_jobs table
    • Jobs publish ScheduledEvent to event bus on trigger
    • Add, remove, and list jobs programmatically
  • Notification Service:
    • Subscribes to AgentResponseEvent for 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
  • Database Migration 3: scheduled_jobs and webhook_events tables, WAL mode enabled
  • Automatic Session Resumption: Sessions are now automatically resumed per user+directory
    • SDK integration passes resume parameter to Claude Code for real session continuity
    • Session IDs extracted from Claude's ResultMessage instead of generated locally
    • /cd looks 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
    • /new and /end are the only ways to explicitly clear session context

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