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