Skip to content

v3.0.0 · 模块规范化收官与动态多数据源

Latest

Choose a tag to compare

@patton174 patton174 released this 21 Oct 08:40
· 19 commits to main since this release
Immutable release. Only release title and notes can be modified.
c1b0689

Coco Framework 3.0.0

发布于 2026-10-21。Maven Central 已发布;基于受保护 main 提交 c1b0689。

模块规范化收官版本:规范模块坐标成为实现主体,移除代码生成与 Node 日志渲染器,并新增
MyBatis-Plus 动态多数据源。详细说明与升级检查见
3.0.0 版本说明。

Added

  • 治理:agent 分支前缀可通过仓库变量 COCO_AGENT_BRANCH_PREFIXES 配置(逗号分隔,未设置时仍为
    codex/);前缀只是标签,Contributor gate 仍要求 Coco App 的登录名与用户 ID。
  • 发布:Release 工作流在发布前预检 Maven Central 文件配额,并恢复完整的制品清单预检。
  • Agent review:模型请求超时、补全次数、传输重试退避和超时上限可通过 COCO_AGENT_* 变量配置;
    各阶段的作业超时可通过仓库变量调整。
  • 文档基础设施:新增本更新日志;docs/wiki/ 作为公开 GitHub Wiki 的源目录,并提供
    .github/scripts/wiki_sync.py(校验与镜像发布)及其单元测试;新增 docs/README.md 文档索引;
    补充 PR 模板检查项、文档类 Issue 表单和协作文档(CONTRIBUTING、GOVERNANCE、SECURITY、SUPPORT)
    中的 Wiki 与更新日志说明。
  • MyBatis-Plus:coco-mybatis-plus 新增单 SqlSessionFactory 动态多数据源路由能力
    (CocoMybatisPlusDataSourceAutoConfiguration、CocoRoutingDataSource、@CocoDataSource、
    CocoDataSourceContextHolder、CocoDataSourceRegistry),支持 coco.mybatis-plus.datasource.* 配置与
    CocoDataSourceProvider、CocoDataSourceCreator、CocoDataSourceLoadBalancer、
    CocoDataSourceKeyResolver、CocoDataSourceRouter 扩展点,
    并在 coco.logging.quiet-spring=true 时默认关闭 mybatis-plus.global-config.banner。

Changed

  • BREAKING 启动日志收敛为一行 ready 记录,并携带 java 与 pid;
    CocoSpringApplicationRunListener#started 不再输出生命周期记录。
  • Feature 模块迁移到规范模块:coco-audit、coco-openapi、coco-tenant、coco-data-permission、
    coco-security、coco-web。原 coco-feature-* 坐标作为无源码的兼容门面保留在
    coco-build/coco-compatibility;coco-config 与 coco-feature-runtime 门面也迁到同一目录;
    coco-tenant、coco-data-permission 改为依赖规范的 coco-mybatis-plus。
  • Agent review:输入预算提高到 960k 字符,支持 Anthropic thinking 块与流式保活,对瞬时传输错误做
    有界退避重试,并能容忍被代码围栏包裹的 JSON 与不存在的工具调用。
  • 治理:Dependabot 的目标分支改为 dev,避免被 Promotion gate 长期挂起。
  • 治理:README 维护 PR 恢复直接指向 main。Promotion gate 为 automation/readme-maintenance 增加受限通道,
    要求作者是 COCO_AGENT_APP_LOGIN / COCO_AGENT_APP_BOT_ID 绑定的 Coco App,且变更文件只能是
    README.md、README_CN.md、.github/readme/fragments/** 与 .github/readme/state/content-baseline.json;
    main 仅领先 dev 这些 README 产物时,dev → main 晋升不再要求先把 main 合回 dev。
  • 官网:品牌标识与首页重做(滚动驱动的首页和独立的手机站点),补充 SEO 元数据(Search Console
    标签、sitemap lastmod、IndexNow、逐页标题与分享卡片),旧域名 cocoframwork.dev 以 301
    跳转到 cocoframework.dev。
  • 依赖:更新 maven-plugin-plugin(3.16.0)、构建插件组、GitHub Actions 固定版本、官网 npm 依赖,
    CI 中的 ruff 升至 0.16.9。

Removed

  • BREAKING 移除 Maven 插件的 coco:generate 目标及其 coco.codegen.* 参数;代码生成由独立项目
    coco-generate 的 CLI 负责。
  • BREAKING 移除 CocoFeature.CODEGEN 功能标识及其构建接线。coco.features.* 或 @CocoFeatures
    中残留的 codegen 会得到“已退役标识”的提示并指向 coco-generate;FreeMarker 不再出现在依赖图中。
  • BREAKING 删除 coco-feature-codegen 模块及其规格、内部文档和官网页面。
  • BREAKING 移除 Node 日志渲染器:CocoNodeLogRendererBootstrap、coco.logging.node-renderer.*、
    CocoLifecycleLogger#started、#startedMessage、#startedMessages,以及
    coco-support/coco-tools/coco-log-renderer 工具。运行 java -jar 不再需要 node。

Fixed

  • 治理:延迟执行的 jury 运行在未发布状态就退出时,Agent jury gate 现在会发布明确的失败状态
    (fail closed),不再无限期停在 PENDING。
  • 治理:多行的 agent 分支前缀配置现在会被完整读取。
  • Agent review:解析内容块前先检查 tool_use 的 stop_reason;移除 Issue 同步中过时的重复锚点保护。
  • 官网:修复手机端代码块标签重叠、中英文切换、滚动流畅度、图示渐显时机以及分享卡片路径解析,
    修复 robots.txt 生成与 /img 缓存策略,并在各 location 块中保留 Referrer-Policy。

完整变更:v2.0.3...v3.0.0