github chenhg5/cc-connect v1.3.3

6 hours ago

v1.3.3 — 2026-06-15

First stable release of the 1.3.3 series. Stabilizes the v1.3.3-beta.1 → v1.3.3-beta.5
line (≈ 235 PRs since v1.3.2) plus 7 post-beta.5 fixes (qoder streaming, weixin typing
ticket, daemon non-linux build, wps-xiezuo newlines, /switch history loss, minimax TTS
trailer, provider-resume regression coverage).

If you have been running any 1.3.3-beta.* in production, upgrading to v1.3.3 is
recommended
— it ships the same surface as beta.5 with a smaller, fix-only delta on
top.


Highlights

  • 5 new first-class agents: Devin CLI (beta.1), Google Antigravity agy (beta.5),
    GitHub Copilot (beta.5), Kimi CLI / Pi (carryover, additional fixes), plus broader
    Cursor / OpenCode / Qoder coverage.
  • Major platform expansion: QQ Bot inline keyboards & file send/receive (OneBot),
    WeCom SendFile over WebSocket, Feishu native audio + video media, Slack Assistant
    API, MAX webhook delivery mode, DingTalk @mentions / richText / image / file inbound,
    WPS Xiezuo (金山协作) integration, broader Weibo DM coverage.
  • New core commands: /timer (one-shot delayed task), /cancel (interrupt
    current turn), /ps (send mid-turn message; replaces /btw which stays as alias),
    cron add --silent, agent-driven TTS via session.
  • Hardened long-running turn behavior: new max_turn_time_mins absolute
    wall-clock cap with soft-stop + force-kill + auto-resume on next message — long
    bash/test/run commands can no longer lock a session indefinitely.
  • Multi-user / permissions: reply-to-unauthorized-IM-senders option, engine
    permission keyword matching is now @mention-tolerant (@Bot/permit/permit),
    hardened Bridge auth (token required when Bridge is enabled).
  • Observability & ops: blackbox testing framework (P0/P1/P2 coverage,
    config-switch matrix), CUJ test framework, agent-resume regression suite for
    codex/opencode/kimi, daemon hardening (env capture + EnvDiscoverer plugin hook),
    Pi context-usage reporter for footer token stats.
  • Provider ecosystem: new presets NekoCode, VisionCoder, AIHubMix, MiniMax M3;
    Claude Code 1M-context Opus model option; Claude Code custom
    append_system_prompt + PermissionRequest hooks; Codex request_user_input
    app-server events + relay group visibility; configurable shell + shell profile
    for exec.

⚠️ Behavior Changes (action may be required)

All of these were introduced during the beta cycle and remain in effect for v1.3.3.

  1. progress_style default flipped to compact for Telegram and Discord
    (was legacy). To restore the previous flood-style progress, set
    progress_style = "legacy" in the platform config. (#1354)

  2. QQ Bot default intents now include INTERACTION_CREATE (bit 26).
    Inline keyboard permission buttons rely on this. If you previously overrode
    intents without bit 26, add 1<<26 to your value or you will not receive
    button clicks. Users on the default intents need no action.

  3. DingTalk msgtype=file inbound messages now reach the agent. Previously
    silently dropped. (#1357) If your bot was unintentionally relying on file
    messages being ignored, add a filter rule.

  4. Engine permission keyword matching is now @mention-tolerant:
    @Bot/permit matches the same as /permit. (#1358) Bots that intentionally
    relied on the previous strict match need to update their alias rules.

  5. AskUserQuestion no longer resolves on empty / read-receipt messages.
    Previously delivery receipts and empty messages from some IMs could resolve
    the question within ~500ms. Now empty/whitespace content is rejected.
    (#1086)

  6. reset_on_idle_mins default is now 30 minutes (was effectively
    off). Sessions idle for 30+ minutes auto-reset on next turn to prevent
    context drift. Set to 0 in [[projects]] to restore old behavior. (#494)

  7. Bridge requires a token when enabled. Bridge with no token configured
    will refuse to start to prevent unauthenticated access. (#408) Set
    [bridge].token in your config.


Breaking Changes

None. This is a fully additive release. Existing configs continue to work.
See "Behavior Changes" above for defaults that have flipped during the beta
cycle.


New Features (consolidated across beta.1 → beta.5 + post-beta.5)

New Agents

  • Devin CLI — first-class agent with /list, /mode, full session
    management (#672, beta.1).
  • Google Antigravity (agy) — first-class integration (#1123, beta.5).
  • GitHub Copilot — first-class integration (#865, beta.5).
  • Continued coverage hardening for Cursor, OpenCode, Qoder, Kimi
    CLI
    , Pi (multiple PRs across betas, plus blackbox test framework).

Platform Capabilities

  • QQ (OneBot) file send/receive via HTTP API (#323, beta.5).
  • QQ Bot inline keyboard buttons + INTERACTION_CREATE events —
    permission requests now render as clickable buttons (#1131, beta.5).
  • WeCom SendFile in WebSocket mode (#1199, beta.5).
  • Feishu audio + video attachments as native media (#1202, beta.5).
  • Feishu rich card rendering + panel handling refresh (#1204, beta.5).
  • Slack Assistant API support with natural on/off switching (#844,
    beta.2).
  • MAX messenger webhook delivery mode with deployment docs (#818,
    beta.2).
  • DingTalk richText (#828), image handling (#828), reaction emoji
    (#1213), @mention via send --at-users / --at-all (#1188), file inbound
    fix (#1357).
  • Slack + tmux per-thread session scope with per-session tmux windows
    (#1179, beta.5).
  • WPS Xiezuo (金山协作) newline preservation fix (#1361) — improves
    /status readability significantly.

Core Engine / Workflow

  • /timer — one-shot delayed task system (#1012, beta.5).
  • /cancel — interrupt and reset the current session (#957, beta.5).
  • Session prune command to remove duplicate sessions (#603, beta.5).
  • Agent-driven TTS send (#1230, beta.5).
  • Reply to unauthorized IM senders option (#1190, beta.5).
  • max_turn_time_mins — wall-clock cap per agent turn with two-phase
    shutdown (soft 10s grace then force-kill) + auto-resume (#1091, beta.4).
  • /switch no longer loses history + user msgs persisted immediately +
    new CUJ test framework (#1348, post-beta.5).
  • /ps command (replaces /btw) for mid-turn messaging; /btw kept
    as alias (#620, beta.1).
  • ! shell shortcut with --timeout (#658, beta.1).
  • NO_REPLY suppression — agents can silently skip platform delivery,
    useful for cron / analysis (#682, beta.1).
  • cron add --silent CLI flag (#1285, closes #858, beta.5).
  • Configurable shell + shell profile for exec (#870, beta.5).
  • Codex request_user_input app-server events + relay group visibility
    (#1200, #1209, beta.5).
  • Claude Code append_system_prompt + PermissionRequest hooks (#1175,
    #850, beta.5).
  • Claude Code Opus 1M-context model option (#660, beta.1).
  • Pi ContextUsageReporter for reply-footer token stats (#1235, beta.5).
  • Bridge ImageSender / FileSendercc-connect send --image / --file
    now works through bridge protocol (#712, beta.1).
  • Provider presets — NekoCode, VisionCoder, AIHubMix, MiniMax M3
    (#739, beta.1).
  • Feishu shared WebSocket — multiple projects sharing the same
    app_id share one WS with per-project allow_chat / group_only
    filtering (#613, beta.1).
  • Message queue depth configurable via [queue] max_depth (default
    5) (#690, beta.1).
  • Blackbox testing framework — Phase 1-2 P0/P1/P2 coverage,
    config-switch, NewEnvWithSetup infra (beta.3).
  • Daemon hardened service-file env capture + EnvDiscoverer plugin hook
    (#1034, beta.5).
  • Provider-resume regression tests for codex / opencode / kimi (#1366,
    post-beta.5).

Fixed

Heavy fix coverage across the entire surface. Detailed breakdown:

Post-beta.5 fixes (7 PRs)

  • qoder: emit streaming text without dropping the final result (#1290)
  • weixin (ilink): use ilink_user_id in getConfigReq for typing
    ticket (#1308)
  • daemon: remove redundant linger_other.go that breaks non-linux
    builds — confirmed cross-compile on darwin/windows (#1314)
  • wps-xiezuo: preserve newlines in outbound messages (P1, fixes
    unreadable /status) (#1361)
  • core: /switch no longer loses history; persist user msgs
    immediately; add CUJ test framework (#1348)
  • tts/minimax: drop status=2 trailer chunk to stop audio playing
    twice (#1364)
  • tests: add provider-resume regression tests for codex / opencode /
    kimi (#1366)

Engine / Core (selected, from beta.1 → beta.5)

  • Telegram & Discord progress style now compact by default — set
    progress_style = "legacy" to revert (#1354)
  • DingTalk msgtype=file inbound now reaches the agent (#1357)
  • Engine permission keyword matching is @mention-tolerant (#1358)
  • AskUserQuestion rejects empty / read-receipt answers (#1086)
  • Italic wrapping restored on reply footer (beta.3)
  • Stdio sentinel for Codex app_server backend (beta.3, beta.2 #837)
  • Windows cross-compile fix — CheckLinger stub in
    daemon/windows.go + unsupported.go (beta.3)

Agents (selected)

  • Cursor: session title handling
  • OpenCode: tool rejection handling; inbound image --file flag
    passthrough (#717, beta.1)
  • Codex: resume + sandbox_mode handling (multiple); honor
    model/effort/provider in app_server backend (#837, beta.2); multiline
    prompt preservation on resume (carry forward); progress rendering in
    rich Card 2.0 (#838, beta.2)
  • Pi: /dir and /model
  • Claude Code: provider preservation; CLI wrapper support; auto
    permission mode (carryover)
  • Gemini: multiline prompt via stdin (#695, beta.1)
  • Kimi: session UUID capture from stderr (#766, beta.2; #beta.3)

Platforms (selected)

  • Telegram: HTML fallback warning (#674, beta.1); /skills safe
    format (#571, beta.1); private topics session keys (#804, beta.2)
  • Discord: progress style, slash command on defer fail
  • DingTalk: msgtype="picture" images no longer dropped (#1128,
    beta.4); file inbound (#1357, beta.5)
  • Feishu: link/card URLs; recalled messages (#841, beta.2); media
    download failure user notification (#815, beta.2); require_mention = false honored (#1141, beta.4); webhook mode skip bot open_id (#696,
    beta.1); footer asterisk stripping
  • WeCom: long-message split; @bot mention strip
  • WeChat: video as proper video message (#813, beta.2); incomplete
    delivery user notification (#771, beta.2)
  • Slack: @mention without trailing space (@Bot/cmd) now parses as
    command (beta.4); Markdown → mrkdwn conversion (#680, beta.1)
  • Windows: instance lock
  • Web console: 404 regression fixed — make release-all now depends
    on make web so release binaries always ship the frontend (#1136,
    beta.4)

Docs

  • Refreshed README.md and README.zh-CN.md "What's New" sections to
    v1.3.3.
  • New deployment docs for MAX webhook mode (beta.2).
  • Detailed per-beta changelogs preserved in changelogs/v1.3.3-beta.*.md
    for historical reference.

Build / CI

  • Cross-platform build matrix verified on darwin (arm64) + linux +
    windows after daemon/linger_other.go regression was fixed (#1314).
  • Selective compilation tags (no_web, no_<agent>, no_<platform>)
    continue to be the recommended way to slim binaries.
  • make release-all reliably depends on make web (#1136).

Contributors

≈ 30+ external contributors across the v1.3.3 cycle. Headline contributors
(non-exhaustive):

@youngshook, @Cigarrr, @vinnyxiong, @happyTonakai, @ferocknew, @soaringk,
@LyInfi, @cg33, @shawn, @xxb, @han, @yu-zhang, @JazzuLu, @bingkxu, @rael,
@AaronZ345, @MeteorSkyOne, @meloalright, @CodeEagle, @Baocang-Nie,
@Alloyee, @0KABE, @hansonshen, @kslex, @leighstillard, @huangdijia,
@bugwz, @kare, @bobo-xxx, @walkerchi, @wgx521, @yongmao Luo, plus the
internal team driving the agent / platform / engine work.

Full per-PR attribution is preserved in the per-beta changelogs and in
git log v1.3.2..v1.3.3.


Upgrade

npm i -g cc-connect@1.3.3
# or
go install github.com/chenhg5/cc-connect/cmd/cc-connect@v1.3.3
# or
brew upgrade cc-connect    # if installed via brew

If you are on a v1.3.3-beta.*, this stable release is a small fix-only
upgrade over beta.5 — no config changes required.

If you are on v1.3.2 (the previous stable), review the Behavior
Changes
section above before upgrading; in particular progress_style,
QQ Bot intents, reset_on_idle_mins, and Bridge token requirements
may affect your config.


References

  • Full v1.3.2 → v1.3.3 diff: v1.3.2...v1.3.3
  • Per-beta changelogs: changelogs/v1.3.3-beta.5.md (and CHANGELOG.md
    entries for beta.1 → beta.4).

Don't miss a new cc-connect release

NewReleases is sending notifications on new releases.