Skip to content

v0.5.0

Compare
Choose a tag to compare
@kercylan98 kercylan98 released this 12 Jan 10:47
b0c4be1

0.5.0 (2024-01-12)

Other | 其他更改

  • 优化 collection.map 相关函数签名,优化使用体验 (8d0cbed)
  • 优化 server 包 http 包装器使用体验 (8eb9965)

Features | 新特性

  • server 支持通过 WithLowMessageDuration、WithAsyncLowMessageDuration 函数设置慢消息阈值 (4e1d075)
  • server.Server 在执行 Shutdown 时将会等待所有消息分发器被释放 (4f2850b)
  • sher 包增加部分转换和去重相关函数 (2ff360c)
  • sher 包新增 FindInSlice 和 FindInSliceByBinary 函数 (96953d7)
  • sher 包新增将任一切片转换为 []any 的函数 (bb06cbf)
  • 优化 log 包,支持动态修改日志级别 (3e41068)

Bug Fixes | 修复

  • 修复 dispatcher.Dispatcher 在消息归零的时候使用协程运行处理函数可能导致不可知问题的情况,修复消息消费时获取生产者可能已经被释放的问题。修复在无消息时候设置消息完成处理函数不会触发一次的问题 (7528dc4)
  • 修复 server 包异步分流消息的回调函数在取消分流渠道绑定后会在系统分流渠道执行的问题 (e760ef2)
  • 修复 server 包连接断开消息分发器阻塞的问题,优化等待消息时打印的日志频率 (af23744)
  • 修复 server 包部分问题,修复 log 包在 init 函数调用可能产生的空指针问题 (3402c83)
  • 修复 server.Service 初始化的 for 循环指针问题 (b633f1a)
  • 修复配置导出 go 代码文件时,引用包错误的问题 (790e317)

Styling | 可读性优化

  • 优化 server 包部分代码可读性 (3b71eca)

Code Refactoring | 重构

  • 移除 slice 包和 hash 包,新增 listings、mappings 包存放数组、切片、映射等数据结构,原 slice、hash 包中的工具函数迁移至 collection 包,与 sher 包合并并移除 sher 包。完善 collection 包测试用例 (66d9034)
  • 迁移 concurrent.BalanceMap 至 mappings.SyncMap,优化泛型函数签名 (e3475c6)
  • 迁移 concurrent.Pool 至 hub.ObjectPool,并将 concurrent 包更名为 hub (161fbfe)
  • 迁移 concurrent.Slice 至 listings.SyncSlice (e28a5a2)
  • 重构 log 包,由 zap 改为 slog (71a3b34)
  • 重构 server 包分流渠道设计,修复部分问题 (3408c21)

Tests | 新增或优化测试用例

  • collection 包完善测试用例 (e3d966e)
  • dispatcher 包完善测试用例 (6f78684)
  • dispatcher 包完善测试用例 (90b7e4c)
  • 完善 collection 包测试用例 (e30c578)
  • 完善 dispatcher.Dispatcher 注释及测试用例 (a2a9199)
  • 完善 hub.ObjectPool 测试用例 (c439ef6)