- Add
GetProposals
andGetRatifyState
queries. - Propagate cardano-ledger's updated
TranslationContext
NoGenesis
- Add
NodeToClientV_17
tosupportedNodeToClientVersions
- Add
CardanoNodeToClientVersion13
- Replace deprecated
TxSizeInBytes
withSizeInBytes
- Update ledger packages:
cardano-ledger-alonzo
:^>=1.10
cardano-ledger-babbage
:^>=1.8.2
cardano-ledger-conway
:^>=1.16.0
cardano-ledger-core
:^>=1.13.2
-
Added
GetSPOStakeDistr
query -
Added
TickedLedgerState
argument totxMeasure
. -
Introduced
ConwayMeasure
, a Conway-specificTxMeasure
adding the total reference scripts size as a new dimension on top ofAlonzoMeasure
. -
Update N2C part of
latestReleasedNodeVersion
toNodeToClientV_16
.
- Enforce Conway minfees for ref scripts in the mempool, even in Babbage
- Changed
GetStakeDistribution
andGetPoolDistr
queries to return a Consensus-vendored version ofPoolDistr
(instead of using the one from Ledger, as it changed in a backwards-incompatible manner).
-
Update
SupportsTwoPhaseValidation
instance forConway
:ConwayUtxowFailure
was changed upstream -
Adapt to
Ouroboros.Consensus.Protocol.Praos.Translate
removal.
-
Added instances for
BlockSupportsDiffusionPipelining
. -
Use new issuer-based diffusion pipelining criterion starting in Conway.
-
Set Genesis window for Byron and Shelley.
-
Bump to
HardForkSpecificNodeToClientVersion3
forCardanoNodeToClientVersion12
to account for serialisation change ofEraParams
. -
Update ledger packages:
cardano-ledger-alonzo
:^>=1.8
cardano-ledger-babbage
:^>=1.8
cardano-ledger-conway
:^>=1.14
cardano-ledger-core
:^>=1.12
cardano-ledger-mary
:^>=1.6
cardano-ledger-shelley
:^>=1.11
-
Adapt
QueryLedger
instances to the renaming toBlockSupportsLedgerQuery
.
-
Restricted the VRF tiebreaker based on slot distance starting in Conway.
-
Add
GetAccountState
query -
Remove
getProposedProtocolVersion
anddefaultGetProposedProtocolVersion
-
Remove
ProtocolUpdate
,UpdateProposal
,UpdateState
andprotocolUpdates
-
Add
pparamsUpdate
-
Change
ShelleyLedgerUpdate
by replacingShelleyUpdatedProtocolUpdates
withShelleyUpdatedPParams
- Bugfix: Add an extra case to
isIncorrectClaimedFlag
forBabbage
andConway
(#973).
-
Change the randomness stabilization window for Conway (and future eras) to
4k/f
instead of3k/f
(one stability window) that was used for Babbage and TPraos-based eras. See erratum 17.3 in the Shelley ledger specs for context.Note that this is a backwards-incompatible change for all existing chains containing (at least one full epoch worth of) Conway blocks.
-
Use the version of cardano-git-rev in the cardano-base repo.
-
Bump
NodeToNodeVersion
part oflatestReleasedNodeVersion
toNodeToNodeV_13
fromNodeToNodeV_11
. -
Add
ConvertRawTxId
instances for Shelley and Byron. -
Update ledger packages
cardano-ledger-allegra
:^>=1.4
cardano-ledger-alonzo
:^>=1.7
cardano-ledger-api
:^>=1.9
cardano-ledger-babbage
:^>=1.7
cardano-ledger-conway
:^>=1.13
cardano-ledger-core
:^>=1.11
cardano-ledger-shelley
:^>=1.10
-
Update
plutus-tx-plugin
:>= 1.23
-
Update
cardano-slotting
:>=0.2
-
Implement lightweight checkpointing #449. A validation to help nodes follow the historical chain. A new field
cardanoCheckpoints
has been added to the recordProtocolParams (CardanoBlock c)
record, with a new typeCheckpointsMap
. -
Remove
shelleyBasedEraName
fromShelleyBasedEra
, useeraName
fromCardano.Ledger.Api.Era
instead.
-
Remove redundant
DiskPolicy
argument from call toChainDB.defaultArgs
-
Integrate with network-packages and io-sim 1.4.1 packages
-
Bump dependencies version bounds
-
Fix imports and type mismatches caused by
ouroboros-consensus
bumpingstrict-checked-vars
to^>= 0.2
. -
Improved Haddock comments that explain how to control which eras are enabled when constructing a
ProtocolInfo
. -
Updated to GHC 9.8.1.
-
Re-enable completeness warnings in Ouroboros.Consensus.Cardano.Node only on GHC>=9.6
-
CardanoNodeToClientVersion12
now impliesShelleyNodeToClientVersion8
in all Shelley-based eras instead of just inConway
. This means that downstream logic determining query availablity (eg incardano-api
) can (continue to) simply branch on the negotiatedNodeToClientVersion
. -
Update dependency on
ouroboros-network-api
to^>=0.6.2
. -
Update ledger packages
cardano-ledger-allegra
:^>=1.3
cardano-ledger-alonzo
:^>=1.6
cardano-ledger-api
:^>=1.8
cardano-ledger-babbage
:^>=1.6
cardano-ledger-binary
:^>=1.3
cardano-ledger-conway
:^>=1.12
cardano-ledger-core
:^>=1.10
cardano-ledger-mary
:^>=1.5
cardano-ledger-shelley
:^>=1.9
cardano-protocol-tpraos
:^>=1.1
-
Removed
EraNodeToNodeVersion
, replacing it withWrapNodeToNodeVersion
. -
Removed
CardanoNodeToNodeVersion3
and above, since they're all equivalent toCardanoNodeToNodeVersion2
now. -
The type system now prohibits Conway-specific queries for Shelley-based eras before Conway, by adding the
ConwayEraGov era
constraint to those query constructors. -
The new
getConwayEraGovDict
enables the decoder to find the necessary dictionaries and issue a specific error message if there isn't one.
-
Enable
NodeToNodeV_13
protocol. -
New tests to check that all network versions are supported by the Shelley and Cardano blocks.
-
Updates dependency on
ouroboros-network-api
to0.6.0
. -
Update ledger packages
cardano-ledger-allegra
:^>=1.2.5
cardano-ledger-alonzo
:^>=1.5.0 -> ^>=1.5.1
cardano-ledger-babbage
:^>=1.5.0 -> ^>=1.5.1
cardano-ledger-binary
:^>=1.2.1
cardano-ledger-byron
:^>=1.0
cardano-ledger-conway
:^>=1.10.0 -> ^>=1.11
cardano-ledger-core
:^>=1.8.0 -> ^>=1.9
cardano-ledger-mary
:^>=1.4
cardano-ledger-shelley
:^>=1.7.0 -> ^>=1.8
cardano-protocol-tpraos
:^>=1.0.3.6 -> ^>=1.0.3.7
- Add a query for vote delegatees: GetFilteredVoteDelegatees
TriggerHardForkNever
was renamed toTriggerHardForkNotDuringThisExecution
upstream.
- Updated to
typed-protocols-0.1.1
- Add
getProposedProtocolVersion
toShelleyBasedEra
class
-
Remove
Ticked (LedgerView X)
data family instances. -
Remove
toTickedPBftLedgerView
. -
Updated to newer
cardano-ledger-*
packages:cardano-ledger-api-1.7
cardano-ledger-core-1.8
cardano-ledger-shelley-1.7
cardano-ledger-babbage-1.5
cardano-ledger-conway-1.10
cardano-protocol-tpraos-1.0.3.6
-
Replaced
GetCommitteeState
query withGetCommitteeMembersState
-
Updated to newer
cardano-ledger-*
packages:cardano-ledger-api-1.6
cardano-ledger-core-1.7
cardano-ledger-conway-1.9
-
Protocol parameters (in particular the version number) in the ledger state are now updated properly on the Babbage→Conway era transition.
-
CardanoProtocolParams
now contains aTransitionConfig
(new Ledger concept) and theCardanoHardForkTriggers
instead of the previous per-eraProtocolTransitionParams
. -
Removed
ShelleyGenesis
fromProtocolParamsShelleyBased
as aTransitionConfig
already contains aShelleyGenesis
. -
Removed
registerInitialFunds
andregisterGenesisStaking
, these now live in Ledger as part of theEraTransition
class. -
Removed now-unused
Ouroboros.Consensus.Cardano.ShelleyBased
module.
- Updated to newer
cardano-ledger-*
packages:cardano-ledger-api-1.5
,cardano-ledger-alonzo-1.4.1
cardano-ledger-shelley-1.6
cardano-ledger-babbage-1.4.4
cardano-ledger-conway-1.8
cardano-ledger-tpraos-1.0.3.5
- Use
ouroboros-network-framework-0.8
. Types ofCardano.Tools.ImmDBServer.MiniProtocols.immDBServer
andCardano.Tools.ImmDBServer.Diffusion.serve
have changed.
- Removed the
expose-sublibs
cabal flag, since Cabal/Nix handled it poorly. - Instead, added a
unstable-
prefix to the name of each sublibrary, to strongly indicate that we ignore them when evolving the package's version.
- Update
fs-api
dependency to^>=0.2
-
Add new
ProtocolInfo
module tocardano-testlib
, containing utilities for creating CardanoProtocolInfo
s for testing purposes. -
Expose the latest Conway ledger queries.
GetCommitteeState
GetConstitution
GetDRepStakeDistr setOfDReps
GetDRepState setOfDRepCredentials
GetGovState
-
Add a
ProtocolTransitionParams
data family, and provide instances for transitions from Byron to Shelley and Shelley-based eras to Shelley-based eras. -
Add a data instance of
ProtocolParams
for the Cardano block. -
Provide a
CardanoProtocolParams
type synonym and associated pattern synonym (with record syntax). -
Export all
ProtocolParams
andProtocolTransitionParams
instances fromOuroboros.Consensus.Cardano
andOuroboros.Consensus.Cardano.Node
.
-
Update ledger dependencies to pull in the latest Conway changes.
cardano-ledger-conway
from^>=1.6
to^>=1.7
cardano-ledger-alonzo
from^>=1.3
to^>=1.4
cardano-ledger-api
from^>=1.3
to^>=1.4
cardano-ledger-core
from^>=1.4
to^>=1.5
cardano-ledger-shelley
from^>=1.4.1
to^>=1.5
-
Remove the
degenerateAlonzoGenesis
declaration. -
Delete the (as of yet unreleased)
GetConstitutionHash
.- Use
anchorDataHash . constitutionAnchor <$> GetConstitution
instead.
- Use
-
Refactor
ProtocolParamsByron
to a data instance ofProtocolParams
. -
Refactor protocol parameters for Shelley eras (e.g,
ProtocolParamsAlonzo
andProtocolParamsBabbage
) to data instances ofProtocolParams
. -
Export all Shelley
ProtocolParams
data instances fromOuroboros.Consensus.Shelley.Node
. -
Remove the
ProtocolTransitionParamsShelleyBased
datatype in favour ofProtocolTransitionParams
. -
Make
protocolInfoCardano
require aCardanoProtocolParams
type as its only argument, instead of a long list of arguments.
- Refactor code because block forging credentials got extracted out of
ProtocolInfo
type.
-
Change the return type of numerous functions to include block forging credentials since they got extracted out of
ProtocolInfo
type.- Refactor the type signatures to accommodate the fact that
ProtocolInfo
does not need monad type variable.
- Refactor the type signatures to accommodate the fact that
-
Add
GetConstitutionHash
ledger query
-
Rename
StrictMVar
toStrictSVar
-
Add support for new
cardano-ledger
package versions
-
Call
cryptoInit
before running test suites -
Make sure
defaultMainWithTestEnv
is used everywhere -
Call
cryptoInit
indefaultMainWithTestEnv
-
Call
cryptoInit
in our utility tools
- Optimise
GetStakeSnapshots
query to not traverse all delegations per stake pool, but instead compute the total stake per pool in a map and do a lookup - Update CHaPs dependencies
- Fix performance regression of
GetFilteredDelegationsAndRewardAccounts
query - Remove deprecated pattern synonyms from
Ouroboros.Consensus.Shelley.Ledger
:GetUTxO
andGetFilteredUTxO
.
- Bumped latest released node versions to
NodeToNodeV_11
andNodeToClientV_15
. NodeToClientV_15
enables the deposits query.- The
GetCurrentPParams
query now uses the legacy en-/decoding for its result again when theNodeToClientVersion
is<15
, restoring compatibility with older clients.
- Bump
cardano-ledger-{alonzo,babbage}
to 1.2.1.0, which changes the correspondingPParams
serialisation. This affects the ledger snapshots, and theGetCurrentPParams
query forNodeToClientVersion >= 15
.
- Update
ouroboros-network
dependency.
-
Apply new organization of Consensus packages. Absorb
byron
,shelley
,cardano-tools
and all the testing packages for those. -
Add the new
ShelleyNodeToClientVersion7
to theShelleyNodeToClientVersion
- Add a new ledger query:
GetStakeDelegDeposits
-
ouroboros-consensus-cardano
: Since the filesystem API that lives inouroboros-consensus
will live in thefs-api
package for now on, start depending onfs-api
, and change imports accordingly. -
Collapse all imports into one group in every file.
-
Adapt to relocation of SOP-related
Util
modules.
- Fix the version bounds for the bundle and version sets the bounds for the
ouroboros-consensus
bundle to^>=0.3
.
- Return stake snapshots for stake pools that have the
Set
orGo
ledger snapshots. When queryingGetStakeSnapshots Nothing
, which means to query for all stake pools, previously only stake snapshots for stake pools that have theMark
ledger snapshot were returned.
- Remove redundant proxy argument for
ledgerDbTip
.
- Adapted to the new reorganization of Mempool modules in
ouroboros-consensus
.
Conway
toCardanoEras
NodeToNodeV_11
andNodeToClientV_15
, both of which enable Conway.- Conway-related type and pattern synonyms. Eg
StandardConway
,HeaderConway
,GentTxConway
, etc.
- The
protocolInfoTPraosShelleyBased
andprotocolInfoPraosShelleyBased
functions now expect a tuple of theAdditionalGenesisConfig
and theTranslationContext
instead of just theTranslationContext
. For all Shelley-based eras before Conway, those had been equal types.
Before following a more structured release process, we tracked most significant changes affecting downstream users in the interface-CHANGELOG.md.