Releases
v2.5.0
Compare
Sorry, something went wrong.
No results found
[2.5.0] - 2026-08-29
新增
重连竞速长期观察基建 :StateTransitionRecorder(状态机合法转移、非 Connected 态编号归零、Connected 态编号严格递增、终态收敛的全程校验 + Connected→Connected 直连迁移计数)、Soak_ReconnectRacing_LongRun 竞速专用混沌(60% 动作并发竞速 + FIFO 完整性探针)、每夜 600s 双平台 soak CI(.github/workflows/soak.yml,北京时间 03:00,失败自动通知)。
变更
大报文优化与归因 :发送编码缓冲自适应初始尺寸(按连接记忆上一帧高水位、封顶 1MB——稳态尺寸相近的协议不再从 1KB 起爬几何增长梯子)。新增 64KB 三 codec 归因基准(byte[] 透传 / string+span / string+分配式),结论:框架纯成本距裸 TCP 仅 ≈20–30%,其余为 codec 写法税(span 重载可消除中间数组)与 string 消息固有税(UTF-16 物化 ≈2× 报文)。README 双语新增"大报文指南",bench/README 附归因表。
修复
接受循环代次门控(#47 阶段二,竞速泄漏监听器 bug) :用户重连与自动重连竞速产生多个并发 StartAsync 接受循环时,被取代的"僵尸"循环完成 accept 后可能看到 _server 已被新循环替换而跳过单客户端的监听器关闭——泄漏一个仍在监听但永无人 accept 的 socket ,客户端 SYN 进入无人消费的 backlog 后 ConnectAsync 永久挂起(远比"拒绝"严重)。新增 _acceptLoopId 代次:每次 StartCore 递增,被取代的循环在取得 _acceptLock 后静默退出,监听器的创建/关闭/accept 只归属当代循环。由新增的重连竞速混沌(Soak_ReconnectRacing_LongRun,60% 动作占比并发竞速)复现并锁定。
You can’t perform that action at this time.