10.5.1
Node 10.5.1 provides a number of improvements over node 10.5.0. In particular, the Tracing system fixes the slotsMissed_int metric, while networking improvements include Windows socket fixes, reduced caching time of DNS lookup errors, refined PeerSharing configuration behavior (see networking changes below for details), and the deprecation of --non-producer-node in favor of --start-as-non-producer-node command line switch for starting the node. This release also removes a number of irrelevant binaries from the Node artifacts and adds tx-generator.
Benchmarking reports relevant to the 10.5.1 release can be found in this post on Cardano Updates.
System testing results for the 10.5.1 release can be found on the corresponding tag testing page.
Please note the changed default behavior for PeerSharing for relay nodes, but not for block producers. This reflects the recommendations for mainnet usage -- mainnet block producers may not meet the Praos performance guarantees if PeerSharing is enabled and IP will also be leaked, but this is not an issue for relays.
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 the Byron era is small, and very few users are expected to need to start the node from a Byron snapshot. 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
InMemorybackend, 8GB when running with theOnDiskbackend (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-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 | 🟢 |
| Performance Engineer | 🟢 |
| Site Reliability Engineer | 🟢 |
| Release Engineer | 🟢 |
Legend
- 🟢 - signed / agreed / supported
- 🟥 - not agreed / unsupported
Changelogs
Node
- Some irrelevant binaries have been removed from the release binary artifacts, and
tx-generatoradded.
Tracing
- New Tracing System: fixed
slotsMissed_intmetric
Consensus
- No changes
Ledger
- No changes
Network
- Fixed an issue on Windows: setting unsupported Windows socket option which resulted in connections being torn down
- Lowered the time of caching DNS lookup errors to at most 15 minutes
- Allow
PeerSharinginInitiatorOnlyDiffusionMode - The default value of
PeerSharingconfiguration parameter depends on whether the node is configured as a block producer (=PeerSharingDisabled) or a relay (=PeerSharingEnabled) for normal operations. For this purpose, the node is considered a BP if any of the protocol files are present at startup. The default can be overridden by explicitly setting thePeerSharingkey in the configuration file to the desired value.
CLI
- No changes
API
- No changes
Submit API
- No changes
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.3.0 | CHANGELOG.md |
| ouroboros-network-api | 0.14.1.0 | CHANGELOG.md |
| ouroboros-network-framework | 0.18.0.2 | CHANGELOG.md |
| ouroboros-network-mock | 0.1.1.2 | CHANGELOG.md |
| ouroboros-network-protocols | 0.14.0.2 | 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 |