Skip to content

Release Notes - v0.70.12

Title: Improve historical query accuracy, governance import safety, and node reliability

Date: Not provided

Version: v0.70.12

Release: v0.70.12

This release makes historical LocalStateQuery results more accurate, validates Mithril governance and bootstrap state, improves peer recovery and stake distribution accuracy, and strengthens topology and database safeguards. It also improves diagnostic audit behavior, persistence safety, observability, and dependency maintenance.

NetworkCompatible
mainnet
preprod-testnet
preview-testnet
musashi
  • Improved continuation-audit diagnostics by preserving producer and endorser tracking across rollback rearming and recovery rewinds, serializing audit-window ownership, carrying primary-chain evidence forward, and protecting producer and endorser queues from concurrent access. The audit remains diagnostic-only and no longer reports false errors or concurrent map failures.

  • Added pinned query behavior to LocalStateQuery GetUTxOWhole, including as-of UTxO iteration and a clear ErrHistoricalStateUnavailable response for pins older than the spent-UTxO retention floor. Queries no longer drift when the chain tip changes during execution.

  • Validated imported Conway committee state against the enacted governance state during Mithril imports, failing closed on unexplained mismatches or parse failures while allowing legitimate NoConfidence and UpdateCommittee transitions.

  • Fixed the LocalStateQuery test call by supplying trusted=false, so go vet ./ouroboros/... now completes successfully without changing runtime behavior.

  • Cached the prepared statement used for live stake sums per Store, invalidated it across lifecycle changes, and retained a fallback path when the cache misses.

  • Recycled a peer after 20 non-extending block rejections within 30 seconds on one connection, cleared the count after a successful extension, and added Prometheus counters for the condition.

  • Computed GetStakeDistribution from live stake at the requested slot instead of the mark snapshot, preserved zero-stake pools, used historical VRF registrations for pinned queries, and counted unresolved pool omissions.

  • Reduced consumed-UTxO deduplication overhead by removing per-input Sprintf allocation, corrected double-hex-encoded log and hash formatting, and updated google.golang.org/api from 0.294.0 to 0.297.0.

  • Skipped genesis UTxO, staking, and governance reinsertion after Mithril bootstrap while retaining synthetic genesis CBOR.

  • Hardened topology validation by checking access-point addresses and ports, enforcing warmValency <= valency and valency <= the access-point count when applicable, and rejecting unsupported SRV relay validation.

  • Updated Dingo dependencies to gouroboros 0.204.7, plutigo 0.7.0, and related Go versions, and classified duplicate-key metadata maps as ErrJSONUnavailable.

  • Made LocalStateQuery AcquireSpecificPoint validate points immediately, map invalid or too-old points to graceful wire-level acquire failures, and avoid recording invalid points.

  • Refined the RewardStakeCalculationVersion startup and rebootstrap gate, added migration v15 to restamp safe snapshot rows, and reported the affected epochs.

  • Bounded imported operational certificate counters before persistence so out-of-range state fails without writing it.


Doc Holiday logo

Docs authored by Doc Holiday

Edit page

Last updated: