Release Notes - v0.70.4
v0.70.4
Section titled “v0.70.4”Title: Improve Leios processing, API reliability, and node operations
Date: Not provided
Version: v0.70.4
This release improves Leios processing, peer discovery, database handling, API responses, governance state, and operational reliability 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 automated checks so separate pushes to the main development line no longer cancel one another, while submitted change checks retain their existing cancellation behavior.
-
Added end to end coverage for Leios closure double consumption. Closure compatible with Musashi and Haskell now tolerates an already spent output, while CIP and ranking block paths continue to return
ErrUtxoConflict. -
Updated Leios endorser block references to use the Blake2b256 digest of complete transaction data and its full encoded size.
-
Expanded database migration verification to cover metadata seeding, memoization, artifact isolation, and process scoped scratch directories.
-
Strengthened peer sharing by bounding replies, filtering invalid host and port values, and recording only peers that the ledger accepts and keeps.
-
Refined SQLite metadata handling by reusing a migrated metadata template and adding
Options.InMemoryMetadatafor tests that require previous in memory behavior. -
Deferred Leios voting activation when no on chain key exists, retried it at epoch transitions, replayed eligible announcements in a deterministic order, and discarded stale in flight votes.
-
Standardized conformance cleanup across build configurations, ran every cleanup callback after failures, and propagated cleanup failures to the process exit code.
-
Enabled a gated fallback for Dijkstra two component block layouts on Musashi and rejected malformed layouts.
-
Corrected multi element wire encoding in
GetPoolDistr2andGetCBORso clients receive correctly structured responses. -
Clarified Blockfrost error responses by distinguishing transaction rejection, evaluation failure, malformed CBOR, mempool unavailability, and ledger storage unavailability, then returning the appropriate 400 or 503 response.
-
Persisted enacted constitution state so ledger and conformance providers can access it, and seeded the Conway genesis constitution.
-
Hardened Badger transaction handling to fail fast for nil or closed stores and return
ErrBlobStoreUnavailablethrough operations.
Full Changelog: v0.70.3…v0.70.4
Docs authored by Doc Holiday