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.0starts 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-nodestake 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 Genesisenabled (configuration keyConsensusMode = GenesisMode, the default on preview/preprod, optional on mainnet), the node emits a warning when a ledger peer snapshot (keypeerSnapshotFilein the topology file) is not specified or the file is missing. WhenOuroboros Genesisbecomes 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 inGenesisMode. - 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
InMemorybackend, 8GB when running with theOnDiskbackend - 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
- Pre-release configuration files
- Docker Images: cardano-node, cardano-tracer, cardano-submit-api
Documentation
- Cardano Node documentation
- For details about changes to configuration for
UTxO-HDplease refer to the Consensus docs on UTxO-HD - The getting started guide may also be helpful for general queries.
- Networking options and related changes are listed on the P2P section
- For details about changes to configuration for
- Cardano CLI
- Internal API docs for ledger, consensus and network
- Compatibility matrix
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.jsonwhich uses the new tracing system, andconfig-legacy.jsonwhich 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,TargetNumberOfKnownPeersandTargetNumberOfRootPeersconfiguration parameters based on forging status. These can still be explicitly declared. - The
EnableP2Pparameter 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-apiconfigs 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
PrometheusSimplebackend 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.GSMandNet.Peers.Ledgertraces. - 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-documentationCLI command.
Consensus
- Added
ShelleyNodeToClientVersion14which adds SRV support inGetBigLedgerPeerSnapshotquery. - Added
CardanoNodeToClientVersion18which maps toShelleyNodeToClientVersion14. - Define new Node-To-Client versions
CardanoNodeToClientVersion17,ShelleyNodeToClientVersion13. - Deprecate
GetPoolDistrin favor ofGetPoolDistr2(new inNodeToClientV_21). - Deprecate
GetStakeDistributionin favor ofGetStakeDistribution2(new inNodeToClientV_21). - Expose new query
GetMaxMajorProtocolVersionas 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.
NetworkP2PModewas removed (non-p2p mode is removed fromouroboros-network).- Added tracers
GsmEventInitializedInCaughtUpandGsmEventInitializedInPreSyncingfor 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
IgnoreBlockOlderThanKtoIgnoreBlockOlderThanImmTipfor future-proofing. - Backport #1603: Streaming of ledger tables in snapshot-converter
- Make "DijkstraGenesis" optional in unstable-cardano-tools parsers.
Ledger
- Introduction of a new
Dijkstraera andPlutusV4placeholders that for the most part mimic Conway era bahavior for now:- Add new protocol parameters:
refScriptCostMultiplier,refScriptCostStride,maxRefScriptSizePerTxandmaxRefScriptSizePerBlock - Add
DijkstraGenesisthat initializes all of the above protocol parameters.
- Add new 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
BabbageNonDisjointRefInputsforPlutusV1/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
PPViewHashesDontMatchto include the data for the expected hash: #4517
- Revert predicate check
- Drastic simplifications to the codebase and performance improvements.
- Fix JSON parser for
PlutusV3cost model, where it expected wrong number of parameters. - Made
JSONparser forCostModelinAlonzoGenesisandConwayGenesisstable. Number of parameters will not change despite that they will change through governance on a running network. - Remove
delegatorsfield from JSON serialiser forDRepStatefor correct round-tripping. - Add
queryDRepDelegationsandqueryPoolStateledger 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_21to support new codecs - Added
NodeToClientV_22to support SRV records inGetBigLedgerPeerSnapshotquery. - Randomised protocol timeouts which are used in the
ChainSyncmini-protocol:
a chain sync timeout forStNext StMustReplystate (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
InfotoDebug, 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
- mux tracer: high level (severity ranges from
- Inbound governor performance improvements.
- The diffusion layer can now trace connection duration information for hot
peers by thePeerSelectionActionsTrace(atInfolevel). - 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 createrecently 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-clinon-system deps statically and relink system deps fordarwinbuilds in releases
(bugfix) PR 1269 - Fixes a bug where the
cardano-cli query spo-stake-distribution --all-sposwas misrepresenting some cases as delegating tonull(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,SerialiseAsCBORinstances fordata 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
GovActionIdserialisation
(bugfix) PR 936 - Re-export
fromShelleyGenesisinCardano.Api.Genesis.
(compatible) PR 886 - Add wrapper
SignedTxfor 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
genChainPointandgenChainPointAt.
(feature, compatible) PR 877 - Add
nullsizefunctions toCardano.Api.UTxO.
(feature, compatible) PR 876 - Introduce new
Certificatehaskell 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
IsStringinstances. UsedeserialiseFromRawBytesHexor specialised parser instead. - Make
SerialiseAsBech32class useHumanReadablePartinstead ofTextfor Bech32 prefix inbech32PrefixForandbech32PrefixesPermittedfunctions.
(breaking, refactoring) PR 842 - Add
genBlockHeaderand related functions toTest.Gen.Cardano.Api.Typed.
(compatible) PR 834 - Add more
Data.Mapstyle functions toCardano.Api.Tx.UTxO:insert,delete,adjust,union,unions,difference,intersection,map.mapWithKey,mapKeys,foldMap,fromMap,find,findWithKey.
(compatible) PR 841
Submit API
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 |