Release Notes - v0.70.6
v0.70.6
Section titled “v0.70.6”Title: Improve validation, synchronization, and node observability
Date: Not provided
Version: v0.70.6
Release: v0.70.6
This release improves validation, ledger state handling, network resilience, transaction exchange, query performance, and node parity tooling for Dingo nodes and library consumers.
Recommended Network Compatibility ⚠️
Section titled “Recommended Network Compatibility ⚠️”| Network | Compatible |
|---|---|
| mainnet | ⛔ |
| preprod-testnet | ✅ |
| preview-testnet | ✅ |
| musashi | ✅ |
✨ Highlights
Section titled “✨ Highlights”-
Improved Midnight numeric narrowing validation, returned
InvalidArgumentforas_of_timestamp_unix_millisvalues outside the permitted range, normalized internal errors to stableInternalmessages while logging diagnostic details, skipped and logged invalidcNIGHToutputs without rejecting other outputs, and improved UTxO event paging. -
Added bounded
CandidateFragmentsnapshots for each peer andChainSelectoraccessors with defensive copies, intersection support, and clearing when connections close. -
Exposed
LedgerView.TreasuryValuefrom the metadata snapshot, failed closed when the value is unavailable, and distinguished an absentcurrentTreasuryValuefrom an explicitly zero value during Conway validation. -
Preserved pool stake snapshots needed for deferred header validation, restored retention markers after restart, and avoided treating recoverable missing snapshots as missing pools.
-
Updated
plutigoto v0.5.1 so canonical Preview withdrawal oracle blocks validate. -
Halted replay after repeated local reward state divergence while keeping block level withdrawal mismatches non terminal.
-
Counted inverted BlockFetch ranges toward stuck peer recovery.
-
Rejected stale or noncanonical Leios quorum events after rollback and before the deadline or state creation.
-
Retained unacknowledged offered transactions, added FIFO acknowledgement tracking, and bounded the offer window by the number of outstanding IDs.
-
Raised the Antithesis nested module requirement to Go 1.26.
-
Bound Leios endorser block cache entries to their announced slot and hash, preventing fabricated slot offers from reaching voting, serving, or storage.
-
Reworked account lookup queries to avoid O(n²) query shapes and bounded database worker pool shutdown time.
-
Capped explicit
GetDRepStateandGetStakeDelegDepositsLocalStateQueryinputs at 1,000 while batching other query paths. -
Read forging sigma numerator and denominator values atomically from one snapshot.
-
Introduced the node parity CLI with
checkandwatchmodes,LocalStateQuerystake distribution and whole UTxO support, Prometheus metrics, and devnet conformance wiring. -
Corrected
GetStakeDistributionfractions to use circulating ADA rather than delegated stake. -
Gated Dijkstra behavior by the current era derived from protocol parameters.
-
Resolved upstream UTxO rules by stable IDs for
gouroborosv0.202.6 compatibility. -
Added regression coverage that distinguishes genuine Plutus failures from budget overages.
-
Included Musashi BlockFetch type 7 and type 8 regression coverage.
-
Strengthened peer state management by bounding peer state, expiring network magic mismatch denials after a default of 24 hours, pruning stale ledger and test peer state, and fixing duplicate peer sharing callback wiring.
Full Changelog: v0.70.5…v0.70.6
Docs authored by Doc Holiday