Skip to content

10.5.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@Jimbo4350 Jimbo4350 released this 18 Jun 17:10
· 111 commits to master since this release
7e045ab

Cardano 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: use compatible 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 the OnDisk 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

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 the registerClient function for the ChainSync Jumping optimization. If the node is in the GSM.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 to DebugLedgerConfig, 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 from SupportedNetworkProtocolVersion.
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.
  • 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 to true; 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, especially yaml and json:

    • 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.
      The query 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 1182

    A 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.

windows-build
  • Modified Plutus cost calculation command to allow the user to supply offline data instead of querying the node
    (feature)
    PR 1079

    Era dependent command transaction calculate-plutus-script-cost now has been split into two options online and offline. The online mode works the same as it did. The offline 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
    Use compatible 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 to conway
    (breaking, bugfix)
    PR 1193

  • Simplified code by not using QueryStakeAddressInfoCmdArgs unnecessarily.
    Also fixed query 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 from Cardano.Api.Internal.Fees module
    (compatible)
    PR 820

  • Added toMap synonym for unUTxO, resolveTxIn synonym for lookup functions to Cardano.Api.Tx.UTxO.
    (compatible)
    PR 832

  • Added IsCardanoEra constraint to EraCommonConstraints
    (compatible)
    PR 846

  • Added IsShelleyBasedEra constraint to EraCommonConstraints
    (compatible)
    PR 849

  • Added an instance for Convert ConwayEraOnwards Era
    (feature)
    PR 848

  • Added constraints to EraCommonConstraints
    (compatible, refactoring)
    PR 831

  • Added Pretty instance to Url.
    (compatible)
    PR 839

  • Added MonoTraversable, MonoFoldable, MonoFunctor to the UTxO 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 of HasTypeProxy proxies
    • Removed unneded AsType a functions' arguments
    • Removed some ByronEra-related dead code.
      (breaking, refactoring)
      PR 825
  • Removed Babbage era from Experimental API together with babbageEraOnwardsToEra 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 changelogs
Package 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