| title | Release notes |
|---|
- Date: 2026-07-14
- Version: 0.187.4
This release keeps the published release history current by recording the prior v0.187.3 entry.
- Updated the release history to include the prior
v0.187.3entry so recent changes remain easy to review.
- Date: 2026-07-07
- Version: 0.187.3
This release improves Conway redeemer decoding so block syncing keeps moving when duplicate redeemer keys appear in block data accepted by cardano-node.
- Fixed Conway redeemer decoding so duplicate
(tag, index)keys now trigger lenient decoding after a duplicate map key error, while redeemer hashes still come from the originalCBORbytes.
- Date: 2026-07-07
- Version: 0.187.1
This release improves Dijkstra block compatibility and restores correct validation for genesis staking pool metadata and VRF keys.
- Updated Dijkstra block bodies to the new
Transactions,InvalidTransactions,LeiosCertificate, andPerasCertificatelayout, and applications that read or build Dijkstra blocks must now validate them withblake2b256(block_body).
-
Fixed genesis staking pool parsing so Shelley
publicKey,vrf,owners, andmetadataaliases load correctly and pools validate with the expected VRF key hash. -
Improved Dijkstra decoding and encoding so inline transactions, transaction offsets, and Plutus V4 witness script offsets match the reference CDDL.
- Date: 2026-07-06
- Version: 0.187.0
This release adds Dijkstra reference-script size checks and updates Leios certificate handling for prototype-2026w27, including a breaking accessor update for downstream consumers.
- Added Dijkstra reference-script size limit enforcement so oversized scripts now fail against configured per-transaction and per-block limits with typed errors.
- Updated Leios block headers to expose typed
LeiosCertifiedandLeiosAnnouncementaccessors instead ofLeiosEndorserBlockRef, and the decoder now rejects malformed placeholder certificates and other wrongly shaped payloads.
-
Fixed Dijkstra block encoding so Leios certificates now use the prototype-2026w27 in-body layout and include empty transaction component slots when a Leios certificate is present.
-
Improved Leios certificate decoding so only well-formed certificates with
SignersandAggregatedSignaturefields load successfully.
- Date: 2026-07-06
- Version: 0.186.3
This release fixes Conway witness decoding for tolerated duplicate set members and keeps CI linting tooling current.
- Fixed Conway witness decoding so historical blocks with duplicate
vkeywitnesses,bootstrapwitnesses,nativescripts, orPlutusdata now decode successfully in Conway protocol versions 9 through 11 instead of failing withduplicate member in set, whilePlutusscript sets still reject duplicates.
- Updated the lint workflow to use
golangci-lintaction v9.3.0, leaving application runtime unchanged.
- Date: 2026-07-05
- Version: 0.186.2
This release tightens duplicate-member validation in Dijkstra and Conway tagged set decoding and makes pre-Conway MultiAsset decoding more tolerant of duplicate map keys.
-
Strengthened duplicate-member validation in Dijkstra and Conway tagged set decoding and added negative fixtures for duplicate witness, redeemer, sub-transaction, input, and guard set members.
-
Improved pre-Conway
MultiAssetdecoding to accept duplicatePolicyIDandAssetNamekeys with last-wins behavior while Conway and Dijkstra still reject duplicateMultiAssetkeys after decode.
- Refined the prior
v0.186.1release note wording for clarity and consistency.
- Date: 2026-06-30
- Version: 0.186.1
This release fixes operational certificate verification compatibility, corrects Dijkstra redeemer decoding, preserves protocol parameter cost model updates during deterministic data conversion, refreshes key dependencies, and updates workflow tooling.
- Fixed operational certificate signing and verification so the library now uses the correct raw certificate bytes, allowing real Cardano operational certificates and headers to verify correctly instead of being rejected.
- Corrected Dijkstra redeemer decoding so redeemer data and execution units stay intact during block decoding and synchronization instead of failing to load.
- Updated Conway and Dijkstra protocol parameter updates to preserve cost model updates during deterministic data conversion, so governance and script context consumers retain those values.
- Updated
github.com/blinklabs-io/plutigotov0.1.16, bringing upstream Plutus related security, validation, and performance improvements to consumers of this module. - Refreshed
github.com/blinklabs-io/ouroboros-mocktov0.14.0, updating the bundled mock and fixture dependency for developers and test consumers. - Advanced
actions/setup-gotov6.5.0, refreshing Go toolchain setup in repository workflows.
- Date: 2026-06-25
- Version: 0.186.0
This release restores GetDRepState compatibility with cardano-node and cardano-cli for Conway governance workflows, and it strengthens TxSubmission message encoding and decoding reliability so protocol compatibility stays more reliable over time.
- Restored
GetDRepStatecompatibility so cardano-node, cardano-cli, and other clients can decode DRep state correctly with the expected four element wire format, including delegator information and the correct anchor encoding shape.
- Strengthened TxSubmission message coverage with broader table driven and byte exact
CBORchecks across supported message types, improving regression detection and confidence in protocol message compatibility.
- Date: 2026-06-23
- Version: 0.185.0
This release renames the Leios test network identifier to Musashi, refreshes benchmark reference documentation with current commands and results, and updates RELEASE_NOTES.md to keep the published release history current.
- Updated the Cardano test network identifier from Leios to Musashi, requiring integrations that select the former test network value to switch to the new name.
-
Refreshed benchmark reference documentation with current commands, a Go
1.25.8environment on Linux arm64, and updated benchmark results. -
Documented the prior
v0.184.0entry inRELEASE_NOTES.md. -
Polished the wording in the
v0.184.0release notes inRELEASE_NOTES.md. -
Refined the formatting and terminology in the
v0.184.0release notes inRELEASE_NOTES.md.
- Date: 2026-06-22
- Version: 0.184.0
This release expands Dijkstra and Leios interoperability, improves CBOR safety and throughput, refreshes security related dependencies, and keeps examples, continuous integration, fuzzing, linting, and release history aligned with current library behavior.
-
Added broader Dijkstra and Leios header interoperability so ranking blocks can carry Leios header extensions, endorser block references decode from both supported wire shapes, and Leios notification requests can stay open without interrupting other active protocols when no callback is configured.
-
Expanded Leios prototype interoperability so endorser block references, block transaction exchanges, and pushed vote notifications decode across the supported prototype and library message shapes.
-
Fixed generic
CBORvalue decoding so maps that usenullor undefined keys now decode cleanly instead of failing or panicking, including nested metadata shapes. -
Introduced a dedicated
VRFproof verification failure error so integrations can distinguish invalid proofs from malformed inputs, while benchmark coverage now flags only unexpected verification errors.
- Improved generic
CBORencode and decode throughput by reducing cache lock contention, while invalid generic inputs now return clear errors for unsupported values.
- Updated
golang.org/x/cryptotov0.53.0and refreshedgolang.org/x/systov0.46.0across the main module and example modules.
-
Refreshed example module dependencies so the example builds stay tidy after the latest dependency updates.
-
Updated
github.com/blinklabs-io/ouroboros-mocktov0.13.0. -
Advanced GitHub Actions checkout workflows to
v7.0.0. -
Replaced the module guard in lint checks with
gomodguard_v2. -
Tightened fuzz workflow package targeting so each fuzz job runs against the exact package that owns its target.
-
Documented the prior
v0.183.0release entry inRELEASE_NOTES.md.
- Date: 2026-06-12
- Version: 0.183.0
This release expands local state queries with account state access, moves Leios related integrations to the Dijkstra era model, prevents validation enabled pipelines from applying blocks that never passed validation, and updates RELEASE_NOTES.md to include the prior v0.182.0 entry.
- Added
GetAccountStatesupport so clients can request treasury and reserves without decode failures or dropped connections, while calls before Conway now return a clear error instead of sending an unsupported query.
- Updated Leios era handling so code importing Leios specific packages or relying on
EnableLeiosEramust migrate to the Dijkstra era model and the new package locations for Leios overlay types.
- Fixed validation enabled pipeline enforcement so
ErrBlockNotValidatednow surfaces when a block never passed validation, and validation enabled pipelines no longer apply blocks that skipped validation.
- Refreshed
RELEASE_NOTES.mdto include the priorv0.182.0entry.
- Date: 2026-06-09
- Version: 0.182.0
This release adds Conway governance helper APIs with stronger validation for proposal and action creation, expands governance query examples and embedded documentation, restores reliable 32 bit builds, refreshes key dependencies and workflow upkeep, and keeps RELEASE_NOTES.md aligned with the latest published history.
- Added Conway governance helper APIs so applications can build proposal procedures and governance actions with stronger validation and safer value handling.
- Fixed 32 bit compatibility so supported builds no longer fail on overflowing integer comparisons and casts.
- Expanded governance query examples and Conway governance guidance so embedded documentation explains the newer query flows more clearly.
- Updated
github.com/blinklabs-io/plutigotov0.1.15. - Refreshed
github.com/blinklabs-io/ouroboros-mocktov0.12.0. - Advanced
actions/checkouttov6.0.3in workflow automation. - Documented the prior
v0.181.0release entry inRELEASE_NOTES.md.
- Date: 2026-06-07
- Version: 0.181.0
This release expands Leios support through the Leios testnet network definition and typed endorser block handling, adds ledger metadata helpers for JSON parsing and metadata CBOR workflows, introduces voting procedure helper APIs for safer value management, and refreshes RELEASE_NOTES.md with the prior release entries.
- Added the Leios testnet network definition so standard network lookups can target the Leios testnet with the published network magic
164and its bootstrap peer. - Improved voting procedure helpers so applications can add or replace entries by value, look up existing procedures, clone procedure sets, receive defensive copies, and keep existing
CBORencoding behavior unchanged. - Expanded metadata helpers so applications can parse metadata
JSONwith or without detailed schemas, keep metadata map encoding in deterministic canonicalCBORorder, and build Shelley auxiliary data that carries metadata only.
- Updated Leios endorser block handling so applications now receive typed
CIP-0164endorser blocks with stricterCBORvalidation, and downstream code must rename the exported alias fromLeiosEndorderBlocktoLeiosEndorserBlock.
- Refreshed
RELEASE_NOTES.mdto include the priorv0.180.0andv0.180.1entries so the recent release history remains complete.
- Date: 2026-06-03
- Version: 0.180.1
This release fixes Conway and later Plutus V1 and V2 mint encoding so transaction data now matches ledger expectations during building, serialization, and evaluation, preventing incompatible mint representations while leaving earlier protocol versions unchanged.
- Fixed Conway and later Plutus V1 and V2 mint encoding so zero quantity mint values now match the ledger format expected during Conway transaction building, serialization, and validation.
- Date: 2026-06-02
- Version: 0.180.0
This release introduces initial Dijkstra era support, corrects Leios committee voting and stake parameter handling, fixes rewards calculation when total pool rewards fall below the fixed fee, hardens protocol behavior against blockfetch panics from invalid configurations, and includes routine dependency, formatting, and test maintenance.
- Added initial Dijkstra era support so integrations can track the latest era coverage in the library.
- Corrected Leios vote and EB certificate handling so stake based committees behave as expected.
- Refined Leios stake and parameter handling so related configuration paths behave consistently.
- Fixed rewards calculation so pools handle cases where total pool rewards are lower than the fixed fee.
- Hardened protocol startup behavior so invalid blockfetch configurations fail cleanly instead of panicking.
- Updated rewards formatting cleanup so rewards related output stays clearer and more consistent.
- Refreshed ledger test cleanup so routine coverage remains easier to maintain.
- Advanced
github.com/blinklabs-io/plutigofromv0.1.13tov0.1.14.
- Date: 2026-05-27
- Version: 0.179.0
This release adds the LeiosVotes mini-protocol as the primary change for CIP-0164 vote diffusion, connects it to library level protocol handling, expands embedded protocol references and limits guidance, and includes a release-history clarification update in RELEASE_NOTES.md.
- Added the
LeiosVotesmini-protocol so node to node integrations can diffuseCIP-0164votes through dedicated client and server handling. - Expanded connection setup and embedded protocol references so
Connection.LeiosVotes()andWithLeiosVotesConfigexpose the new vote diffusion flow alongside updated limits, protocol documentation, and validation coverage.
- Documented the mistagging clarification in
RELEASE_NOTES.mdso release history now states that no versions were published betweenv0.171.0andv0.178.0.
- Date: 2026-05-26
- Version: 0.178.0
This release migrates starter-kit example commands into gOuroboros and reorganizes them as self-contained example modules, adds Cardano-aware CBOR diagnostic formatting plus public diagnostics APIs with tests and benchmarks, and includes dependency, security, CI, and release-notes maintenance updates.
- Added built-in example commands so common node tasks now ship with the library instead of requiring a separate starter kit.
- Expanded CBOR diagnostics so Cardano data now displays clearer transaction, block, script, and address details during inspection.
- Introduced public CBOR diagnostics APIs so applications can inspect encoded data through reusable parsing, formatting, tests, and benchmarks.
- Hardened bundled cryptography dependencies by updating
golang.org/x/cryptotov0.52.0and refreshing indirectgolang.org/x/systov0.45.0.
- Reorganized the included example commands into self-contained example modules so each example can build and run with its own local module setup.
- Updated
github.com/utxorpc/go-codegentov0.19.2. - Refreshed the
golangci-lintGitHub Action tov9.2.1. - Documented the prior
v0.171.0release entry inRELEASE_NOTES.md.
- Date: 2026-05-21
- Version: 0.171.0
This release expands LocalStateQuery with GetLedgerPeerSnapshot support for node to client protocol version 19 and later, strengthens distributed message queue expiration checks through explicit time validation with ValidateMessageTTLAt, improves ledger failure reporting by decoding incomplete withdrawals into typed results, and includes notable dependency and tooling maintenance alongside collateral return regression test cleanup.
- Added
GetLedgerPeerSnapshotsupport soLocalStateQuerycan return ledger peer snapshots on node to client protocol version 19 and later. - Improved distributed message queue expiration checks so
ValidateMessageTTLAtcan validate message TTLs against an explicit evaluation time for deterministic handling.
- Corrected incomplete withdrawal failure decoding so ledger validation now returns typed results for
IncorrectWithdrawalsacross Shelley family and Conway eras.
- Refined collateral return regression cleanup so later ledger validation checks keep reliable test state.
- Updated
github.com/blinklabs-io/plutigotov0.1.13. - Refreshed
github.com/btcsuite/btcd/btcutiltov1.2.0. - Modernized
github.com/blinklabs-io/ouroboros-mocktov0.11.0. - Advanced
andrewslotin/go-proxy-pull-actiontov1.5.0.
- Date: 2026-05-15
- Version: 0.170.1
This release hardens validation for withdrawals, collateral returns, unknown Conway redeemer tags, and unsupported script validation paths, improves protocol reliability during message draining, startup configuration, and version negotiation, strengthens block and data validation, corrects pipeline drain accounting, and includes documentation, regression test, and release notes maintenance updates.
- Corrected withdrawal validation so key credential withdrawals require the matching witness before funds can move.
- Strengthened collateral return checks so transactions fail when a collateral return exceeds the allowed amount.
- Hardened block validation so non canonical leader proof key hashes fail validation instead of slipping through.
- Secured validation fallback behavior so unsupported script validation paths stop with a clear error instead of continuing.
- Stabilized handshake handling so unsupported versions fail cleanly without triggering nil crashes.
- Normalized node to client setup so nil configurations no longer break constructor behavior.
- Tightened Conway redeemer tag validation so unknown redeemer tags fail immediately with a clear error.
- Refined data decoding so duplicate map keys are rejected instead of being accepted silently.
- Balanced pipeline drain accounting so in flight apply work remains counted until drain completes.
- Filtered message drain results so expired notifications do not remain in returned results.
- Clarified block local verification guidance so library behavior is easier to interpret in embedded documentation.
- Verified collateral return reset handling with regression coverage so later validation checks remain reliable.
- Date: 2026-05-14
- Version: 0.170.0
This release adds peer sharing mini protocol support with handshake gated behavior and interoperability coverage, aligns distributed message handling with the latest CIP-0137 behavior for stronger validation, refines CBOR panic recovery so unexpected failures remain visible, expands metadata and message fuzzers to strengthen malformed input handling, and updates RELEASE_NOTES.md with the prior release entry.
- Added peer sharing so node to node connections can request peer addresses only when both sides advertise support, while interoperability coverage confirms the expected behavior against reference nodes.
- Corrected distributed message validation so message IDs, wire formats, version handling, and peer behavior stay aligned with the latest
CIP-0137expectations for safer integrations. - Refined
CBORpanic recovery so unsupported map key cases still return clear decode errors while unexpected panics surface instead of being masked.
- Expanded metadata and message fuzzing so malformed inputs across metadata, auxiliary data, and protocol message decoding fail with errors instead of crashing.
- Updated
RELEASE_NOTES.mdto add the priorv0.169.0release entry.
- Date: 2026-05-12
- Version: 0.169.0
This release improves CBOR decode diagnostics with richer structured context, fixes the BlockFetch shutdown race so shutdown remains safe when a connection is already closing, makes malformed generic metadata map keys fail with a clear error instead of panicking, updates github.com/fxamacker/cbor/v2 to v2.9.2, updates golang.org/x/crypto to v0.51.0, updates github.com/blinklabs-io/plutigo to v0.1.11, and adds the release-notes maintenance update for the prior entry.
- Enhanced
CBORdecode diagnostics so decode failures report richer structured context, including byte offsets, expected versus found details, raw byte previews, transaction level error context, and clearer validation error diagnostics.
- Fixed the
BlockFetchshutdown race so repeated shutdown calls now succeed cleanly and remain safe when the connection is already closing. - Corrected generic metadata map decoding so malformed map keys now fail with a clear error instead of triggering a nil pointer panic.
- Updated
golang.org/x/cryptotov0.51.0and refreshed indirectgolang.org/x/systov0.44.0.
- Updated
github.com/fxamacker/cbor/v2tov2.9.2, bringing upstreamCBORhardening and bug fix improvements. - Refined
github.com/blinklabs-io/plutigofromv0.1.9tov0.1.11, bringing upstream fixes and performance improvements. - Added the prior
v0.168.0release entry toRELEASE_NOTES.md.
- Date: 2026-05-09
- Version: 0.168.0
This release adds Conway PV9 governance checks that reject governance actions and parameter updates that must wait until Plomin or PV10, adds CBOR inspection tools that can jump to a byte position and show an annotated hex view, fixes blockfetch cleanup during disconnect and shutdown scenarios so later requests do not stall, and expands ledger regression coverage for forward compatible handling when future cost model lists grow.
- Added Conway governance checks that reject governance actions and restricted parameter changes that are not allowed until Plomin or PV10, improving protocol version correctness and producing clearer validation failures.
- Expanded CBOR diagnostics so callers can find nodes and paths by byte offset, review annotated hex views, and decode one or more items into diagnostic trees for easier binary inspection and troubleshooting.
- Fixed blockfetch request cleanup so disconnects, shutdowns, and error paths release correctly and later
GetBlockandGetBlockRangecalls do not hang behind an orphaned busy lock.
- Expanded ledger and compatibility coverage for longer cost model lists so forward compatible Conway and Plutus handling is validated across encoding, parameter updates, and genesis loading.
- Date: 2026-05-05
- Version: 0.167.0
This release adds a new CBOR diagnostic parser and CIP-0137 DMQ node-to-client support, hardens rational value serialization and protocol startup cleanup, aligns Conway and Plomin protocol version handling, and includes routine dependency, documentation, and lint maintenance.
- Added a
CBORdiagnostic parser that can show offsets, preserve formatting detail, and make complex encoded data easier to inspect and troubleshoot. - Expanded
CIP-0137DMQ node-to-client support so applications can submit and receive distributed messages through dedicated local message protocols.
- Fixed rational value
JSONserialization so large and negative values encode reliably and zero denominator inputs fail cleanly instead of triggering panics. - Improved protocol startup cleanup so failed handshake and transaction submission send attempts stop cleanly and avoid lingering shutdown errors.
- Corrected Conway and Plomin protocol version handling so version names and upper bounds stay aligned with current era support.
- Date: 2026-05-02
- Version: 0.166.1
This release adds explicit protocol-version range constants for era packages and fixes reliability issues in default ChainSync pipelining and deeply nested CBOR structure dumping.
- Added
MinProtocolVersion*andMaxProtocolVersion*constants for the Shelley, Allegra, Mary, Alonzo, Babbage, and Conway era packages so callers can map protocol major versions to eras and validate compatibility boundaries.
- Fixed the default
ChainSyncpipeline so the default configuration no longer deadlocks during synchronization. - Improved
DumpCborStructuresafety by using the shared nested level limit, truncating overly deep output with..., and adding a regression test so deeply nestedCBORdata no longer risks a panic.
- Date: 2026-04-24
- Version: 0.165.3
This release keeps connection shutdown cleanup to a single pass so duplicate close paths no longer panic during setup failures or externally triggered closes, restores the default Sanchonet bootstrap peer so default network configuration can connect successfully again, and includes routine contributor guidance and release note maintenance.
- Fixed connection shutdown cleanup to run exactly once so duplicate shutdown paths do not panic with
close of closed channelerrors during setup failures or externally triggered closes. - Restored the default Sanchonet bootstrap peer to a working host and port so default network configuration can connect successfully again.
- Updated contributor guidance by refreshing
AGENTS.mdand addingCLAUDE.md. - Added the prior
v0.165.2release entry toRELEASE_NOTES.md.
- Date: 2026-04-19
- Version: 0.165.2
This release updates github.com/blinklabs-io/plutigo to v0.1.8, refreshes repository copyright headers for 2026, and refreshes RELEASE_NOTES.md to include the prior v0.165.1 release entry.
- Updated
github.com/blinklabs-io/plutigotov0.1.8. - Refreshed repository copyright headers to
2026. - Added the prior
v0.165.1release entry toRELEASE_NOTES.md.
- Date: 2026-04-18
- Version: 0.165.1
This release keeps auxiliary data decoding compatible when future extension keys appear, so metadata at key 0 still loads correctly and raw auxiliary data still round trips as expected. It also refreshes RELEASE_NOTES.md for this version.
- Improved auxiliary data decoding to ignore unknown integer keyed
CBORmap entries, continue extracting metadata from key0, and prove through regression coverage that metadata and raw auxiliary data still round trip when a future era extension key such as key6is present.
- Date: 2026-04-17
- Version: 0.165.0
This release improves consensus threshold precision for higher active slot coefficients, hardens minimum fee calculation with overflow detection and propagated errors, updates github.com/blinklabs-io/plutigo to v0.1.7, and updates RELEASE_NOTES.md to add the prior release entry.
- Improved consensus threshold precision for higher active slot coefficients by using higher precision calculations with expanded validation so threshold results converge accurately.
- Hardened minimum fee calculation by detecting multiplication and addition overflow, returning descriptive errors, and propagating those failures through fee validation paths with test coverage.
- Updated
github.com/blinklabs-io/plutigofromv0.1.6tov0.1.7. - Refreshed
RELEASE_NOTES.mdto include thev0.164.0entry.
- Date: 2026-04-13
- Version: 0.164.0
This release includes improved MessageSubmission protocol version selection, handshake query support, and dependency and CI updates.
- Added versioned
MessageSubmissionstate machines (V1andV2) with automatic selection based on the negotiated protocol version. - Added a connection-level handshake query mode that terminates after the query reply and exposes the returned version map to callers.
- Updated
golang.org/x/cryptotov0.50.0andgolang.org/x/systov0.43.0.
- Updated
github.com/fxamacker/cbor/v2tov2.9.1. - Updated
github.com/blinklabs-io/plutigotov0.1.6andgithub.qkg1.top/ethereum/go-ethereumtov1.17.2. - Updated GitHub Actions workflows to use
actions/github-script@v9.0.0andactions/upload-artifact@v7.0.1. - Added a
nilawayCI workflow and amake nilawaytarget to run nil safety analysis. - Updated
RELEASE_NOTES.mdto include thev0.163.5entry.
- Date: 2026-04-02
- Version: 0.163.5
This release includes Byron block offset extraction, Byron validation hardening, and dependency and documentation updates.
- Added Byron block detection and transaction and output offset extraction.
- Fixed block ingestion to reject invalid Byron block body lengths and standardize Byron transaction validation errors.
- Updated
README.mdto add a DeepWiki badge link. - Updated
plutigotov0.1.0. - Updated
RELEASE_NOTES.mdto include thev0.163.4entry.
- Date: 2026-03-30
- Version: 0.163.4
This release includes separate BlockFetch pending message limits for Idle and Busy states, a Conway-era transaction validation fix, and CI workflow updates.
- Added separate
BlockFetchpending message limits forIdleandBusystates.
- Fixed Conway-era transaction validation to reject invalid data.
- Updated configuration and tests for the
BlockFetchpending message limit split. - Added a regression test to cover the Conway-era transaction validation fix.
- Updated GitHub Actions workflows to use
actions/setup-go@v6.4.0(fromv6.3.0). - Updated
RELEASE_NOTES.mdto document dependency, toolchain, and documentation changes.
- Date: 2026-03-24
- Version: 0.163.3
This release includes an update to Conway transaction validation that permits ScriptDataHash when only datum witnesses are present and no redeemers are included.
- Fixed Conway transaction validation to accept transactions with
ScriptDataHashwhen the witness set includes datums but no redeemers.
- Added a regression test that uses a real
CBOR-encoded transaction to confirm the Rule 7 acceptance criteria.
- Date: 2026-03-23
- Version: 0.163.2
This release includes Go toolchain and dependency updates and release notes maintenance.
- Updated
plutigoandgnark-cryptomodule versions and checksums. - Updated the Go toolchain and selected dependencies to patched versions.
- Added the
v0.163.1entry toRELEASE_NOTES.md.
- Date: 2026-03-20
- Version: 0.163.1
This release includes Leios notification loop lifecycle fixes, Conway genesis governance JSON decoding support, and documentation updates.
- Added support for decoding Conway genesis governance from
JSONso developers can load and validate genesis governance configuration in tooling and integrations.
- Improved the Leios notification loop lifecycle so notifications behave consistently during synchronization and shutdown scenarios.
- Updated the release notes and documentation to reflect
JSONdecoding behavior and related documentation changes.
- Date: 2026-03-19
- Version: 0.163.0
This release includes Conway genesis JSON decoding support for pre-configured governance representatives and governance anchor data.
- Added support for initial
DRepsandGovAnchorfields when decoding Conway genesis JSON so governance configuration loads at startup.
- Date: 2026-03-18
- Version: 0.162.0
This release includes JSON decoding support for Drep and Credential values and documentation updates.
- Added
JSONunmarshalling forDrepandCredential, with tests that validateJSON-to-structure decoding across representative inputs.
- Added the
v0.161.1entry toRELEASE_NOTES.md.
- Date: 2026-03-18
- Version: 0.161.1
This release includes explicit PeerAddress CBOR encoding for peer sharing, CIP-0008 COSE/ed25519 message signing test coverage, and documentation updates.
- Added explicit
CBORencoding forPeerAddress, with tests forSharePeersand IPv6 round-trip validation. - Added CIP-0008
COSE/ed25519message signing and verification test coverage across expected inputs and edge cases.
- Updated documentation to keep release notes in a single location.
- Date: 2026-03-17
- Version: 0.161.0
This release includes typed reward and delegation query results, preserves Alonzo/Babbage/Conway transaction CBOR round-trips, and updates the Go toolchain baseline, CI automation, and dependencies.
- Added structured result types for rewards and delegations queries, including
RewardInfoPoolsResult,RewardProvenanceResult, andShelleyFilteredDelegationsAndRewardAccounts, withCBORencoding and decoding support and client integration.
- Updated the minimum supported Go version to
Go 1.25and updated CI workflows to run tooling, tests, benchmarks, and fuzzing onGo 1.26, requiring local development and CI toolchain upgrades.
- Fixed Alonzo, Babbage, and Conway transaction round-tripping to preserve byte-for-byte transaction
CBORencoding and serialized size.
- Improved Alonzo, Babbage, and Conway transaction processing by reusing raw component bytes during
CBORreconstruction to avoid unnecessary re-encoding.
- Updated
golang.org/x/cryptotov0.49.0andgolang.org/x/systov0.42.0.
- Updated CI workflows for new Go versions and updated
RELEASE_NOTES.mdto include thev0.160.3entry.
- Date: 2026-03-16
- Version: 0.160.3
This release includes CBOR and transaction processing performance improvements, plus CI and dependency maintenance.
- Improved CBOR handling by adding slice-backed references, stream-based and in-place decoding helpers, and tighter decode paths to reduce memory usage and avoid unnecessary copying.
- Improved transaction processing and RPC conversion by optimizing multi-asset value checks, witness and script handling, tx-to-RPC conversion, and
EncodeLangViewsencoding and unsupported-version errors.
- Added the
v0.160.2entry toRELEASE_NOTES.md. - Updated the benchmark workflow to use
actions/download-artifact@v8.0.1(fromv8.0.0). - Updated dependencies, including
plutigoandgo-ethereum, to keep the build aligned with upstream libraries and expected checksums.
- Date: 2026-03-13
- Version: 0.160.2
This release includes muxer protocol instance synchronization, EncodeLangViews validation hardening, and documentation updates.
- Added synchronized accessors for protocol instances in the muxer and connection paths to support thread-safe protocol selection and lifecycle management.
- Fixed
EncodeLangViewsto reject invalid inputs earlier and behave consistently across edge cases.
- Improved allocation efficiency in
EncodeLangViewsby reducing allocation churn during encode and validate operations.
- Updated
RELEASE_NOTES.mdto include thev0.160.1entry with categorized details.
- Date: 2026-03-10
- Version: 0.160.1
This release includes block and VRF validation updates, ChainSync decoding corrections, and security and CI refinements.
- Enforced Byron non-genesis header linkage by requiring
PrevHeaderHashwhere applicable and updating consensusprev-hashvalidation tests. - Updated VRF input helpers to return
errorinstead of panicking, and updated callers, tests, and benchmarks to propagate failures.
- Fixed an execution-unit overflow edge case and added regression tests for Alonzo, Babbage, and Conway UTxO
ExUnitsvalidation. - Fixed ChainSync unmarshalling to reject CBOR tag payloads that are not
[]byte, with tests covering invalid types.
- Improved allocation efficiency by preallocating
KeyValuePairsslices based on input sizes in two internal helpers.
- Improved
SumXKesSig.Verifyto use constant-time comparison for public key equality. - Updated the network magic mismatch refusal message to avoid exposing implementation details, and added a regression test.
- Updated the benchmark CI workflow to use
actions/download-artifact@v8.0.0(fromv4.3.0). - Updated
RELEASE_NOTES.mdto include thev0.160.0entry.
- Date: 2026-03-03
- Version: 0.160.0
This release includes network protocol flow control updates, consensus validation corrections, and CI and documentation refinements.
- Added CI workflows to run benchmarking and profiling, including allocation-regression tests for core validation paths, comment-triggered benchmark runs with an authorization gate, and automated posting of benchmark results to pull requests.
- Added GitHub Actions workflows that trigger on issue closure to log issue metadata and update the project item
Closed Datefield.
- Updated network protocol flow control to apply backpressure instead of disconnecting by increasing the max pending message bytes for NtN, removing byte limits from NtC
ChainSync, and modifying the protocol read loop when pending bytes or queues fill.
- Fixed JSON marshaling for
LazyValuewhen underlying CBOR is missing or empty and added test coverage. - Fixed nonce and header validation to follow era-specific rules by making VRF input and nonce handling era-specific, switching KES verification to use stored header-body CBOR, tightening validation logic, and expanding tests.
- Fixed rolling nonce derivation to hash
prevBlockNonceconcatenated with raw VRF output bytes and refreshed related tests and comments. - Fixed connection shutdown to treat normal protocol completion as graceful so stop paths avoid spurious errors and avoid sending
DoneorClientDonewhen protocols are already finished. - Fixed transaction fee sizing and era-specific semantics by centralizing fee size calculation via
TxSizeForFee, correcting datum-hash nil semantics, normalizing Conway redeemer handling, eagerly caching CBOR for Babbage transactions, and adding a Conway Plutus V3 reproduction test usingplutigov0.0.26.
- Updated
RELEASE_NOTES.mdby backfilling entries for versions0.128.0through0.159.2, including detailed notes for0.140.0through0.159.1and a dedicated entry for0.159.2. - Updated release note language for clearer scanning while preserving technical meaning.
- Updated GitHub Actions dependencies to
actions/setup-gov6.3.0 (from v6.2.0) andactions/upload-artifactv7.0.0.
- Date: 2026-02-27
- Version: 0.159.2
This release includes Conway Plutus transaction validation updates, strict CBOR metadata decoding, and developer documentation refinements.
- Updated Conway Plutus transaction validation to require
ScriptDataHashonly when redeemers or witness datums are present (script references are treated as inert) and to return a typed input-resolution error when a UTxO lookup fails. - Updated callers to omit
ScriptDataHashunless a transaction includes Plutus redeemers or witness datums.
- Fixed metadata decoding for generic CBOR maps to fail fast on any key or value decode error by using
*cbor.Valuemap keys.
- Updated
AGENTS.mdto clarify delegation behavior, documentTransactionBuilderandMockTransactionusage, and expand validation and review guidelines.
- Date: 2026-02-26
- Version: 0.159.1
This release includes updates to transaction preparation and CBOR serialization conformance.
- Updated transaction preparation to export input sorting for redeemer mapping and apply consistent datum handling across validation paths.
- Fixed certificate amount CBOR encoding and script context serialization in test vectors to match expected on-chain representation.
- Date: 2026-02-25
- Version: 0.159.0
This release adds asynchronous Leios notifications so applications can receive updates without blocking other work.
- Added asynchronous Leios notifications with a callback-driven loop, configurable pipeline depth, and clean shutdown support.
- Replaced the blocking request-next flow with a callback-based notification model.
- Date: 2026-02-25
- Version: 0.158.4
This release expands ledger validation safety checks and improves protocol pipelining behavior.
- Added overflow-safe execution unit accumulation, a no-duplicate-inputs UTxO rule across all eras, and centralized withdrawal validation with an
IsValidshort-circuit.
- Fixed an issue where protocol pipelining state transitions could be applied incorrectly, preventing stalls and out-of-order blocks during pipelined sync.
- Updated
AGENTS.mdto demonstrate creating mock ledgers usingouroboros-mockledger builders. - Updated
filippo.io/edwards25519from v1.1.1 to v1.2.0.
- Date: 2026-02-22
- Version: 0.158.3
This release stabilizes JSON serialization for transactions and script-related types across all eras so output is deterministic, human-readable, and round-trippable.
- Fixed redeemer, datum, address, hash, and governance type JSON encoding to produce deterministic output with proper text marshaling and CIP-129 validation.
- Fixed transaction JSON output for Byron through Conway with stable field ordering.
- Date: 2026-02-19
- Version: 0.158.2
This release prevents shared protocol state mutation on servers so each connection gets its own isolated state.
- Added configurable idle timeout for ChainSync per connection.
- Fixed protocol servers to use per-connection state maps, preventing shared state mutations across connections.
- Updated
filippo.io/edwards25519andplutigodependencies.
- Date: 2026-02-18
- Version: 0.158.1
This release splits ChainSync and Handshake into separate Node-to-Node and Node-to-Client state maps so timeouts align with the Ouroboros network specification.
- ChainSync and Handshake now use separate NtN/NtC state maps, defaulting to NtC unless explicitly configured for NtN.
- Aligned ChainSync and TxSubmission timeouts with the Ouroboros network specification to prevent premature disconnects.
- Date: 2026-02-17
- Version: 0.158.0
This release hardens protocol and cryptographic handling, adds Conway governance queries for ratification state and committee members, and caps the protocol read buffer at 16MB to prevent unbounded memory growth.
- Added ratification state and committee member state queries for Conway-era governance.
- Tightened VRF verification to reject non-canonical scalars and zero sensitive buffers after use.
- Fixed muxer diffusion mode race condition and nil committee decoding in governance queries.
- Required issuer verification key for operational certificate validation.
- Fixed CBOR block encoding to emit empty arrays instead of null for nil list fields.
- Capped protocol read buffer at 16MB to prevent memory exhaustion from oversized messages.
- Updated
golang.org/x/cryptoandplutigodependencies.
- Date: 2026-02-15
- Version: 0.157.0
This release hardens the muxer against denial-of-service attacks, adds a strict CBOR decoder for untrusted inputs, and corrects the rolling nonce calculation to match the Ouroboros Praos specification.
- Added DRep stake distribution query for Conway era.
- Hardened the muxer against slowloris-style attacks by enforcing read deadlines and making error propagation non-blocking.
- Added a strict CBOR decoder with tighter limits for network-facing inputs.
- Corrected the rolling nonce calculation to use XOR per the Ouroboros Praos specification.
- Fixed Conway redeemer iteration for legacy-mode transactions.
- Date: 2026-02-14
- Version: 0.156.0
This release isolates ChainSync client and server state so pipelining on one side cannot interfere with the other, and adds Conway governance queries for vote delegatees and proposals.
- Added filtered vote delegatees and governance proposals queries for Conway era.
- Isolated ChainSync client and server state to prevent pipelining interference.
- Fixed a muxer deadlock in protocol unregistration.
- Date: 2026-02-12
- Version: 0.155.0
This release adds DRep state and proposals queries, raises CBOR decode limits for mainnet-scale data, and refactors constructor handling for safer encoding.
- Added DRep state and governance proposals queries for Conway era.
- Raised CBOR decoder map limits to handle large mainnet stake distribution snapshots.
- Added bounds checking to prevent panics on empty or malformed CBOR input.
- Updated Leios protocol message shapes to align with the latest CIP-0164 specification.
- Refactored CBOR constructor handling for safer, byte-accurate encoding and decoding.
- Added architecture documentation, Go 1.26.x CI support, and memory profiling benchmarks.
- Date: 2026-02-10
- Version: 0.154.0
This release introduces a concurrent block processing pipeline that parallelizes decode and validate stages while applying blocks in slot order, and caches CBOR encoder/decoder modes for faster serialization.
- Added a concurrent block processing pipeline with configurable workers, backpressure, prefetch, and safe rollback draining, wired into ChainSync and BlockFetch.
- Cached CBOR encoder/decoder modes with thread-safe lazy initialization, reducing allocations in hot paths.
- Updated
plutigodependency.
- Date: 2026-02-06
- Version: 0.153.1
This release delivers broad performance optimizations across VRF, KES, consensus, and ledger paths, switches leader election to CPRAOS, and enforces VRF key uniqueness starting with protocol version 11.
- Switched consensus to CPRAOS leader election to match the current Cardano protocol.
- Enforced VRF key uniqueness across pools starting with protocol version 11.
- Fixed genesis config to accept alternate key names used by different Cardano node versions.
- Reduced allocations across VRF, KES, consensus, and ledger hot paths by switching to native scalar operations, stack-allocated buffers, and pre-allocated slices.
- Added comprehensive VRF and KES benchmarks.
- Date: 2026-02-05
- Version: 0.153.0
This release adds protocol version 11 (VanRossem) support, migrates conformance tests to the ouroboros-mock framework, and implements the member rewards query.
- Added protocol version 11 support with VRF key uniqueness, CC voting restrictions, and Plutus V1/V2 reference input handling.
- Added member rewards query for per-stake/per-pool reward lookups.
- Fixed CC voting restriction validation to properly reject non-Conway protocol parameters.
- Migrated conformance tests to the ouroboros-mock framework, removing ~3k lines of bespoke test code.
- Added unit tests for Leios protocols, CBOR streams, muxer lifecycle, and CIP-0019 addresses.
- Date: 2026-02-02
- Version: 0.152.2
This release corrects the minimum coin calculation to include the 160-byte UTxO overhead per CIP-0055.
- Fixed minimum coin calculation to include the CIP-0055 160-byte UTxO overhead constant for Babbage and Conway.
- Date: 2026-02-01
- Version: 0.152.1
This release fixes CBOR offset calculations for indefinite-length arrays and adds per-protocol documentation.
- Fixed CBOR offset calculations for indefinite-length arrays used in transaction bodies, witnesses, and outputs.
- Added per-protocol documentation for all Ouroboros mini-protocols with state machines, timeouts, and usage examples.
- Date: 2026-02-01
- Version: 0.152.0
This release adds single-pass CBOR byte offset extraction so callers can locate individual transaction components within a block, implements initial Byron consensus validation, and fixes several Plutus script context issues.
- Added single-pass CBOR byte offset extraction for per-transaction components within blocks.
- Added Byron OBFT consensus validation covering protocol magic, slot leader rotation, signature verification, and body hash checks.
- Fixed Plutus script context encoding for V2 transactions and mint value handling.
- Fixed Plutus evaluation to return consumed budget even on script failure.
- Deduplicated datum entries in the Plutus script context.
- Standardized test mocks on
ouroboros-mock/ledgeracross all tests. - Added package-level documentation and developer guides.
- Date: 2026-01-28
- Version: 0.151.2
This release fixes Plutus data conversion for mint values so V1/V2 script contexts match the expected on-chain representation.
- Fixed mint-to-Plutus-data conversion to match expected CBOR encoding and avoid wrapping in a zero-ADA value.
- Updated CI action dependencies.
- Date: 2026-01-25
- Version: 0.151.1
This release fixes Plutus V2 cost model selection in Conway and adds a datum list type that preserves original CBOR encoding.
- Fixed Conway to select the correct cost model for Plutus V2 scripts.
- Fixed validity interval logic for transaction TTL checks.
- Added a datum list type that preserves original CBOR encoding for exact script data hash computation.
- Date: 2026-01-25
- Version: 0.151.0
This release adds era-aware transaction error decoding for Babbage and Conway, fixes cost model merging, and introduces fuzz testing across the codebase.
- Added era-aware transaction error decoding with full Babbage and Conway support.
- Fixed cost model merging to properly combine incoming models with existing protocol parameters instead of overwriting them.
- Added fuzz targets across CBOR, ledger, KES, and VRF with nightly CI and seeded corpora.
- Updated
plutigodependency.
- Date: 2026-01-20
- Version: 0.150.0
This release adds a full suite of Conway-era governance state queries, provides cost models for Plutus script evaluation, and hardens protocol client lifecycles so they can be safely restarted.
- Added Conway-era governance queries: constitution, gov state, DRep state/distribution, committee members, vote delegatees, and SPO distribution.
- Added cost model support for Plutus script evaluation under Conway.
- Fixed genesis cost model decoding to support both list and map JSON formats.
- Made blockfetch and txsubmission clients idempotent and safely restartable.
- Fixed chainsync pipeline defaults to prevent sync stalls from zero-value configuration.
- Fixed a muxer data race that could cause shutdown panics.
- Added bounds checking to prevent panics on malformed address, CBOR rational, and list inputs.
- Updated
plutigoandgolang.org/x/cryptodependencies.
- Date: 2026-01-16
- Version: 0.149.0
This release introduces standalone pure-Go packages for VRF, KES, and consensus so these cryptographic primitives can be used independently of the ledger, and adds operational certificate verification.
- Added pure-Go VRF, KES, and consensus packages with conformance tests against official test vectors.
- Added operational certificate verification and creation.
- VRF and KES verification functions moved from
ledgerto dedicatedvrfandkespackages.
- Date: 2026-01-13
- Version: 0.148.0
This release adds script data hash validation to catch malformed reference scripts and invalid redeemers, implements stake snapshot and pool state queries, and enables ChainSync client reuse on the same connection.
- Added script data hash validation with malformed reference script detection and redeemer bounds checking.
- Added stake snapshot and pool state queries with detailed per-pool data.
- Enabled ChainSync client reuse on the same connection without reconnecting.
- Fixed block body hash calculation to include invalid transaction indices.
- Added conformance tests using Amaru test vectors.
- Date: 2026-01-11
- Version: 0.147.0
This release delivers a major validation overhaul reaching 302 of 314 conformance tests, adds PlutusV1 and V2 script context building, and switches monetary amounts to arbitrary precision to prevent overflow.
- Added PlutusV1 and V2 script context building.
- Added governance state and CIP-0005 bech32 string representations.
- Added stake pool parameter queries.
- Switched monetary amounts and multi-asset outputs to arbitrary-precision integers.
- Overhauled validation across delegation, withdrawals, native scripts, script data hashes, and governance with proper error types.
- Fixed numerous Plutus script context, Conway proposal, multi-asset conservation, and protocol race condition issues.
- Added CIP compliance tests and removed legacy binaries.
- Date: 2026-01-03
- Version: 0.146.0
This release adds full transaction signature validation, implements the CIP-0137 distributed message queue protocol, and fixes Byron witness validation so bootstrap addresses are verified correctly.
- Added transaction signature validation, CIP-0137 distributed message queue support, TX auxiliary data decoding across all eras, and handshake query reply handling.
- Added witness validation rules, metadata validation, and collateral/cost model checks.
- Fixed Byron witness validation with correct address root computation.
- Fixed numerous metadata, script data hash, cost model, and CBOR handling issues across eras.
- Fixed chainsync pipeline deadlock and muxer shutdown race condition.
- Added CIP conformance tests and centralized validation error handling.
- Updated Leios implementation per CIP-0164.
- Date: 2025-12-13
- Version: 0.145.0
This release introduces structured validation errors so callers can programmatically inspect failure reasons, and adds pool distribution queries with CIP-129 voter string representations.
- Added typed validation errors with categories and contextual details like era, slot, and block number.
- Added pool distribution queries and CIP-129 bech32 voter identifiers.
- Included era context in block verification errors for easier troubleshooting.
- Date: 2025-12-09
- Version: 0.144.0
This release adds stake pool validation to block verification so blocks are checked against registered pool data and VRF keys.
- Added stake pool validation to block verification across Shelley through Conway with opt-out support.
- Centralized header field extraction across eras.
- Fixed metadata handling to use raw bytes.
- Date: 2025-12-05
- Version: 0.143.0
This release wires transaction validation into block verification, extends KES verification to all post-Shelley eras, and adds public network roots for mainnet and testnet discovery.
- Added transaction validation to block verification with era-specific UTxO rules and configurable skip options.
- Added block body hash validation with opt-out support.
- Added public network roots for mainnet and testnet.
- Extended KES verification to all Shelley-descendant eras instead of Babbage only.
- Fixed a panic on Byron Epoch Boundary Blocks and a race condition in concurrent verification.
- Fixed value conservation to account for treasury withdrawals.
- Added muxer unit tests.
- Date: 2025-12-01
- Version: 0.142.0
This release fixes output pointer aliasing that caused all items to reference the same value, prevents transaction body mutation during fee calculation, and refactors metadata for polymorphic era support.
- Fixed output and reference input accessors to return unique pointers.
- Fixed fee calculation to operate on a copy instead of mutating the original transaction body.
- Added custom NativeScript CBOR marshaler using stored raw bytes.
- Refactored metadata for polymorphic auxiliary data across all eras.
- Date: 2025-11-29
- Version: 0.141.0
This release adds proper transaction metadata encoding, deterministic CBOR for multi-asset values, initial rewards calculation formulas, and Leios endorser block bodies.
- Added proper transaction metadata type supporting all CDDL datum kinds.
- Added CIP-0005 bech32 hash representations and deterministic multi-asset CBOR encoding.
- Added Leios endorser block body support and initial rewards calculation formulas.
- Fixed InvalidTransactions CBOR encoding and metadata null handling.
- Fixed protocol state timeout activation ordering.
- Updated CI to Go 1.25.x and updated benchmark infrastructure.
- Date: 2025-11-18
- Version: 0.140.0
This release adds Apex Fusion Prime network support and tightens certificate deposit validation per CIP-0094.
- Added Apex Fusion Prime Mainnet and Testnet networks with bootstrap peers.
- Fixed Conway certificate validation to use amount-based checks per CIP-0094.
- Fixed Leios endorser block and certificate shapes.
- Fixed certificate consistency and collateral error CBOR encoding.
- Pre-allocated transaction input/output slices for faster processing.
- Increased default protocol queue sizes for better throughput.
- Date: 2025-11-10
- Version: 0.139.0
This release adds Ouroboros Network Specification compliance with protocol state timeouts, message byte limits, and pipeline limits so connections are properly bounded and cleaned up.
- Added protocol state timeouts for all 11 mini-protocols to prevent resource leaks.
- Added per-protocol message byte limits and pipeline/queue limits with connection teardown on violation.
- Added Leios protocol parameters.
- Fixed zero-value hash encoding to use proper zero-filled bytestrings instead of CBOR null.
- Updated for utxorpc spec 0.18.1 compatibility.
- Date: 2025-11-05
- Version: 0.138.0
This release adds block-level CBOR marshal functions for multiple eras so blocks can be serialized with byte-for-byte fidelity, and tightens protocol parameter validation.
- Added block CBOR marshaling with round-trip fidelity for Mary, Alonzo, and Babbage eras.
- Added minimum pool cost to protocol parameters.
- Fixed Byron transaction payload encoding for proper CBOR round-trips.
- Tightened Shelley rational parameter validation to reject out-of-range values.
- Fixed error messages to use the correct era name instead of a hardcoded default.
- Date: 2025-10-31
- Version: 0.137.1
This release optimizes memory layout and allocation patterns, and implements the proposed protocol parameter updates result type.
- Implemented proposed protocol parameter updates as a typed result instead of untyped interface.
- Fixed a nil guard for debug logging when ChainSync is not active.
- Optimized struct field alignment and allocation patterns across CBOR and command packages.
- Date: 2025-10-24
- Version: 0.137.0
This release implements the LeiosFetch protocol (CIP-0164) for fetching blocks, transactions, and votes, and adds raw script byte access to the Script interface.
- Added LeiosFetch protocol with client/server endpoints for blocks, transactions, votes, and block ranges.
- Added raw script byte access to the Script interface so callers can get underlying bytes without type casting.
- Date: 2025-10-13
- Version: 0.136.0
This release introduces initial Leios protocol support with ledger primitives, the LeiosNotify protocol, genesis structures, and a Conway transaction CBOR round-trip test.
- Added LeiosNotify protocol (CIP-0164), Leios ledger primitives, genesis structures, and hash functions.
- Fixed transaction identity handling for Leios endorser blocks and Conway parameter pre-allocation.
- Added Conway transaction CBOR round-trip test.
- Date: 2025-09-18
- Version: 0.135.2
This release enforces nilaway static analysis in CI and fixes nil pointer dereference issues found during analysis.
- Fixed Byron genesis to accept alternate seed formats and resolved nil pointer issues across the codebase.
- Date: 2025-09-13
- Version: 0.135.1
This release splits ScriptPurpose into separate purpose and info types for clearer separation of concerns, and adds nilaway static analysis to CI.
- Split
ScriptPurposeintoScriptPurposeandScriptInfo.
- Fixed a nil panic when redeemers are absent.
- Date: 2025-09-11
- Version: 0.135.0
This release adds human-readable string representations for transaction outputs so validation errors are easier to understand.
- Added string representations for transaction outputs across all eras.
- Added PlutusData conversion for pre-Alonzo transaction outputs.
- Date: 2025-09-04
- Version: 0.134.2
Dependency update release.
- Updated
plutigoto v0.0.11.
- Date: 2025-09-03
- Version: 0.134.1
This release preserves original datum CBOR bytes on decode so re-encoding does not alter the on-chain representation.
- Fixed datum decoding to retain original CBOR bytes.
- Date: 2025-09-03
- Version: 0.134.0
This release expands the Plutus script context to cover certificates, stake withdrawals, voting, and proposing so smart contracts can access full transaction context during validation.
- Added certificate, withdrawal, voting, and proposing support in the Plutus script context.
- Added pool deposit collection when a pool is retired and re-registered in the same transaction.
- Added slot-to-time queries to the ledger state interface.
- Fixed address PlutusData representations for stake-only and pointer addresses.
- Date: 2025-08-26
- Version: 0.133.0
This release adds PlutusV3 script evaluation support and switches to typed script types in witness sets for better type safety.
- Added PlutusV3 script evaluation with full script context support including datum options, required signers, and multi-policy minting.
- Switched execution unit fields to signed integers to represent budget overruns.
- Replaced raw byte slices with typed script types in transaction witness sets.
- Fixed CBOR marshaling for UTxO, address PlutusData, and script references.
- Date: 2025-08-19
- Version: 0.132.0
This release introduces initial Plutus script context support for building V3 contexts from transactions and decodes datums as typed PlutusData.
- Added initial Plutus V3 script context building from transactions.
- Added script hash generation helper.
- Datums are now decoded as typed PlutusData instead of raw CBOR.
- Removed the unused
DetermineBlockDatafunction.
- Fixed native script CBOR unmarshal to retain original data.
- Date: 2025-08-12
- Version: 0.131.0
This release adds a query for complete UTxO sets and creates genesis pools from Shelley genesis configuration.
- Added UTxO whole result query with JSON output support.
- Added genesis pool creation from Shelley genesis with pool lookup by ID.
- Consolidated UTxO result types and CBOR debug utilities.
- Date: 2025-08-01
- Version: 0.130.1
This release makes redeemers easier to iterate and consolidates genesis rational types.
- Improved redeemer iteration with shared key/value types across eras.
- Consolidated genesis rational types into a single common type.
- Date: 2025-07-31
- Version: 0.130.0
This release adds PlutusData conversion functions for governance proposals, votes, transaction outputs, and multi-asset values so they can be passed to Plutus scripts.
- Added PlutusData conversion for governance proposals, votes, transaction outputs, and multi-asset values.
- Fixed address PlutusData structure.
- Added utxorpc block function tests across all eras.
- Date: 2025-07-17
- Version: 0.129.0
This release adds PlutusData conversion helpers for core types and block CBOR round-trip tests across eras.
- Added PlutusData conversion for hashes, addresses, and transaction inputs.
- Added block CBOR round-trip tests for Shelley, Allegra, and Conway.
- Updated Go version requirement to 1.24 and bumped CBOR, crypto, and utxorpc dependencies.
- Date: 2025-07-12
- Version: 0.128.2
This release fixes several Conway CBOR marshaling issues that could produce incorrect serialization for redeemers, witness sets, and generic values.
- Fixed Conway redeemer and witness set CBOR marshaling, value type marshaling, and TxSubmission ack count reset on protocol restart.
- Fixed redeemers to preserve legacy ordering when present in on-chain data.
- Date: 2025-07-11
- Version: 0.128.1
This release fixes a crash when processing transactions with no protocol parameter updates.
- Added nil check for transaction protocol parameter updates.
- Date: 2025-07-10
- Version: 0.128.0
This release adds TxSubmission client completion support so applications can cleanly signal they are done submitting transactions, and introduces CBOR set tags for spec-compliant transaction body encoding.
- Added client Done and MsgDone callback support for TxSubmission, and clean server shutdown.
- Fixed Byron address and TX input CBOR encoding, and excluded empty datum hashes from Alonzo outputs.
- Added CBOR set tag support for transaction body fields and block test data for all eras.