Releases: michaeljfazio/dugite
Dugite v2.0.13
Highlights — two consensus-critical ledger correctness fixes
Both are byte-exactness corrections vs cardano-node. No re-sync required — snapshot format is unchanged.
- #763 — reserves / treasury / reward drift fixed. The per-pool
BlocksMadecounter (epoch_blocks_by_pool) could drift during live sync, because it was reconstructed via an increment that cannot recover blocks applied through no-delta paths (gap-bridge advance / chunk replay after restarts or fork rollbacks). A short count skews the monetary-expansioneta = blocksMade/expectedBlocks, drifting reserves, treasury, and per-account rewards (and could trigger aWithdrawalAmountMismatchhalt). It is now reconstructed from an absolute per-delta snapshot, matching the existingreward_accounts/gov/pool_paramspattern. Verified no-drift by a live preview soak across a 41-restart epoch boundary — block count (2502), reserves, and treasury all byte-exact vs Koios. - #772 — Phase-2 script-evaluation over-charge fixed. The PlutusV1/V2
ScriptContextvalidity-range upper-bound closure was gated on the script language instead of the era. In Conway a finite upper bound is exclusive (strictUpperBound); pre-Conway a ttl-only bound is inclusive (PV1.to). The mismatch over-charged a validity-range-reading redeemer by +1453 cpu, flippingis_valid. Localized by building cardano-ledger and leaf-diffing its constructedScriptContextagainst dugite's (the closure was the only differing leaf); the fix makes the eval byte-exact (774,090,127).
Container Image
docker pull ghcr.io/michaeljfazio/dugite:2.0.13Available for linux/amd64 and linux/arm64.
Helm Chart
helm install dugite-relay \
oci://ghcr.io/michaeljfazio/charts/dugite-node \
--version 2.0.13 \
--set network.name=previewSee 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
What's Changed
- fix(ledger): reconstruct epoch_blocks_by_pool from absolute snapshot (#763) by @michaeljfazio in #776
- fix(uplc): era-gate validity-range upper-bound closure in ScriptContext (#772) by @michaeljfazio in #777
- chore(release): bump version to 2.0.13 by @michaeljfazio in #778
Full Changelog: v2.0.12...v2.0.13
Dugite v2.0.12
Container Image
docker pull ghcr.io/michaeljfazio/dugite:2.0.12Available for linux/amd64 and linux/arm64.
Helm Chart
helm install dugite-relay \
oci://ghcr.io/michaeljfazio/charts/dugite-node \
--version 2.0.12 \
--set network.name=previewSee 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
What's Changed
- perf+genesis: apply-throughput (registry cache 2.1x, Plutus deferral) + Haskell-faithful genesis-mode sync + fetch instrumentation by @michaeljfazio in #773
- config-wiring audit + fixes (v2.0.12) by @michaeljfazio in #775
Full Changelog: v2.0.11...v2.0.12
Conformance corpus conformance-corpus-v20260621-033346
Conformance corpus conformance-corpus-v20260621-033346
Generated at 2026-06-21T04:26:52Z by the regenerate-conformance-corpus workflow.
Upstream pins
[ouroboros-consensus]
sha = "b7135f845480f347f618217a00f6ecad4124766d"
[cardano-ledger]
sha = "ebed62de1ebcd4b13512418d49d17802a193e2c1"
[cardano-node]
sha = "9c20173514507050308bb5f2d67ac30cb0963ac9"
[plutus]
tag = "1.65.0.0"
[ledger-rules]
sha = "ebed62de1ebcd4b13512418d49d17802a193e2c1"
[cardano-base]
sha = "096124a9dfce0264270251115aaee64f574b50c3"
[mithril]
sha = "51874212d135567d7d1c85b811a23cc76e33372b"
Assets
ouroboros-consensus.tar.gzcardano-ledger.tar.gzcardano-node.tar.gzplutus.tar.gzledger-rules.tar.gzcardano-base.tar.gzmithril.tar.gzcorpus-manifest.json
Dugite v2.0.11
Container Image
docker pull ghcr.io/michaeljfazio/dugite:2.0.11Available for linux/amd64 and linux/arm64.
Helm Chart
helm install dugite-relay \
oci://ghcr.io/michaeljfazio/charts/dugite-node \
--version 2.0.11 \
--set network.name=previewSee 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.10...v2.0.11
Dugite v2.0.10
Container Image
docker pull ghcr.io/michaeljfazio/dugite:2.0.10Available for linux/amd64 and linux/arm64.
Helm Chart
helm install dugite-relay \
oci://ghcr.io/michaeljfazio/charts/dugite-node \
--version 2.0.10 \
--set network.name=previewSee 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
What's Changed
- ChainSync robustness (ForkTooDeep severity, stale-RollForward recovery) + PlutusV2 PV11 cost shapes by @michaeljfazio in #771
Full Changelog: v2.0.9...v2.0.10
Dugite v2.0.9
Container Image
docker pull ghcr.io/michaeljfazio/dugite:2.0.9Available for linux/amd64 and linux/arm64.
Helm Chart
helm install dugite-relay \
oci://ghcr.io/michaeljfazio/charts/dugite-node \
--version 2.0.9 \
--set network.name=previewSee 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.8...v2.0.9
Dugite v2.0.8
Container Image
docker pull ghcr.io/michaeljfazio/dugite:2.0.8Available for linux/amd64 and linux/arm64.
Helm Chart
helm install dugite-relay \
oci://ghcr.io/michaeljfazio/charts/dugite-node \
--version 2.0.8 \
--set network.name=previewSee 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.7...v2.0.8
Dugite v2.0.7
Container Image
docker pull ghcr.io/michaeljfazio/dugite:2.0.7Available for linux/amd64 and linux/arm64.
Helm Chart
helm install dugite-relay \
oci://ghcr.io/michaeljfazio/charts/dugite-node \
--version 2.0.7 \
--set network.name=previewSee 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
What's Changed
- release: v2.0.7 — Conway byte-exactness fixes + #760 genesis-CSJ wedge by @michaeljfazio in #765
Full Changelog: v2.0.6...v2.0.7
Conformance corpus conformance-corpus-v20260614-031942
Conformance corpus conformance-corpus-v20260614-031942
Generated at 2026-06-14T04:09:45Z by the regenerate-conformance-corpus workflow.
Upstream pins
[ouroboros-consensus]
sha = "b7135f845480f347f618217a00f6ecad4124766d"
[cardano-ledger]
sha = "ebed62de1ebcd4b13512418d49d17802a193e2c1"
[cardano-node]
sha = "9c20173514507050308bb5f2d67ac30cb0963ac9"
[plutus]
tag = "1.65.0.0"
[ledger-rules]
sha = "ebed62de1ebcd4b13512418d49d17802a193e2c1"
[cardano-base]
sha = "096124a9dfce0264270251115aaee64f574b50c3"
[mithril]
sha = "51874212d135567d7d1c85b811a23cc76e33372b"
Assets
ouroboros-consensus.tar.gzcardano-ledger.tar.gzcardano-node.tar.gzplutus.tar.gzledger-rules.tar.gzcardano-base.tar.gzmithril.tar.gzcorpus-manifest.json
Dugite v2.0.6
dugite v2.0.6
Ledger byte-exactness and genesis-mode bootstrap release. Four fixes, each
root-caused against a confirmed mainnet/preprod artifact and the Haskell
reference, validated live, and pinned with regression tests.
Fixes
-
node: genesis-mode reaches the tip when bootstrapped from a Mithril
snapshot (closes #757). A--consensus-mode genesisnode booted from a
Mithril snapshot froze at exactlysnapshot_tip + k: with zero big-ledger
peers at startup (nopeerSnapshotFile; ledger discovery deferred ~5 min)
the GSM stayed in PreSyncing, where LoE caps selection at k. Oracle-confirmed
Haskell semantics (isHaaSatisfiedunderUseBootstrapPeersis satisfied by
trusted bootstrap peers, and a recent/Mithril-certified selection is past the
from-genesis-vulnerable regime where GDD alone guards the bounded gap): the
GSM now suppresses the Syncing→PreSyncing HAA-loss regression while the tip is
recent, only regressing if HAA is lost AND the tip is stale. Cold-start from
genesis still requires full HAA; Praos is byte-identical. Proven live on
preprod: a node frozen atsnapshot_tip + kunstuck and reached the live
tip in Syncing. -
ledger: redeemers required only for Plutus-script purposes, not native
(closes #758). A confirmed Babbage tx spending a native-multisig-locked input
was falsely rejected withMissingSpendRedeemer— native scripts have no
redeemers. Haskell'shasExactSetOfRedeemersfiltersredeemersNeededto
Plutus scripts only. Now all purposes (Spend/Reward/Cert/Vote) gate the
redeemer requirement — and the extra-redeemer check — on the credential's
locking script resolving to Plutus, matching the reference. Pinned with a
real on-chain tx plus native/Plutus positive+negative controls per purpose. -
ledger: duplicate-input rejection only at PV≥9 (closes #759). A confirmed
Babbage tx whose spend-inputs array carried the sameTxIntwice was falsely
rejected. Haskell'sdecodeSetat PV<9 routes throughSet.fromListand
silently drops the duplicate (noDuplicateInputpredicate exists pre-Conway);
only PV≥9 usesdecodeSetEnforceNoDuplicates. The check is now gated on
protocol_version_major >= 9. Conway+ rejection unchanged; pinned with the
real on-chain tx. -
ledger: pin Conway RUPD inputs survive snapshot round-trip (closes #755).
A forensic investigation traced a ~996K ADA reserves over-allocation in one
validation DB to a v2.0.2-line binary at boundary 388→389 — a state
artifact, not a live-code defect (current code verified clean across 60+
live epoch boundaries; the #736 fixes closed the pv≤6 restart-during-RUPD
window). Adds a regression test pinning that the Conway RUPD inputs
(go/bprev/ss_fee/prevPParams) survive snapshot save/restore byte-exact, so the
artifact's mechanism can never silently regress.
Validation
just check, conformance (6027/6027), an adversarial multi-agent code review
(which caught and forced corrections to the first #757 and #758 attempts), live
preprod genesis-bootstrap validation, and devnet-validate-extended (3 rounds)
all green on the tag commit.
Container Image
docker pull ghcr.io/michaeljfazio/dugite:2.0.6Available for linux/amd64 and linux/arm64.
Helm Chart
helm install dugite-relay \
oci://ghcr.io/michaeljfazio/charts/dugite-node \
--version 2.0.6 \
--set network.name=previewSee 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.5...v2.0.6