Skip to content

Cardano Node 8.7.2

Compare
Choose a tag to compare
@github-actions github-actions released this 08 Dec 19:29
· 872 commits to master since this release
30b6e44

Cardano Node 8.7.2 brings the CLI refactoring from sanchonet to mainnet to allow teams ample time to update their components in preparation for 9.0. It also has improvements to the P2P networking layer. The high-level changelog updates below are significant changes since 8.1.2 mainnet release and only focus on the node running in the babbage era.

Benchmarking reports relevant to the 8.7.2 release can be found in this post on Cardano Updates.

The Conway genesis filé needs updated to latest sanchonet version. Check the linked configuration files below.

Breaking changes:

  • cardano-cli has dropped some byron era commands (see detailed changelogs for details)
  • While we don't anticipate any breaking changes and our regression test suites have passed, beware that major refactoring has happened on cardano-cli since 8.1.2.
  • libblst is a required dependency now in preparation for next hard fork

Known Issues

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 or M3) processor
  • 24GB of RAM
  • 200GB of free storage (250GB recommended for future growth)
Platforms
  • Linux 64-bit (Ubuntu 18.04 LTS, 20.04 LTS; Mint 19.3, 20; Debian 10.3)
  • Windows 64-bit (8.1, 10, 11)
  • MacOS 10.13, 10.14, 10.15, 11
GHC/Cabal supported versions
  • GHC 8.10.7/Cabal 3.8.1.0
Supported roles
Platform Block Production Relay Client (Desktop)
Linux ✔️ ✔️ ✔️
Windows ✔️
MacOS ✔️
Downloads

Documentation

Sign off

Role Approval
Cardano Head of Engineering ✔️
Cardano Head of Product ✔️
Test Engineer ✔️
Performance Engineer ✔️
Site Reliability Engineer ✔️
Release Engineer ✔️

Changelogs

Node

NONE

Consensus
  • Changing the selection now traces the entire SelectView (including the tiebreaker VRF)
Ledger

NONE

Network
  • Introduces light peer sharing: incoming duplex connections become known to
    the outbound governor.
  • Fixed issues with random peer selection for sharing.
  • Addressed asynchronous demotion issues, preventing peers from remaining
    indefinitely in certain states (the bug).
  • Fixed a bug where peers marked with DoNotAdvertisePeer were being shared.
  • Clarified distinction between pools of peers for sharing and requesting.
  • Updated types for PeerSharing, including removal of PeerSharingPrivate
    for symmetric handshakes, improving compatibility and fixing specific
    issues.
  • Changed encoding for IPv6 addresses in the PeerSharing protocol.
  • Introduced NodeToNodeVersion_13 - this version fixes the negotiated value
    of PeerSharing and deprecates PeerSharingPrivate. Older versions would
    wrongly echo the proposer's PeerSharing value so version 13 disables peer
    sharing with older versions to not lead into unwanted disconnections.
  • Made ChainSync idle timeout configurable.
  • Updated KeepAlive client for better round-trip time sampling.
  • Introduced less aggressive churn for established and known peers.
  • Added new PeerStatus PeerCooling to manage asynchronous demotions more accurately.
  • Introduced big ledger peers to the outbound governor.
  • Fixed a small memory leak in PeerMetrics.
  • Made DNS resolution for peers more efficient and limited concurrency for
    faster and more stable connections.
  • Improved memory footprint for peer metrics.
Cardano-cli

Introduction of Top-Level Command:

  • cardano-cli 8.17.0.0 now features as a top-level command, exemplified by commands like cardano-cli conway, cardano-cli babbage, and cardano-cli alonzo.

This refactoring is crucial for the seamless integration of the Conway era, which introduces significant changes compared to Babbage and previous eras. This enhancement aims to improve user experience by tailoring the CLI to display only the commands and flags relevant to the current era. For example, Conway-specific commands are not displayed in Babbage, and Babbage options that would be nonsensical in Conway are appropriately excluded (i.e MIR certificates and update proposals by genesis keys)

Please be aware that commands are actively under development, and changes or refinements may still occur in upcoming releases.

Preservation of Legacy Commands:

  • cardano-cli 8.17.0.0 retains all commands from cardano-cli 8.1.2 (the previous release suitable for mainnet). These commands are designated as "legacy commands," ensuring users transitioning from cardano-cli 8.1.2 can seamlessly continue their operations without disruption while they smoothly transition into the new commands structure.

Known Issues:

There are a few minor bugs related to Conway era integration where Conway subcommands are spilling over to previous eras and the legacy commands. For updates on these issues, please refer to cardano-cli repository.

  • The legacy command "cardano-cli transaction build" currently displays options --vote-file and --proposal-file.
  • The legacy command cardano-cli query presents the subcommand constitution-hash which is irrelevant for babbage era
  • cardano-cli babbage stake-address registration-certificate and cardano-cli stake-address registration-certificate show the flag --key-reg-deposit-amt but it is really not needed on Babbage. This will be removed, however the its presence and the removal is purely cosmetic since the resulting certificate does conform to the Babbage cddl. In other words, using this flag does not have any impact. The deposit in Babbage era should be supplied on the current fashion: when balancing the transaction.
  • The output of cardano-cli babbage query stake-address-info shows the voteDelegation field which does not have any meaning in Babbage and is Conway specific to display the DRep that we are delegating to.
Cardano-api
  • Major refactoring of API (see detailed changelogs for API below)
  • Fix the inclusion of datum hashes in Alonzo era tx bodies
  • New ToJSON instance for TxValidationErrorInCardanoMode
  • Remove ByronTx data constructor from data Tx era
  • Delete Cardano.Api.Eon.ByronEraOnly module
  • Remove TxFeeImplicit and TxValidityNoUpperBound
Submit-api
  • Remove support for Byron transactions
  • Update cardano-cli-8.17.0.0 and cardano-api-8.36.1.1
Plutus

NONE

Individual packages' changelogs
Package Version Changelog
Win32-network 0.1.1.1 ChangeLog.md
base-deriving-via 0.1.0.2 CHANGELOG.md
bech32 1.1.4.1 ChangeLog.md
byron-spec-chain 1.0.0.1 CHANGELOG.md
byron-spec-ledger 1.0.0.1 CHANGELOG.md
cardano-api 8.36.1.1 CHANGELOG.md
cardano-binary 1.7.1.0 CHANGELOG.md
cardano-cli 8.17.0.0 CHANGELOG.md
cardano-crypto 1.1.2
cardano-crypto-class 2.1.4.0 CHANGELOG.md
cardano-crypto-praos 2.1.2.0 CHANGELOG.md
cardano-crypto-test 1.5.0.0
cardano-crypto-tests 2.1.2.0 CHANGELOG.md
cardano-crypto-wrapper 1.5.1.0 CHANGELOG.md
cardano-data 1.1.2.0 CHANGELOG.md
cardano-ledger-allegra 1.2.5.0 CHANGELOG.md
cardano-ledger-alonzo 1.5.1.0 CHANGELOG.md
cardano-ledger-alonzo-test 1.1.2.7 CHANGELOG.md
cardano-ledger-api 1.7.0.1 CHANGELOG.md
cardano-ledger-babbage 1.5.1.0 CHANGELOG.md
cardano-ledger-babbage-test 1.1.1.8 CHANGELOG.md
cardano-ledger-binary 1.2.1.0 CHANGELOG.md
cardano-ledger-byron 1.0.0.3 CHANGELOG.md
cardano-ledger-byron-test 1.5.0.0
cardano-ledger-conway 1.11.0.0 CHANGELOG.md
cardano-ledger-conway-test 1.2.1.2 CHANGELOG.md
cardano-ledger-core 1.9.0.0 CHANGELOG.md
cardano-ledger-mary 1.4.0.0 CHANGELOG.md
cardano-ledger-pretty 1.3.3.1 CHANGELOG.md
cardano-ledger-shelley 1.8.0.0 CHANGELOG.md
cardano-ledger-shelley-ma-test 1.2.1.5 CHANGELOG.md
cardano-ledger-shelley-test 1.3.0.0 CHANGELOG.md
cardano-ping 0.2.0.9 CHANGELOG.md
cardano-prelude 0.1.0.4 ChangeLog.md
cardano-prelude-test 0.1.0.2
cardano-protocol-tpraos 1.0.3.7 CHANGELOG.md
cardano-slotting 0.1.2.0 CHANGELOG.md
cardano-strict-containers 0.1.2.1 CHANGELOG.md
contra-tracer 0.1.0.2
dependent-sum-template 0.1.1.1.0.0.0.1 ChangeLog.md
ekg 0.4.0.15.0.0.0.0.2 CHANGELOG.md
ekg-core 0.1.1.7.0.0.0.0.1 CHANGELOG.md
ekg-forward 0.4 CHANGELOG.md
ekg-json 0.1.0.7.0.0.0.0.2 CHANGELOG.md
fs-api 0.2.0.1 CHANGELOG.md
fs-sim 0.2.1.1 CHANGELOG.md
heapwords 0.1.0.2 CHANGELOG.md
iohk-monitoring 0.1.11.3
lobemo-backend-aggregation 0.1.0.0
lobemo-backend-ekg 0.1.0.1
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.4 CHANGELOG.md
network-mux 0.4.3.0 CHANGELOG.md
non-integral 1.0.0.0 CHANGELOG.md
optparse-applicative-fork 0.18.1.0 CHANGELOG.md
ouroboros-consensus 0.14.0.0 CHANGELOG.md
ouroboros-consensus-cardano 0.12.1.0 CHANGELOG.md
ouroboros-consensus-diffusion 0.9.0.0 CHANGELOG.md
ouroboros-consensus-protocol 0.6.0.0 CHANGELOG.md
ouroboros-network 0.10.1.0 CHANGELOG.md
ouroboros-network-api 0.6.1.0 CHANGELOG.md
ouroboros-network-framework 0.10.1.0 CHANGELOG.md
ouroboros-network-mock 0.1.1.0 CHANGELOG.md
ouroboros-network-protocols 0.6.0.1 CHANGELOG.md
ouroboros-network-testing 0.4.0.1 CHANGELOG.md
plutus-core 1.15.0.1 CHANGELOG.md
plutus-ledger-api 1.15.0.1 CHANGELOG.md
plutus-tx 1.15.0.1 CHANGELOG.md
prettyprinter-configurable 1.15.0.0
protolude 0.3.3.0.0.0.0.1 ChangeLog.md
set-algebra 1.1.0.1 CHANGELOG.md
small-steps 1.0.0.0 CHANGELOG.md
small-steps-test 1.0.0.1
sop-extras 0.1.0.0 CHANGELOG.md
strict-checked-vars 0.1.0.4 CHANGELOG.md
strict-sop-core 0.1.0.0 CHANGELOG.md
th-extras 0.0.0.6.0.0.0.0.1 ChangeLog.md
tracer-transformers 0.1.0.4
typed-protocols 0.1.1.0 CHANGELOG.md
typed-protocols-cborg 0.1.0.4 CHANGELOG.md
typed-protocols-examples 0.2.0.2
validation-selective 0.2.0.0.0.0.0.0.1 CHANGELOG.md
vector-algorithms 0.9.0.1.0.0.0.0.1 CHANGELOG.md
vector-map 1.0.1.0 CHANGELOG.md