Skip to content

Release Notes - v0.209.0

Title: Improve protocol safety, transaction validation, and timing visibility

Version: v0.209.0

This release strengthens protocol input handling, validates transactions against earlier block effects, exposes stage timing data, and corrects Plutus, cost model, and Byron transaction behavior.

  • Added aggregate timing data for successful decode, validate, and apply stages through PipelineStats and StageTimings; code that creates PipelineStats with unkeyed literals must add the new fields or switch to keyed literals.
  • Corrected Plutus V4 Dijkstra TxInfo direct deposit and account balance interval maps so they follow AccountAddress order.
  • Strengthened protocol boundary checks by rejecting unsolicited handshake query replies, bounding block body input, count, and CBOR shapes, and enforcing leiosnotify MaxPendingBytes and announcement size limits.
  • Rejected explicit witnesses that duplicate reference scripts, preventing the same script from serving through both witness paths.
  • Preserved independent CostModels state by deep copying it during parameter updates, era upgrades, and genesis initialization.
  • Applied per-state transaction submission pending message limits of 65,535 bytes in Init, Idle, and Done, and 2,500,000 bytes in TxIds and Txs; MaxPendingMessageBytes continues to govern mux ingress. Clients that depend on larger pending messages in the smaller states must account for the reduced 65,535 byte limit.
  • Validated block transactions sequentially against preceding effects, supporting chained spends and partial withdrawals while rejecting same-block double spends and applying Dijkstra effect levels and pool re-registration semantics consistently.
  • Limited Byron Produced() UTxOs to output indexes 0 through 65,535; later outputs remain in the transaction and continue to affect its ID.
  • Replaced muxer test sleeps with bounded synchronization so test execution waits for the expected state without relying on fixed delays.
  • Made a blockfetch test tolerate the expected connection error race while still checking the intended result.
  • Corrected the Leios Fetch README CDDL tag coverage so it defines tags 0 through 3 and 9, comments tags 6 through 8, omits tags 4 and 5, and keeps votes separate.
NetworkCompatible
mainnet⛔
preprod-testnet✅
preview-testnet✅
musashi✅

Release: v0.209.0


Doc Holiday logo

Docs authored by Doc Holiday

Edit page

Last updated: