3.2.0 (2025-10-24)
- coroutines: Add C++20 coroutine support with emit_async for modern async/await programming
- disconnect: Track detailed disconnect reasons including ping_timeout differentiation
- listeners: Add on_with_ack for simplified acknowledgment handling
- listeners: Add on_any for catch-all event listener
- state: Add connection state monitoring with set_state_listener
- reconnect: Add reconnect_config for flexible reconnection configuration
- metrics: Add connection metrics tracking (packets sent/received, ping latency)
- replace std::bind with lambdas for 2-5% faster event dispatch
- optimize move semantics in message handling
- modernize async I/O patterns with ASIO
- improve atomic state management for lock-free operations
- memory: Fix memory leaks in event listener management
- thread-safety: Add thread-safe listener add/remove operations
- smart-pointers: Improve smart pointer lifecycle management
- upgrade ASIO from 1.10.2 to 1.36.0
- replace RapidJSON with SimdJSON 3.10.1 (faster JSON parsing)
- update WebSocket++ to 0.8.2
- consolidate documentation into comprehensive README
- add C++20 coroutine usage examples
- add disconnect handling guide
- add compression performance analysis
- None - fully backward compatible with 3.1.0
2.1.0 (2021-10-12)
- fix ASIO_STANDALONE release build trying to use boost::random (#301) (168ce9d)
- fix LOG call syntax (#301) (c09221f)
3.1.0 (2021-10-12)
- lower the minimum CMake supported version (b196fa7)
- handle closing sockets upon on_fail events (d1c73b7)
- resolve client_impl::ping LOG call syntax in debug builds (e7de4eb)
- allow resource path to be set in connection URI (#134) (36a8cd4)
- add support for logging configuration (1b42ce7)
- support TLSv1.2 and newer (#321) (82d39a9)
3.0.0 (2021-01-09)
- add support for Socket.IO v3 (ec4d540)