Skip to content

Dugite v2.0.1

Choose a tag to compare

@github-actions github-actions released this 10 Jun 16:37
· 181 commits to main since this release

What's changed in v2.0.1

A bug-fix release hardening Plutus phase-2 admission, Byron-era block storage/serving, and bulk-sync throughput. No wire-format or ledger-semantic changes; v2.0.1 is a drop-in replacement for v2.0.0.

Consensus / ledger correctness

  • Phase-2 admission partition (#733/#734). Transaction phase-2 outcomes are now split into genuine script-evaluation failures (which legitimise is_valid=false) and collection/context errors (CollectErrors: decode failures, missing script/datum, validity-interval time translation past the safe-zone horizon), mirroring the Haskell UTXOS rule exactly. Collection errors now reject the transaction regardless of the is_valid tag — closing a hole where an is_valid=false tx whose scripts actually pass, or whose context errors out (e.g. a past-horizon TTL), could be admitted, forged, and produce a block that cardano-node rejects. Resolved UTxOs created pre-Conway are re-decoded with prune semantics so legitimate Conway spends of zero-asset outputs are not spuriously rejected.
  • Conway committee / vote byte-exactness (#731). GOVCERT future-member handling, committee-state pruning, and vote de-duplication corrected for byte-exact alignment with cardano-ledger.
  • Zero-quantity multi-asset entries (#730). Pruned pre-Conway, rejected in Conway, matching cardano-ledger's decoder-version-gated decodeMultiAsset.

Byron-era storage & serving

  • Byron Epoch Boundary Blocks (EBBs) are no longer dropped at volatile→immutable flush batch boundaries; ChainSync/BlockFetch now serve same-slot EBB/main-block pairs via point-cursor iteration.
  • From-genesis replay wipes a stale on-disk LSM UTxO store, fixing a Byron→Shelley reserves=0 / MIR panic.

Performance & operability

  • Bulk-sync throughput +59%. The N2C LocalStateQuery snapshot rebuild (~1.4 s at mainnet scale) now runs at a 30 s cadence during catch-up instead of every block, eliminating a metronomic apply-loop stall that consumed ~57% of wall time during sync (20.2 → 32.0 blk/s on a dense mainnet segment).
  • dugite-monitor "Stuck" debounce. The tip/header pills now require 90 s of sustained no-advance before reporting Stuck/Stalled, instead of flapping red on any single quiet 1 s poll window during legitimately bursty heavy-era sync.

Testing

  • New tx-zoo 03m past-horizon-rejection test (both is_valid polarities); 03j/03l TTLs kept inside the time-translation horizon; 03l harness crash fixed.

Deferred: the block-apply half of #733 (making CollectErrors fatal at block application) is tracked on the issue with the corrections an adversarial review surfaced (TransitionKnown horizon, Alonzo-era gate, panic handling, partial-replay carve-out).

Full Changelog: v2.0.0...v2.0.1


QA — devnet-validate (standard preset)

devnet-validate report

Result ✅ PASS
Git 501ba2577a6465ddcd57035098bf24e7c29ba56f
Preset standard
cardano-node 11.0.1
cardano-cli 11.0.0.0
Generated 2026-06-10T11:55:09Z

Round summary

Round Result Canonical blocks Tx-zoo CLI parity Tip-age p99 Chain density
restart ✅ PASS 159 0/84 ✅ 0✓ 8.00s 0.528

Total canonical blocks: 159
Total tx-zoo pass/fail: 0 / 0

Predicate breakdown

Round: restart

Predicate Result Detail
p1 — forge-cross-check PASS (149 canonical blocks, >=3 observers each; 10 orphan(s) excluded)
p2 — per-bp-attribution PASS (validator-only: pool1=159, pool2=0 as designed)
p3 — tx-inclusion PASS (12 txs submitted; 0 accepted/0 rejected — all 3 nodes agree)
p4 — tip-parity PASS (59/59 ticks in-parity = 100% across all 3 observers)
p5 — tip-age PASS (threshold 300s; dugite-bp=max8s/last2s/n48 dugite-relay=max8s/last2s/n48)

Generated by .claude/skills/devnet-validate/scripts/generate-release-report.sh
Schema: .claude/skills/devnet-validate/schemas/report.v1.json


Container Image

docker pull ghcr.io/michaeljfazio/dugite:2.0.1

Available for linux/amd64 and linux/arm64.

Helm Chart

helm install dugite-relay \
  oci://ghcr.io/michaeljfazio/charts/dugite-node \
  --version 2.0.1 \
  --set network.name=preview

See Kubernetes Deployment for the full chart reference.

Binary Downloads

Platform Architecture Download
Linux x86_64 dugite-x86_64-linux.tar.gz
Linux aarch64 dugite-aarch64-linux.tar.gz
macOS x86_64 dugite-x86_64-macos.tar.gz
macOS Apple Silicon dugite-aarch64-macos.tar.gz

Verify checksums: sha256sum -c SHA256SUMS.txt

Full Changelog: v2.0.0...v2.0.1