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),
WeComSendFileover 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/btwwhich stays as alias),
cron add --silent, agent-driven TTS via session. - Hardened long-running turn behavior: new
max_turn_time_minsabsolute
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; Codexrequest_user_input
app-server events + relay group visibility; configurable shell + shell profile
forexec.
⚠️ Behavior Changes (action may be required)
All of these were introduced during the beta cycle and remain in effect for v1.3.3.
-
progress_styledefault flipped tocompactfor Telegram and Discord
(waslegacy). To restore the previous flood-style progress, set
progress_style = "legacy"in the platform config. (#1354) -
QQ Bot default
intentsnow includeINTERACTION_CREATE(bit 26).
Inline keyboard permission buttons rely on this. If you previously overrode
intentswithout bit 26, add1<<26to your value or you will not receive
button clicks. Users on the default intents need no action. -
DingTalk
msgtype=fileinbound messages now reach the agent. Previously
silently dropped. (#1357) If your bot was unintentionally relying on file
messages being ignored, add a filter rule. -
Engine permission keyword matching is now @mention-tolerant:
@Bot/permitmatches the same as/permit. (#1358) Bots that intentionally
relied on the previous strict match need to update their alias rules. -
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) -
reset_on_idle_minsdefault is now 30 minutes (was effectively
off). Sessions idle for 30+ minutes auto-reset on next turn to prevent
context drift. Set to0in[[projects]]to restore old behavior. (#494) -
Bridge requires a token when enabled. Bridge with no token configured
will refuse to start to prevent unauthenticated access. (#408) Set
[bridge].tokenin 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_CREATEevents —
permission requests now render as clickable buttons (#1131, beta.5). - WeCom
SendFilein 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
/statusreadability 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)./switchno longer loses history + user msgs persisted immediately +
new CUJ test framework (#1348, post-beta.5)./pscommand (replaces/btw) for mid-turn messaging;/btwkept
as alias (#620, beta.1).!shell shortcut with--timeout(#658, beta.1).NO_REPLYsuppression — agents can silently skip platform delivery,
useful for cron / analysis (#682, beta.1).cron add --silentCLI flag (#1285, closes #858, beta.5).- Configurable shell + shell profile for
exec(#870, beta.5). - Codex
request_user_inputapp-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
ContextUsageReporterfor reply-footer token stats (#1235, beta.5). - Bridge ImageSender / FileSender —
cc-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_idshare one WS with per-projectallow_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,NewEnvWithSetupinfra (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_idingetConfigReqfor typing
ticket (#1308) - daemon: remove redundant
linger_other.gothat breaks non-linux
builds — confirmed cross-compile on darwin/windows (#1314) - wps-xiezuo: preserve newlines in outbound messages (P1, fixes
unreadable/status) (#1361) - core:
/switchno longer loses history; persist user msgs
immediately; add CUJ test framework (#1348) - tts/minimax: drop
status=2trailer 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
compactby default — set
progress_style = "legacy"to revert (#1354) - DingTalk
msgtype=fileinbound now reaches the agent (#1357) - Engine permission keyword matching is @mention-tolerant (#1358)
AskUserQuestionrejects 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 —
CheckLingerstub in
daemon/windows.go+unsupported.go(beta.3)
Agents (selected)
- Cursor: session title handling
- OpenCode: tool rejection handling; inbound image
--fileflag
passthrough (#717, beta.1) - Codex: resume +
sandbox_modehandling (multiple); honor
model/effort/provider inapp_serverbackend (#837, beta.2); multiline
prompt preservation on resume (carry forward); progress rendering in
rich Card 2.0 (#838, beta.2) - Pi:
/dirand/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);
/skillssafe
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 = falsehonored (#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:
@mentionwithout 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-allnow depends
onmake webso release binaries always ship the frontend (#1136,
beta.4)
Docs
- Refreshed
README.mdandREADME.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 afterdaemon/linger_other.goregression was fixed (#1314). - Selective compilation tags (
no_web,no_<agent>,no_<platform>)
continue to be the recommended way to slim binaries. make release-allreliably depends onmake 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 brewIf 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).