Skip to content

Release Notes - v0.199.0

Title: Improve protocol resilience, CBOR decoding, and withdrawal validation

Date: August 25, 2026

Version: v0.199.0

This release keeps optional protocol responses from terminating shared protocol handling, avoids nested CBOR subtree copies while preserving root decoding behavior, and refines Conway DRep checks for script withdrawals.

  • Improved optional protocol responses: The peer sharing server now returns an empty SharePeers response when LocalDisabled is set or ShareRequestFunc is unconfigured, rather than closing or stalling the shared bearer. NewMsgSharePeers(nil) encodes as [1, []]. Leios fetch Votes now returns a valid empty Votes response when VotesRequestFunc is unconfigured, and NewMsgVotes(nil) encodes as an empty CBOR array. Leios fetch block, block transactions, and block range requests continue to return protocol errors when their callbacks are unconfigured because no safe empty response exists.
  • Refined CBOR value decoding: Nested maps and arrays now decode without copying each nested subtree, while the root value retains the original wire CBOR and preserves Cbor() behavior. Decoding enforces cborMaxNestedLevels and returns io.ErrUnexpectedEOF for truncated containers.
  • Corrected Conway withdrawal validation: In PV10 and PV11, DRep delegation checks now apply only to key hash reward credentials, including zero amount withdrawals. Script hash withdrawals bypass the DRep lookup while retaining registration and amount validation. PV12 behavior remains unchanged.

Thank you to @wolf31o2 for the contributions to this release.



Doc Holiday logo

Docs authored by Doc Holiday

Edit page

Last updated: