cc-connect-next v0.3.0-beta.4
Pre-releasecc-connect-next v0.3.0-beta.4
中文
这是 v0.3.0 的第四个 Beta,集中收口 Stable 发布前发现的更新确认、飞书卡片路由和
动态配置校验风险。它不扩大功能范围,而是让现有 Beta 在通道、项目、操作者和配置
类型边界上更明确地失败关闭。
Beta 渠道
-
这个版本会作为 GitHub Prerelease 和 npm
beta发布,不会替换 GitHub Latest
或 npmlatest;稳定渠道继续保持 v0.2.1。 -
stable仍是默认通道。明确参与 Beta 后,可以使用
cc-connect-next update beta、cc-connect-next check-update beta、
/upgrade beta,或配置update_channel = "beta"来持续发现 Beta-to-Beta
更新。 -
首次参与或切换到最新 Beta 可使用:
npm install -g cc-connect-next@beta cc-connect-next --version
主要变化
- 更新确认绑定精确通道。
/upgrade stable confirm和
/upgrade beta confirm只能应用此前审阅的同通道不可变 Plan;显式选择错误通道
会被拒绝,待确认 Plan 会保留,用户仍可用正确通道继续确认。 - 飞书管理员私聊卡片绑定项目、收件人和操作者。 即使项目配置了群聊
allow_chat,发给明确admin_from用户的更新卡片仍可正常操作;错误操作者会被
拒绝,异步慢速翻页刷新后也不会丢失私聊收件人绑定。 - 同一飞书 App 的多项目回调不再串路由。 新卡片会携带所属项目并只交给对应
Engine;缺少 owner 的旧卡片在多项目歧义时失败关闭。只有一个项目可接收时,
旧卡片和基于allow_chat的已有配置仍保持兼容。 - 动态配置值不再被静默丢弃。 Agent/Platform 动态 option 表继续允许任意字符串
key,但数值等非字符串值现在会明确报错,包括 Agent 环境变量和飞书 peer alias。 - 移除未支持的预发布别名歧义。
cc-connect-next update --pre和--beta
会按文档明确拒绝;选择 Beta 请使用update beta或--channel beta。
兼容边界
- 省略
update_channel的现有配置继续使用 Stable;Beta 必须明确选择。错误通道、
错误操作者和歧义 owner 都不会回退到猜测执行。 - 动态 option 中的字符串值和任意字符串 key 保持兼容;只拒绝此前会被忽略、从而
造成配置与运行态不一致的非字符串值。 - 发布本 Beta 不会安装、覆盖或重启当前正在运行的 daemon,也不会部署 Feedback
Relay;安装、正式配置变更和真实平台验证仍是独立操作。
English
This is the fourth v0.3.0 Beta. It closes the release-confirmation, Feishu card
routing, and dynamic-configuration risks found during the Stable readiness
review. The scope is intentionally narrow: existing Beta behavior now fails
closed at clearer channel, project, operator, and value-type boundaries.
Beta channel
-
This release is a GitHub Prerelease and npm
beta. It does not replace
GitHub Latest or npmlatest; the stable channel remains v0.2.1. -
stableremains the default. After opting into Beta, use
cc-connect-next update beta,cc-connect-next check-update beta,
/upgrade beta, orupdate_channel = "beta"to keep discovering
Beta-to-Beta updates. -
Install or move to the latest Beta explicitly with:
npm install -g cc-connect-next@beta cc-connect-next --version
Highlights
- Confirmations are bound to the exact release channel.
/upgrade stable confirmand/upgrade beta confirmcan apply only an
immutable Plan reviewed for that same channel. A mismatched selector is
rejected without consuming the pending Plan, so the correct confirmation can
still proceed. - Feishu administrator cards bind project, recipient, and operator. Update
cards sent directly to an explicitadmin_fromuser remain actionable even
when the project has a groupallow_chatlist. A different operator is
rejected, and asynchronous slow-navigation refreshes preserve the direct
recipient binding. - Shared-App callbacks no longer cross project boundaries. New cards carry
their owning project and reach only that Engine. Ownerless legacy cards fail
closed when multiple projects are ambiguous, while the uniquely eligible
project and existingallow_chatcompatibility path continue to work. - Dynamic configuration values are no longer silently dropped. Arbitrary
string keys remain supported in Agent and Platform option tables, but
non-string values now fail validation, including Agent environment variables
and Feishu peer aliases. - Unsupported prerelease aliases fail explicitly.
cc-connect-next update --preand--betaare rejected as documented. Use
update betaor--channel betato select the Beta channel.
Compatibility boundaries
- Existing configurations that omit
update_channelcontinue to select
Stable; Beta remains opt-in. A wrong channel, wrong operator, or ambiguous
owner never falls back to guessed execution. - Dynamic option string values and arbitrary string keys remain compatible.
Validation rejects only non-string values that were previously ignored and
could make the effective runtime differ from the configuration. - Publishing this Beta does not install, replace, or restart a running daemon,
and it does not deploy the Feedback Relay. Installation, formal configuration
changes, and real-platform validation remain separate operations.