Release Notes - v0.80.0
v0.80.0
Section titled “v0.80.0”Title: Improve state recovery, query accuracy, security, and operations
Version: v0.80.0
Release: v0.80.0
Dingo v0.80.0 improves state recovery and loading, governance queries, node security, block production operations, peer resource controls, and release automation. It also strengthens ledger validation and protects long running database and pipeline work from inconsistent state or stalled processing.
Recommended Network Compatibility ⚠️
Section titled “Recommended Network Compatibility ⚠️”| Network | Compatible |
|---|---|
| mainnet | ⛔ |
| preprod-testnet | ✅ |
| preview-testnet | ✅ |
| musashi | ✅ |
State recovery and loading
Section titled “State recovery and loading”- Improved state imports by validating UTxO-HD settings first and atomically clearing post-anchor epoch, reward, nonce, network, and donation data before importing ledger state.
- Added batched API metadata writes, rollback safe SQLStore batching, resumable remote ImmutableDB loading for
dingo loadover HTTPS or loopback HTTP with ordered chunks and tip and hash verification, and bounded committee pruning. - Removed stale post-anchor reward journals when Mithril restores credentials, keeping restored reward state consistent.
- Preserved non-Byron slot zero nonce state during rollback, preventing valid nonce data from being lost.
- Halted authoritative reward rollover when the required reward basis is unavailable, avoiding unsupported state transitions.
Security and validation
Section titled “Security and validation”- Rejected non-regular secret key, operational certificate, and vote signing paths, and limited key envelopes to 1 MiB.
- Enforced HTTPS origin, redirect, DNS address, port, and proxy policies for Bark archive downloads.
- Handled typed nil protocol parameters with a clear validation result instead of allowing a panic.
- Refused invalid classic PPUP proposals and corrected negative rational fee underflow handling.
- Bounded Mithril certificate chains, message sizes, signer counts, STM counts, and weighted verification work to limit resource consumption.
Governance and query access
Section titled “Governance and query access”- Answered DRep state and proposal requests at the acquired point, applying DRep expiry and governance history.
- Returned filtered delegation and vote delegatee queries at the acquired point and rejected points before the Mithril trust boundary.
- Extended MCP table resource enumeration through the longer of the query timeout or 30 seconds, logged failures, and centralized the 5 second default.
Synchronization and network operations
Section titled “Synchronization and network operations”- Suppressed repeated fresh ChainSync cursor requests, recovered near the tip after header mismatches, and logged synchronization stalls.
- Added blockfetch fork battle participant gauges to show peer participation during competing chain selection.
- Limited each peer’s TxSubmission rate and bounded BlockFetch admission to protect node resources.
- Drained pipeline results while submitting batches, preventing backpressure from causing deadlocks.
- Released the Bark busy flag before publishing terminal status and ordered cancellation handling more reliably.
Block production and operator controls
Section titled “Block production and operator controls”- Reported the missing reward basis epoch and input with recovery steps, and prevented canceled forging from adopting a block.
- Reloaded block producer credentials on
SIGHUP, cleared key material after use, added liveness and readiness probes and forging metrics, preserved the forge fence, and corrected forged source logging. - Pinned relative KES agent socket paths and validated abstract and NUL paths against platform length limits.
Release automation
Section titled “Release automation”- Validated semantic version release tags, gated release automation, updated consumer repositories and Homebrew, Helm, and Ansible manifests, used npm trusted publishing, and rejected invalid templates.
Supporting reliability improvements
Section titled “Supporting reliability improvements”- Expanded Dijkstra production path and decoder regression coverage.
- Clarified Mithril governance nil checks and modernized test helpers.
- Completed reward worker shutdown during test fixture cleanup.
Docs authored by Doc Holiday