Release Notes
Node version 10.7.1 is a minor update to the Cardano node that includes a numbers of fixes and improvements to the Plutus and Consensus layers, as well as to the tracing system. This version of the node addresses a number of performance issues that were found in node version 10.7.0.
For linux, liburing and snappy-c are new dependencies.
Known issues
Release Benchmarks
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 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, 26.04 LTS; Mint 20, 21, 21.1, 21.2, 21.3, 22, 22.1, 22.2; Debian 11, 12, 13)
- Windows 64-bit (10, 11)
- MacOS 10.15, 11 (Big Sur), 12 (Monterey), 13 (Ventura), 14 (Sonoma), 15 (Sequoia), 26 (Tahoe)
GHC/Cabal supported versions
- GHC 9.6
- Cabal 3.8/3.12
Supported roles
| Platform | Block Production | Relay | Client (Desktop) |
|---|---|---|---|
| Linux | 🟢 | 🟢 | 🟢 |
| Windows | 🟥 | 🟥 | 🟢 |
| MacOS | 🟥 | 🟥 | 🟢 |
Downloads
- Pre-release configuration files
- Docker Images: cardano-node, cardano-tracer, cardano-submit-api
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 | N/A |
| Performance Engineer | N/A |
| Site Reliability Engineer | 🟢 |
| Release Engineer | 🟢 |
Legend
- 🟢 - signed / agreed / supported
- 🟥 - not agreed / unsupported
Changelogs
cardano-node
- Bulk credentials handling was fixed (#6502)
cardano-tracer
- Support for TLS encrypted HTTPS connections to endpoints. To use that, the config needs to provide a
"tlsCertificate": {}object and set the optional field"epForceSSL": trueon individualhas*endpoints. For a detailed example, seecardano-tracer's Changelog. - Experimental: New (optional)
hasTimeseriesendpoint. By configuring this,cardano-tracerwill maintain an internal timeseries store for all connected Nodes' metrics. The store can be queried via the/timeseries/querypath,POSTing the query as plain UTF8 text. Query examples can be found in folderbench/cardano-timeseries-io/examples; the query language is heavily inspired byPromQL.
cardano-testnet
cardano-cli
cardano-api
cardano-rpc
Network
Consensus
- Significantly improve mempool performance: transaction differences are cached the first time the transaction is validated, and re-used when revalidating the mempool on forging and syncing with the LedgerDB.
- Fix directory management in LSM-trees snapshot conversion.
- Ignore exceptions when deleting a snapshot.
Ledger
Plutus
- Added
ScriptContextBuildertest utility (PlutusLedgerApi.Test.ScriptContextBuilder) toplutus-ledger-api-testlibfor constructing realisticScriptContextvalues in tests using a composable builder pattern. - Improved the performance and testing of the
flatlibrary. - Improved the performance of
writeBits. - Improved the
uplcexecutable: it now supports taking contract blueprints as input (#7685), and configuring optimization options (#7682).
Tracing
- Exposed some
PrometheusSimplebackend DoS protection parameters in the Node config (see example below). All of those fields are optional and will selectively override the hard-coded default. - The
ChainDB.AddBlockEvent.SwitchedToAForktrace message now contains a"reason"field stating why a chain fork was chosen. Example messages in #6014 . - New
rpc.request.*metrics denoting the timespan for evaluating gRPC methods. - Performance optimizations for evaluation of some metrics.
Example:
"TracePrometheusSimpleRun": {
"connCountGlobal": 20,
"connCountPerHost": 8,
"connPerSecond": 10.0,
"connTimeout": 30
}
Detailed Changelogs
Details
Package changelogs
| Package | Version | Changelog |
|---|---|---|
| Win32-network | 0.2.0.1 | ChangeLog.md |
| acts-generic | 0.1.1.0 | CHANGELOG.md |
| base-deriving-via | 0.1.0.2 | CHANGELOG.md |
| basement | 0.0.16 | |
| bech32 | 1.1.10 | ChangeLog.md |
| bech32-th | 1.1.10 | ChangeLog.md |
| byron-spec-chain | 1.0.1.1 | CHANGELOG.md |
| byron-spec-ledger | 1.1.0.1 | CHANGELOG.md |
| cardano-addresses | 4.0.2 | ChangeLog.md |
| cardano-api | 10.26.0.0 | CHANGELOG.md |
| cardano-base | 0.1.3.0 | CHANGELOG.md |
| cardano-binary | 1.8.0.0 | CHANGELOG.md |
| cardano-cli | 10.16.0.0 | CHANGELOG.md |
| cardano-crypto | 1.3.0 | |
| cardano-crypto-class | 2.3.2.0 | CHANGELOG.md |
| cardano-crypto-praos | 2.2.2.0 | CHANGELOG.md |
| cardano-crypto-wrapper | 1.7.0.0 | CHANGELOG.md |
| cardano-data | 1.3.0.0 | CHANGELOG.md |
| cardano-diffusion | 1.0.0.0 | CHANGELOG.md |
| cardano-git-rev | 0.2.2.1 | |
| cardano-ledger-allegra | 1.9.0.0 | CHANGELOG.md |
| cardano-ledger-alonzo | 1.15.0.1 | CHANGELOG.md |
| cardano-ledger-alonzo-test | 1.4.0.1 | CHANGELOG.md |
| cardano-ledger-api | 1.13.0.0 | CHANGELOG.md |
| cardano-ledger-babbage | 1.13.0.0 | CHANGELOG.md |
| cardano-ledger-binary | 1.8.1.0 | CHANGELOG.md |
| cardano-ledger-byron | 1.3.0.0 | CHANGELOG.md |
| cardano-ledger-conway | 1.22.0.0 | CHANGELOG.md |
| cardano-ledger-core | 1.20.0.0 | CHANGELOG.md |
| cardano-ledger-dijkstra | 0.2.0.1 | CHANGELOG.md |
| cardano-ledger-mary | 1.10.0.0 | CHANGELOG.md |
| cardano-ledger-shelley | 1.18.1.0 | CHANGELOG.md |
| cardano-ledger-shelley-ma-test | 1.4.0.2 | CHANGELOG.md |
| cardano-ledger-shelley-test | 1.8.0.0 | CHANGELOG.md |
| cardano-lmdb | 0.4.0.3 | CHANGELOG.md |
| cardano-lmdb-simple | 0.8.1.1 | CHANGELOG.md |
| cardano-ping | 0.10.2.0 | CHANGELOG.md |
| cardano-prelude | 0.2.2.0 | ChangeLog.md |
| cardano-prelude-test | 0.1.0.5 | |
| cardano-protocol-tpraos | 1.5.0.0 | CHANGELOG.md |
| cardano-rpc | 10.2.0.0 | CHANGELOG.md |
| cardano-slotting | 0.2.1.0 | CHANGELOG.md |
| cardano-strict-containers | 0.1.6.0 | CHANGELOG.md |
| contra-tracer | 0.1.0.2 | |
| cuddle | 1.1.1.0 | CHANGELOG.md |
| diff-containers | 1.3.0.0 | CHANGELOG.md |
| digest | 0.0.2.1.0.0.0.1 | CHANGELOG.md |
| dmq-node | 0.4.2.0 | CHANGELOG.md |
| ekg-core | 0.1.2.0 | |
| ekg-forward | 1.2 | CHANGELOG.md |
| ekg-json | 0.1.1.1 | |
| ekg-wai | 0.1.2.0 | |
| fingertree-rm | 1.0.0.4 | CHANGELOG.md |
| foundation | 0.0.30 | |
| fs-api | 0.4.0.0 | CHANGELOG.md |
| fs-sim | 0.4.1.0 | CHANGELOG.md |
| heapwords | 0.1.0.2 | CHANGELOG.md |
| hedgehog | 1.7 | CHANGELOG.md |
| hedgehog-extras | 0.10.1.0 | CHANGELOG.md |
| io-classes | 1.8.0.1 | CHANGELOG.md |
| io-sim | 1.8.0.1 | CHANGELOG.md |
| iohk-monitoring | 0.2.1.2 | |
| kes-agent | 1.2.0.0 | CHANGELOG.md |
| kes-agent-crypto | 1.1.0.0 | CHANGELOG.md |
| libsystemd-journal | 1.4.6.0 | Changelog.md |
| lobemo-backend-aggregation | 0.1.0.3 | |
| lobemo-backend-ekg | 0.2.0.1 | |
| lobemo-backend-monitoring | 0.1.0.3 | |
| lobemo-backend-trace-forwarder | 0.1.0.0 | |
| lobemo-scribe-systemd | 0.1.0.0 | |
| measures | 0.1.0.3 | CHANGELOG.md |
| monoidal-synchronisation | 0.1.0.7 | CHANGELOG.md |
| network-mux | 0.10.1.0 | CHANGELOG.md |
| non-integral | 1.0.0.0 | CHANGELOG.md |
| optparse-applicative | 0.19.0.0 | CHANGELOG.md |
| optparse-applicative-fork | 0.18.1.0 | CHANGELOG.md |
| ouroboros-consensus | 3.0.1.0 | CHANGELOG.md |
| ouroboros-network | 1.1.0.0 | CHANGELOG.md |
| plutus-core | 1.61.0.0 | CHANGELOG.md |
| plutus-ledger-api | 1.61.0.0 | CHANGELOG.md |
| plutus-tx | 1.61.0.0 | CHANGELOG.md |
| prettyprinter-configurable | 1.36.0.0 | |
| quickcheck-monoids | 0.1.1.0 | CHANGELOG.md |
| servant-server | 0.20.3.0 | CHANGELOG.md |
| small-steps | 1.1.3.0 | CHANGELOG.md |
| snappy-c | 0.1.3 | CHANGELOG.md |
| sop-extras | 0.4.1.0 | CHANGELOG.md |
| streaming | 0.2.4.0 | changelog.md |
| strict-checked-vars | 0.2.1.0 | CHANGELOG.md |
| strict-sop-core | 0.1.3.0 | CHANGELOG.md |
| trace-dispatcher | 2.12.1 | CHANGELOG.md |
| tracer-transformers | 0.1.0.4 | |
| typed-protocols | 1.2.0.0 | CHANGELOG.md |
| validation-selective | 0.2.0.0.0.0.0.0.1 | CHANGELOG.md |
| vector-algorithms | 0.9.1.0 | CHANGELOG.md |
| vector-map | 1.2.0.0 | CHANGELOG.md |