🏆 荣获 KaiCode'26 优秀奖
Wow荣获[KaiCode'26 Excellent Award(优秀奖)](https://www.kaicode.org/2026.html)。感谢KaiCode'26对Wow的认可,也感谢每一位使用、反馈和参与项目建设的开发者。
🚀 v8.9.0 重点升级
⚡ 更快、更可靠的核心运行时
- 新增MATCH全文检索条件,MongoDB与Elasticsearch提供对应的原生查询实现。
- 重构命令等待运行时,以WaitPlan / WaitCoordinator / WaitHandle取代旧WaitStrategy体系,完善sent、processed、snapshot、projected、event与saga等等待阶段,并修复并发、提前信号和取消清理问题。
- WebFlux聚合追踪支持headVersion / tailVersion / limit窗口与流式回放,统一请求上下文、批处理、响应、错误和路由注册策略。
- 修复异步命令事件顺序、快照扫描作用域、事件Header隔离、异常处理器层级解析、本地等待信号路由和reactive dispatcher生命周期等正确性问题。
- 建立分层benchmark、契约测试和真实场景测试体系,并优化命令函数解析、事件流重建、本地通知和send - and - wait快速路径。
🧭 更灵活的存储路由与幂等保障
- 新增聚合级存储路由,可分别为EventStore与SnapshotStore选择MongoDB、Redis、Elasticsearch或具名binding。
- EventStore统一承担requestId持久化校验与聚合ID扫描,强化命令幂等和补偿扫描能力。
- SnapshotRepository演进为SnapshotStore;MongoDB增加可选的不可变历史Snapshot Checkpoint。
- 移除wow - r2dbc模块与core sharding,存储扩展边界进一步收敛。
📊 面向生产的BI / ClickHouse部署能力
- Wow BI重构为无损脚本生成,支持Standalone / Cluster拓扑、参数化脚本、RAW_JSON可恢复降级与稳定诊断。
- 引入catalog ownership、drift检测、非破坏性DEPLOY、显式确认的RESET、中断恢复与部署检查协议。
- 新增`POST /wow/bi/script`脚本端点与OpenAPI契约。
🛡️ 更稳健的消息与基础设施
- MessageSubscription显式表达named aggregates与receiver group,订阅语义不再隐式依赖Reactor Context。
- Redis Streams默认支持遗留pending message的有界恢复、consumer lease与XCLAIM。
- Kafka加强offset gap、prefetch、解码失败与重试策略,避免未完成消息被后续offset越过。
- Elasticsearch修复分页、模板就绪、空索引、条件转换与查询契约问题。
- OpenTelemetry对齐Reactor subscribe / signal / cancel生命周期与Context传播;指标标签稳定化并消除路由存储重复计数。
🌍 更完整的产品、文档与生态
- 补齐补偿任务Dashboard、失败任务处理与资源标签能力。
- 建立并系统重构中英文VitePress文档、配置参考、数据访问控制与迁移指南。
- 依赖基线升级至Spring Boot 4.1.0、Kotlin 2.4.10、JUnit 6.1.2、OpenTelemetry 1.64.0、CosId 3.2.0与CoCache 4.2.0。
⚠️ 升级前必读
1. **Redis canonical v2是硬格式切换。** 不提供旧布局回退、双读、双写或内置迁移器;禁止新旧版本混合滚动发布。必须停写、备份、离线盘点与迁移、校验并重建Snapshot后再切流。
2. **R2DBC与core sharding已删除。** 使用wow - r2dbc或旧分片API的应用必须先迁移到MongoDB、Redis、Elasticsearch或自定义Storage binding。
3. **命令与消息API存在破坏性变化。** 旧WaitStrategy / WaitingFor* / ClientCommandExchange体系迁移到WaitPlan与sendAndWait*;MessageBus.receive(Set)改为receive(MessageSubscription)。
4. **旧BI布局不会自动迁移。** 升级前需停止旧consumer,清理或归档旧BI scope后部署当前布局。RESET是破坏性操作,必须显式确认replayFromEarliestConfirmed=true。
5. **MongoDB增加数据库所有权守卫。** 一个database只能归属一个bounded context;历史混库和不兼容的受管索引必须在启动前迁移。
6. **存储路由不迁移已有数据。** 改变backend或binding前必须先完成事件与快照迁移;Redis pending恢复采用at - least - once语义,下游处理器需要保持幂等。
📚 完整资料
- [Gitee v8.9.0 Release](https://gitee.com/AhooWang/Wow/releases/tag/v8.9.0)
- [v8.9.0中文迁移指南](https://gitee.com/AhooWang/Wow/blob/v8.9.0/documentation/docs/zh/guide/migration.md)
- [BI / ClickHouse运维指南](https://gitee.com/AhooWang/Wow/blob/v8.9.0/documentation/docs/zh/guide/bi - operations.md)
🎯 立即体验
Wow v8.9.0已经就绪。欢迎升级、体验并反馈;如果Wow对你的项目有所帮助,欢迎前往[Gitee](https://gitee.com/AhooWang/Wow)点亮Star,与我们一起推动项目持续演进。