Skip to content

Release Notes - v0.70.7

Title: Improve network resilience, synchronization, storage, and validation

Date: Not provided

Version: v0.70.7

Release: v0.70.7

This release improves peer safety, request handling, chain synchronization, archival queries, ledger validation, and Leios reliability for Dingo nodes and library consumers.

NetworkCompatible
mainnet
preprod-testnet
preview-testnet
musashi
  • Improved safety when learning peers by rejecting RFC 5737 TEST-NET and RFC 3849 documentation-only ranges while preserving topology-private and established-inbound exceptions.

  • Added a 30-second deadline for Mesh request-body reads and a 60-second listener backstop to prevent stalled requests from holding resources indefinitely.

  • Strengthened live rollback handling by limiting primary-chain rewinds to K, publishing rollback signals, classifying over-K and Mithril cases for resynchronization, preserving durable undo ordering, and guarding buffered headers.

  • Refined Leios resource use by bounding the persistence queue at 256 MiB and coalescing committee computations with a 16-epoch in-flight limit.

  • Updated forging contests so equal-slot cases reach leader selection when appropriate, and added warnings for scheduled leader skips.

  • Enhanced protocol compatibility by updating gOuroboros to v0.202.10 and ouroboros-mock to v0.19.0, and corrected conformance committee-resignation cleanup.

  • Preserved LedgerState.Close results and bounded replay waits at 10 seconds.

  • Expanded ArchiveService block lookup to accept references by hash, slot, and height, return not_found for each missing reference, use metadata for height lookup, decode compact metadata, and seek through S3 data within bounded limits.

  • Ordered events that select the chain through dedicated lanes, added a watchdog for stalled event handlers, and exposed the event_subscriber_handler_stalled_total metric.

  • Improved Koios parity checks for pool departures by using retirement-certificate evidence.

  • Required active chain synchronization to select an eligible tracked peer with delivered headers, and coalesced transitions from a selected peer to no peer.

  • Standardized certificate deposits on one published protocol-parameter snapshot.

  • Rejected execution-unit aggregation overflow in the Alonzo, Babbage, Conway, and Dijkstra eras.

  • Corrected empty periodic-transaction fixtures to return errors and cleared nilaway and modernize findings.

  • Updated reward calculations to include excluded-pool stake in denominators, raised RewardStakeCalculationVersion from 1 to 2, and required rebootstrap for older version 1 reward state.

  • Bounded peer-sharing replies and filtered malformed or non-routable addresses.

  • Returned typed immutable.ErrInvalidChunkOffset errors for invalid chunk offsets.

  • Prevented late header callbacks from recreating observed history.

  • Clarified DRep refund NULL handling without changing runtime behavior.

  • Validated peer snapshot configuration at startup and added allLedgerPools support.

  • Removed the double ceiling from the Praos leader-threshold calculation.

  • Handled same-slot rollback competitors below the contested slot, or returned an explicit failure when no safe handling path existed.

  • Introduced context-aware bounds for Leios failover, recycled dead connections, deduplicated certified endorser-block recovery, applied escalating backoff, and updated callback signatures.

  • Replayed conformance transactions through Dingo era validators and detected bypassed validators.

  • Resolved Conway test rules by descriptor identity.

  • Preserved unknown stake deposits as NULL, while treating an explicitly recorded zero as authoritative and preventing incorrect KeyDeposit fallback refunds.

  • Updated Google Cloud Storage support to version 1.67.0.

  • Refreshed the Node.js type definitions to version 26.4.1 in the Blockfrost explorer example.

  • Upgraded the cardano-cli build image from 11.0.0.0-1 to 11.2.3.1-1.

  • Validated header VRF keys against registration history aligned with the electing snapshot’s epoch, and pinned the corresponding epoch cache.

  • Narrowed warnings for zero produced outputs to dropped declared outputs and collateral returns, and added specific log attributes for each case.

  • Classified Koios reward rows with one-sided zero values as informational agreement, compared only rewards credited by Dingo, and reported significant mismatch counts.

  • Withheld Dingo’s synthetic PlutusV2 cost model from externally returned current protocol parameters until real provenance was available, and persisted its marker across restarts, rollbacks, and truncation.

  • Verified consistent sigma numerator and denominator reads after snapshot recapture with deterministic regression coverage.

  • Confirmed that Dijkstra required redeemer validation continued when phase 2 was skipped.

  • Raised the golang.org/x/crypto dependency from 0.55.0 to 0.56.0.

  • Strengthened rollback and rewind recovery by waiting for batch commits before index restoration, recording skipped restores, and checking recovery targets against chain membership.

  • Added per epoch Koios protocol parameter parity through koios_epoch_params, with backfill and result classification.

  • Aligned the Node.js type definitions with version 26.4.1 in the Sundae preview example.

  • Ordered Conway withdrawals by network, credential type, and credential bytes so script credentials precede key credentials.

  • Gated forging in each era with a preflight check for the operational certificate counter and aligned the check with ledger validation.

  • Separated tests that use services from race tests in release CI.

  • Enforced aggregate inbound block MaxBlockExUnits limits, counted witness budgets for Dijkstra subtransactions, and aligned invalid transaction overlay semantics.

  • Delayed completion of read results until cached boundary batches were applied, and used the shared verifier for cold operational-certificate signature verification.

  • Imported block counts from Mithril snapshots into reward performance calculations and declined reward rounds when counts were unavailable.

  • Updated S3 support in the AWS SDK for Go from 1.107.3 to 1.110.0.

  • Closed slot clock subscriptions when the process stopped or cancellation occurred, and compared raw nonce bytes when caching epoch nonces.

  • Accepted wrapped transaction submission wire size advertisements, dropped mismatched batches with backoff, and added the dingo_txsubmission_reply_size_mismatch_total metric.

  • Removed the duplicate epoch table in the Koios parity test schema.

  • Raised the MySQL driver from 1.10.0 to 1.10.1.

  • Strengthened recovery rewinds by deriving targets from the live chain tip, bounding retries, detecting non-convergence, failing closed after repeated refusals, preventing duplicate undo events, and avoiding stale in-memory restores after concurrent chain changes.

  • Improved KES verification by adopting the strict verification behavior from gOuroboros v0.202.9.

  • Allowed forging to proceed when the local tip is current even if the upstream target is unknown, while retaining the wait behavior for stale local tips and correcting the related metrics.

  • Protected ledger compatibility by verifying at build time that LedgerView implements StakeCredentialDepositState.

  • Retained canonical but behind chainsync peers instead of evicting them as over-K forks, added an intersect rung at K, and exposed the dingo_chainsync_behind_peers_total metric.

  • Forecast protocol parameters across multi-era epoch caches and delayed chain.update and rollback publication until the ledger released its mutexes.

  • Carried signed MIR deltas through SQL, ledger folding, account totals, and Blockfrost output, allowing negative values and discarding folds when the ledger could not credit them.

  • Preserved TPraos operational-certificate counters and KES periods at uint64 width while rejecting counters above the MaxInt64 persistence limit.

  • Corrected Preview and Praos VRF threshold boundaries, invalidated older leader schedules by raising ScheduleFormatVersion from 3 to 4, and bounded retry backoff.

  • Floored expected reward block counts and rejected expectations that rounded down to zero.

  • Maintained retry and backoff when ledger reads or iteration fail by propagating those failures through readChainResult.

  • Updated prometheus/client_model from 0.6.2 to 0.6.3.

  • Refined Plutus validity-bound horizon conversion by anchoring it to the predecessor of the applied block.

  • Seeded Conway genesis committee members during genesis creation and rejected negative genesis committee expiry epochs.

  • Added migration v10 and durable reward_seed_failure provenance for imported reward-seeding failures.

Full Changelog: v0.70.6…v0.70.7


Doc Holiday logo

Docs authored by Doc Holiday

Edit page

Last updated: