Skip to content

Release Notes - v0.204.2

Title: Improve peer handling and protocol validation

Version: v0.204.2

Version 0.204.2 improves LocalStateQuery response handling, strengthens CBOR and Point validation, makes connection formatting safe for incomplete addresses, and prevents invalid transaction acknowledgements from advancing state.

  • Expanded LocalStateQuery response handling: Applications can override the muxer segment read timeout with ouroboros.WithMuxerSegmentReadTimeout or muxer.NewWithSegmentReadTimeout; a value <= 0 disables the deadline. They can also override the default 16 MB reassembly limit with ProtocolConfig.MaxReadBufferSize or localstatequery.WithMaxReadBufferSize. The implementation drains queued segments opportunistically, bounds buffer growth, observes shutdown, and reads current era data without a race. Trusted, slow peers can support long-running or large multi-segment replies without premature disconnects.

  • Updated Plutus general constructor encoding: General constructors now use CBOR tag 102 with [constructor_number, fields]. The decoder rejects legacy tag 101 and constructor numbers that exceed the platform uint range while preserving compact alternatives. Applications must re-encode tag 101 constructors as tag 102.

  • Hardened Cardano Point validation: The decoder accepts only definite arrays containing zero or two elements. Two-element values must contain a uint64 slot and a hash of exactly 32 bytes. The decoder rejects trailing data, indefinite arrays, tagged values, and malformed input without changing the Point value when validation fails.

  • Made connection formatting safe: ConnectionId.String() now renders a missing local or remote address as <nil> while preserving the local<->remote format. A partially populated connection ID now formats without a panic.

  • Prevented transaction acknowledgement inflation: The protocol rejects ReplyTxIds responses that contain more identifiers than requested with protocol.ErrProtocolViolationRequestExceeded before it advances ackCount. Zero, exact, and partial replies remain supported.

NetworkCompatible
mainnet
preprod-testnet
preview-testnet
musashi

Release: v0.204.2

Compare: v0.204.1…v0.204.2


Doc Holiday logo

Docs authored by Doc Holiday

Edit page

Last updated: