0.3.4 (2023-12-01)
- huge.Int 增加部分辅助函数 (6127fb6)
- sole 包支持获取自增循环的 id,同时支持自增循环的 string 类型的数字 id (8e94a66)
- super 包新增 OldVersion 和 CompareVersion 函数用于版本比较 (23d2235)
- 修正 @kuchaguangjie 在 #67 提到的 README.md 服务器定时器示例错误、补充 WithTicker 函数注释 (6922999)
- 更新 README.md 文件中对于分流服务器部分的说明 (61b4ef7)
- 为 buffer.Unbounded 添加基准测试 (08115d4)
0.3.3 (2023-11-28)
- server.Server 默认开启数据包大小警告,可通过 server.WithPacketWarnSize 关闭或调整警告大小,默认为 1MB (173dd11)
- str 包新增 SortJoin 函数,在执行 Join 前对字符串进行拼接 (844fb30)
- survey 包支持对报告字段进行格式化处理 (ed5be97)
- timer.Ticker 新增 Cron 函数,支持通过 Cron 表达式下发定时任务 (4117607)
- 为 survey 包增加增量读取功能并改善错误处理 (9f27da2)
- 增加了增量读取功能并改善了错误处理 (b11baa3)
- 修复 activity 类型转换错误问题,增加案例目录 activity/internal/example (3a33947)
- README 计时器段落增加 Cron 提示 (6469c47)
- 修正 #65 中 @kuchaguangjie 提到的 WebSocket 例子参数错误的文档 (5c954f0)
- activity 包整体使用体验及性能优化,减少不必要的转换及反射,优化代码结构,优化可读性 (605a308)
0.3.2 (2023-11-23)
- activity 包重构,整体优化使用体验,活动支持提前展示、及延长展示、持久化、数据保留周期、循环活动等 (4a41538)
- ranking 包更名为 leaderboard,ranking.List 更名为 leaderboard.BinarySearch (2fe797e)
0.3.1 (2023-11-13)
- 日志调用修改 (dd3f3ed)
- server 包新增机器人,可通过 server.NewBot 函数进行创建,机器人将模拟普通连接行为,适用于测试等场景 (4c092c0)
- server 新增 Unique 异步消息,可用于避免相同标识的异步消息在未执行完毕前重复执行 (e2b7887)
- super 新增 ConditionalRetryByExponentialBackoff 函数,支持可中断的退避指数算法重试 (274402e)
- 修复配置导出工具无法忽略描述前缀为 # 的字段 (5c180de)
- 优化配置导出工具部分文档描述 (30c0b3a)
0.3.0 (2023-11-11)
- super 包新增 Hostname 函数获取主机名 (9157c6a)
- super.LossCounter 支持打印 (01092fe)
- times 包支持设置全局时间偏移 (f03dd4a)
- times 包支持重置全局时间偏移量和获取当前全局时间偏移量 (707fc6c)
- 修复配置导表工具数组处理异常的问题 (0f966c0)
- 增强 server.RegConsoleCommandEvent 函数,支持 url 格式输入命令,并将命令解析为指令和参数 (d2654cf)
- server 包重构及性能优化 (70f7a79)
0.2.9 (2023-11-09)
- generic 包新增 Basic 类型 (d405cae)
- lockstep 支持获取帧同步客户端数量 (589a424)
- server 包支持获取到 HTTP 服务器的 Gin 示例 (6b2a753)
- server.Server 支持使用 PushAsyncMessage 快捷发布异步消息 (0b77cc9)
- super 包新增规则重试及退避指数重试 (d191dab)
- survey 包的 Analyzer 分析器增加大量辅助函数 (85176f3)
0.2.8 (2023-10-31)
- gRPC-Go HTTP/2 Rapid Reset vulnerability、NATS.io: Adding accounts for just the system account adds auth bypass (e4d60d7)
- server.Conn 支持获取连接打开时间及在线时长 (18a0b06)
- survey 包新增 RecordBytes 函数,支持跳过格式化将数据直接写入,适用于转发至消息队列等场景 (f475aac)
- survey.FileFlusher 将会在目录不存在时自行创建 (d2f982b)
- lockstep.Lockstep 移除不必要的内容,修复 StartBroadcast 函数锁使用不正确的问题 (61d41e5)
- 优化 exporter 配置导出器在没有前缀时会默认增加一个 "." 的问题 (fb5dacb)
- 修复 #58 taskType 及事件被遗漏的问题 (9f88265)
- 修复 timer.GetTicker 在获取到定时器后立刻使用造成的竞态问题 (a4bc828)
0.2.7 (2023-10-23)
- round 并发安全问题回撤(死锁问题) (6e11c5e)
- concurrent 包 新增 NewMapPool 函数,支持创建 map 对象池 (74a6b54)
- fight 包新增 TurnBased 回合制数据结构,用于替代 fight.Round。解决并发安全问题,并且支持按照速度进行回合切换 (378f855)
- fight.TurnBased 支持监听回合变更以及刷新当前操作回合超时时间 (ba2f3af)
- generic 包新增 IDR、IDW、IDRW 的泛型通用接口 (5259e07)
- lockstep 支持丢弃帧缓存 (803dd4f)
- server.Conn 支持在 WebSocket 模式下通过 GetWebsocketRequest 函数获取到请求 (42ab52b)
- server.Conn 支持通过 GetServer 获取到服务器实例 (89e9c51)
- super 包新增 LaunchTime 函数,支持获取程序启动时间 (20f62fe)
- super 包新增 LossCounter,适用于统计代码段时间损耗,可通过 super.StartLossCounter 函数进行使用 (2b49a36)
- server 包数据竞态问题优化 (cdbf388)
- 修复 concurrent.Pool 可选项无法使用的问题 (64544e0)
- 修复 lockstep.WithInitFrame 不生效的问题 (859e0a1)
- cross 包服务器 id 更改为 string 类型 (9e33906)
- lockstep 包优化同步逻辑,帧 id 由 int 更改为 int64 类型,优化数据竞态问题 (d3e5632)
- lockstep 包优化帧命令逻辑,去除多余字段 (139fe42)
- server 包异步消息不再执行额外 defer (b5b126e)
0.2.6 (2023-10-16)
- super 包新增简单的权限控制器,可通过 super.NewPermission 函数进行创建 (9e00684)
- 新增 space 包及 space.RoomMananger 结构体,提供了更便于使用的房间结构,用于取代 room 包 (c3538ab)
- 修复 fight.Round 在回合内执行 ActionRefresh 等操作的并发问题 (2d1e8f1)
0.2.5 (2023-10-12)
- server.Conn 支持通过 ViewData 函数查看只读的连接数据 (e60e0a7)
- 优化 game.Player 的 Send 和 Close 函数与 server.Conn 同步 (f65a155)
- HTTP/2 rapid reset can cause excessive work in net/http (14f542e)
- random 包按权重产生结果更改为 int64 (433ba08)
- 修复 poker.CardPile.Reset 函数导致牌组只有大小王的问题 (fb60065)
- 修复 room 包在使用 AddSeat 函数时无法加入空缺位置的问题 (295aaeb)
- 修复 room.Manager.GetRoom 函数的空指针问题 (039500b)
0.2.4 (2023-10-08)
- 新增 xlsx 配置导出工具及模板,可手动编译后使用 (b622175)
0.2.3 (2023-10-07)
- stream 新增 Maps,以及快捷开启流操作的函数 With... (cb3bd11)
- super 包支持通过 MarshalToTargetWithJSON 将对象通过 JSON 序列化为目标对象 (2e4ab44)
- timer 包新增部分获取 分、日、月、年 开始结束时间函数,以及快捷创建时间窗口时间段的函数 (05f0016)
- README 增加流操作文档 (ba02fd4)
0.2.2 (2023-09-21)
- 设计不合理原因移除 storage 包 (d9b9392)
- client.Run 支持传入 block 参数指定客户端以阻塞的模式运行 (534a7e9)
- super 包增加 RetryForever 函数,支持永久重试直到成功 (13c5483)
- 新增 memory 包,适用于游戏数据加载到内存中并周期性持久化 (ed008cf)
- 新增 times.CalcNextSecWithTime 示例代码 (149e6a2)
0.2.1 (2023-09-19)
- gateway 优化代码逻辑,适配 client.Client 变更 (0cc8fd8)
- buffer.Unbounded 增加新的构造函数,支持省略 generateNil 函数,新增 IsClosed 函数检查无界缓冲区是否已经关闭 (e9bc9fb)
- concurrent.Pool 新增静默模式可选项 WithPoolSilent,在该模式下当缓冲区大小不足时,将不再输出警告日志 (3ad1330)
- random 包通过权重和概率随机产生一个成员支持返回产生成员的索引或 Key (782a1ad)
- 新增 writeloop 包,内置了一个写循环的实现 (dd1acfd)
- super 包优化 GetError 函数的空指针问题 (ab3926e)
- 修复 server 在 WebSocket 模式下超时时间无效的问题 (1bc32e2)
- server 包为服务器启动添加 IP 信息,死锁检测的日志内容优化 (42465a8)
- client 包采用无界缓冲区替代通过 chan 实现的写通道,移除消息堆积功能,优化代码逻辑 (2d9ffad)
- server 移除 WithConnMessageChannelSize 可选项 (31c0e1b)
- server.Conn 写循环更改为采用无界缓冲区的写入,优化整体逻辑 (551a3e5)
0.2.0 (2023-09-18)
- buffer 包新增 Unbounded 实现 (d56c1df)
- random 包新增 ProbabilitySlice 函数,用于基于概率产生一个结果,当概率总和小于 1 会发生未命中的情况,概率总和大于 1 将等比缩放至 1 (7c9bc46)
- 新增 buffer 包,内置了一个环形缓冲区的实现 (12d1aba)
- 优化文档内容兼容 WithShunt (00eaa36)
- server 包重构消息通道,采用无界缓冲区替代原本的 chan,解决消息通道的缓冲区达到上限时造成永久阻塞的问题,移除 WithMessageChannelSize 可选项,修改 WithShunt 可选项不再需要 channelGenerator 参数 (810a9fd)
0.1.7 (2023-09-12)
- router 包新增 Multistage 多级分类路由器,用于替代原有的 1~3 级路由器 (10cc443)
- router.Multistage 支持通过可选项创建 (637ae27)
- server 包新增 WithLimitLift 和 WithConnectionMessageChannelSize 函数,用于限制服务器最大生命周期及连接的消息写入通道大小 (064d434)
- slice.Priority 优先级队列新增 Slice 函数,获取队列成员为切片类型 (30dbb14)
- utils 下新增 sorts.Topological 拓扑排序函数 (7a5e2c1)
- 修复 super.RegError 和 RegErrorRef 空指针问题 (82973dd)
- server 包 websocket SetReadDeadline 优化 (dc3c7d2)
- slice 包新增部分单元测试 (4982e6d)
0.1.6 (2023-09-09)
- survey 包 Report 新增 Avg、Count、Sum 等辅助计算函数 (8fd4e8f)
- 重构 super 包中的 error 部分,优化设计不合理的地方,支持动态注册错误码,支持并发读写 (de7b085)
- 调整 super 包 error 部分为使用后再申请内存 (83b2800)
0.1.5 (2023-09-08)
- slice 包新增 Zoom 函数, stream 包支持 Zoom 函数 (62ef35a)
- stream.Slice 新增 Indexes 和 Map 函数 (5024022)
- survey 分析记录支持通过 GetTime 函数获取记录时间 (3c3dc83)
- 优化 slice 包 Filter 和 Map 函数,新增 Reduce 函数 (5ab9902)
- 新增大量 slice 包和 hash 包的辅助函数 (d772409)
- server 修复消息计数始终为1的问题 (6c882ed)
- 修复 server 关闭服务器后,如果等待消息结束过程中,新消息将阻塞的问题 (19df61b)
- 修复 survey.Analyzer 去重 BUG (a4ba3f1)
- 常量调整为从 1 开始 (5fb1dcb)
- server 包连接关闭逻辑优化 (483ace2)
- 新增 stream.Slice 测试用例 (d9b68fc)
0.1.4 (2023-09-06)
- client 包错误类型转换错误问题处理 (034ca17)
- 修复 server 包 Server.RegConsoleCommandEvent 函数在无终端环境下导致 CPU 飙升的问题 (3e35e73)
- README.md 增加部分示例 (e5bf7f3)
- survey 包 AllWithPath 函数更改为 Analyze,新增分析报告,及分析器,提供方便的统计功能 (ac11e9e)
- 优化 concurrent.Pool 池对象不够用的日志打印为 1 秒一次,而不是频繁打印 (989b9da)
- 优化 server 服务器并发测试用例 (4214ea4)
0.1.3 (2023-09-05)
- server 包新增 Server.RegMessageExecBeforeEvent 函数,支持在消息执行前进行处理,适用于限流等场景 (0297c44)
0.1.2 (2023-09-01)
- counter 包增加简单去重计数器 (0d76507)
- gateway 支持连接与某一端点保持持久通讯,支持将端点的所有连接切换到另一端点 (6d5aa59)
- gateway 新增 WithEndpointConnectionPoolSize 支持配置与端点建立连接的数量 (3ca6ed0)
- super 包新增函数 IsNumber,用于判断一个值是否为数字类型 (518d47a)
- server 包中 RegConsoleCommandEvent 函数空指针问题处理 (2ed52fc)
- server 包修复服务器关闭后发送消息引起的空指针问题 (3062428)
- survey 包修复 All 函数无用的返回参 (c6f8c19)
- 修复 server 中 HTTP 服务器关闭时会引发空指针的问题 (8cd9979)
- 优化 survey,移除 All 函数,新增 Flusher 接口,可自行实现其他持久化方式 (d9ba1bc)
- 提高消息吞吐量,降低消息延迟 (1cbe8ec)
0.1.1 (2023-08-24)
- 关闭 release-as (75a8608)
- 错误的命名更正 (1558b28)
0.1.0 (2023-08-23)
- 调整 server 数据包相关处理函数的接收参数不再为 server.Packet,同时移除 server.Packet (4850dd4)
- survey 包整体优化 (50f6b1b)
- 更新依赖版本 (c9ff457)
0.0.31 (2023-08-22)
- server 异步消息回调将不再使用 MessageTypeSystem,更改为 MessageTypeAsyncCallback (811e1bd)
- 调整 log.Duration 和 log.DurationP 函数为 String 调用 (a1c15a2)
- 设计原因移除 report 包,采用 utils/counter (7cbe5c4)
- concurrent.Pool 新增 EAC 函数,用于动态调整缓冲区大小。优化超出缓冲区大小警告日志,增加堆栈信息,用于定位高频点 (64ecd45)
- hash 包增加 Clear 函数,用于清空 map (7f316d4)
- server/client 新增 Unix Domain Socket 客户端 (3de1f6b)
- slice 包新增 Filter 函数用于过滤切片 (ab19bd6)
- super 包新增 StringToFloat64 函数 (89c32b4)
- super 包新增大量 string 和 number 基本类型转换的辅助函数 (d37fbb7)
- counter 包修复 mark key 无法被清理、重置的问题 (a31369a)
- 优化 go1.21 以下项目的兼容性 (ab90fa8)
- 优化 uds 客户端无法正常接收数据包的问题 (6792e22)
- 修复非 gateway 数据包导致数组越界的问题 (5096e6f)
- 调整事件函数名称 (dc76196)
0.0.30 (2023-08-21)
- gateway 数据包支持像普通数据包一样处理,并且支持自定义端点健康评估函数 (3512570)
- server 包支持设置注册事件的优先级 (3c6ce9c)
- slice 包新增 GetValue 和 GetValueHandle 函数,用于获取特定索引的元素,如果索引超出范围将返回零值 (2dd5dd5)
- slice 包新增优先级切片 (93e63b1)
- 新增 counter 包,用于创建支持特定时间内去重的计数器 (1005d74)
0.0.29 (2023-08-17)
- server 新增 NetworkNone 网络类型,该模式下不监听任何网络端口,仅开启消息队列,适用于纯粹的跨服服务器等情况 (dcfb3da)
- server.Server 新增 HttpServer 函数,用于替代 HttpRouter (b87df07)
- server.Server 的 HTTP 请求支持慢消息检测 (36a3333)
- server 包优化 Shutdown 逻辑,修复服务器关闭时不会等待消息执行完毕的问题 (93c5f36)
0.0.28 (2023-08-16)
- gateway 网关支持通过可选项自定义端点选择器 (e0f43c5)
- server 目录中新增 client 包,提供了 Websocket 客户端实例 (322938a)
- server 目录中新增 gateway 包,提供了基本的 Websocket 网关实现 (5ff74b6)
- server.Server 新增 RegConnectionPacketPreprocessEvent 函数用于对数据包进行预处理操作 (b3e4bb6)
- times 包增加部分时间处理函数 (157b6b5)
- 修复 timer.Ticker.Loop 函数首次触发时会触发两次的问题 (2bd6aa5)
0.0.27 (2023-08-14)
- 修复配置显示声明的字符串时,导出的数据包含双引号的问题 (31cd79c)
0.0.26 (2023-08-10)
- arrangement 新增冲突、冲突处理函数、约束处理函数 (84f36ea)
- arrangement.Engine 新增更多的辅助函数 (822ffc7)
- server 包新增 HTTP 包装器 (cec7e5b)
- 新增 reflects 包,包含反射相关辅助函数 (340b00e)
- http 包装器 group 修复 (dbf7ed7)
- 升级 go 至 1.21 版本 (9596320)
0.0.25 (2023-08-03)
- combination 包新增 Validator 校验器,用于校验组合是否匹配,取代 poker.Rule (f6873bd)
- combination 包新增 WithValidatorHandleNCarryM、WithValidatorHandleNCarryIndependentM 函数 (87a1ca9)
- room.Helper 支持通过 BroadcastExcept 向被排除表达式命中外的玩家广播消息 (0804508)
- 新增 arrangement 包,用于针对多条数据进行合理编排的数据结构 (1f5f95a)
- combination.WithValidatorHandleNCarryM 修复 M 允许类型不同的问题 (0db1e5c)
- room.Helper.BroadcastExcept 函数返回值修复 (faac7b2)
0.0.24 (2023-08-02)
- fight.Round 新增操作刷新事件 (d96ed58)
- fight.Round 新增获取当前操作超时时间的函数 (060fb05)
- random 包新增 Dice 掷骰子和 Probability 概率函数 (d9d0392)
- room.Helper 新增获取玩家切片、广播所有玩家、广播在座玩家的函数 (ab180f3)
- server.Server 支持通过 WithShunt 函数对服务器消息进行分流 (c92f16c)
- server.Server 新增分流通道创建和关闭事件 (b9d9533)
- 新增 deck 包,用于对牌堆、麻将牌堆、一组数据等情况的管理 (ace17a6)
- configuration 包字段类型转换修复 (aef7740)
- 修复 room 包中通过 Manager 获取 Helper 时,当传入的 room 为空依旧会返回不为空指针的 Helper 问题 (e8c2cf2)
- fight.Round 单元测试函数名变更 (ffd8d04)
0.0.23 (2023-08-01)
- 优化 combination 包命名,删除无用文件 (57936b2)
- 移除 poker 包的 matcher,改为使用 combination 包 (8b92921)
- fight 包的 Round 新增操作超时事件,优化事件逻辑 (9198faa)
- maths 包支持奇偶数判断 (ac43963)
- room 包新增房间创建事件 (87c6695)
- 新增 combination 包,用于数组组合筛选(抽离自 poker 包) (48d9c11)
- 新增 fight 包,提供了回合制战斗的功能实现 (df8f6fc)
- 修复 server 异步消息的 callback 的并发问题 (1297ae7)
- 修复泛型对象 player 不能判断 nil 的表达式错误 (4dddd14)
- 修复牌堆重置时不会重置 guid 的问题 (39ccad4)
- 状态机 fsm 包名修复,优化注释 (cee067e)
- 状态机 State 名称修复 (de76411)
- server.PushAsyncMessage 注意事项补全 (2482d2e)
- fsm 包状态机事件优化,新增部分获取状态机信息的函数 (0fad041)
0.0.22 (2023-07-28)
- maths 包新增支持 int64 的数字合并函数 (a6fb7fb)
- room 支持获取座位上的玩家数量 (24f54a1)
- super 包支持使用 Convert 强制转换数据类型 (867d1ec)
- times 包新增 SystemNewDay 和 OffsetTimeNewDay 事件 (2a0c5b8)
- fms 包迁移问题处理 (996f5af)
- room 包移除大量 error 返回,增加易于房间操作 Helper 数据结构,可通过 Manager.GetHelper 和 room.NewHelper 获取 (3dec407)
- test: (930fe15)
0.0.21 (2023-07-27)
- generic 包支持更多的空指针判断函数 (d06c840)
- hash 包新增 Set 数据结构 (9fcc75e)
- maths 包新增 CountDigits 和 GetDigitValue 函数,用于计算一个数字的位数和获取特定位数上的值 (3f94f38)
- room 包添加更多的事件,添加座位号支持 (c8f181f)
- server 异步消息支持将 callback 设置为 nil (b63975e)
- server.Server 事件消息添加 mark 标记,方便问题定位 (471ee48)
- server.Server 新增 ConnectionOpenedAfterEvent (8dde18a)
- server.Server 新增对连接写入事件前的处理函数 (5e26467)
- slice 包新增 CombinationsPari 函数,用于从给定的两个数组中按照特定数量得到所有组合后,再将两个数组的组合进行组合 (d26ef3a)
- super 包支持无错的 json 序列化 (11ad997)
- 房间管理器实现 (45c855a)
- 修复 room.NewManager 没有初始化 rp 字段的问题 (5c3c959)
- game 包文档优化 (054b3a7)
- kcrypto 包更名为 crypto,与目录名对应 (1ae14f0)
- RankingList 更名为 List,并且移动至 ranking 包中 (ed8ee4a)
- 从 builtin 包中单独抽离到 aoi 包,更名为 TwoDimensional (bca8a98)
- 状态机从 builtin 包中单独抽离到 fsm 包 (6fb24da)
- 移除原有的 builtin 中的各类 room 实现 (ee18934)
0.0.20 (2023-07-25)
- 移除 storage 包,不合理的设计 (3e956b6)
- map 移除适配 (d446ff1)
- storage 中的 Delete 要求返回 error (a43fb4f)
- storage 包重新实现 (b6f28dd)
- storage 要求 Load 等函数返回错误信息 (0d1a985)
- 优化 solo.guid 的使用,命名空间需要注册 (6238883)
- 去除 storage 中的 errHandle 参数 (3befe64)
- 移除分段锁map实现及 hash.Map、hash.ReadonlyMap 接口,移除 asynchronous 包,同步包更名为 concurrent (d0d2087)
- 重构 poker 包为全泛型包,支持通过 poker.Matcher 根据一组扑克牌选出最佳组合 (d71d843)
0.0.19 (2023-07-20)
- 修复 onStop 无法等待逻辑执行完成的问题 (037c9b7)
0.0.18 (2023-07-19)
- builtin.Player 可以通过 GetConn 函数获取到网络连接 (31ad0ee)
- storage 添加内置实现的文件存储器,可以通过 storages 包进行使用 (c447c8a)
- 支持使用 super.RegError 函数为错误注册全局错误码,使用 super.GetErrorCode 根据错误获取全局错误码 (1dcbd0a)
- 支持通过 timer.CalcNextTimeWithRefer 计算下一个整点时间 (8835e4a)
- 新增 storage 支持数据持久化 (f59354d)
- 新增 GlobalDataFileStorage 和 IndexDataFileStorage 的测试用例 (4378aa0)
0.0.17 (2023-07-18)
- 修复主键为空的数据被导出的问题 (ab0a7cb)
0.0.16 (2023-07-17)
- 修复 server.Server 部分事件中发生 panic 导致程序退出的问题 (0215d9f)
- 去除部分无用字段,优化整体可读性 (c1e3c65)
- pce.ce 包提供内置的 xlsx 配置表 (91b2b52)
- 日志字段调用由 zap.Field 更改为 log.Field (8e2b4eb)
- 配置导出 Golang 结构体注释优化 (9349e3c)
- 配置导表优化 (130869a)
- super 包支持 match 控制函数 (25ed712)
- super 包支持使用 super.GoFormat 函数格式化 go 文件 (3ee638f)
- 修复 server.PushAsyncMessage 无法正确调用回调函数的问题 (1b9ec9f)
- 重构 config 和 configexport 包 (7e7a504)
0.0.15 (2023-07-14)
- 修复 log 无法正确打印 Caller 的问题 (349ec42)
- 新增 steram 包,支持 map 和 slice 的链式操作 (10fcb54)
0.0.14 (2023-07-13)
- slice 包支持获取数组的部分数据 (c211d62)
- 支持通过 file.FilePaths 获取目录下所有文件,通过 file.LineCount 统计文件行数 (0c5ff89)
- 支持通过 server.NewPacket、 server.NewWSPacket、server.NewPacketString、server.NewWSPacketString 函数快捷创建数据包 (26993d9)
- 支持通过 server.SetMessagePacketVisualizer 函数设置服务器数据包消息可视化函数 (676b542)
- 调整 server.DefaultMessageChannelSize 为 65535,优化默认内存占用 (3e9d56e)
0.0.13 (2023-07-12)
- 优化代码结构,去除无用代码,去除重复代码 (47b8a33)
- 修改 server.Server 慢消息检测的异步消息判定条件为 1 秒 (8917326)
- str 包增加内置字符 Dunno、CenterDot、Dot、Slash 和其 []byte 形式 (94147e8)
- 可使用 super.NewStackGo 创建用于对上一个协程堆栈进行收集的收集器 (a4a27ea)
- 支持通过 super.StackGO 进行跨协程同步运行堆栈抓取 (b5a4bc9)
- 修复服务器消息报错不打印堆栈信息的问题 (aa39d39)
0.0.12 (2023-07-11)
- server.WithPprof 名称修改为 server.WithPProf (50ab92e)
- 修复配置导出 Go 代码注释错误问题 (9f2242b)
- 优化 server 包代码可读性 (74c8f21)
- server 包注释完善 (9dc73bf)
0.0.11 (2023-07-10)
- 修复 Multiple 模式下启动服务器 listen 有时无法打印的问题 (d972dc8)
- 修复 server.Server 关闭时线程池未释放的问题 (7228a07)
- 修复异步慢消息追踪不生效的问题 (7b8af05)
- 修复配置字段描述换行的情况下导出的 Go 代码编译报错问题 (e676982)
- 调整 server.WithBufferSize 默认值 (1ad6577)
- 增加任务功能 (bdeaa5a)
- 支持对 HTTP 服务器通过 server.WithPprof 开启 pprof (53e91d1)
- 支持对消息增加 mark 标记,可在执行 Message.String() 函数时进行展现 (1e6974a)
0.0.10 (2023-07-07)
- 移除 examples 包 (f0e3822)
- 优化 server 消息类型,合并 Websocket 数据包监听到统一的 RegConnectionReceivePacketEvent 中 (8b90307)
- 服务器支持异步消息类型、死锁阻塞、异步慢消息检测 (1a2c1df)
- 私有化服务器 PushMessage 函数,移除 PushCrossMessage 函数,改为使用 server.PushXXXMessage 函数 (6d27433)
- 移除服务器多核和分流模式的可选项 (7e67775)
0.0.9 (2023-07-06)
- 修复导出配置 JSON 特殊字符被转义的问题 (193763e)
- 修复请求成功 server.Conn 的 callback 不调用的问题 (8e3325f)
- 修复释放定时器后可能造成空指针的问题 (9f27102)
- 移除 server.Server.OnConnectionClosedEvent 和 server.Server.OnConnectionOpenedEvent 的日志 (7065448)
0.0.8 (2023-07-05)
- 导出日志增加已导出的表信息 (741da79)
- 移除向连接发送数据时的空包处理 (e0571c7)
- 由于设计不合理,移除排行榜中的 CompetitorIncrease 函数 (0f125d4)
- 新增 ranking_list 测试用例,调整 aoi2d_test.go 的 packge 为 builtin_test (b5b428d)
- 排行榜 GetRank 函数增加注释,提示排名从 0 开始 (1001d50)
- 在 README.md 中添加 JetBrains OS licenses 信息 (b234568)
- 配置加载后无限刷新修复 (6634aa6)
- server.New 支持通过 server.WithWebsocketReadDeadline 设置超时时间 (2513714)
- 可通过 slice.Merge 合并多个切片数据 (ebfdd7c)
- 支持在重连等情况时使用 server.Conn.Reuse 函数重用连接数据 (6144dd6)
- 支持对 server.Conn 写入时调用带有 Callback 的写入函数 (4717566)
- 新增重试函数及两个关于 func 执行的辅助函数 (ee87612)
0.0.7 (2023-07-05)
- 导表工具导出的 Golang 代码将携带配置名称签名 (8576d0f)
0.0.6 (2023-07-03)
- 日志 log 包支持更多设置 (83e0675)
0.0.5 (2023-07-03)
- 删除 net 包中的不合理函数 (f22bf5b)
0.0.4 (2023-07-01)
- 多服务器情况下日志错乱及无法正常 Shuntdown 问题修复 (67616b2)
- components.Moving2D 支持停止移动事件注册 (f67a66d)
- 对 poker.Rule 提供功能的辅助函数 (0172c67)
- 服务器支持通过 server.WithDiversion 可选项对数据包消息进行分流处理 (73cefc9)
- 导表工具重构,增加部分特性,修复部分问题 (afdda79)
0.0.3 (2023-06-30)
- 修复 file.ReadOnce 读文件错误 (b0ae569)
- generic 包支持检查泛型类型是否为空指针 (6023f59)
- maths 包支持比较一组数是否连续 (0ab38c7)
- timer.Ticker 支持附加标记信息 (db51edf)
- 增加时间段 times.Period 数据结构 (a6ca8a9)
- 完善测试用例 (741a25c)
0.0.2 (2023-06-27)
- 增加时间转换辅助函数 (05a328e)
- 增加更多的时间处理函数 (2127978)
- 支持获取全局偏移时间 (77e7d46)
- 新增全局偏移时间 (6c4f59f)
- 新增游戏活动功能支持 (83531b6)
- 修复使用 int 和 math.MaxUint 比较导致溢出的问题 (a4e9b5f)
- 支持通过 server 包支持快速创建 TCP、UDP、Websocket、UnixSock、HTTP、GRPC、KCP 服务器
- 支持通过 router 包创建最多支持三级的路由器
- 支持通过 cross 对 server 创建的服务器提供跨服支持
- 通过 configexport 包提供了针对策划及开发人员的配置表模板及导表工具,支持导出 json 和 go 配置文件
- 支持通过 notify 包快速实现通知功能,默认支持飞书群聊机器人通知
- 组件 component 包中提供了帧同步组件的实现及 2D 移动组件的实现
- 支持通过 report 包实现快捷的数据上报功能
- utils 包中提供了大量常用的辅助函数
- asynchronization 包中提供了实现了 hash.Map 的非并发安全 map 数据结构
- compress 包中提供了 gzip 压缩与解压缩的算法
- crypto 包中支持对数据进行 base64、crc、md5、sha1、sha256 的编码解码函数
- file 包中提供了常用的文件操作函数
- generic 包中提供了常见的泛型约束
- geometry 包中提供了几何相关的处理函数,包括线、形状、点等内容
- astar 包中提供了 A* 算法的实现
- dp 包中提供了基于二维数组的分布链接的机制,可以快速查找与给定成员具有相同特征且位置紧邻的其他成员
- matrix 包中提供了一个简单的二维矩阵实现
- navmesh 包提供了基于 astar 的网格寻路功能
- hash 包提供了常用了 hashmap 转换、接口等功能
- huge 包提供了 int 类型的大整数实现
- log 包中提供了基于 zap 的默认日志组件
- maths 包中提供了常用的数学处理函数
- network 包中提供了常用的网络辅助函数
- offset 包中提供了带偏移的时间实现
- random 包中提供了常用的随机函数,包括随机 hash、名称等
- runtimes 包中提供了常用的运行时辅助函数
- slice 包中提供了基于切片的辅助函数
- sole 包中提供了 guid 和 雪花id 的实现
- str 包中提供了常用的字符串处理函数
- super 包中提供了 if 的三目表达式函数
- synchronization 包中提供了并发安全的数据结构
- timer 包中提供了定时器组件
- times 包中提供了常用的时间处理函数