Release v2.0.0
This release introduces advanced control over SSL configurations, significantly improves the debugging experience, and adds support for fully asynchronous TCP networking on ESP32 hosts.
🚀 AsyncTCP Support (New)
- Non-Blocking Client: Introduced
SerialAsyncTCPClient, enabling event-driven TCP communication for high-throughput applications. - Robust Host Architecture: The
SerialNetworkHost(on ESP32) now uses a FreeRTOS Queue to decouple the network stack (LwIP) from Serial I/O. This prevents packet loss and connection stalls during bursts of data. - Flow Control: Implemented automatic Stop-and-Wait flow control to prevent overflowing the Client's hardware serial buffer, ensuring reliable data transfer even at high speeds.
- Examples: Added
AsyncTCP_Clientexamples demonstrating non-blocking HTTP requests and data reception.
🔌 Core Library & API
- SSL Status & Config Callbacks: Added callbacks to handle SSL state queries and configuration commands from the client.
- Status Reporting:
setGetFlagCallbackallows the Host to report the current secure connection status (e.g.,isSecure) back to the Client. - Configuration Control:
setSetFlagCallbackenables the Client to set SSL options likesetInsecure(skip verification) andsetPlainStarton the Host.
- Status Reporting:
- Client Debug Relaying: Implemented a new protocol command (
CMD_C_DEBUG_INFO) that allows the Arduino Client to send debug strings to the Host. This enables viewing Client-side logs on the PC terminal or Host Serial monitor even though the Client's USB/Serial port is occupied by the bridge protocol.
🛠 PC Host (serial_bridge.py)
- Color-Coded Console Output: The Python bridge now parses relayed debug messages and applies syntax highlighting for better readability:
- Red: Error messages.
- Yellow: Warning messages.
- Green: General information and success messages.
📂 Examples
- Debug Integration: Updated all examples to utilize the new
debug::printhelpers andHOST_RELAY_DEBUGmacro, ensuring debug output is correctly routed to the Host. - AsyncTCP: Added dedicated Host and Client sketches for the new asynchronous features.