- Reduce allocations during frame handling by borrowing metadata, message lists, and action lists instead of cloning them, thanks @famfo
- Update frame serialization to operate on borrowed slices for
NOTIFYandACKpayloads - Use binary notation for varint bit masks for readability
- Change the public
SpopFrametrait to returnCow<'_, Metadata>andFramePayload<'_> - Change
FramePayload::ListOfMessagesandFramePayload::ListOfActionsto hold borrowed slices instead of ownedVecs
- Fix 32-bit build failure: use
usizeinstead ofu64fornom::take()lengths (#12)
- Fixed all clippy warnings (146+ issues) with strict lints enabled
- Fixed rustdoc broken intra-doc links
- Replaced
unwrap()with proper error handling in production code
- NOTIFY: Handle empty or multiple messages in a list, thanks @chantra
- parser: Handle incomplete frames, thanks @chantra
- types: Add a macro_rules to generate From/TryFrom implementations for TypedData, thanks @chantra
- Fixed disconnect: look up for "status-code", not "max-frame-size", thanks @chantra
- Added tcp example
- SpopCodec for encoding/decoding to use with tokio_util::codec
- Removed SpopFrameExt
- Implement typed data serialization for all types & test_parse_haproxy_hello, thanks @vipera
- Using Semver to parse the "supported-versions" field (major.minor)
- structs for frames
- SpopFrame trait for frame handling
- SpopFrameExt for serializing the frames
- Implemented HAPROXY/AGENT - DISCONNECT
- ACK (ACTION-UNSET-VAR) working
- example covering on-client-session and on-frontend-http-request
- ACK (ACTION-SET-VAR) working
- Frame handling improved
- First release