Release Notes - v0.71.1
v0.71.1
Section titled “v0.71.1”Title: Improve node reliability, recovery, and synchronization
Date: 2026-09-22
Version: v0.71.1
Release: v0.71.1
This release improves parity checks, governance validation, committee continuity, reward processing, block synchronization, database performance, recovery safety, and operator controls. It also adds safeguards for token registry snapshots, blob storage, fork handling, and high decentralization reward distribution.
Recommended Network Compatibility ⚠️
Section titled “Recommended Network Compatibility ⚠️”| Network | Compatible |
|---|---|
| mainnet | ⛔ |
| preprod-testnet | ✅ |
| preview-testnet | ✅ |
| musashi | ✅ |
Runtime and operational improvements
Section titled “Runtime and operational improvements”-
Added separate workers for Koios parity aggregate and pool checks, allowing slower per-account checks to run independently. Dingo now persists results by phase, shares aggregate fetches, serializes callbacks, and dispatches strict failures exactly once.
-
Exempted fully resolved redeem-only Byron transactions from minimum fee requirements while retaining normal fee checks for mixed, empty, or unresolved inputs.
-
Corrected conformance validation for
UpdateCommitteeandNoConfidenceso it follows production ratification rules, including stake-weighted DRep and SPO votes, active proposal deposits, implicit vote routing, and Conway bootstrap gates. -
Preserved
TermStartSlotand committee authorization or resignation state for continuing members acrossUpdateCommitteerenewals. New and rejoining members now receive a fresh term start. -
Made reward stake reconstruction deterministic and read-only while retention pruning calculates results, then saved the result atomically in its write phase. This prevents skipped rewards and partial rows.
-
Cached
HardForkSummaryvalues by publication generation and horizon anchor, shared them as read-only data, and invalidated them when state changes. Consumers must not modify a cached summary. -
Reworked
BlockFetchrange limits around the actual number of blocks instead of slot span. Sparse networks can now use wider slot ranges while Dingo caps oversized streams. The exportedMaxBlockFetchRangeconstant no longer exists, so integrations that reference it must remove that dependency. -
Optimized predefined by-type DRep voting-power queries by starting with filtered accounts instead of scanning every UTxO. The change preserves results and improves query performance at epoch boundaries.
-
Reported blob transaction capacity and bounded rollback blob-delete staging so metadata commits can proceed. Dingo records excess deletes as incomplete or orphaned work.
-
Strengthened the Bark pause test to verify that the pause gate blocks new acquisitions. This test-only change does not alter production behavior.
-
Retried Koios HTTP
408responses forGETandPOSTrequests with a dedicated capped exponential backoff budget, keeping persistent failures bounded. -
Excluded zero-block pools from rewards and returned their undistributed share to reserves when decentralization is high.
-
Forwarded block pipeline enable and validation flags, along with Shelley KES agent socket, mode, and signing timeout settings, through the serve path. Startup now rejects validation when the block pipeline is disabled.
-
Repaired UTxO and metadata state during the first same-tip at-tip recovery and skipped the repair after it completes when an identical failure repeats.
-
Added migration v21 to remove unused asset amount and fingerprint indexes while retaining their columns, and validated that replaying the migration remains safe.
-
Updated
google.golang.org/apifromv0.297.0tov0.298.0. This dependency-only change does not alter Dingo behavior. -
Bounded token registry decompressed size, mapping count, and retained bytes, and rolled back partial writes when a snapshot is invalid.
-
Rejected fork ancestors that are ahead of the local tip, preventing invalid rollback points.
Docs authored by Doc Holiday