CHANGELOG (1729B)
1 # Changelog 2 3 - 0.1.1 (2026-10-31) 4 * Merely bumps the ppad-secp256k1 dependency, to 0.5.9. 5 6 - 0.1.0 (2026-10-10) 7 * A substantial rewrite, with breaking changes throughout: 8 9 * The API is exported from Lightning.Protocol.BOLT7 alone, and uses 10 snake_case names (e.g. decode_channel_update, cu_timestamp). 11 12 * Fundamental types come from ppad-bolt1 0.1 (Point, ShortChannelId, 13 MilliSatoshi, TLV streams) and feature vectors from ppad-bolt9. 14 The local NodeId, FeatureBits, routing-parameter newtypes, 15 mainnetChainHash and length constants are gone. 16 17 * Decoders take a whole payload and keep every byte: unassigned 18 flag bits, unknown address descriptors and extension TLV records. 19 Encoding a decoded message reproduces it, so its signatures still 20 verify. channel_update models message_flags (must_be_one, 21 dont_forward) and channel_flags (direction, disable). 22 23 * Query messages have typed short channel id lists, query_flags, 24 query_option, timestamps and checksums. 25 26 * Signature digests and checksums take typed messages. Adds 27 signature verification (via ppad-secp256k1), a message 28 dispatcher, and usable_addresses for the receiver's address 29 rules. 30 31 * Fixes: htlc_maximum_msat is mandatory; node_announcement accepts 32 unknown and deprecated address descriptors; malformed query TLV 33 streams, unknown even TLV types and the deprecated zlib encoding are 34 rejected; u16 length prefixes no longer wrap; validation no longer 35 accepts undecodable data or claims to check feature bits. 36 37 * Tests cover the BOLT #7 extended-queries vectors and real mainnet 38 gossip, with signature checks. 39 40 - 0.0.1 (2026-04-18) 41 * Initial release.