github IntersectMBO/cardano-node 10.6.0

pre-release16 hours ago

Cardano Node version 10.6.0

This release initiates the deprecation of the legacy tracing system, removes the legacy networking stack and introduces foundational work for two placeholder hard forks: a new Plutus Version (V4) via an intra-era hard fork (Protocol Version 11), and the new Dijkstra era (Protocol Version 12).

Tracing Systems:

  • Deprecation Notice: Node version 10.6.0 starts the deprecation window for the legacy tracing system in favor of the new tracing system.
  • Both the legacy and the new tracing systems are bundled in this release and will coexist temporarily.
  • The legacy tracing system will be completely decommissioned in a future release following this deprecation window.
  • For an overview of design and configuration changes, please see New Tracing: Quick Start
  • Adjusting monitoring to allow for changes in metric names will be required as a one-off effort. For details, please see New Tracing: Metrics Migration

Networking:

  • Implemented support for DNS SRV records, which provide a mechanism for exposing decentralised protocols co-deployed with a Cardano node, such as Mithril or Hydra. SPOs who wish to register their cardano-node stake pool via this facility may do so by prefixing their domain with _cardano._tcp. eg. _cardano._tcp.<SPO_DOMAIN_NAME> or for the upcoming DMQ node for Mithril under _dmq._mithril._cardano._tcp.<SPO_DOMAIN_NAME>. See CIP-0155 for details and current SRV registry.
  • When operating in relay mode and with Ouroboros Genesis enabled (configuration key ConsensusMode = GenesisMode, the default on preview/preprod, optional on mainnet), the node emits a warning when a ledger peer snapshot (key peerSnapshotFile in the topology file) is not specified or the file is missing. When Ouroboros Genesis becomes the mainnet default in a future release (possibly as early as 10.7), the peer snapshot file will be mandatory and the node will fail to start if it is not provided. It is recommended that SPOs run at least one of their non-block producing relays in GenesisMode.
  • Non-P2P mode is no longer available and has been dropped.

Breaking changes

API & CLI Changes (Breaking): The cardano-api module structure underwent a major refactor according to ADR-009, resulting in extensive module renames (PR). Other breaking changes include using raw bytes instead of CBOR for CIP-129 identifier serialisation (PR) and modifications to the stake-address-info CLI command output (PR).

Networking: Support for the legacy Non-P2P stack has been removed in this release.

Known issues

There is a known issue with increased memory use when testing with large numbers of DReps

Technical Specification

Minimum System Requirements
  • An Intel or AMD x86 processor with two or more cores, at 1.6GHz or faster (2GHz or faster for a stake pool or relay)
  • Or, for MacOS, an Apple Silicon (M1, M2, M3, M4 or M5) processor
  • 24GB of RAM when running with the InMemory backend, 8GB when running with the OnDisk backend
  • 300GB of free storage (350GB recommended for future growth)
Platforms
  • Linux 64-bit (Ubuntu 20.04 LTS, 22.04 LTS, 24.04 LTS, 26.04 LTS; Mint 20, 21, 21.1, 21.2, 21.3, 22, 22.1, 22.2; Debian 11, 12, 13)
  • Windows 64-bit (10, 11)
  • MacOS 10.15, 11 (Big Sur), 12 (Monterey), 13 (Ventura), 14 (Sonoma), 15 (Sequoia), 26 (Tahoe)
GHC/Cabal supported versions
  • GHC 9.6.7
  • Cabal 3.8/3.12
Supported roles
Platform Block Production Relay Client (Desktop)
Linux 🟢 🟢 🟢
Windows 🟥 🟥 🟢
MacOS 🟥 🟥 🟢
Downloads

Documentation

Sign-off

Role Approval
Technical Steering Committee (Intersect) 🟢
Product Committee (Intersect) 🟢
Test Engineer N/A
Performance Engineer N/A
Site Reliability Engineer N/A
Release Engineer 🟢
Legend
  • 🟢 - signed / agreed / supported
  • 🟥 - not agreed / unsupported

Changelogs

Node
  • The bundled release configuration files are now provided as config.json which uses the new tracing system, and config-legacy.json which uses the legacy tracing system.
  • There is no longer a separate configuration file for block producers and non-block producers. Node will automatically assign PeerSharing, TargetNumberOfKnownPeers and TargetNumberOfRootPeers configuration parameters based on forging status. These can still be explicitly declared.
  • The EnableP2P parameter is no longer declared in the configuration file as p2p is now the only network operating mode.
  • The bundled release peer snapshot files are now included for all environments (mainnet, preview, preprod) at version 2, v2.
  • There is a new container for cardano-tracer. See the docker README.md for information.
  • cardano-submit-api configs were added to the binary release artifacts.
Tracing
  • Trace / metrics forwarding now supports connection over TCP (in addition to Unix domain sockets or Windows named pipes).
  • Failure to initialise the PrometheusSimple backend is now lenient - i.e., won't cause the Node to abort.
  • Improved structure and metadata of autogenerated trace documentation.
  • Fixed CPU resource tracing on MacOS (Darwin).
  • New KES Agent tracer (namespace Consensus.KESAgent).
  • New DNS tracer (namespace Net.DNS).
  • New churn mode tracer (namespace Net.PeerSelection.ChurnMode).
  • Canonicalized diffusion tracers to namespaces Net.Mux.{Local|Remote}.{Bearer|Channel}.
  • Several renames in the ChainDB.LedgerEvent.Flavor.V2, Consensus.GSM and Net.Peers.Ledger traces.
  • Fixed block replay tracer.
  • Removed non-P2P diffusion tracer.
  • For an exhaustive list of trace messages and metrics implemented in a particular Node build, please run the cardano-node trace-documentation CLI command.
Consensus
  • Added ShelleyNodeToClientVersion14 which adds SRV support in GetBigLedgerPeerSnapshot query.
  • Added CardanoNodeToClientVersion18 which maps to ShelleyNodeToClientVersion14.
  • Define new Node-To-Client versions CardanoNodeToClientVersion17, ShelleyNodeToClientVersion13.
  • Deprecate GetPoolDistr in favor of GetPoolDistr2 (new in NodeToClientV_21).
  • Deprecate GetStakeDistribution in favor of GetStakeDistribution2 (new in NodeToClientV_21).
  • Expose new query GetMaxMajorProtocolVersion as a Shelley query, for getting the max known protocol version for a node.
  • Return full map instead of empty map from GetFilteredVoteDelegatees in the case where an empty set is passed.
  • NetworkP2PMode was removed (non-p2p mode is removed from ouroboros-network).
  • Added tracers GsmEventInitializedInCaughtUp and GsmEventInitializedInPreSyncing for the initial Genesis State Machine state.
  • Encode the slot number in the TPraos state as [] / [slot] instead of [0] / [1, slot].
  • Fix serialization of TriggerHardForkNotDuringThisExecution.
  • LedgerDB.V2: prevent race condition when creating snapshots.
  • Support NodeToClientV_22.
  • Renamed IgnoreBlockOlderThanK to IgnoreBlockOlderThanImmTip for future-proofing.
  • Backport #1603: Streaming of ledger tables in snapshot-converter
  • Make "DijkstraGenesis" optional in unstable-cardano-tools parsers.
Ledger
  • Introduction of a new Dijkstra era and PlutusV4 placeholders that for the most part mimic Conway era bahavior for now:
    • Add new protocol parameters: refScriptCostMultiplier, refScriptCostStride, maxRefScriptSizePerTx and maxRefScriptSizePerBlock
    • Add DijkstraGenesis that initializes all of the above protocol parameters.
  • Implemented some parts of CIP-112 - Guards, which could potentially be experimented with on local testnets.
  • Implemented most of the features for the upcoming intra-era hard fork into Protocol Version 11: #5015:
    • Revert predicate check BabbageNonDisjointRefInputs for PlutusV1/V2: #5009
    • Made Constitutional Committee voting restriction into a proper ledger predicate failure, instead of a mempool sanitizer: #5022
    • Disallow different pools to use the same VRF key: #5159 and #5252
    • Add a new predicate failure for non-matching withdrawals #4640
    • Improve PPViewHashesDontMatch to include the data for the expected hash: #4517
  • Drastic simplifications to the codebase and performance improvements.
  • Fix JSON parser for PlutusV3 cost model, where it expected wrong number of parameters.
  • Made JSON parser for CostModel in AlonzoGenesis and ConwayGenesis stable. Number of parameters will not change despite that they will change through governance on a running network.
  • Remove delegators field from JSON serialiser for DRepState for correct round-tripping.
  • Add queryDRepDelegations and queryPoolState ledger state queries
  • Thanks to improved testing, we have discovered and fixed various issues in CDDL specification - some dating back as far as Byron era.
Network
  • Dropped support for NonP2P mode.
  • SRV support according to CIP#155
  • Added NodeToClientV_21 to support new codecs
  • Added NodeToClientV_22 to support SRV records in GetBigLedgerPeerSnapshot query.
  • Randomised protocol timeouts which are used in the ChainSync mini-protocol:
    a chain sync timeout for StNext StMustReply state (it fires when there's a long enough
    gap in block production) is random per entering the state, rather than random
    per connection.
  • Mux tracer is split into three parts:
    • mux tracer: high level (severity ranges from Info to Debug, depending on
      a message), low frequency - logs high level state changes of the
      multiplexer, e.g. starting/stopping a mini-protocol, etc
    • channel tracer: low level (severity: Debug), high frequency - logs
      interaction with a mini-protocol
    • bearer tracer: lowest level (severity: Debug), high frequency - logs
      interaction with the TCP layer
  • Inbound governor performance improvements.
  • The diffusion layer can now trace connection duration information for hot
    peers by the PeerSelectionActionsTrace (at Info level).
  • Some default configuration options depend on whether the node is running as a block-producer or not. This includes:
    • PeerSharing: disabled for block-producers, enabled for relay nodes.
    • peer selection deadline targets: targets for diffusion layer when it is synced with the network
  • churn algorithm improvements: see IntersectMBO/ouroboros-network#5237
CLI
  • Update cardano-api-10.19.0.0
    (feature, breaking) PR 1265
  • Modified stake-address-info to output pool ID and DRep ID in both hex and bech32 formats
    (feature, breaking) PR 1285
  • Update cardano-cli to the new limit for stake pool metadata url on pair with IntersectMBO/cardano-ledger#3941
    (compatible) PR 1284
  • cardano-cli legacy genesis create recently removed the ability to specify the alonzo era and therefore the ability to generate a V2 cost model with 175 (instead of 185) parameters. This PR restores that functionality.
    (compatible) PR 1267
  • Build cardano-cli non-system deps statically and relink system deps for darwin builds in releases
    (bugfix) PR 1269
  • Fixes a bug where the cardano-cli query spo-stake-distribution --all-spos was misrepresenting some cases as delegating to null (no delegation), when in reality they were delegating to always abstain. This is a bug on the CLI only and not on the node side.
    (bugfix) PR 1263
API
  • Upgrade ledger: cardano-protocol-tpraos-1.4.1.0, cardano-ledger-shelley-test-1.7.0.0, cardano-ledger-shelley-1.17.0.0, cardano-ledger-mary-1.9.0.0, cardano-ledger-dijkstra-0.1.0.0, cardano-ledger-core-1.18.0.0, cardano-ledger-conway-1.20.0.0, cardano-ledger-byron-1.2.0.0, cardano-ledger-binary-1.7.0.0, cardano-ledger-babbage-1.12.0.0, cardano-ledger-api-1.12.0.0, cardano-ledger-alonzo-1.14.0.0, cardano-data-1.2.4.1, cardano-crypto-wrapper-1.6.1.0
  • Upgrade consensus: ouroboros-consensus-protocol-0.13.0.0, ouroboros-consensus-diffusion-0.24.0.0, ouroboros-consensus-0.28.0.0, ouroboros-consensus-cardano-0.26.0.0
  • Upgrade network: ouroboros-network-protocols-0.12.0.0, ouroboros-network-framework-0.14.0.0, ouroboros-network-api-0.11.0.0, ouroboros-network-0.18.0.0
  • Upgrade plutus-core-1.53, plutus-ledger-api-1.53
  • Add PlutusV4 and Dijkstra era initial support code - still not functional.
    (feature, breaking) PR 954
  • Add Cardano.Api.Address.shelleyPayAddrToPaymentKeyHash.
    (feature, compatible) PR 976
  • Add HasTextEnvelope, HasTypeProxy, SerialiseAsCBOR instances for data Certificate era
    (compatible) PR 956
  • Implement experimental estimateBalancedTxBody
    (feature, compatible) PR 887
  • Remove test library dependencies as it is bad practice to depend on them. This is a breaking change because there may be users that depend on both cardano-api's test/gen libraries as well as ledger's test libraries. We think this is highly unlikely however.
    (breaking) PR 942
  • Use raw bytes representation instead of CBOR for CIP-129 identifier serialisation
    (breaking, bugfix) PR 937
  • Re-export asTxMetadata
    (feature) PR 943
  • Expose additional ledger functionality: pattern AlonzoGenesis, costModelsValid, getCostModelParams
    (compatible) PR 939
  • Fix incorrect index in GovActionId serialisation
    (bugfix) PR 936
  • Re-export fromShelleyGenesis in Cardano.Api.Genesis.
    (compatible) PR 886
  • Add wrapper SignedTx for signed transactions in experimental API
    (feature) PR 897
  • Add additional constraints to EraCommonConstraints
    (compatible) PR 899
  • Add Cardano.Api.UTxO.containsOutputs.
    (compatible) PR 890
  • Cardano.Api.Experimental: Fix missing key witnesses in certificates
    (compatible, bugfix) PR 879
  • Add genChainPoint and genChainPointAt.
    (feature, compatible) PR 877
  • Add null size functions to Cardano.Api.UTxO.
    (feature, compatible) PR 876
  • Introduce new Certificate haskell type
    (feature, compatible) PR 858
  • Breaking refactor: change module structure according to ADR-009
  • Add new exported modules:
    • Cardano.Api.Certificate
    • Cardano.Api.Era
    • Cardano.Api.Experimental.Plutus
    • Cardano.Api.Genesis
    • Cardano.Api.Governance
    • Cardano.Api.Key
    • Cardano.Api.IPC
    • Cardano.Api.Plutus
    • Cardano.Api.Query
    • Cardano.Api.Serialise.DeserialiseAnyOf
    • Cardano.Api.Serialise.TextEnvelope
    • Cardano.Api.Serialise.Tx
    • Cardano.Api.Value
  • Rename modules:
    • Cardano.Api.Byron.Internal.Key -> Cardano.Api.Internal.Keys.Byron
    • Cardano.Api.Byron.Internal.Proposal -> Cardano.Api.Internal.SpecialByron
    • Cardano.Api.Certificate.Internal -> Cardano.Api.Internal.Certificate
    • Cardano.Api.Certificate.Internal.OperationalCertificate -> Cardano.Api.Internal.OperationalCertificate
    • Cardano.Api.Certificate.Internal.StakePoolMetadata -> Cardano.Api.Internal.StakePoolMetadata
    • Cardano.Api.Certificate.Internal.DRepMetadata -> Cardano.Api.Internal.DRepMetadata
    • Cardano.Api.Compatible.Tx -> Cardano.Api.Internal.Compatible.Tx
    • Cardano.Api.ProtocolParameters -> Cardano.Api.Internal.ProtocolParameters
    • Cardano.Api.Consensus.Internal.Reexport -> Cardano.Api.Internal.ReexposeConsensus
    • Cardano.Api.Consensus.Internal.Mode -> Cardano.Api.Internal.Modes
    • Cardano.Api.Consensus.Internal.InMode -> Cardano.Api.Internal.InMode
    • Cardano.Api.Consensus.Internal.Protocol -> Cardano.Api.Internal.Protocol
    • Cardano.Api.Era.Internal.Case -> Cardano.Api.Internal.Eras.Case
    • Cardano.Api.Era.Internal.Core -> Cardano.Api.Internal.Eras.Core
    • Cardano.Api.Era.Internal.Feature -> Cardano.Api.Internal.Feature
    • Cardano.Api.Era.Internal.Eon.AllegraEraOnwards -> Cardano.Api.Internal.Eon.AllegraEraOnwards
    • Cardano.Api.Era.Internal.Eon.AlonzoEraOnwards -> Cardano.Api.Internal.Eon.AlonzoEraOnwards
    • Cardano.Api.Era.Internal.Eon.BabbageEraOnwards -> Cardano.Api.Internal.Eon.BabbageEraOnwards
    • Cardano.Api.Era.Internal.Eon.ByronToAlonzoEra -> Cardano.Api.Internal.Eon.ByronToAlonzoEra
    • Cardano.Api.Era.Internal.Eon.Convert -> Cardano.Api.Internal.Eon.Convert
    • Cardano.Api.Era.Internal.Eon.ConwayEraOnwards -> Cardano.Api.Internal.Eon.ConwayEraOnwards
    • Cardano.Api.Era.Internal.Eon.MaryEraOnwards -> Cardano.Api.Internal.Eon.MaryEraOnwards
    • Cardano.Api.Era.Internal.Eon.ShelleyBasedEra -> Cardano.Api.Internal.Eon.ShelleyBasedEra
    • Cardano.Api.Era.Internal.Eon.ShelleyEraOnly -> Cardano.Api.Internal.Eon.ShelleyEraOnly
    • Cardano.Api.Era.Internal.Eon.ShelleyToAllegraEra -> Cardano.Api.Internal.Eon.ShelleyToAllegraEra
    • Cardano.Api.Era.Internal.Eon.ShelleyToAlonzoEra -> Cardano.Api.Internal.Eon.ShelleyToAlonzoEra
    • Cardano.Api.Era.Internal.Eon.ShelleyToBabbageEra -> Cardano.Api.Internal.Eon.ShelleyToBabbageEra
    • Cardano.Api.Era.Internal.Eon.ShelleyToMaryEra -> Cardano.Api.Internal.Eon.ShelleyToMaryEra
    • Cardano.Api.Era -> Cardano.Api.Internal.Eras
    • Cardano.Api.Experimental.Era -> Cardano.Api.Internal.Experimental.Eras
    • Cardano.Api.Experimental.Plutus.Internal.IndexedPlutusScriptWitness -> Cardano.Api.Internal.Experimental.Plutus.IndexedPlutusScriptWitness
    • Cardano.Api.Experimental.Plutus.Internal.ScriptWitness -> Cardano.Api.Internal.Experimental.Plutus.ScriptWitness
    • Cardano.Api.Experimental.Plutus.Internal.Script -> Cardano.Api.Internal.Experimental.Plutus.Script
    • Cardano.Api.Experimental.Plutus.Internal.Shim.LegacyScripts -> Cardano.Api.Internal.Experimental.Plutus.Shim.LegacyScripts
    • Cardano.Api.Experimental.Simple.Script -> Cardano.Api.Internal.Experimental.Simple.Script
    • Cardano.Api.Experimental.Tx -> Cardano.Api.Internal.Experimental.Tx
    • Cardano.Api.Experimental.Tx.Internal.AnyWitness -> Cardano.Api.Internal.Experimental.Witness.AnyWitness
    • Cardano.Api.Experimental.Tx.Internal.TxScriptWitnessRequirements -> Cardano.Api.Internal.Experimental.Witness.TxScriptWitnessRequirements
    • Cardano.Api.Genesis.Internal.Parameters -> Cardano.Api.Internal.GenesisParameters
    • Cardano.Api.Genesis.Internal -> Cardano.Api.Internal.Genesis
    • Cardano.Api.Governance.Internal.Action.ProposalProcedure -> Cardano.Api.Internal.Governance.Actions.ProposalProcedure
    • Cardano.Api.Governance.Internal.Action.VotingProcedure -> Cardano.Api.Internal.Governance.Actions.VotingProcedure
    • Cardano.Api.Governance.Internal.Metadata.Anchor -> Cardano.Api.Internal.Anchor
    • Cardano.Api.Governance.Internal.Metadata.DrepRegistration -> Cardano.Api.Internal.Governance.Metadata.DrepRegistration
    • Cardano.Api.Governance.Internal.Metadata.GovAction -> Cardano.Api.Internal.Governance.Metadata.GovAction
    • Cardano.Api.Governance.Internal.Metadata.Validation -> Cardano.Api.Internal.Governance.Metadata.Validation
    • Cardano.Api.Governance.Internal.Poll -> Cardano.Api.Internal.Governance.Poll
    • Cardano.Api.IO.Internal.Compat.Posix -> Cardano.Api.Internal.IO.Compat.Posix
    • Cardano.Api.IO.Internal.Compat.Win32 -> Cardano.Api.Internal.IO.Compat.Win32
    • Cardano.Api.IO.Internal.Compat -> Cardano.Api.Internal.IO.Compat
    • Cardano.Api.IO.Internal.Base -> Cardano.Api.Internal.IO.Base
    • Cardano.Api.IO -> Cardano.Api.Internal.IO
    • Cardano.Api.Key.Internal -> Cardano.Api.Internal.Keys.Shelley
    • Cardano.Api.Key.Internal.Class -> Cardano.Api.Internal.Keys.Class
    • Cardano.Api.Key.Internal.Mnemonic -> Cardano.Api.Internal.Keys.Mnemonics
    • Cardano.Api.Key.Internal.Praos -> Cardano.Api.Internal.Keys.Praos
    • Cardano.Api.Key.Internal.SomeAddressVerificationKey -> Cardano.Api.Internal.Keys.SomeAddressVerificationKey
    • Cardano.Api.Ledger.Internal.Reexport -> Cardano.Api.Internal.ReexposeLedger
    • Cardano.Api.LedgerState -> Cardano.Api.Internal.LedgerState
    • Cardano.Api.LedgerState.Internal.ConvertLedgerEvent -> Cardano.Api.Internal.LedgerEvents.ConvertLedgerEvent
    • Cardano.Api.LedgerState.Internal.LedgerEvent -> Cardano.Api.Internal.LedgerEvents.LedgerEvent
    • Cardano.Api.LedgerState.Internal.Rule.BBODY.DELEGS -> Cardano.Api.Internal.LedgerEvents.Rule.BBODY.DELEGS
    • Cardano.Api.LedgerState.Internal.Rule.BBODY.LEDGER -> Cardano.Api.Internal.LedgerEvents.Rule.BBODY.LEDGER
    • Cardano.Api.LedgerState.Internal.Rule.BBODY.UTXOW -> Cardano.Api.Internal.LedgerEvents.Rule.BBODY.UTXOW
    • Cardano.Api.LedgerState.Internal.Rule.TICK.RUPD -> Cardano.Api.Internal.LedgerEvents.Rule.TICK.RUPD
    • Cardano.Api.LedgerState.Internal.Rule.TICK.NEWEPOCH -> Cardano.Api.Internal.LedgerEvents.Rule.TICK.NEWEPOCH
    • Cardano.Api.Network.Internal.Reexport -> Cardano.Api.Internal.ReexposeNetwork
    • Cardano.Api.Network.Internal.NetworkId -> Cardano.Api.Internal.NetworkId
    • Cardano.Api.Network.IPC.Internal.ChainSync.ClientPipelined -> Cardano.Api.ChainSync.ClientPipelined
    • Cardano.Api.Network.IPC.Internal.ChainSync.Client -> Cardano.Api.ChainSync.Client
    • Cardano.Api.Network.IPC.Internal.Monad -> Cardano.Api.Internal.IPC.Monad
    • Cardano.Api.Network.IPC.Internal.Version -> Cardano.Api.Internal.IPC.Version
    • Cardano.Api.Network.IPC.Internal -> Cardano.Api.Internal.IPC
    • Cardano.Api.Plutus.Internal -> Cardano.Api.Internal.Plutus
    • Cardano.Api.Plutus.Internal.ScriptData -> Cardano.Api.Internal.ScriptData
    • Cardano.Api.Plutus.Internal.Script -> Cardano.Api.Internal.Script
    • Cardano.Api.Serialise.Bech32 -> Cardano.Api.Internal.SerialiseBech32
    • Cardano.Api.Serialise.Cip129 -> Cardano.Api.Internal.CIP.Cip129
    • Cardano.Api.Serialise.Cbor.Canonical -> Cardano.Api.Internal.Serialise.Cbor.Canonical
    • Cardano.Api.Serialise.Cbor -> Cardano.Api.Internal.Serialise.Cbor
    • Cardano.Api.Serialise.DeserialiseAnyOf -> Cardano.Api.Internal.DeserialiseAnyOf
    • Cardano.Api.Serialise.Json -> Cardano.Api.Internal.SerialiseJSON
    • Cardano.Api.Serialise.Raw -> Cardano.Api.Internal.SerialiseRaw
    • Cardano.Api.Serialise.SerialiseUsing -> Cardano.Api.Internal.SerialiseUsing
    • Cardano.Api.Serialise.TextEnvelope.Internal -> Cardano.Api.Internal.SerialiseTextEnvelope
    • Cardano.Api.Serialise.TextEnvelope.Internal.Cddl -> Cardano.Api.Internal.SerialiseLedgerCddl
    • Cardano.Api.Query.Internal.Convenience -> Cardano.Api.Internal.Convenience.Query
    • Cardano.Api.Query.Internal.Expr -> Cardano.Api.Internal.Query.Expr
    • Cardano.Api.Query.Internal.Type.DebugLedgerState -> Cardano.Api.Internal.Query.Types
    • Cardano.Api.Query.Internal.Type.DelegationsAndRewards -> Cardano.Api.Internal.Rewards
    • Cardano.Api.Query.Internal.Type.QueryInMode -> Cardano.Api.Internal.Query
    • Cardano.Api.Tx.Internal.Body -> Cardano.Api.Internal.Tx.Body
    • Cardano.Api.Tx.Internal.Body.Lens -> Cardano.Api.Ledger.Lens
    • Cardano.Api.Tx.Internal.Convenience -> Cardano.Api.Internal.Convenience.Construction
    • Cardano.Api.Tx.Internal.Fee -> Cardano.Api.Internal.Fees
    • Cardano.Api.Tx.Internal.Sign -> Cardano.Api.Internal.Tx.Sign
    • Cardano.Api.Tx.Internal.BuildTxWith -> Cardano.Api.Internal.Tx.BuildTxWith
    • Cardano.Api.Tx.Internal.Output -> Cardano.Api.Internal.Tx.Output
    • Cardano.Api.Tx.Internal.TxIn -> Cardano.Api.Internal.TxIn
    • Cardano.Api.Tx.Internal.TxMetadata -> Cardano.Api.Internal.TxMetadata
    • Cardano.Api.Address -> Cardano.Api.Internal.Address
    • Cardano.Api.Block -> Cardano.Api.Internal.Block
    • Cardano.Api.Error -> Cardano.Api.Internal.Error
    • Cardano.Api.HasTypeProxy -> Cardano.Api.Internal.HasTypeProxy
    • Cardano.Api.Hash -> Cardano.Api.Internal.Hash
    • Cardano.Api.Monad.Error -> Cardano.Api.Internal.Monad.Error
    • Cardano.Api.Pretty -> Cardano.Api.Internal.Pretty
    • Cardano.Api.Pretty.Internal.ShowOf -> Cardano.Api.Internal.Via.ShowOf
    • Cardano.Api.UTxO -> Cardano.Api.Internal.Tx.UTxO
    • Cardano.Api.Value.Internal.Parser -> Cardano.Api.Internal.ValueParser
    • Cardano.Api.Value.Internal -> Cardano.Api.Internal.Value
      (breaking, refactoring) PR 840
  • Remove partial IsString instances. Use deserialiseFromRawBytesHex or specialised parser instead.
  • Make SerialiseAsBech32 class use HumanReadablePart instead of Text for Bech32 prefix in bech32PrefixFor and bech32PrefixesPermitted functions.
    (breaking, refactoring) PR 842
  • Add genBlockHeader and related functions to Test.Gen.Cardano.Api.Typed.
    (compatible) PR 834
  • Add more Data.Map style functions to Cardano.Api.Tx.UTxO: insert, delete, adjust, union, unions, difference, intersection, map. mapWithKey, mapKeys, foldMap, fromMap, find, findWithKey.
    (compatible) PR 841
Submit API
  • Improve robustness of cardano-submit-api by preventing crashes when the metrics port fails to open. PR 6319
  • Add a --version command-line option to display version information. PR 6321
Plutus
  • No changes

Detailed Changelogs

Individual packages' changelogs Package changelogs
Package Version Changelog
byron-spec-chain 1.0.1.1 CHANGELOG.md
byron-spec-ledger 1.1.0.1 CHANGELOG.md
cardano-api 10.19.1.0 CHANGELOG.md
cardano-binary 1.7.2.0 CHANGELOG.md
cardano-cli 10.13.1.0 CHANGELOG.md
cardano-crypto-class 2.2.3.1 CHANGELOG.md
cardano-crypto-praos 2.2.1.1 CHANGELOG.md
cardano-crypto-test 1.6.0.0 CHANGELOG.md
cardano-crypto-tests 2.2.2.0 CHANGELOG.md
cardano-crypto-wrapper 1.6.1.0 CHANGELOG.md
cardano-data 1.2.4.1 CHANGELOG.md
cardano-ledger-allegra 1.8.0.0 CHANGELOG.md
cardano-ledger-alonzo 1.14.0.0 CHANGELOG.md
cardano-ledger-alonzo-test 1.4.0.0 CHANGELOG.md
cardano-ledger-api 1.12.1.0 CHANGELOG.md
cardano-ledger-babbage 1.12.0.0 CHANGELOG.md
cardano-ledger-binary 1.7.0.0 CHANGELOG.md
cardano-ledger-byron 1.2.0.0 CHANGELOG.md
cardano-ledger-conway 1.20.0.0 CHANGELOG.md
cardano-ledger-core 1.18.0.0 CHANGELOG.md
cardano-ledger-dijkstra 0.1.0.0 CHANGELOG.md
cardano-ledger-mary 1.9.0.0 CHANGELOG.md
cardano-ledger-shelley 1.17.0.0 CHANGELOG.md
cardano-ledger-shelley-ma-test 1.4.0.0 CHANGELOG.md
cardano-ledger-shelley-test 1.7.0.0 CHANGELOG.md
cardano-ping 0.9.0.0 CHANGELOG.md
cardano-protocol-tpraos 1.4.1.0 CHANGELOG.md
cardano-slotting 0.2.0.1 CHANGELOG.md
cardano-strict-containers 0.1.5.0 CHANGELOG.md
ekg-forward 1.0 CHANGELOG.md
fingertree-rm 1.0.0.4 CHANGELOG.md
kes-agent 0.2.0.1
kes-agent-crypto 0.1.0.0 CHANGELOG.md
network-mux 0.9.0.0 CHANGELOG.md
ouroboros-consensus 0.28.0.2 CHANGELOG.md
ouroboros-consensus-cardano 0.26.0.2 CHANGELOG.md
ouroboros-consensus-diffusion 0.24.0.0 CHANGELOG.md
ouroboros-consensus-protocol 0.13.0.0 CHANGELOG.md
ouroboros-network 0.22.4.0 CHANGELOG.md
ouroboros-network-api 0.16.0.0 CHANGELOG.md
ouroboros-network-framework 0.19.2.0 CHANGELOG.md
ouroboros-network-mock 0.1.1.2 CHANGELOG.md
ouroboros-network-protocols 0.15.0.0 CHANGELOG.md
ouroboros-network-testing 0.8.2.0 CHANGELOG.md
plutus-core 1.53.1.0 CHANGELOG.md
plutus-ledger-api 1.53.1.0 CHANGELOG.md
plutus-tx 1.53.1.0 CHANGELOG.md
plutus-tx-plugin 1.53.1.0 CHANGELOG.md
quickcheck-monoids 0.1.0.3 CHANGELOG.md
set-algebra 1.1.0.4 CHANGELOG.md
small-steps 1.1.2.0 CHANGELOG.md
vector-map 1.1.0.1 CHANGELOG.md

Don't miss a new cardano-node release

NewReleases is sending notifications on new releases.