Release Notes - v0.205.5
v0.205.5
Section titled “v0.205.5”Title: Improve ledger validation and decoding reliability
Version: v0.205.5
This release improves transaction metadata access, collateral validation, Byron signature verification, and decoding consistency while aligning native script thresholds with Conway CDDL.
New Features
Section titled “New Features”- Added invalid transaction indexes to transaction offsets: callers can retrieve invalid transaction indexes during the same block offset extraction for Shelley and legacy Dijkstra layouts, without a second full block decode. Absent or empty lists return
nil.
Bug Fixes
Section titled “Bug Fixes”-
Enforced collateral vkey witnesses independently of phase 2: key-locked collateral now requires matching witnesses even when phase 2 scripts do not run. Script-locked collateral behavior remains unchanged.
-
Preserved Byron PBFT signature bytes: verification now uses the original
ToSignCBOR slices, so valid signatures over accepted non-canonical encodings verify correctly. Epoch lookup remains separate. -
Rejected non-empty deprecated Byron attributes: block and header decoding accepts only empty CBOR maps for deprecated attributes and rejects malformed, null, undefined, or non-empty values.
ExtraProofbyte-string length remains permissive. -
Raised the metadata decoder nesting bound to
16384: metadata decoding now accepts nesting up to16384.
Breaking Changes
Section titled “Breaking Changes”- Updated the native script threshold type to
int64:NativeScriptNofK.Nnow follows the Conway CDDL. Allegra and later eras accept non-positive thresholds, while Shelley and pre-Allegra decoding rejects negative thresholds. Downstream Go code that initializes this field withuintmust convert the value toint64.
Release: v0.205.5
Compare: v0.205.4…v0.205.5
Docs authored by Doc Holiday