v2.6.1
Added
- HTTP Date 头缓存:
thread_local每秒更新一次,响应自动插入 RFC 7231Date头
Changed
hical_core强制静态库:移除WINDOWS_EXPORT_ALL_SYMBOLS,add_library显式 STATIC- picohttpparser 条件集成:新增
HICAL_USE_SYSTEM_PICOHTTPPARSER开关,include 从 PUBLIC 改为 PRIVATE - tests/CMakeLists.txt 重构:提取
hical_add_test()函数消除重复样板 - bench_main.cpp 精简为 TFB 专用:仅
/json+/plaintext - Conan/vcpkg 构建完善:Conan 新增
with_openapi选项和宏透传,vcpkg port 新增 picohttpparser 系统依赖
Bug Fixes
- fix: idleTimerLoop 悬空引用 (steady_timer& → shared_ptr<steady_timer>)
- fix: idleTimerLoop cancel 后 yield 确保协程帧退出
- fix: 回退 co_await post() yield,与 stopAllLoops 竞态导致 double-free
- fix: HttpServer 成员析构顺序 (activeConnections_/draining_ 移到 baseLoop_ 之前)
Performance
- perf: HTTP pipelining 优化:parse-before-read 快速路径 + 延迟 memmove
Build & Ports
- chore: 添加 HICAL_USE_SYSTEM_PICOHTTPPARSER CMake 选项
- chore: 新增 picohttpparser vcpkg port (对应 microsoft/vcpkg#51743)
- chore: v2.6.1 构建系统整理与 Date 头缓存
- chore: 分离 TFB 与框架对比 benchmark 入口
Full Changelog: v2.6.0...v2.6.1