Skip to content

10.4.1

Compare
Choose a tag to compare
@amesgen amesgen released this 30 Apr 16:52
10.4.1
420c94f

Node 10.4.1 integrates UTxO-HD into the Cardano node. UTxO-HD is a rework of the Consensus layer of the node which allows the UTxO set to be stored either fully in-memory (as with previous node versions) or else on some external storage medium (e.g. SSD or HD). The latter lowers the memory requirements of the running node at the cost of some speed. This first version of UTxO-HD provides an LMDB backend, but future releases will incorporate a more fine-tailored backend based on LSM trees. More information on UTxO-HD can be found in the consensus website.

This release also provides fixes and enhancements to the tracing system, to the location of LedgerDB configuration options, and to the node CLI and API. It also updates the dependency on Plutus to 1.45.

System testing results for the 10.4.1 release can be found on the corresponding tag testing page.

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

Important

Users migrating from a previous version of the node should read the migration guide to properly configure the node and convert the database such that a replay from genesis can be avoided. Mainnet block producers and associated relays should only use the V2InMemory UTXO-HD backend.

This version of the node is mainnet ready. It is recommended for production use using the in-memory backend only.

Warning

The LMDB backend has not yet been benchmarked. While it may provide sufficient performance for edge nodes (wallets, explorers, exchanges etc.) at a valuable reduction in memory usage, it should not be used for block producer or relay nodes on mainnet.

Known Issues

There is a known bug with the experimental Ouroboros Genesis feature that is not yet recommended for mainnet use.
ChainSync Jumping (CSJ) is not disabled once a node is caught up. This should not affect normal operation of the syncing node, but does risk a DoS attack for the caught-up node. It will be corrected in a future release (Issue IntersectMBO/ouroboros-consensus#1490).

There is also 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 18.04 LTS, 20.04 LTS, 22.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 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 🟢
Performance Engineer 🟢
Site Reliability Engineer 🟢
Release Engineer 🟢
Legend
  • 🟢 - signed / agreed / supported
  • 🟥 - not agreed / unsupported

Changelogs

Node
  • Relocate configuration options related to the LedgerDB under a new "LedgerDB" key in the configuration file. See Consensus' webpage for more information.
Tracing
  • New tracing: fix the following faulty metrics: connectionManager_*, slotsMissed.

  • Old Tracing: rename metric connectionManager.prunableConns to connectionManager.fullDuplexConns for incerased consistency.

  • Reworded human description of some traces to be more explanatory.

  • Relocate LedgerDB related traces under the LedgerEvent namespace.

Consensus
  • Release UTxO-HD rework. For more information check the webpage.
  • Decrease the maximum permissible clock skew from 5s to 2s.
Ledger
  • No changes
Network
  • No changes
CLI
  • Corrected the flipped text & JSON output format for query stake-pools command.
    (bugfix)
    PR 1139

  • Make the output format flag for the query utxo command only have one default: JSON (rather than a different default depending on whether the output file is specified).
    (breaking, refactoring)
    PR 1133

  • Add canonical CBOR output toggle for transaction building and signing commands.
    (feature, compatible)
    PR 1092

API
  • Better reporting of negative balance in transaction balancing.
    (breaking, refactoring, bugfix)
    PR 799

  • Add outputs, fromShelleyUTxO and toShelleyUTxO functions to Cardano.Api.Tx.UTxO.
    (compatible)
    PR 812

Submit API
  • No changes
Plutus
  • No changes

Detailed Changelogs

Individual packages' 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.14.1.0 CHANGELOG.md
cardano-binary 1.7.1.0 CHANGELOG.md
cardano-cli 10.8.0.0 CHANGELOG.md
cardano-crypto-wrapper 1.6.0.0 CHANGELOG.md
cardano-crypto-test 1.6.0.0 CHANGELOG.md
cardano-crypto-praos 2.2.1.0 CHANGELOG.md
cardano-crypto-tests 2.2.1.0 CHANGELOG.md
cardano-crypto-class 2.2.2.0 CHANGELOG.md
cardano-data 1.2.4.0 CHANGELOG.md
cardano-git-rev 0.2.2.0
cardano-ledger-byron 1.1.0.0 CHANGELOG.md
cardano-ledger-api 1.11.0.0 CHANGELOG.md
cardano-ledger-babbage 1.11.0.0 CHANGELOG.md
cardano-ledger-alonzo 1.13.0.0 CHANGELOG.md
cardano-ledger-shelley 1.16.0.0 CHANGELOG.md
cardano-ledger-core 1.17.0.0 CHANGELOG.md
cardano-ledger-conway 1.19.0.0 CHANGELOG.md
cardano-ledger-shelley-ma-test 1.3.0.0 CHANGELOG.md
cardano-ledger-conway-test 1.3.1.0 CHANGELOG.md
cardano-ledger-alonzo-test 1.3.1.0 CHANGELOG.md
cardano-ledger-babbage-test 1.3.1.0 CHANGELOG.md
cardano-ledger-byron-test 1.5.2.1 CHANGELOG.md
cardano-ledger-shelley-test 1.6.0.0 CHANGELOG.md
cardano-ledger-binary 1.6.0.0 CHANGELOG.md
cardano-ledger-allegra 1.7.0.0 CHANGELOG.md
cardano-ledger-mary 1.8.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.0 CHANGELOG.md
cardano-prelude-test 0.1.0.5
cardano-prelude 0.2.1.0 ChangeLog.md
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.0
lobemo-backend-aggregation 0.1.0.0
lobemo-backend-monitoring 0.1.0.0
lobemo-backend-trace-forwarder 0.1.0.0
lobemo-backend-ekg 0.2.0.0
measures 0.1.0.2 CHANGELOG.md
monoidal-synchronisation 0.1.0.6 CHANGELOG.md
network-mux 0.7 CHANGELOG.md
non-integral 1.0.0.0 CHANGELOG.md
optparse-applicative-fork 0.18.1.0 CHANGELOG.md
ouroboros-consensus-protocol 0.12.0.0 CHANGELOG.md
ouroboros-consensus-diffusion 0.22.0.1 CHANGELOG.md
ouroboros-consensus-cardano 0.25.0.1 CHANGELOG.md
ouroboros-consensus 0.26.0.1 CHANGELOG.md
ouroboros-network-mock 0.1.1.2 CHANGELOG.md
ouroboros-network-api 0.13.0.0 CHANGELOG.md
ouroboros-network-protocols 0.14.0.0 CHANGELOG.md
ouroboros-network-framework 0.17.0.0 CHANGELOG.md
ouroboros-network 0.20.1.0 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
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-cborg 0.3.0.0 CHANGELOG.md
typed-protocols 0.3.0.0 CHANGELOG.md
typed-protocols-stateful-cborg 0.3.0.0 ChangeLog.md
typed-protocols-stateful 0.3.0.0
typed-protocols-examples 0.5.0.0
vector-map 1.1.0.0 CHANGELOG.md