Release Notes - v0.195.0
v0.195.0 (August 24, 2026)
Section titled “v0.195.0 (August 24, 2026)”Title: Improve governance, block fetch, and transaction validation
Date: August 24, 2026
Version: v0.195.0
This release strengthens Conway governance validation, adds optional BlockFetch request pipelining, improves transaction validation, and updates consensus behavior and dependencies.
Improvements
Section titled “Improvements”-
Improved Conway governance validation: Hard fork succession and proposal ancestry checks now reject invalid relationships. Same transaction propose and vote actions resolve correctly, while DRep, constitutional committee, stake pool operator, and Bootstrap restrictions use the resolved action contents. Stake pool operators can no longer vote on
ParameterChangeactions outside the security group. Optional governance action contents, purpose root state, andSecurityGroupFields()provide the state needed for these checks. Learn more. -
Added BlockFetch request pipelining: The client can opt into concurrent range requests with
Client.RequestRange(ctx, RangeRequest)andConfig.RequestPipelining. FIFO requests receive responses in order and oneConfig.RangeDoneFunccallback each. Context aware admission limits requests by expected serialized bytes; the defaultConfig.MaxInFlightBytesis9,011,200bytes (100 x 88 KiB). Disabled pipelining retains the single outstanding request behavior.GetBlocknow returns the exportedblockfetch.ErrNoBlockserror when a batch contains no block.Protocol.SendMessageContextandAllowPipelinedSendnow support context aware pipelined sends. Learn more. -
Centralized Plutus script validation: Shared transaction input and Plutus script helpers now support Conway and Dijkstra validation. Native and non Plutus reference scripts no longer appear among available Plutus scripts, and the Dijkstra fallback reuses resolved inputs to avoid redundant lookups. Learn more.
Breaking Changes
Section titled “Breaking Changes”- Changed Praos deep fork selection: Deep forks now follow canonical Genesis density first behavior by comparing integer block counts within the configured Genesis window. Shallow forks retain ordinary selection. The
ChainTipinterface now exposesBlocksInWindowinstead of density, and selector APIs useForkPointand block rollback values.ComputeGenesisWindownow uses ceiling division and guards invalid coefficients. Update implementations that provideChainTipand callers of selector APIs to use the new fields and rollback values before upgrading. Learn more.
Bug Fixes
Section titled “Bug Fixes”-
Corrected Babbage Plutus V1 inline datum checks: Validation now applies the inline datum restriction only to scripts required by transaction purposes. It scans resolved consumed inputs, reference inputs, and outputs, includes Plutus V4 witnesses, and avoids reporting duplicate input resolution errors. Learn more.
-
Accepted duplicate legacy inputs: Untagged Shelley through Babbage input sets now coalesce duplicate members while preserving their original CBOR bytes. Tagged Alonzo and Babbage sets continue to reject duplicates, preserving validation for explicitly tagged sets. Learn more.
Maintenance
Section titled “Maintenance”-
Updated CBOR decoding: The root module and eight example modules now use
github.com/fxamacker/cbor/v2v2.9.3, which mitigates a potential panic when certain CBOR values decode intotime.Time. Production code remains unchanged. Learn more. -
Standardized Go formatting: Formatting now matches the
gofumptrules required bygolangci-lintv2.13.0. Runtime behavior remains unchanged. Learn more. -
Refreshed example test dependencies: The
examples/pingmodule now usesgithub.com/stretchr/testifyv1.12.1andgo.yaml.in/yaml/v3v3.0.5. Source and API behavior remain unchanged. Learn more. -
Aligned protobuf dependencies: The root module and eight example modules now use
google.golang.org/protobufv1.36.12, keeping replace based example builds consistent. API behavior remains unchanged. Learn more. -
Upgraded root test dependencies: The root module now uses
github.com/stretchr/testifyv1.12.1with refreshed indirect YAML and transitive dependencies. Project APIs remain unchanged. Learn more.
Docs authored by Doc Holiday