10.5.0
Pre-releaseCardano Node version 10.5.0
introduces several key improvements and fixes across the Cardano ecosystem. The Node now exposes an LMDB MaxReaders
configuration option, while Consensus includes optimizations for Ouroboros Genesis, drops GHC 8.10 support, and removes deprecated features such as SlotForgeTimeOracle
. Network changes reduce the default peer connection targets, add configurable egress buffering, and fix synchronisation issues. The Cardano Node CLI standardizes JSON/YAML outputs, enables offline Plutus cost calculations, and removes legacy commands. Meanwhile, the Cardano Node API enhances governance credential handling, deprecates outdated functions, and resolves auto-balancing bugs.
This is a pre-release version of the node - it is not recommended for Mainnet use at this point in time.
Benchmarking reports relevant to the 10.5.0
release can be found in this post on Cardano Updates.
Breaking changes
- Removed
legacy governance
command group: usecompatible
instead - Deleted
governance
...-poll
commands
Known issues
There is a known bug when starting from a Byron snapshot. The node will reject the snapshot and replay the chain from the start. However the time it takes to replay byron is small, and the chance of users starting the node from a Byron snapshot is also low. Therefore the issue will be fixed in 10.6.0.
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 or M4) processor
- 24GB of RAM when running with the
InMemory
backend, 8GB when running with theOnDisk
backend (pending confirmation) - 300GB of free storage (350GB recommended for future growth)
Platforms
- Linux 64-bit (Ubuntu 20.04 LTS, 22.04 LTS, 24.04 LTS; Mint 20, 21, 21.1, 21.2, 21.3, 22, 22.1; Debian 11, 12)
- Windows 64-bit (10, 11)
- MacOS 10.15, 11 (Big Sur), 12 (Monterey), 13 (Ventura), 14 (Sonoma), 15 (Sequioa)
GHC/Cabal supported versions
- GHC 9.6
- Cabal 3.8/3.12
Supported roles
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | 🟢 | 🟢 | 🟢 |
Windows | 🟥 | 🟥 | 🟢 |
MacOS | 🟥 | 🟥 | 🟢 |
Downloads
Documentation
- Cardano Node documentation
- For details about changes to configuration for
UTxO-HD
please 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 | 🟢 |
Site Reliability Engineer | N/A |
Release Engineer | 🟢 |
Legend
- 🟢 - signed / agreed / supported
- 🟥 - not agreed / unsupported
Changelogs
Node
- Expose
MaxReaders
config option for LMDB. - Set Preview and Preprod network configurations to use Ouroboros Genesis mode by default.
- Set node configuration's
LedgerDB
QueryBatchSize
to match the UTXO-HD migration guide default.
Tracing
Consensus
- Bug fix in Ouroboros Genesis. Added the
GsmState
argument to theregisterClient
function for the ChainSync Jumping optimization. If the node is in theGSM.CaughtUp
state, new peers now immediately disengage from CSJ. - Drop GHC 8.10 support.
- Use
HeaderWithTime
for the ChainSync candidates. - Remove
SlotForgeTimeOracle
and its use in the BlockFetch client interface, as we no longer translate time in the BlockFetch client. - Rename
GetLedgerConfig
toDebugLedgerConfig
, indicating that it is a debug query, meaning that compatibility across node versions is not guaranteed. Please let us know if you want to rely on this query and would benefit from proper backwards-compatibility guarantees. - Removed reference to deleted
NodeToNodeV_13
fromSupportedNetworkProtocolVersion
.
Ledger
- No changes
Network
- Removed support for legacy node-to-node protocol version 13 for clients unable to cross past Chang HF.
- To diminish socket usage, the default peer selection target for established outbound connections was lowered from 40 to 30 in deadline/caught up node. Also lowered the same parameter from 50 to 40 for a node syncing in Genesis mode.
- These peer selection targets are also propagated to the default values used by
cardano-node
, default mainnet configuration file; cardano-book will be updated for the next release (rather than a pre-release).
- These peer selection targets are also propagated to the default values used by
- Implemented mux egress buffering via configurable polling parameter (
EgressPollInterval
key in the node configuration file) which lets operators tune latency vs. network efficiency to their preference. The default value is 0 [s] effectively disabling this feature, but values up to 0.200 (200 ms) are currently supported, which trades network latency for expected gains in network efficiency under high load conditions where many downstream peers are served. See IntersectMBO/ouroboros-network#5113 - Fixed churn regression introduced in node 10.3 affecting a node syncing in Genesis mode.
- The default value of
PeerSharing
in the node has changed totrue
; this follows the published configuration, which has been using peer sharing for a while now.
CLI
Release Notes for cardano-cli
(10.9.0.0 to 10.11.0.0)
Main changes
-
Standardized output format parameters and output across the
cardano-cli
and added support for new formats, especiallyyaml
andjson
:-
New
--output-yaml
option for the following commands:conway query ledger-state
conway query ref-script-size
conway query stake-distribution
conway query stake-pools
conway query utxo
conway text-view decode-cbor
conway transaction calculate-min-fee
conway transaction txid
latest query ledger-state
latest query ref-script-size
latest query stake-distribution
latest query stake-pools
latest query utxo
latest text-view decode-cbor
latest transaction calculate-min-fee
latest transaction txid
query ledger-state
query stake-distribution
query stake-pools
query utxo
(compatible)
PR 1192 -
New
--output-json
and--output-yaml
flags for the following commands:conway query committee-state
conway query constitution
conway query drep-stake-distribution
conway query drep-state
conway query future-pparams
conway query gov-state
conway query proposals
conway query ratify-state
latest query committee-state
latest query constitution
latest query drep-stake-distribution
latest query drep-state
latest query future-pparams
latest query gov-state
latest query proposals
latest query ratify-state
(compatible)
PR 1188 -
The following commands have been updated to take output format:
conway query kes-period-info
conway query ledger-peer-snapshot
conway query pool-params
conway query pool-state
conway query protocol-parameters
conway query spo-stake-distribution
conway query stake-address-info
conway query stake-pool-default-vote
conway query stake-snapshot
conway query tip
conway query tx-mempool
conway query tx-mempool info
conway query tx-mempool next-tx
conway query tx-mempool tx-exists
latest query kes-period-info
latest query ledger-peer-snapshot
latest query pool-params
latest query pool-state
latest query protocol-parameters
latest query spo-stake-distribution
latest query stake-address-info
latest query stake-pool-default-vote
latest query stake-snapshot
latest query tip
latest query tx-mempool
latest query tx-mempool info
latest query tx-mempool next-tx
latest query tx-mempool tx-exists
query kes-period-info
query ledger-peer-snapshot
query pool-params
query pool-state
query protocol-parameters
query stake-address-info
query stake-snapshot
query tip
query tx-mempool
query tx-mempool info
query tx-mempool next-tx
query tx-mempool tx-exists
(compatible, maintenance)
PR 1180 -
Rolled out
--output-json
and--output-yaml
to various commands:compatible conway governance action view
compatible conway governance vote view
conway governance action view
conway governance vote view
conway query leadership-schedule
debug transaction view
latest governance action view
latest governance vote view
latest query leadership-schedule
query leadership-schedule
Ensured we encode json the same way in each command.
(breaking, maintenance)
PR 1175 -
The
--output-cbor
flag has been split to--output-cbor-bin
and--output-cbor-hex
.
Thequery protocol-state
command now takes output format flags:--output-cbor-bin
--output-cbor-hex
--output-json
--output-yaml
(breaking, refactoring)
PR 1183
-
Standardised output format for
query ledger-peer-snapshot
command
Supports--output-json
,--output-json-pretty
and--output-yaml
(breaking)
PR 1172 -
Standardised output for
query ledger-state
cmd
(breaking, maintenance)
PR 1168 -
Standardised output for
text-view decode-cbor
command
(breaking, refactoring)
PR 1164 -
Incorporated CIP-129
(feature, compatible)
PR 1087
-
-
Added build for Windows as an artefact for releases
(feature)
PR 1182A mingw32 generated build for Windows is now available for every release in the releases page of GitHub. The build consists of a zip packing the
cardano-cli
executable and the libraries it requires. This can be run without the need of using WSL.

-
Modified Plutus cost calculation command to allow the user to supply offline data instead of querying the node
(feature)
PR 1079Era dependent command
transaction calculate-plutus-script-cost
now has been split into two optionsonline
andoffline
. Theonline
mode works the same as it did. Theoffline
mode allows users to manually provide the necessary information and does not require connecting to a running node to estimate the execution costs of Plutus contracts.To support this functionality, we have also added a new query to gather
EraHistory
, needed by this command,query era-history
. This query needs to still be run against a running node, but the information can be reused at least until there is a hard-fork.
Other features
-
Added support for stake pool extended keys
(feature)
PR 1091 -
Wrap CLI help based on terminal width
(feature)
PR 1152
Breaking changes
-
Removed
legacy governance
command group
Usecompatible
instead
(breaking)
PR 1194 -
Deleted
governance
...-poll
commands:compatible babbage governance answer-poll
compatible babbage governance create-poll
compatible babbage governance verify-poll
(breaking, maintenance)
PR 1178
Bug fixes
-
Changed default era value from
babbage
toconway
(breaking, bugfix)
PR 1193 -
Simplified code by not using
QueryStakeAddressInfoCmdArgs
unnecessarily.
Also fixedquery spo-stake-distribution
command so that the output format flags are respected.
(refactoring, bugfix)
PR 1184 -
Fixed incomplete pattern match error in transaction build using byron address
(bugfix)
PR 1167
API
Release Notes for cardano-api
(10.15.0.0 to 10.16.3.0)
Main changes
-
Added support for stake pool extended keys
(feature)
PR 781 -
Implemented
Cip129
class. This type class captures the bech32 encoding modification that allows identification of various governance credentials and governance action ids.
(feature)
PR 778
Other features
-
Exposed
substituteExecutionUnits
&handleExUnitsErrors
fromCardano.Api.Internal.Fees
module
(compatible)
PR 820 -
Added
toMap
synonym forunUTxO
,resolveTxIn
synonym forlookup
functions toCardano.Api.Tx.UTxO
.
(compatible)
PR 832 -
Added
IsCardanoEra
constraint toEraCommonConstraints
(compatible)
PR 846 -
Added
IsShelleyBasedEra
constraint toEraCommonConstraints
(compatible)
PR 849 -
Added an instance for
Convert ConwayEraOnwards Era
(feature)
PR 848 -
Added constraints to
EraCommonConstraints
(compatible, refactoring)
PR 831 -
Added
Pretty
instance toUrl
.
(compatible)
PR 839 -
Added
MonoTraversable
,MonoFoldable
,MonoFunctor
to theUTxO
type
(compatible)
PR 845
Breaking changes
-
Deprecated
makeShelleyTransactionBody
(breaking, refactoring)
PR 835 -
Allowed providing of actual datum for reference inputs in
TxInsReference
.
(feature, breaking)
PR 814 -
Deprecated
shelleyToAlonzoEraToShelleyToBabbageEra
,alonzoEraOnwardsToMaryEraOnwards
,babbageEraOnwardsToMaryEraOnwards
,babbageEraOnwardsToAlonzoEraOnwards
.- Added
asType
for easier obtaining ofHasTypeProxy
proxies - Removed unneded
AsType a
functions' arguments - Removed some
ByronEra
-related dead code.
(breaking, refactoring)
PR 825
- Added
-
Removed Babbage era from
Experimental
API together withbabbageEraOnwardsToEra
function.
(breaking)
PR 828 -
Improved autobalancing errors when change has no lovelace
checkMinUTxOValue
has its arguments flipped.
(breaking, refactoring)
PR 816
Bug fixes
- Fixed an autobalancing error needlessly thrown when there is no change in the transaction. Added property test for autobalancing.
(bugfix, test)
PR 829
Submit API
Plutus
- No changes
Detailed Changelogs
Individual packages' changelogs
Package changelogsPackage | Version | Changelog |
---|---|---|
Win32-network | 0.2.0.1 | ChangeLog.md |
base-deriving-via | 0.1.0.2 | CHANGELOG.md |
byron-spec-chain | 1.0.1.0 | CHANGELOG.md |
byron-spec-ledger | 1.1.0.0 | CHANGELOG.md |
cardano-api | 10.16.3.0 | CHANGELOG.md |
cardano-binary | 1.7.1.0 | CHANGELOG.md |
cardano-cli | 10.11.0.0 | CHANGELOG.md |
cardano-crypto-class | 2.2.2.0 | CHANGELOG.md |
cardano-crypto-praos | 2.2.1.0 | CHANGELOG.md |
cardano-crypto-test | 1.6.0.0 | CHANGELOG.md |
cardano-crypto-tests | 2.2.1.0 | CHANGELOG.md |
cardano-crypto-wrapper | 1.6.0.0 | CHANGELOG.md |
cardano-data | 1.2.4.0 | CHANGELOG.md |
cardano-git-rev | 0.2.2.0 | |
cardano-ledger-allegra | 1.7.0.0 | CHANGELOG.md |
cardano-ledger-alonzo | 1.13.0.0 | CHANGELOG.md |
cardano-ledger-alonzo-test | 1.3.1.0 | CHANGELOG.md |
cardano-ledger-api | 1.11.0.0 | CHANGELOG.md |
cardano-ledger-babbage | 1.11.0.0 | CHANGELOG.md |
cardano-ledger-babbage-test | 1.3.1.0 | CHANGELOG.md |
cardano-ledger-binary | 1.6.0.0 | CHANGELOG.md |
cardano-ledger-byron | 1.1.0.0 | CHANGELOG.md |
cardano-ledger-byron-test | 1.5.2.1 | CHANGELOG.md |
cardano-ledger-conway | 1.19.0.0 | CHANGELOG.md |
cardano-ledger-conway-test | 1.3.1.0 | CHANGELOG.md |
cardano-ledger-core | 1.17.0.0 | CHANGELOG.md |
cardano-ledger-mary | 1.8.0.0 | CHANGELOG.md |
cardano-ledger-shelley | 1.16.0.0 | CHANGELOG.md |
cardano-ledger-shelley-ma-test | 1.3.0.0 | CHANGELOG.md |
cardano-ledger-shelley-test | 1.6.0.0 | CHANGELOG.md |
cardano-lmdb | 0.4.0.3 | CHANGELOG.md |
cardano-lmdb-simple | 0.8.0.1 | CHANGELOG.md |
cardano-ping | 0.8.0.1 | CHANGELOG.md |
cardano-prelude | 0.2.1.0 | ChangeLog.md |
cardano-prelude-test | 0.1.0.5 | |
cardano-protocol-tpraos | 1.4.0.0 | CHANGELOG.md |
cardano-slotting | 0.2.0.0 | CHANGELOG.md |
cardano-strict-containers | 0.1.4.0 | CHANGELOG.md |
contra-tracer | 0.1.0.1 | |
cuddle | 0.3.2.1 | CHANGELOG.md |
diff-containers | 1.3.0.0 | CHANGELOG.md |
ekg-forward | 0.9 | CHANGELOG.md |
fingertree-rm | 1.0.0.4 | CHANGELOG.md |
heapwords | 0.1.0.2 | CHANGELOG.md |
iohk-monitoring | 0.2.1.1 | |
lobemo-backend-aggregation | 0.1.0.0 | |
lobemo-backend-ekg | 0.2.0.0 | |
lobemo-backend-monitoring | 0.1.0.0 | |
lobemo-backend-trace-forwarder | 0.1.0.0 | |
lobemo-scribe-systemd | 0.1.0.0 | |
measures | 0.1.0.2 | CHANGELOG.md |
monoidal-synchronisation | 0.1.0.6 | CHANGELOG.md |
network-mux | 0.8.0.1 | CHANGELOG.md |
non-integral | 1.0.0.0 | CHANGELOG.md |
optparse-applicative-fork | 0.18.1.0 | CHANGELOG.md |
ouroboros-consensus | 0.27.0.0 | CHANGELOG.md |
ouroboros-consensus-cardano | 0.25.1.0 | CHANGELOG.md |
ouroboros-consensus-diffusion | 0.23.0.0 | CHANGELOG.md |
ouroboros-consensus-protocol | 0.12.0.0 | CHANGELOG.md |
ouroboros-network | 0.21.2.0 | CHANGELOG.md |
ouroboros-network-api | 0.14.0.0 | CHANGELOG.md |
ouroboros-network-framework | 0.18.0.1 | CHANGELOG.md |
ouroboros-network-mock | 0.1.1.2 | CHANGELOG.md |
ouroboros-network-protocols | 0.14.0.1 | CHANGELOG.md |
ouroboros-network-testing | 0.8.1.0 | CHANGELOG.md |
plutus-core | 1.45.0.0 | CHANGELOG.md |
plutus-ledger-api | 1.45.0.0 | CHANGELOG.md |
plutus-tx | 1.45.0.0 | CHANGELOG.md |
plutus-tx-plugin | 1.45.0.0 | CHANGELOG.md |
prettyprinter-configurable | 1.36.0.0 | |
quickcheck-monoids | 0.1.0.1 | CHANGELOG.md |
set-algebra | 1.1.0.3 | CHANGELOG.md |
small-steps | 1.1.1.0 | CHANGELOG.md |
sop-extras | 0.4.0.0 | CHANGELOG.md |
strict-checked-vars | 0.2.0.0 | CHANGELOG.md |
strict-sop-core | 0.1.3.0 | CHANGELOG.md |
tracer-transformers | 0.1.0.4 | |
typed-protocols | 0.3.0.0 | CHANGELOG.md |
typed-protocols-cborg | 0.3.0.0 | CHANGELOG.md |
typed-protocols-examples | 0.5.0.0 | |
typed-protocols-stateful | 0.3.0.0 | |
typed-protocols-stateful-cborg | 0.3.0.0 | ChangeLog.md |
validation-selective | 0.2.0.0.0.0.0.0.1 | CHANGELOG.md |
vector-map | 1.1.0.0 | CHANGELOG.md |