Skip to content

cc-connect-next v0.3.0-beta.4

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 03 Sep 16:40
· 4 commits to main since this release
a0097e2

cc-connect-next v0.3.0-beta.4

中文

这是 v0.3.0 的第四个 Beta,集中收口 Stable 发布前发现的更新确认、飞书卡片路由和
动态配置校验风险。它不扩大功能范围,而是让现有 Beta 在通道、项目、操作者和配置
类型边界上更明确地失败关闭。

Beta 渠道

  • 这个版本会作为 GitHub Prerelease 和 npm beta 发布,不会替换 GitHub Latest
    或 npm latest;稳定渠道继续保持 v0.2.1。

  • stable 仍是默认通道。明确参与 Beta 后,可以使用
    cc-connect-next update betacc-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 npm latest; the stable channel remains v0.2.1.

  • stable remains the default. After opting into Beta, use
    cc-connect-next update beta, cc-connect-next check-update beta,
    /upgrade beta, or update_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 confirm and /upgrade beta confirm can 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 explicit admin_from user remain actionable even
    when the project has a group allow_chat list. 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 existing allow_chat compatibility 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 --pre and --beta are rejected as documented. Use
    update beta or --channel beta to select the Beta channel.

Compatibility boundaries

  • Existing configurations that omit update_channel continue 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.