mirror of
https://github.com/chenhg5/cc-connect.git
synced 2026-10-25 17:36:43 +08:00
release: v1.3.3 stable
Bump VERSION to v1.3.3 and npm/package.json to 1.3.3. Stabilizes the v1.3.3-beta.1 -> v1.3.3-beta.5 line (~235 PRs since v1.3.2) plus 7 post-beta fixes (qoder streaming, weixin typing ticket, daemon linger_other.go, wps-xiezuo newlines, /switch history loss, minimax TTS trailer, provider-resume regression tests). - Add changelogs/v1.3.3.md with themed summary (New Agents, Platform Capabilities, Core, Behavior Changes, Fixed) - Prepend v1.3.3 section to CHANGELOG.md with highlights + post-beta delta + behavior-change checklist - Refresh "What's New" in README.md and README.zh-CN.md to v1.3.3 - Fix CUJ test flake: bump TestCUJ_H2_TwoPlatformsConcurrentNoBleed deadline from 5s to 30s so it stays green under `-race -parallel=N` on constrained CI hosts (passes <2s in isolation) Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
2a52fe3c9d
commit
dc1c63b9eb
7 files changed
+382
-30
No files matched your search
@@ -1,5 +1,72 @@
|
||||
# Changelog
|
||||
|
||||
## 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. See `changelogs/v1.3.3.md` for
|
||||
the full themed summary; per-beta details remain in the beta sections below.
|
||||
|
||||
### Highlights
|
||||
- **New agents**: Devin CLI, Google Antigravity (`agy`), GitHub Copilot — all first
|
||||
class. Hardened coverage for Cursor, OpenCode, Qoder, Kimi, Pi.
|
||||
- **Platform expansion**: QQ Bot inline keyboards + file send/receive (OneBot), WeCom
|
||||
`SendFile` (WebSocket), Feishu audio + video native media, Slack Assistant API, MAX
|
||||
webhook delivery, DingTalk @mentions / richText / image / file inbound, WPS Xiezuo
|
||||
(金山协作), broader Weibo DM.
|
||||
- **Long-running turn hardening**: new `max_turn_time_mins` wall-clock cap with
|
||||
soft-stop + force-kill + auto-resume — long bash / test commands can no longer lock
|
||||
a session indefinitely.
|
||||
- **Core commands**: `/timer`, `/cancel`, `/ps` (replaces `/btw`), `cron add --silent`,
|
||||
agent-driven TTS.
|
||||
- **Multi-user / permissions**: reply-to-unauthorized-IM-senders, @mention-tolerant
|
||||
permission keywords (`@Bot/permit` ≡ `/permit`), Bridge requires token when enabled.
|
||||
- **Observability**: blackbox testing framework (P0/P1/P2 + config-switch matrix), CUJ
|
||||
test framework, agent-resume regression suite, Pi context-usage reporter.
|
||||
- **Provider ecosystem**: NekoCode, VisionCoder, AIHubMix, MiniMax M3 presets; Claude
|
||||
Code 1M-context Opus + `append_system_prompt` + PermissionRequest hooks; Codex
|
||||
`request_user_input` app-server events; configurable shell + shell profile.
|
||||
|
||||
### Post-beta.5 fixes (delta from beta.5)
|
||||
- **qoder**: emit streaming text without dropping final result (#1290)
|
||||
- **weixin**: use `ilink_user_id` in `getConfigReq` for typing ticket (#1308)
|
||||
- **daemon**: remove redundant `linger_other.go` that breaks non-linux builds (#1314)
|
||||
- **wps-xiezuo**: preserve newlines in outbound messages — 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)
|
||||
|
||||
### ⚠️ Behavior Changes (carried forward from the beta cycle)
|
||||
All behavior changes from beta.1 → beta.5 remain in effect for v1.3.3. **Most likely
|
||||
to affect existing configs:**
|
||||
- `progress_style` default for Telegram & Discord is now `compact` (was `legacy`). Set
|
||||
`progress_style = "legacy"` to revert. (#1354)
|
||||
- QQ Bot default `intents` now include `INTERACTION_CREATE` (bit 26). Custom `intents`
|
||||
must include `1<<26` for inline keyboard buttons.
|
||||
- DingTalk `msgtype=file` inbound now reaches the agent (#1357).
|
||||
- Engine permission keyword matching is @mention-tolerant: `@Bot/permit` ≡ `/permit`
|
||||
(#1358).
|
||||
- `reset_on_idle_mins` default is now 30 minutes (#494). Set to `0` to disable.
|
||||
- Bridge with no `[bridge].token` configured will refuse to start (#408).
|
||||
|
||||
### Breaking Changes
|
||||
**None.** Fully additive release.
|
||||
|
||||
### Upgrade
|
||||
```bash
|
||||
npm i -g cc-connect@1.3.3
|
||||
# or
|
||||
go install github.com/chenhg5/cc-connect/cmd/cc-connect@v1.3.3
|
||||
```
|
||||
|
||||
Coming from a `v1.3.3-beta.*`: this is a small fix-only upgrade. No config change
|
||||
required.
|
||||
|
||||
Coming from `v1.3.2`: review the Behavior Changes above before upgrading.
|
||||
|
||||
---
|
||||
|
||||
## v1.3.3-beta.5 (2026-06-15)
|
||||
|
||||
Large beta with 74 PRs from 28 contributors. New agents (Google Antigravity `agy`, GitHub Copilot), QQ
|
||||
|
||||
@@ -3,7 +3,7 @@ MODULE := github.com/chenhg5/cc-connect
|
||||
CMD := ./cmd/cc-connect
|
||||
DIST := dist
|
||||
|
||||
VERSION := v1.3.3-beta.5
|
||||
VERSION := v1.3.3
|
||||
COMMIT := $(shell git rev-parse --short HEAD 2>/dev/null || echo "none")
|
||||
BUILD_TIME := $(shell date -u '+%Y-%m-%dT%H:%M:%SZ')
|
||||
|
||||
|
||||
@@ -180,22 +180,21 @@ MiniMax-M3 pushes the frontier of coding and agentic AI, with a 1M-token context
|
||||
</p>
|
||||
|
||||
|
||||
## 🆕 What’s New in v1.3.3-beta.5
|
||||
## 🆕 What’s New in v1.3.3
|
||||
|
||||
- **New agents** — Google Antigravity (`agy`) and GitHub Copilot CLI added as first-class agents (#1123, #865).
|
||||
- **Native file attachments** — QQ (OneBot) file send & receive (#323), WeCom `SendFile` in WebSocket mode (#1199), Feishu audio + video as native media (#1202).
|
||||
- **DingTalk reaction emoji + `@`-mention CLI** — react to messages, and target specific users from `cc-connect send --at-users` / `--at-all` (#1213, #1188).
|
||||
- **QQ Bot inline keyboards** — permission requests render as clickable buttons via the new `INTERACTION_CREATE` intent (#1131). _Requires bit 26 in your `intents` value._
|
||||
- **Slack + tmux per-thread session scope** with per-session tmux windows (#1179).
|
||||
- **`/timer`** — one-shot delayed task system (#1012).
|
||||
- **`/cancel`** — interrupt and reset the current session (#957).
|
||||
- **Agent-driven TTS send** — agents can emit TTS audio output to chat (#1230).
|
||||
- **Configurable shell + shell profile** for `exec` (#870).
|
||||
- **Pi `ContextUsageReporter`** — token stats in the reply footer (#1235).
|
||||
First stable of the 1.3.3 series — stabilizes beta.1 → beta.5 (≈ 235 PRs since v1.3.2) plus 7 post-beta fixes. Highlights:
|
||||
|
||||
⚠️ **Behavior changes** in this beta: Telegram/Discord `progress_style` now defaults to `compact`; DingTalk `msgtype=file` inbound messages now reach the agent (previously dropped); engine permission keyword matching tolerates leading/trailing `@mention`. See `CHANGELOG.md` for the full list of 74 PRs from 28 contributors.
|
||||
- **New agents** — Devin CLI, Google Antigravity (`agy`), GitHub Copilot CLI as first-class agents (#672, #1123, #865). Hardened Cursor / OpenCode / Qoder / Kimi / Pi coverage.
|
||||
- **Platform expansion** — QQ (OneBot) file send & receive (#323), QQ Bot inline keyboards (#1131), WeCom `SendFile` in WebSocket (#1199), Feishu audio + video native media (#1202), Slack Assistant API (#844), MAX webhook delivery (#818), DingTalk @mentions / richText / image / file inbound (#1188, #828, #1357), broader Weibo DM, WPS Xiezuo (金山协作).
|
||||
- **Long-running turn hardening** — new `max_turn_time_mins` wall-clock cap with soft-stop + force-kill + auto-resume so a long bash / test command can no longer lock a session indefinitely (#1091).
|
||||
- **New core commands** — `/timer` (one-shot delayed task), `/cancel` (interrupt current turn), `/ps` (replaces `/btw`, kept as alias), `cron add --silent`, agent-driven TTS.
|
||||
- **Multi-user / permissions** — reply-to-unauthorized-IM-senders option, `@Bot/permit` ≡ `/permit` keyword matching, Bridge requires token when enabled.
|
||||
- **Provider ecosystem** — NekoCode, VisionCoder, AIHubMix, MiniMax M3 presets; Claude Code 1M-context Opus + `append_system_prompt` + PermissionRequest hooks; Codex `request_user_input` app-server events; configurable `shell` + shell profile for `exec`.
|
||||
- **Observability** — blackbox testing framework (P0/P1/P2 + config-switch matrix), CUJ test framework, provider-resume regression suite for codex/opencode/kimi, Pi context-usage reporter in reply footer.
|
||||
|
||||
Earlier highlights (still relevant): Web admin UI for managing projects/providers/sessions/cron with built-in chat (`cc-connect web`); lifecycle event hooks via `[[hooks]]`; personal WeChat through Weixin ilink; Weibo DM; multi-agent relay in a single group chat.
|
||||
⚠️ **Behavior changes (action may be required)**: Telegram/Discord `progress_style` defaults to `compact` (set `legacy` to revert); QQ Bot default `intents` now include `INTERACTION_CREATE` (custom values must include `1<<26`); DingTalk `msgtype=file` inbound now reaches the agent; engine permission keywords are @mention-tolerant; `reset_on_idle_mins` defaults to 30 min; Bridge with no token configured refuses to start. See `changelogs/v1.3.3.md` for the full themed summary.
|
||||
|
||||
No breaking changes. Coming from a v1.3.3-beta.*, this is a small fix-only upgrade.
|
||||
|
||||
|
||||
## 🧩 Platform feature snapshot
|
||||
|
||||
+12
-13
@@ -180,22 +180,21 @@ MiniMax M3 突破 Coding 与 Agentic AI 前沿,基于 MiniMax Sparse Attention
|
||||
</p>
|
||||
|
||||
|
||||
## 🆕 v1.3.3-beta.5 更新了什么
|
||||
## 🆕 v1.3.3 更新了什么
|
||||
|
||||
- **新增 Agent** — 接入 Google Antigravity (`agy`) 和 GitHub Copilot CLI,均为一等公民 agent (#1123, #865)。
|
||||
- **原生文件附件** — QQ (OneBot) 文件收发 (#323)、企业微信 WebSocket 模式 `SendFile` (#1199)、飞书原生音频/视频附件 (#1202)。
|
||||
- **钉钉 reaction emoji + @mention CLI** — 支持 reaction emoji 回应;通过 `cc-connect send --at-users` / `--at-all` 精准 @ 用户 (#1213, #1188)。
|
||||
- **QQ Bot 内联键盘** — 通过新增的 `INTERACTION_CREATE` 意图,授权请求现在渲染为可点击按钮 (#1131)。_需要 `intents` 包含 bit 26。_
|
||||
- **Slack + tmux 按 thread 隔离 session** — 每个 session 独立 tmux 窗口 (#1179)。
|
||||
- **`/timer`** — 一次性延时任务 (#1012)。
|
||||
- **`/cancel`** — 中断并重置当前会话 (#957)。
|
||||
- **Agent 主动 TTS 输出** — agent 可直接向聊天发送 TTS 音频 (#1230)。
|
||||
- **可配置 shell 与 shell profile** — 用于 `exec` (#870)。
|
||||
- **Pi `ContextUsageReporter`** — 在回复 footer 中显示 token 统计 (#1235)。
|
||||
1.3.3 系列首个正式版 —— 把 beta.1 → beta.5(自 v1.3.2 起约 235 个 PR)与 7 个 post-beta 修复一并稳定下来。亮点:
|
||||
|
||||
⚠️ **本次 beta 行为变更**:Telegram / Discord `progress_style` 默认值改为 `compact`;钉钉 `msgtype=file` 入站消息现在会送达 agent(之前是静默丢弃);引擎权限关键字匹配现在容忍前后 `@mention`。完整 74 PR / 28 位贡献者的列表见 `CHANGELOG.md`。
|
||||
- **新增 Agent** — Devin CLI、Google Antigravity (`agy`)、GitHub Copilot CLI 均为一等公民 agent (#672, #1123, #865);Cursor / OpenCode / Qoder / Kimi / Pi 覆盖大幅加强。
|
||||
- **平台能力扩展** — QQ (OneBot) 文件收发 (#323)、QQ Bot 内联键盘 (#1131)、企业微信 WebSocket `SendFile` (#1199)、飞书原生音视频附件 (#1202)、Slack Assistant API (#844)、MAX webhook 投递模式 (#818)、钉钉 @mention / richText / 图片 / 文件入站 (#1188, #828, #1357)、微博私信能力扩充、WPS 协作(金山协作)。
|
||||
- **长任务保护** — 新增 `max_turn_time_mins` 绝对墙钟上限,软停 + 强杀 + 下一条消息自动 `--resume`,避免长跑的 bash / test 命令把 session 永久锁住 (#1091)。
|
||||
- **新核心命令** — `/timer`(一次性延时任务)、`/cancel`(中断当前 turn)、`/ps`(替代 `/btw`,`/btw` 保留为别名)、`cron add --silent`、agent 主动 TTS 输出。
|
||||
- **多用户 / 权限** — 可选「回复未授权 IM 发件人」、`@Bot/permit` ≡ `/permit` 关键字匹配、Bridge 启用时必须配置 token。
|
||||
- **Provider 生态** — 新增 NekoCode、VisionCoder、AIHubMix、MiniMax M3 预设;Claude Code 1M-context Opus + `append_system_prompt` + PermissionRequest hooks;Codex `request_user_input` app-server 事件;可配置 `shell` 与 shell profile。
|
||||
- **可观测性** — Blackbox 测试框架(P0/P1/P2 + config-switch 矩阵)、CUJ 测试框架、codex/opencode/kimi 的 provider-resume 回归套件、Pi 在 reply footer 输出 context 用量。
|
||||
|
||||
延续保留的早前亮点:内置 Web 管理后台(`cc-connect web`,可视化管理项目/服务商/会话/定时任务,浏览器内直接和 agent 对话);`[[hooks]]` 生命周期事件钩子;微信个人号 (ilink);微博私信;多 agent 群聊互通。
|
||||
⚠️ **行为变更(可能需要改配置)**:Telegram / Discord `progress_style` 默认值改为 `compact`(设回 `legacy` 可还原);QQ Bot 默认 `intents` 现在包含 `INTERACTION_CREATE`,若自定义 `intents` 需手动包含 `1<<26`;钉钉 `msgtype=file` 入站现在送达 agent;引擎权限关键字容忍 @mention;`reset_on_idle_mins` 默认值改为 30 分钟;Bridge 未配置 token 时拒绝启动。完整主题汇总见 `changelogs/v1.3.3.md`。
|
||||
|
||||
无任何破坏性变更(No breaking changes)。从任意 v1.3.3-beta.\* 升级到 v1.3.3 是 fix-only 的小升级。
|
||||
|
||||
|
||||
## 🧩 平台能力一览
|
||||
|
||||
@@ -0,0 +1,285 @@
|
||||
## 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 / 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_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
|
||||
|
||||
```bash
|
||||
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: <https://github.com/chenhg5/cc-connect/compare/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).
|
||||
+4
-2
@@ -1951,8 +1951,10 @@ func TestCUJ_H2_TwoPlatformsConcurrentNoBleed(t *testing.T) {
|
||||
}
|
||||
wg.Wait()
|
||||
|
||||
// Wait for all turns to finish.
|
||||
deadline := time.After(5 * time.Second)
|
||||
// Wait for all turns to finish. Generous deadline so this stays green
|
||||
// when the whole core package is run with `-race -parallel=N` on
|
||||
// constrained CI hosts; the in-isolation run finishes < 2s.
|
||||
deadline := time.After(30 * time.Second)
|
||||
for {
|
||||
histA := e.sessions.GetOrCreateActive("platA:userA").GetHistory(0)
|
||||
histB := e.sessions.GetOrCreateActive("platB:userB").GetHistory(0)
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "cc-connect",
|
||||
"version": "1.3.3-beta.5",
|
||||
"version": "1.3.3",
|
||||
"description": "Bridge local AI coding agents (Claude Code, Cursor, Gemini CLI) to messaging platforms (Feishu, DingTalk, Slack, Telegram, Discord, LINE, WeChat Work)",
|
||||
"keywords": [
|
||||
"claude-code",
|
||||
|
||||
Reference in new issue
Block a user