Skip to content

Release Notes - 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.

NetworkCompatible
mainnet
preprod-testnet
preview-testnet
musashi
  • 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 GetUTxOWhole CBOR 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 MessageMempool with bounded retention, TTL expiry, per peer FIFO cursors, deduplication, optional events, identifier validation, and cloning protections.

  • Refreshed the standalone phase 2 CIP-0137 DMQ Authenticator with 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-lens example to use pgx/v5 version 5.11.0.

  • Improved credential UTxO stake aggregation in SQL and translated MySQL BIGINT casts correctly.

  • Optimized GetUtxosByRefs lookups around indexed tx_id queries 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 skipRewardLiveStakeBackfillCheck through YAML, the CLI, and the environment, with a default of false; the option skips only the expensive reward live stake consistency scan and retains the consensus snapshot provenance guard.

  • Refreshed the dingo-blockfrost-explorer example’s @types/node dependency.

  • Modernized the SQLite driver with modernc.org/sqlite while preserving the sqlite driver 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 BatchDone for incomplete ranges.

  • Stabilized asynchronous ledger test waits under load.

  • Renewed the dingo-sundae-preview example’s @types/node dependency.

  • Secured LeiosFetch admission by reserving per connection capacity atomically, preventing concurrent oversubscription.

  • Upgraded the bark dependency to version v0.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/sqlite driver.

  • 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-slot and --at-hash, requires --at-hash to 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(*) from LatestPoolOpCertSequence while preserving its no-row behavior.

  • Upgraded the root pgx/v5 dependency from 5.10.0 to 5.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-preview example from 8.2.2 to 8.3.0.

  • Modernized the connectrpc.com/connect dependency from 1.20.0 to 1.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/core in the dingo-sundae-preview example from 2.13.1 to 2.14.1.

  • Raised the Docker nview image from 0.15.0 to 0.15.1.

  • Updated golang.org/x/sync from 0.22.0 to 0.23.0.

  • Bounded snapshot manifests, Mithril downloads, and zstd extraction resources with configurable limits including lifecycle.WithManifestMaxBytes, mithril.WithZstdLimits, BootstrapConfig.DownloadMaxBytes, and SyncConfig.DownloadMaxBytes.

  • Normalized Conway redeemer data so serialiseData matches chain encoding and updated gouroboros to 0.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.


Doc Holiday logo

Docs authored by Doc Holiday

Edit page

Last updated: