V1.4.1 更新日志¶
发布日期: 2026-03-24
版本: V1.4.1
兼容性: ✅ 向后兼容 V1.4.0
🎉 版本亮点¶
V1.4.1 是一个稳定增强版,主要聚焦于核心功能的改进和代码质量提升:
- 🔌 熔断器重构 - 使用状态模式,降低圈复杂度 67%
- 📊 限流测试 - 新增完整单元测试覆盖
- 📝 配置审计 - 支持配置变更追踪和审计日志
- 🏷️ 值对象 - 引入 InstanceId 增强类型安全
✨ 新增功能¶
1. 熔断器状态模式重构¶
熔断器现在使用状态模式实现,提供更清晰的代码结构和更好的可维护性。
改进: - 圈复杂度从 15 降低到 5 - 符合单一职责原则和开闭原则 - 状态转换逻辑更清晰
使用示例:
// 创建熔断器
CircuitBreaker breaker = new StatefulCircuitBreaker(5, 2, 60000);
// 记录请求结果
breaker.recordSuccess(); // 或 breaker.recordFailure()
// 检查是否允许请求
if (breaker.allowRequest()) {
// 执行请求
}
兼容性: 原有的
DefaultCircuitBreaker仍然可用,新代码推荐使用StatefulCircuitBreaker。
2. 配置审计功能¶
现在可以追踪配置的变更历史,支持问题排查和审计需求。
功能: - 记录配置变更操作 - 记录操作人和操作时间 - 记录变更前后值对比
数据库变更:
-- 新增配置变更审计日志表
CREATE TABLE config_change_audit_log (
id VARCHAR(64) PRIMARY KEY,
config_key VARCHAR(256) NOT NULL,
operation VARCHAR(32) NOT NULL,
old_value TEXT,
new_value TEXT,
operator VARCHAR(64),
operated_at TIMESTAMP NOT NULL,
ip_address VARCHAR(45),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
3. 限流算法测试完善¶
新增完整的限流算法单元测试,确保限流功能的正确性。
测试覆盖: - ✅ 令牌桶算法基础测试 - ✅ 限流配置测试 - ✅ 并发限流测试 - ✅ 限流恢复测试
4. 值对象 InstanceId¶
引入 InstanceId 值对象,增强实例 ID 的类型安全性和验证逻辑。
使用示例:
// 从字符串创建(带验证)
InstanceId id = InstanceId.of("my-instance-001");
// 生成随机实例 ID
InstanceId newId = InstanceId.generate();
// 获取值
String value = id.toString();
验证规则: - 不能为空 - 长度 ≤ 64 字符 - 只能包含字母、数字、下划线和连字符
📦 安装升级¶
升级步骤¶
备份数据
下载新版本
数据库迁移
重启应用
验证功能
🔧 配置变更¶
新增配置项¶
本版本无需修改现有配置,所有配置项保持向后兼容。
⚠️ 注意事项¶
向后兼容性¶
- ✅ 完全向后兼容 V1.4.0
- ✅ API 接口无破坏性变更
- ✅ 配置文件格式无变更
已知问题¶
暂无已知问题。
📊 代码统计¶
| 指标 | 数量 |
|---|---|
| 新增文件 | 11 个 |
| 新增代码行 | +878 行 |
| 新增测试行 | +285 行 |
| 提交数量 | 4 个 |
🐛 问题修复¶
本版本主要聚焦功能增强,无特定问题修复。
📚 相关文档¶
👥 贡献者¶
感谢以下开发者的贡献:
- JAiRouter Development Team
更新日期: 2026-03-24
文档维护: JAiRouter Team