Release Notes - v0.70.11
v0.70.11
Section titled “v0.70.11”Title: Improve transaction handling, ledger reliability, and operational readiness
Date: Not provided
Version: v0.70.11
Release: v0.70.11
This release improves transaction submission tolerance, forging startup validation, ledger recovery, database access, shutdown handling, and Preview network operations. It also adds standalone phase 1 and phase 2 components for DMQ message handling and authentication.
Recommended Network Compatibility ⚠️
Section titled “Recommended Network Compatibility ⚠️”| Network | Compatible |
|---|---|
| mainnet | ⛔ |
| preprod-testnet | ✅ |
| preview-testnet | ✅ |
| musashi | ✅ |
✨ Highlights
Section titled “✨ Highlights”-
Improved regression coverage for duplicate required signers by pinning a Preview Babbage and PV8 Plutus budget fixture and verifying that evaluated and declared redeemer budgets match exactly.
-
Expanded TxSubmission V2 tolerance to accept advertised body and wire sizes within ±32 bytes, inclusive, while applying the same allowance to aggregate budget and admission headroom; larger discrepancies remain rejected.
-
Refined forging startup validation to compare the OpCert counter with the applied tip’s slot and era instead of forecasting from wall clock time, and handled protocol parameters safely when evaluation is unavailable.
-
Accelerated
GetUTxOWholeCBOR resolution with a fixed worker pool and recovery handling, returning errors instead of incomplete results when rows cannot be recovered. -
Preserved pointer address stake positions during snapshot import and stopped the ledger pipeline after repeated deterministic restarts make no progress.
-
Added a standalone phase 1 CIP-0137 DMQ
MessageMempoolwith bounded retention, TTL expiry, per peer FIFO cursors, deduplication, optional events, identifier validation, and cloning protections. -
Refreshed the standalone phase 2 CIP-0137 DMQ
Authenticatorwith expiry, identifier, stake, OpCert, KES, and issue number checks, plus overflow protection. -
Reduced protocol enactment contention by probing through a read-only connection and acquiring the writer only when enactment is pending.
-
Updated the
dingo-gov-lensexample to usepgx/v5version5.11.0. -
Improved credential UTxO stake aggregation in SQL and translated MySQL
BIGINTcasts correctly. -
Optimized
GetUtxosByRefslookups around indexedtx_idqueries while preserving filtering and overflow validation. -
Strengthened recovery from malformed reference scripts and witnesses by treating them as deterministic validation failures that rewind and reintersect instead of retrying indefinitely.
-
Enabled
skipRewardLiveStakeBackfillCheckthrough YAML, the CLI, and the environment, with a default offalse; the option skips only the expensive reward live stake consistency scan and retains the consensus snapshot provenance guard. -
Refreshed the
dingo-blockfrost-explorerexample’s@types/nodedependency. -
Modernized the SQLite driver with
modernc.org/sqlitewhile preserving thesqlitedriver name and busy or locked handling. -
Clarified Koios parity reward handling by deferring discrepancies until reward application and classifying earlier differences as reference lag.
-
Enforced exact BlockFetch range endpoints by requiring the specified end slot and hash, rejecting invalid endpoints, and withholding
BatchDonefor incomplete ranges. -
Stabilized asynchronous ledger test waits under load.
-
Renewed the
dingo-sundae-previewexample’s@types/nodedependency. -
Secured LeiosFetch admission by reserving per connection capacity atomically, preventing concurrent oversubscription.
-
Upgraded the
barkdependency to versionv0.2.0. -
Bounded phase 1 shutdown component stops by the single shutdown deadline and kept storage resources open when the drain was unconfirmed.
-
Introduced a Preview Koios parity Docker Compose stack with Prometheus and provisioned Grafana dashboards, controlled by
KOIOS_PARITY_ENABLED. -
Repaired critical rollback cascade indexes by preserving the deferred index marker during Mithril sync cleanup and restoring missing critical indexes at startup.
-
Aligned migration test coverage with the existing
modernc.org/sqlitedriver. -
Added node parity watch mode with persisted cursors, per-block UTxO delta validation, periodic and priority full checkpoints, full-check timeouts, a trusted local NtC timeout, and a 2 GiB LocalStateQuery buffer. Watch defaults to incremental mode, supports
--mode=full|incremental,--full-check-interval, and--full-check-timeout, rejects--at-slotand--at-hash, requires--at-hashto decode to exactly 32 bytes, and reports historical check behavior more clearly. -
Expanded Prometheus monitoring with histograms for each per-block ledger stage and for BlockFetch decode latency.
-
Removed
COUNT(*)fromLatestPoolOpCertSequencewhile preserving its no-row behavior. -
Upgraded the root
pgx/v5dependency from5.10.0to5.11.0. -
Introduced a mainnet Conway PlutusV3 stored-output fixture that verifies script-context PlutusData against block decoding and declared budgets without changing production behavior.
-
Updated Vite in the
dingo-sundae-previewexample from8.2.2to8.3.0. -
Modernized the
connectrpc.com/connectdependency from1.20.0to1.21.0. -
Preserved metadata label indexes and CBOR when JSON projection is unavailable, returning null JSON values instead of dropping labels or failing requests.
-
Scoped ChainSync FindIntersect work budgets to individual connections.
-
Refreshed
@sundaeswap/corein thedingo-sundae-previewexample from2.13.1to2.14.1. -
Raised the Docker nview image from
0.15.0to0.15.1. -
Updated
golang.org/x/syncfrom0.22.0to0.23.0. -
Bounded snapshot manifests, Mithril downloads, and zstd extraction resources with configurable limits including
lifecycle.WithManifestMaxBytes,mithril.WithZstdLimits,BootstrapConfig.DownloadMaxBytes, andSyncConfig.DownloadMaxBytes. -
Normalized Conway redeemer data so
serialiseDatamatches chain encoding and updatedgouroborosto0.204.4. -
Introduced migration v14 many-to-many collateral transaction associations with rollback-safe cleanup.
-
Released idle LeiosNotify requests and event-log cursors when either NtC or NtN disconnects.
-
Removed obsolete Blockfrost authentication and token guidance; public API requests are anonymous with optional TLS only.
Docs authored by Doc Holiday