跳到主要内容

3.0.0 版本说明

发布时间:2026-10-21

GitHub Release · 完整变更

本版本完成 Feature 模块坐标规范化,并移除已迁出的代码生成与 Node 日志渲染能力。 升级前请逐项检查下方的兼容性说明。

框架能力​

  • MyBatis-Plus 动态多数据源:在单个 SqlSessionFactory 下按注解或上下文 路由到多个物理数据源,保留同一条分页、租户、数据权限与 SQL 防护拦截器链;提供读写分离负载均衡与 5 个可替换 SPI。默认关闭,设置 coco.mybatis-plus.datasource.enabled=true 后启用。
  • 启动日志收敛为单行 ready 记录,包含 java 与 pid,便于日志采集与容器编排识别。
  • 兼容门面:原 coco-feature-* 坐标保留为无源码门面并依赖对应的规范模块,业务侧可以按自己的节奏迁移。

破坏性变更​

Maven 坐标​

coco-audit、coco-openapi、coco-tenant、coco-data-permission、coco-security、coco-web 成为实现模块。原 coco-feature-* 坐标作为兼容门面继续可解析,但不再包含实现; coco-config 与 coco-feature-runtime 门面迁到 coco-build/coco-compatibility。 直接依赖旧坐标的项目应检查依赖树,逐步切换到规范坐标。

启动日志​

CocoSpringApplicationRunListener#started 不再输出生命周期记录;依赖多行启动日志做匹配或解析的 脚本需要调整。应用仍会输出一行 ready,其中包含 java 与 pid。

代码生成​

  • Maven 插件的 coco:generate 目标与 coco.codegen.* 参数已删除。
  • CocoFeature.CODEGEN 功能标识与 coco-feature-codegen 模块已删除。
  • coco.features.* 或 @CocoFeatures 中残留 codegen 时会得到“已退役标识”的提示。
  • 代码生成改由独立项目 coco-generate 的 CLI 负责;生成结果作为源码提交,由业务项目维护。

Node 日志渲染器​

CocoNodeLogRendererBootstrap、coco.logging.node-renderer.*、CocoLifecycleLogger#started / #startedMessage / #startedMessages 以及 coco-log-renderer 工具已移除。 运行 java -jar 不再需要安装 node。

官网与文档​

官网切换到 cocoframework.dev,旧域名 cocoframwork.dev 以 301 跳转。 CHANGELOG.md 面向开发者,本页面向业务使用者,两者互相链接。

升级检查​

  1. 确认 Maven Central 已发布 3.0.0,再将 coco-parent 或 BOM 版本更新为 3.0.0。
  2. 执行 mvn dependency:tree,确认不再直接依赖已迁移的 coco-feature-* 坐标;如仍需兼容期, 可暂时保留门面,但不要同时声明新旧坐标。
  3. 移除 coco:generate 相关构建配置与 coco.codegen.* 参数,改用 coco-generate 生成并提交源码。
  4. 删除 coco.logging.node-renderer.* 配置与对多行启动日志的解析逻辑,验证单行 ready 记录。
  5. 如需多数据源,开启 coco.mybatis-plus.datasource.enabled 并配置 coco.mybatis-plus.datasource.sources;默认事务策略为 reject,跨库切换需确认事务边界。
  6. 执行业务项目构建与集成测试;CRUD、事务边界和业务权限仍由应用负责。