Skip to content

Release Notes - v0.205.1

Title: Bound committee terms at ratification and widen expiry epochs

Version: v0.205.1

This release updates the Conway governance API to support wider committee expiry epochs and adds constitutional committee term checks at ratification on an epoch boundary. Callers must use uint64 expiry values, and proposals over the limit remain valid for UTxO transaction admission until ratification evaluates the term bound.

  • Updated committee expiry epoch types: UpdateCommitteeGovAction.CredEpochs and NewUpdateCommitteeGovAction now use uint64 map values instead of uint. Callers must update their types, and the wider type represents expiry values at or above 2^32 without narrowing on 32-bit builds.
  • Added committee term limit capability: Optional common.CommitteeMaxTermLengthProvider support lets Conway and Dijkstra protocol parameters expose the constitutional maximum committee term. Implementations report the limit as unavailable safely, including when the parameter value is nil.

  • Introduced committee term ratification validation: conway.ValidateCommitteeTerm(action, pp, currentEpoch) checks proposed expiry epochs against the constitutional maximum at an epoch boundary. It returns CommitteeTermLimitUnavailableError when protocol parameters cannot provide the limit and CommitteeTermTooLongError when a proposal exceeds it.

  • Refined committee term boundary handling: The ratification check uses wrapping uint64 addition for currentEpoch + maxTermLength and sorts proposed terms before it selects an offending credential, producing consistent results at numeric boundaries.

  • Clarified committee proposal timing: The system does not apply committee term limits during UTxO transaction validation. Proposals over the limit can pass transaction admission, while ratification applies the term check at an epoch boundary.

Release: v0.205.1

Compare: v0.205.0…v0.205.1


Doc Holiday logo

Docs authored by Doc Holiday

Edit page

Last updated: