All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.5] - 2026-06-30
Added
:h264image format (format code4) toPPNet.Message.ImageImage.pack/1requires:h264data to be Annex-B framed (NAL start code00 00 01or00 00 00 01) and rejects other framings with%PPNet.PackError{reason: :not_annex_b}
0.1.4 - 2026-03-31
Added
datetimefield to all message types: Hello, SingleCounter, Ping, Event, Image, ChunkedMessageHeader, and ChunkedMessageBody- Backward compatibility for all old formats — messages without
datetimeare still accepted;datetimewill benil - UTF-8 validation in
Eventdata before packing is_valid_pack_inputguard inPing
Changed
- Minimum chunk size increased from 17 to 22 bytes to account for the
datetimefield inChunkedMessageHeader - Corrected Reed-Solomon parity byte count in documentation (8, not 4)
0.1.3 - 2026-03-19
Added
session_idfield toPingmessageis_valid_ping_listguard and its use inparse
0.1.2 - 2026-03-11
Added
- Default
pack/1to all message modules defguards to simplify validation across message types- Doctests and enhanced protocol documentation
Changed
- Replaced long guard clauses with
defguards in Ping and chunked messages - Enforced
chunk_size <= 254via guard - Enforced non-negative integers in
is_valid_typesguard - Added guards and validations to message packers
0.1.1 - 2026-03-11
Changed
- Updated organization name
0.1.0 - 2026-03-11
Added
- Initial release with Ping, Event, and Image message types
- Reed-Solomon error correction and COBS framing
- Chunked message support
- Protocol encoding and parsing