Release Notes - v0.204.7
v0.204.7
Section titled “v0.204.7”Title: Improve authentication, ledger validation, and protocol reliability
Version: v0.204.7
This release improves DMQ operational certificate authentication, ledger validation and transaction processing, and LocalStateQuery and handshake protocol reliability.
🐛 Bug Fixes
Section titled “🐛 Bug Fixes”-
Fixed DMQ operational certificate authentication: Real pool messages now pass CIP-0137 authentication because verification uses raw
OCertSignablebytes and KES evolution starts from the certificate issuance period. The verifier rejects messages with an earlier payload KES period. -
Corrected Shelley genesis slot length encoding:
slotLengthnow serializes as integer microseconds for wire compatibility, and the encoder returns an error when a value cannot be represented exactly at microsecond precision. -
Improved transaction validation performance: Transaction validation reuses each UTxO lookup within a single pass.
-
Hardened ledger era conversion: Missing or empty collateral outputs now return typed resolution errors, zero-policy assets with non-empty names participate in conservation checks, and Babbage UTxO-RPC returns nil for absent datum hashes.
-
Added Dijkstra transaction offset support: Both current and legacy block body and transaction shapes now yield correct transaction offsets. Unsupported Dijkstra layouts return errors instead of empty success.
-
Completed LocalStateQuery immutable-tip transitions: Acquire and reacquire operations now work for immutable tips, and failed acquisitions clear client state so callers can retry without stale era information.
-
Ensured handshake message ordering: Handshake completion callbacks now run only after the
AcceptVersionresponse reaches the wire, preventing follow-on protocol traffic from overtaking acceptance.
Release: v0.204.7
Compare: v0.204.6…v0.204.7
Docs authored by Doc Holiday