Skip to content

Latest commit

 

History

History
479 lines (388 loc) · 33 KB

File metadata and controls

479 lines (388 loc) · 33 KB

Changelog

v1.2.2-beta.5 (2026-03-31)

Beta release with embedded web admin, Discord proxy support, multimodal fixes, and major platform improvements.

New Features

  • Embedded Web Admin: Web frontend is now compiled into the binary via go:embed — no separate npm install needed. Use /web setup to configure, or build with no_web tag to exclude. Binary size increases ~1MB (#356)
  • Web Admin Dashboard: Full-featured management UI with project CRUD, session management, cron job editor, global settings, chat interface with bridge WebSocket, slash commands, and i18n (en/zh/zh-TW/ja/es) (#316)
  • Discord Proxy Support: Discord platform now supports proxy, proxy_username, proxy_password options for HTTP API and WebSocket Gateway connections
  • Feishu Progress Styles: Configurable progress display styles (compact/card) to reduce message spam
  • Claude Code Auto-Permission Mode: New auto permission mode for Claude Code agent (#329)
  • WeCom File Receiving: WeCom HTTP callback now supports receiving files and forwarding them to the agent (#330)
  • Outgoing Rate Limiting: Per-platform outgoing message rate limiting
  • Telegram Forum Topics: Migrated to go-telegram/bot library with forum topic support (#321)
  • Global Settings UI: Expose global configurations (language, quiet, display, stream preview, rate limit, log) in the web admin

Bug Fixes

  • Gemini Image Handling: Save attachments to workspace directory instead of /tmp so Gemini CLI tools can access them; use prompt-based file references instead of unsupported --image flag
  • Security: Mask bridge token in /api/v1/status endpoint; add path traversal protection for static file serving
  • Codex: Fix multiline prompt preservation on resume (#341); force kill session process group on stop (#340)
  • Session Recycling: Wait for old session to close before creating new one (#352)
  • Discord: Harden session routing and remove implicit continue bridge (#322); execute slash commands when defer fails (#300)
  • Slack: Pass file uploads to agent (#296)
  • Telegram: UTF-8-safe command menu descriptions (#301)
  • WeCom: Strip @bot mentions from inbound text (#303)
  • Daemon: macOS launchd do not respawn on clean exit (#304)
  • Core: Route workspace model changes through session context (#339); outgoing rate limit refinements and i18n tightening
  • Config: formatTOML no longer strips user-set zero values (e.g. quiet = false)

Improvements

  • CI: Add Node.js setup for web frontend build in CI pipeline; use no_web tag for e2e/smoke tests
  • Tests: Expanded coverage across agents, config, and core packages
  • Selective Compilation: Added no_web build tag to exclude web assets from binary

Contributors

Special thanks to all contributors who made this release possible:

  • cg33 — Embedded web admin, Discord proxy, Gemini fix, security hardening
  • xxb — Discord session routing fix, codex process kill, workspace reconnect (#322, #340, #315)
  • dev-null-sec — Codex multiline prompt fix (#341)
  • xukp20 — Workspace model routing (#339)
  • zhengbuqian — Telegram go-telegram/bot migration and forum topics (#321)
  • huangdijia — Claude Code auto permission mode (#329)
  • buddhism5080 — Discord file sending (#307)

v1.2.2-beta.4 (2026-03-22)

Beta release with Weixin (ilink) personal chat support, session/continue improvements, and platform fixes.

New Features

  • Weixin Personal (ilink): New platform with long-poll getUpdates / sendMessage, QR weixin setup, CDN decrypt for inbound media and ImageSender/FileSender outbound (#257)
  • Telegram: Voice/audio reply support (#225) and async startup recovery
  • Discord: @everyone / @here broadcast support (#132)
  • Cron: Optional new session per run and per-job timeout (#236)
  • Claude Code: disallowed_tools configuration option (#232)
  • Auto-Compress: Compress context when estimated tokens exceed threshold (#231)
  • Continue / Sessions: Fork session on --continue to avoid context contamination (#244); replace persisted ContinueSession sentinel with real agent session id; reserve CLI --continue bridge for real user traffic
  • Core: /dir directory history; /model switching aligned with provider flow (#246)
  • Providers: MiniMax M2.7 high-speed model added to example configs (#217)

Bug Fixes

  • Weixin: Harden send path (empty body skip, response body cap, dedup keys, multi-voice segments); treat sendMessage JSON ret != 0 as failure so quota/API errors surface correctly
  • Feishu: Always reply to the original message; dispatch message handling asynchronously (#57)
  • Codex: Mode switch and --json flag position fixes (#240, #239)
  • Multi-Workspace: Workspace command prefix missing leading slash (#135)
  • Non-Claude Agents: Ignore ContinueSession sentinel where inappropriate (#244 follow-up)
  • npm / Update: Version sync after update; pre-release version comparison normalization

Improvements

  • Tests: Expanded coverage across config, core, agents, and platforms
  • Logging / Errors: Additional error logging in several code paths

Contributors

Special thanks to all contributors who made this release possible:

  • cg33 — Weixin ilink platform, setup CLI, and CDN media (#257)
  • Shawn — Feishu async dispatch and reply-to-original fixes (#57)
  • quabug — Discord broadcast and non-Claude ContinueSession handling (#132, #244)
  • huluma1314 — Auto-compress when token threshold exceeded (#231)
  • Leigh Stillard — Fork session on --continue (#244)
  • Deeka Wong — Telegram audio replies and core /model provider flow (#225, #246)
  • q107580018 — Telegram async startup recovery
  • just4zeroq — Codex mode and JSON flag fixes (#240)
  • 术士木星 — Cron session-per-run and job timeout (#236)
  • hushicai — Claude disallowed_tools (#232)
  • Octopus — MiniMax M2.7 high-speed in examples (#217)
  • alinnb/dir directory history
  • Claude — Continue-session bridge fixes, auto-compress/cron edge cases, Weixin send hardening and API error handling, and broad test improvements

v1.2.2-beta.3 (2026-03-19)

Beta release with major multi-user mode, improved workspace stability, and platform enhancements.

New Features

  • Multi-User Mode: Per-user rate limits, role-based ACL (allow_from/admin_from), and audit logging
  • ImageSender: Unified image sending support for 6 platforms (Feishu, Telegram, Discord, Slack, DingTalk, QQ)
  • MiniMax M2.7: Upgraded default model from M2.5 to M2.7 for improved reasoning
  • /whoami Command: Display user ID for allow_from/admin_from configuration
  • /btw Command: Inject messages into busy sessions without interrupting
  • /dir Command: Dynamic runtime work directory switching
  • Cron Muting: Mute/unmute cron jobs with platform wrapper and UI integration
  • Interrupt Support: Send interrupt signal to agent sessions (Ctrl+C equivalent)
  • CORS Support: Cross-origin requests enabled for Bridge API
  • Message Queuing: Queue messages when agent is busy instead of discarding
  • QQ Bot Markdown: Full Markdown message support for QQ Bot

Bug Fixes

  • Workspace Session Persistence: Sessions now persist to disk in multi-workspace mode
  • Race Conditions: Multiple data race fixes (adminFrom, degraded field, userRolesMu)
  • Memory Leaks: Fixed pendingAcks leak on WeCom WebSocket disconnect, goroutine leaks
  • i18n: Complete translation coverage for error messages
  • Relay Timeout: Return partial text after timeout instead of error
  • QQ Bot Reconnect: Handle nil wsConn on failed reconnect

Improvements

  • Message Queue: Extracted message queue handling into dedicated method
  • Cron UX: Improved human-readable cron expressions
  • Slack: Typing indicator, file download error handling, auth diagnostics
  • Provider Config: models list for per-provider model selection via alias
  • Build: Test infrastructure with P0/P1分层测试targets

Contributors

Special thanks to all contributors who made this release possible:

  • sean2077 - Multi-user mode, ACL, and audit logging
  • 0xsegfaulted - Multi-workspace fixes and interrupt support
  • octo-patch - MiniMax M2.7 upgrade
  • windli2018 - Bridge CORS support
  • jenvan - CORS fixes

v1.2.2-beta.2 (2026-03-16)

Beta release with significant improvements to agent stability, platform onboarding, and user experience.

New Features

  • Feishu/Lark CLI Onboarding: New cc-connect feishu setup command with QR code terminal display for quick bot configuration, supporting both new bot creation and existing bot binding
  • Pi Agent: Added support for Pi coding agent with full session management and tool handling
  • Session TUI Browser: New cc-connect sessions subcommand with terminal UI for browsing session history
  • Multi-Workspace Mode: Channel-based workspace resolution with auto-binding by convention and interactive init flow
  • Design Documentation: Added comprehensive design plans for multi-workspace and session resilience features
  • Slack Enhancements: Typing indicator via emoji reactions, mrkdwn formatting guidance in system prompt
  • Session Resilience: Automatic --continue on first connection, resume-failure fallback, and context usage indicators
  • Management API: HTTP REST API endpoints for external management tools with WebSocket bridge support
  • Cron Setup Command: /cron setup for easy cron job configuration with memory file integration

Bug Fixes

  • RateLimiter Goroutine Leak: Fixed cleanup goroutine not stopped on replacement and engine shutdown
  • DrainEvents Infinite Loop: Fixed infinite loop when channel is closed in drainEvents
  • InteractiveKey Consistency: Fixed executeCardAction using wrong key for interactiveStates lookup in multi-workspace mode
  • Workspace Command Prefix: Fixed missing leading slash in workspace command prefix check
  • Agent Session Close: Always close events channel on session timeout to prevent goroutine leaks
  • Pi Agent Mutex: Move thinking field read inside mutex in StartSession to prevent race condition
  • Session AgentID Protection: Protect Session.AgentSessionID writes with mutex to prevent data races
  • Session Routing Race: Prevent session routing race when /new runs during active turn
  • Discord Duplicate Messages: Deduplicate gateway MessageCreate events causing duplicate responses
  • Codex JSON Lines: Handle large stdout JSON lines without scanner buffer overflow
  • UTF-8 Safety: Use rune-based splitting in splitMessage to prevent invalid UTF-8 sequences

Improvements

  • Gemini Display: Enhanced tool display with diff syntax highlighting and improved Telegram markdown rendering
  • Thread Safety: Added comprehensive thread-safe accessors for Session fields
  • Test Engine: Thread safety improvements to test engine and fixed test assertions
  • Input Validation: Consolidated interactive state cleanup and added input validation
  • i18n: Updated rate limit messages to mention /btw command for adding context during processing

Contributors

Special thanks to all contributors who made this release possible:

  • kevinWangSheng - Multiple critical bug fixes (RateLimiter, drainEvents, UTF-8 safety, session routing)
  • q107580018 - Feishu CLI onboarding with QR code integration
  • sean2077 - Session TUI browser and sessions management
  • quabug - Pi agent implementation and Discord fixes
  • AtticusZeller - Gemini tool display and Telegram markdown enhancements
  • leighstillard - Multi-workspace design, session resilience, and Slack improvements
  • Shawn - Thread safety fixes and test improvements
  • zhuguanqi - Session management and data race fixes
  • Steve-Rye - JSON lines handling improvements
  • Xihui He - iFlow and agent enhancements
  • Mr.QiuW - Various platform improvements

v1.2.2-beta.1 (2026-03-12)

Beta release with major new features and security improvements.

New Features

  • /usage Command: Add a built-in quota usage command with a generic agent usage-reporting interface; Codex now supports ChatGPT OAuth usage lookup via ~/.codex/auth.json
  • Feishu Interactive Cards: Beautiful card-based UI for slash commands (/help, /list, /status, etc.) with tabbed navigation and in-place updates
  • Lark Platform Support: Added support for Lark (飞书国际版) with proper domain handling
  • Codex Reasoning Effort: New /reasoning command to switch reasoning effort levels (low/medium/high)
  • Codex Model Cache Fallback: /model command now falls back to local ~/.codex/models_cache.json when API is unavailable
  • Gemini Timeout Config: New timeout_mins option to configure per-turn timeout for Gemini agent
  • Batch Session Deletion: /delete now supports comma lists, ranges, and mixed forms for batch deletion
  • TTS Support: Text-to-speech with Qwen and OpenAI providers
  • Admin Privilege System: Admin-only commands for privileged operations
  • iFlow Tool Timeout: Configurable tool timeout and reset timer on partial completion
  • Card-based Permission Prompts: Permission requests now use interactive cards with callback support
  • Shared Session Support: Share sessions across all platforms with share_session_in_channel option

Bug Fixes

  • Security Hardening: Socket permissions tightened (0600), token redaction in logs, warning for open allow_from
  • Slack @mention Support: Fixed AppMentionEvent handling for channel @mentions
  • Update Fallback: Self-update now falls back to .tar.gz/.zip archive when bare binary returns 404
  • Skill Symlink: Fixed skill directory scanning to follow symbolic links
  • QQBot Error Handling: Added error logging for json.Unmarshal and WriteJSON calls
  • Claude Code Path: Fixed underscore handling in findProjectDir path matching

Improvements

  • Daemon Config Flag: Support daemon install with config file path
  • Message Tracing: Added message tracing and threaded replies
  • Scanner Buffer: Optimized scanner buffer sizes for large outputs

v1.2.1 (2026-03-09)

Patch release with bug fixes and minor enhancements.

Bug Fixes

  • Engine: Idle Timer During Permission Wait - Stop idle timer while waiting for user permission response to prevent session termination
  • Feishu: Nil Pointer Checks - Add nil checks for SenderId.OpenId and msg.Content to prevent panics
  • Feishu: URL Validation - Validate URLs before creating hyperlinks to prevent rejection of non-HTTP(S) URLs
  • Cron: Error Logging - Log json.Unmarshal errors instead of silently ignoring when cron file is corrupted
  • Engine: Stale Event Prevention - Add drainEvents utility to clear buffered events between turns

New Features

  • Bind Setup Command - /bind setup writes relay instructions to memory file for better bot-to-bot relay configuration

v1.2.0 (2026-03-08)

This is the first stable release of cc-connect 1.2.0, consolidating all beta changes and adding new features.

New Features (since beta.7)

  • Official QQ Bot Platform: Native integration with Tencent's official QQ Bot Platform via WebSocket, supporting text, image, and document messages
  • iFlow CLI Agent: Full support for iFlow CLI agent with interactive tool-call handling and mode switching
  • Shell Command Execution: Custom commands can execute shell commands directly with exec field in config
  • Telegram Bot Menu: Auto-register bot command menu on startup for better discoverability
  • DingTalk Reply Preprocessing: Improved markdown content preprocessing for reply messages
  • Multi-Bot Relay Persistence: Relay bindings now persist across restarts with improved binding messages

Improvements

  • Quiet Mode: /quiet now supports both per-session and global scope modes
  • Compression Command: Improved /compress command handling and code refactoring
  • i18n: Added new message keys and improved command formatting

All 1.2.0 Highlights (from beta releases)

  • Bot-to-Bot Relay: Forward messages between different messaging platforms
  • Streaming Preview: Real-time message preview on Telegram, Discord, and Feishu
  • Typing Indicators: Visual processing feedback on supported platforms
  • Session Search: Search sessions by name, ID prefix, or summary
  • Custom Slash Commands: Define reusable prompt templates
  • Agent Skills Discovery: Auto-discover and invoke user-defined skills
  • Daemon Mode: Run as background service with systemd/launchd support
  • Rate Limiting: Per-session sliding-window rate limiter
  • Command Aliases: Define shortcut aliases for commands
  • Self-Update: In-place binary updates with auto-restart
  • And many more improvements and bug fixes...

v1.2.0-beta.7 (2026-03-07)

New Features

  • Multi-Bot Relay Binding: /bind now supports binding multiple bots in a group chat; use /bind <project> to add, /bind -<project> to remove specific project
  • System-level Systemd: Daemon mode now supports system-level systemd (/etc/systemd/system/) when running as root, useful for servers and containers
  • Config Example Command: cc-connect config-example prints embedded config template for quick reference
  • Interactive Command Buttons: /lang, /model, /mode commands now show interactive button menus for easy selection
  • Exec Commands: Custom commands can execute shell commands directly with exec field in config
  • Configurable Idle Timeout: Agent idle timeout can be configured via idle_timeout_mins in config

Improvements

  • Daemon Error Messages: Improved systemd detection and error messages for WSL2, containers, and SSH environments
  • Codex CLI Visibility: Patched codex session source to make CLI output visible

Bug Fixes

  • Streaming Preview: Fixed stale preview messages when streaming degrades

v1.2.0-beta.6 (2026-03-06)

New Features

  • Bot-to-Bot Relay: Forward messages between different messaging platforms via CLI (cc-connect relay) and internal API; enables cross-platform bot communication
  • Session Search: Search sessions by name, ID prefix, or summary with /search <keyword> command
  • List Pagination: /list now supports pagination with --page and --page-size flags for large session counts
  • Per-Platform Streaming Preview Control: Configure streaming preview per platform via streaming_preview setting (Telegram, Discord, Feishu)
  • Silent Cron Mode: Suppress cron job notification messages with silent = true in cron job config
  • Voice Qwen Mode: Voice function now supports Qwen audio model for speech-to-text
  • Feishu Three-Tier Rendering: Intelligent markdown rendering strategy — simple text uses plain messages, rich markdown uses Post, code blocks/tables use Card

Improvements

  • Status Display: Improved /status command output with better formatting and Feishu message rendering fixes
  • Self-Update: Auto-restart after update; added Gitee mirror support for Chinese users
  • Windows Self-Update: Full Windows support for in-place binary updates
  • Message Splitting: Improved boundary checks for cleaner message chunking
  • Platform Startup: Better error handling and logging during platform initialization
  • Session Switch i18n: Added translation for session switch success message

Bug Fixes

  • Idle Session Timeout: Added timeout for unresponsive agent sessions to prevent hangs
  • Streaming Preview: Removed maxChars check that caused premature preview termination
  • Message Deduplication: Deduplicate messages by process start time to prevent duplicate processing

v1.2.0-beta.5 (2026-03-06)

New Features

  • Streaming Preview: Real-time message preview that updates in-place as the agent streams output; supported on Telegram, Discord, and Feishu with configurable interval, min delta, and max length
  • Rate Limiting: Per-session sliding-window rate limiter to prevent message flooding; configurable max_messages and window_secs
  • Typing Indicators: Visual processing feedback — Telegram/Discord show native typing action, Feishu adds emoji reaction (auto-removed on completion)
  • Command Aliases: Define shortcut aliases for commands ([[aliases]] in config.toml or /alias add); e.g. map "帮助" → "/help"
  • Banned Words Filter: Block messages containing configured sensitive words (banned_words in config.toml)
  • Project-level Command Disabling: Disable specific commands per project via disabled_commands config
  • Session Deletion: Delete sessions with /del command
  • /switch Fuzzy Matching: Switch sessions by name, ID prefix, or summary substring in addition to numeric index

Improvements

  • Streaming Preview + Tool Messages UX: In non-quiet mode, when thinking/tool messages are sent, the streaming preview freezes and the final response is delivered as a new message at the bottom of the chat (instead of silently updating an older message above the tool messages)
  • Telegram Markdown→HTML: Full Markdown-to-HTML conversion with proper escaping, placeholder-based tag nesting, and automatic fallback to plain text on parse errors
  • Discord Code-Fence-Aware Splitting: Message chunking now respects code block boundaries, closing and re-opening fences across splits
  • Feishu Dual Rendering: Simple markdown uses Post messages (normal font), code blocks/tables use Card messages (native rendering); matches Claude-to-IM's approach
  • Feishu Permission Interaction: Confirmed WebSocket mode incompatibility with card button callbacks; uses text-based /perm commands (consistent with Claude-to-IM)
  • Session Creation & Naming: Improved session naming with last user message as summary
  • Graceful Shutdown: Improved context handling and lock release during shutdown
  • Unit Tests: Added ~50 new test cases covering markdown conversion, message splitting, session management, and engine logic

Bug Fixes

  • Telegram HTML Crossed Tags: Fixed <b><i>...</b></i> nesting issues by using placeholder-based formatting pipeline
  • Telegram HTML Attribute Escaping: Fixed " in URLs breaking <a href> attributes (escape to &quot;)
  • Telegram Duplicate Messages: Fixed duplicate sends caused by streaming preview optimization skipping final HTML update
  • Streaming Preview Cursor: Removed trailing cursor from final messages
  • Feishu Message Recall: Unified preview and final message types to Card, eliminating unnecessary delete-and-resend
  • Feishu Reaction Cleanup: Register empty handler for im.message.reaction.deleted_v1 to suppress error logs
  • fmt.Sprintf Warnings: Remove non-constant format strings flagged by go vet

v1.2.0-beta.2 (2026-03-01)

New Features

  • /upgrade Command: Check for available updates (including beta) and self-update the binary in-place; queries both GitHub and Gitee releases
  • /restart Command: Restart cc-connect service from chat with post-restart success notification
  • /config reload Command: Hot-reload configuration (display, providers, commands) without restarting
  • /name Command: Set custom display names for sessions (e.g. /name my-feature, /name 3 bugfix); names persist across restarts and show in /list, /switch, /status
  • Default Quiet Mode: Configure quiet = true globally or per-project in config.toml to suppress thinking/tool progress by default; users can still toggle with /quiet
  • Command Prefix Matching: Type shortened commands like /pro l for /provider list, /sw 2 for /switch 2; works for all commands and subcommands
  • Numeric Session Switching: /list shows numbered sessions; /switch 3 switches by number instead of copying long IDs
  • Group Chat Mention Filtering: Feishu, Discord, and Telegram bots now only respond to @mentions in group chats instead of all messages
  • Claude Code Router Support: Integration with Claude Code Router for enhanced routing capabilities
  • Third-party Provider Proxy: Local reverse proxy rewrites incompatible thinking parameters for third-party LLM providers (e.g. SiliconFlow)

Improvements

  • Session History for Claude Code: /history now works after /switch by reading from agent JSONL files
  • List Summary: /list now shows the most recent user message as summary instead of the first
  • Session Names in UI: Custom session names display with 📌 prefix in /list, /switch, /status
  • API Server Shutdown: Clean shutdown without "use of closed network connection" error
  • Agent Session Timeouts: 8-second graceful shutdown timeout for all agent sessions with kill fallback
  • Feishu Rich Text: Use Post (rich text) messages instead of Interactive Cards for normal font size

Bug Fixes

  • DingTalk Startup: Fix false startup failure when stream client returns nil error
  • Deadlock on /new and /switch: Release lock before async agent session close to prevent hangs
  • Provider Command: Correctly list providers when no active provider is set
  • Unknown Command Handling: Show i18n-friendly warning and fall through to agent for native commands

Security & Reliability

  • Race Condition Fixes: sync.Once for channel close, mutex protection for concurrent fields, non-blocking event sends
  • Atomic File Writes: Config, session, and cron files use temp+rename pattern
  • Message Deduplication: Platform-level dedup for Feishu and DingTalk webhooks
  • HTTP Client Timeouts: Shared 30s-timeout HTTP client for all outbound requests
  • Path Traversal Protection: Validate command file paths
  • Sensitive Data Redaction: Redact API keys and tokens in logs

v1.2.0-beta.1 (2026-03-01)

New Features

  • Custom Slash Commands: Define reusable prompt templates as global slash commands ([[commands]] in config.toml or /commands add); supports positional parameters ({{1}}), rest parameters ({{2*}}), default values ({{1:default}}), and runtime add/del/list
  • Agent Skills Discovery: Auto-discover and invoke user-defined skills from agent directories (e.g. .claude/skills/<name>/SKILL.md); list with /skills, invoke with /<skill-name> [args]; supports all agents (Claude Code, Cursor, Gemini, Codex, Qoder)
  • /config Command: View and modify runtime configuration (e.g. thinking_max_len, tool_max_len) from chat, with persistent save to config.toml
  • /doctor Command: Run system diagnostics covering agent authentication, platform connectivity, system resources, dependencies, and network latency; fully i18n-supported
  • Discord Slash Commands: Register native Discord Application Commands so typing / shows an autocomplete menu; supports per-guild instant registration via guild_id config
  • Daemon Mode: Run cc-connect as a background service (cc-connect daemon install/start/stop/status/logs); supports systemd (Linux) and launchd (macOS)
  • Qoder CLI Agent: Full support for the Qoder coding agent with streaming JSON, mode switching, and model selection
  • Telegram Proxy: Support HTTP/SOCKS5 proxy for Telegram bot API connections
  • WeChat Work Proxy Auth: Add proxy_username / proxy_password for authenticated forward proxies
  • i18n Expansion: Add Traditional Chinese (zh-TW), Japanese (ja), and Spanish (es) language support
  • --stdin Support: Read prompt from stdin for CLI usage (echo "hello" | cc-connect send --stdin)

Improvements

  • Slow Operation Monitoring: Warn-level logs for slow platform send (>2s), agent start (>5s), agent close (>3s), agent send (>2s), and agent first event (>15s); turn completion logs now include turn_duration
  • tool_max_len=0 Fix: Remove hardcoded 200-char truncation in all agent sessions (Claude Code, Cursor, Codex, Gemini, Qoder), making the user-configurable tool_max_len setting authoritative
  • Cursor /list Improvements: Parse binary blob structure to show accurate message counts and first user message summary

Bug Fixes

  • Telegram proxy: Only override http.Transport when proxy is actually configured
  • Discord interaction fallback: Gracefully fallback to channel messages when interaction token expires

v1.1.0 (2026-03-02)

New Features

  • /compress Command: Compress/compact conversation context by forwarding native commands to agents (Claude Code /compact, Codex /compact, Gemini /compress); keeps long sessions manageable
  • Auto-Compress: Added optional automatic context compression when estimated token usage exceeds a configurable threshold ([projects.auto_compress]).
  • Telegram Inline Buttons: Permission prompts on Telegram now use clickable inline keyboard buttons (Allow / Deny / Allow All) instead of requiring text replies
  • /model Command: View and switch AI models at runtime; supports numbered quick-select and custom model names. Fetches available models from provider API in real-time (Anthropic, OpenAI, Google), with built-in fallback list
  • /memory Command: View and edit agent memory files (CLAUDE.md, AGENTS.md, GEMINI.md) directly from chat; supports both project-level and global-level (/memory global)
  • /status Command: Display system status including project, agent, platforms, uptime, language, permission mode, session info, and cron job count

Improvements

  • Cron list display: Multi-line card-style formatting with human-readable schedule translations and next execution time
  • Model switch resets session: Switching model via /model now starts a fresh agent session instead of resuming the old one, preventing stale context from affecting the new model
  • Permission modes docs: README now documents permission modes for all four agents (Claude Code, Codex, Cursor Agent, Gemini CLI)
  • Natural language scheduling docs: INSTALL.md now explains how to enable cron job creation via natural language for non-Claude agents
  • README revamp: Redesigned project header with architecture diagram, feature highlights, and multi-agent positioning

Bug Fixes

  • Gemini /list summary: Fixed session list showing raw JSON ({"dummy": true}) instead of actual user message summary
  • GitHub Issue Templates: Added structured templates for bug reports, feature requests, and platform/agent support requests

v1.1.0-beta.7 (2026-03-02)

(see v1.1.0 above — beta.7 changes are included in the stable release)

v1.1.0-beta.6 (2026-02-28)

New Features

  • QQ Platform (Beta): Support QQ messaging via OneBot v11 / NapCat WebSocket
  • Cron Scheduling: Schedule recurring tasks via /cron command or CLI (cc-connect cron add), with JSON persistence and agent-aware session injection
  • Feishu Emoji Reaction: Auto-add emoji reaction (default: "OnIt") on incoming messages to confirm receipt; configurable via reaction_emoji
  • Display Truncation Config: New [display] config section to control thinking/tool message truncation (thinking_max_len, tool_max_len); set to 0 to disable truncation
  • /version Command: Check current cc-connect version from within chat

Bug Fixes

  • Windows /list fix: Claude Code sessions now discoverable on Windows despite drive letter colon in project key paths
  • CLAUDECODE env filter: Prevent nested Claude Code session crash by filtering CLAUDECODE env var from subprocesses

Docs

  • Clarified global config path ~/.cc-connect/config.toml in INSTALL.md
  • Fixed markdown image syntax in Chinese README

v1.1.0-beta.5 (2026-03-01)

New Features

  • Gemini CLI Agent: Full support for gemini CLI with streaming JSON, mode switching, and provider management
  • Cursor Agent: Integration with Cursor Agent CLI (agent) with mode and provider support

v1.1.0-beta.4 (2026-03-01)

Bug Fixes

  • Fixed npm install: check binary version on install, replace outdated binary instead of skipping
  • Added auto-reinstall logic for outdated binaries in run.js

v1.1.0-beta.3 (2026-03-01)

New Features

  • Voice Messages (STT): Transcribe voice messages to text via OpenAI Whisper, Groq Whisper, or SiliconFlow SenseVoice; requires ffmpeg
  • Image Support: Handle image messages across platforms with multimodal content forwarding to agents
  • CLI Send: cc-connect send command and internal Unix socket API for programmatic message sending
  • Message Dedup: Prevent duplicate processing of WeChat Work messages

v1.1.0-beta.2 (2026-03-01)

New Features

  • Provider Management: /provider command for runtime API provider switching; CLI cc-connect provider add/list
  • Configurable Data Dir: Session data stored in ~/.cc-connect/ by default (configurable via data_dir)
  • Markdown Stripping: Plain text fallback for platforms that don't support markdown (e.g. WeChat)

v1.1.0-beta.1 (2026-03-01)

New Features

  • Codex Agent: OpenAI Codex CLI integration
  • Self-Update: cc-connect update and cc-connect check-update commands
  • I18n: Auto-detect language, /lang command to switch between English and Chinese
  • Session Persistence: Sessions saved to disk as JSON, restored on restart

v1.0.1 (2026-02-28)

  • Bug fixes and stability improvements

v1.0.0 (2026-02-28)

  • Initial release
  • Claude Code agent support
  • Platforms: Feishu, DingTalk, Telegram, Slack, Discord, LINE, WeChat Work
  • Commands: /new, /list, /switch, /history, /quiet, /mode, /allow, /stop, /help