Release Notes
IMPORTANT If you're building from source you must upgrade to libblst 0.3.14.
Node version 10.6.2 expands Plutus capabilities, adding major new features — Array, Value, modular exponentiation, BLS12-381 multi-scalar multiplication, dropList, case analysis on built-in types, among others — all of which will become available in protocol version 11. These features significantly enhance smart contract expressiveness and performance. This release also strengthens node stability and networking by introducing defensive mempool protections, fixing a potential deadlock, adding mempool timeouts with new EKG metrics, and refining chain-sync and outbound governor behavior. Tracing and monitoring are improved, cardano-testnet behavior is refined, the CLI gains transaction fee estimation and updated stake address output (this is a breaking change), and the cardano-api introduces a new ledger-aligned TxBodyContent type with related cleanups and fixes.
The release artifacts for 10.6.2 now include linux and darwin arm64 variants and use an updated artifact naming scheme to accommodate the new artifacts. The OCI images for cardano-node, cardano-tracer and cardano-submit-api now include an arm64 variant. Pulling the usual container via tag will auto-select the appropriate architecture for your system. The utilities db-{analyser,synthesizer,truncater} have been added to the cardano-node container.
Breaking changes
- updated stake address output
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 | 🟢 |
| Site Reliability Engineer | 🟢 |
| Release Engineer | 🟢 |
Legend
- 🟢 - signed / agreed / supported
- 🟥 - not agreed / unsupported
Changelogs
cardano-node
- Added soft and hard timeouts to mempool (IntersectMBO/ouroboros-consensus#1831)
- Added EKG metrics for soft and hard mempool timeouts (#6420)
- Improved
cardano-node --helpoutput by making it the same as the one shown when callingcardano-nodewithout arguments (#6403) - Improved consistency of traces between immdb-server and cardano-node (#6397)
- New Tracing
- Environment variable
TRACE_DISPATCHER_LOGGING_HOSTNAME, covering same functionality asCARDANO_NODE_LOGGING_HOSTNAMEin the legacy system (#6429) - Increased
PrometheusSimplerobustness: Restart backend upon crash; add start/stop traces and more eagerly reap dangling sockets (#6396) - Adjusted config for tracing system (#6401)
- Environment variable
- Remove
peersFromNodeKernelmetric andNodeKernelPeerstracer as well asTraceOptionPeerFrequencyconfig key (#6387)
cardano-tracer
cardano-testnet
cardano-cli
Main changes
-
Print estimated transaction fee in
transaction build-estimate
(feature)
PR 1325 -
Modified
query stake-address-infoto include the correct CIP129 hex format as well as the Ledger State format.
(breaking change)
PR 1313
Bug fixes
-
create-testnet-data: use the same k for byron and shelley genesis
(bugfix)
PR 1318 -
Improved error message for malformed timestamps
(bugfix)
PR 1324 -
Upgrade cardano-crypto-class-2.2.3.2 with hashes deserialisation fix
(compatible, bugfix)
PR 1310 -
Fixed error message in readStringOfMaxLength to correctly display the actual maximum length parameter instead of hardcoded value "128"
(bugfix)
PR 1297 -
Updated
cardano-ledger-apito fix bug inqueryPoolState, where current Pool parameters were returned instead of the future ones.
(bugfix)
PR 1298
cardano-api
Main changes
-
In order to move away from the "old" api's
TxBodyContentthat utilizes the "eon" abstractions and somewhat
unnecessarily wrapped data definitions, we introduced a newTxBodyContenttype that aims to be closer to the
ledger's type definitions and therefore easier to use.
(feature)
PR 1011 -
Deprecated "old" certificate api helper functions and introduced equivalent functions exposed by:
Cardano.Api.Compatible.Certificate
Cardano.Api.Experimental.Certificate
(feature, breaking, refactoring)
PR 983 -
Replace
CertificateinTxCertificateswith new api'sCertificatetype.
(breaking)
PR 962 -
Renamed throwErrorAsException to throwErrorM
(breaking)
PR 1032
Bug fixes
-
Made canonicalisation functionality does work with CBOR maps in CBOR lists
(bugfix)
PR 1047 -
Reverted PR that broke the
query utxocommand incardano-cliwhich is supposed to be compatible for all shelley based eras.
(bugfix)
PR 1048 -
Added empty hashes support in
NodeConfig. Add start time check with seconds precision for Shelley/Byron geneses checks.
(breaking, bugfix)
PR 1078 -
Update
cardano-ledger-apito fix bug inqueryPoolState, where current Pool parameters were returned instead of the future ones.
(bugfix)
PR 991
Other changes
-
Added
Show (AsType a)instance
(compatible)
PR 1031 -
Added
SerialiseAsRawBytes Word64instance toCardano.Api.Serialise.Raw
AddedText reexport toCardano.Api.Pretty. AddedDecoderErrorreexported toCardano.Api.Serialise.Cbor
gRPC: Added tracing datatypes
(compatible)
PR 1079 -
Removed duplicated
Arbitraryorphans and re-importedtestlibs
(compatible)
PR 1051 -
Added
HasTypeProxyFromCBOR,ToCBOR, andSerialiseAsCBORinstances toTxOut.
(feature)
PR 960
Network
- Enforce maximum number of re-connection attempts by the outbound governor.
- Shorten the timeout when waiting for
chain-syncto terminate. - Increase
chain-synctimeout in theStNext StMustReplystate to a random value between~10minsand~15mins(it used to be between~2.5minsand~5mins). - Fixed outbound governor bootstrap action.
Consensus
- Fix leaky read lock acquisition that could lead to whole node deadlock.
- Force snapshot tracer to avoid retaining the Genesis state.
- Added the defensive mempool feature, to help mitigate the disruption caused by bugs such as the June 2024 incident.
Plutus
All of the following features will become available in protocol version 11.
- The built-in
Arraytype and functions (CIP-138) - The built-in
Valuetype and functions (CIP-153) - The modular exponentiation built-in function (CIP-109)
- The multi-scalar multiplication built-in functions over BLS12-381 (CIP-133)
- The
dropListbuilt-in function (CIP-132) - Case analysis on built-in
Bool,Integer,List,PairandUnit(user guide) - All built-in types and functions can be used in Plutus V1 and V2
- Plutus Core 1.1.0 (that is, support for sums-of-products) can be used in Plutus V1 and V2
Detailed Changelogs
Details
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.1 | CHANGELOG.md |
| byron-spec-ledger | 1.1.0.1 | CHANGELOG.md |
| cardano-api | 10.23.0.0 | CHANGELOG.md |
| cardano-binary | 1.7.2.0 | CHANGELOG.md |
| cardano-cli | 10.15.0.0 | CHANGELOG.md |
| cardano-crypto-class | 2.2.3.2 | CHANGELOG.md |
| cardano-crypto-praos | 2.2.1.1 | CHANGELOG.md |
| cardano-crypto-test | 1.6.0.0 | CHANGELOG.md |
| cardano-crypto-tests | 2.2.2.0 | CHANGELOG.md |
| cardano-crypto-wrapper | 1.6.1.0 | CHANGELOG.md |
| cardano-data | 1.2.4.1 | CHANGELOG.md |
| cardano-git-rev | 0.2.2.1 | |
| cardano-ledger-allegra | 1.8.0.0 | CHANGELOG.md |
| cardano-ledger-alonzo | 1.14.0.0 | CHANGELOG.md |
| cardano-ledger-alonzo-test | 1.4.0.0 | CHANGELOG.md |
| cardano-ledger-api | 1.12.1.0 | CHANGELOG.md |
| cardano-ledger-babbage | 1.12.0.0 | CHANGELOG.md |
| cardano-ledger-binary | 1.7.1.0 | CHANGELOG.md |
| cardano-ledger-byron | 1.2.0.0 | CHANGELOG.md |
| cardano-ledger-conway | 1.20.0.0 | CHANGELOG.md |
| cardano-ledger-core | 1.18.0.0 | CHANGELOG.md |
| cardano-ledger-dijkstra | 0.1.0.0 | CHANGELOG.md |
| cardano-ledger-mary | 1.9.0.0 | CHANGELOG.md |
| cardano-ledger-shelley | 1.17.0.0 | CHANGELOG.md |
| cardano-ledger-shelley-ma-test | 1.4.0.0 | CHANGELOG.md |
| cardano-ledger-shelley-test | 1.7.0.0 | CHANGELOG.md |
| cardano-lmdb | 0.4.0.3 | CHANGELOG.md |
| cardano-lmdb-simple | 0.8.1.0 | CHANGELOG.md |
| cardano-ping | 0.9.0.0 | CHANGELOG.md |
| cardano-prelude | 0.2.1.0 | ChangeLog.md |
| cardano-prelude-test | 0.1.0.5 | |
| cardano-protocol-tpraos | 1.4.1.0 | CHANGELOG.md |
| cardano-slotting | 0.2.0.1 | CHANGELOG.md |
| cardano-strict-containers | 0.1.6.0 | CHANGELOG.md |
| contra-tracer | 0.1.0.2 | |
| diff-containers | 1.3.0.0 | CHANGELOG.md |
| ekg-forward | 1.0 | CHANGELOG.md |
| fingertree-rm | 1.0.0.4 | CHANGELOG.md |
| heapwords | 0.1.0.2 | CHANGELOG.md |
| iohk-monitoring | 0.2.1.2 | |
| kes-agent | 0.2.0.1 | |
| kes-agent-crypto | 0.1.0.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.9.0.0 | CHANGELOG.md |
| non-integral | 1.0.0.0 | CHANGELOG.md |
| optparse-applicative-fork | 0.18.1.0 | CHANGELOG.md |
| ouroboros-consensus | 0.30.0.1 | CHANGELOG.md |
| ouroboros-consensus-cardano | 0.26.0.3 | CHANGELOG.md |
| ouroboros-consensus-diffusion | 0.26.0.0 | CHANGELOG.md |
| ouroboros-consensus-protocol | 0.13.0.0 | CHANGELOG.md |
| ouroboros-network | 0.22.6.0 | CHANGELOG.md |
| ouroboros-network-api | 0.16.0.0 | CHANGELOG.md |
| ouroboros-network-framework | 0.19.3.0 | CHANGELOG.md |
| ouroboros-network-mock | 0.1.2.0 | CHANGELOG.md |
| ouroboros-network-protocols | 0.15.2.0 | CHANGELOG.md |
| ouroboros-network-testing | 0.8.2.0 | CHANGELOG.md |
| plutus-core | 1.57.0.0 | CHANGELOG.md |
| plutus-ledger-api | 1.57.0.0 | CHANGELOG.md |
| plutus-tx | 1.57.0.0 | CHANGELOG.md |
| plutus-tx-plugin | 1.57.0.0 | CHANGELOG.md |
| prettyprinter-configurable | 1.36.0.0 | |
| quickcheck-monoids | 0.1.0.3 | CHANGELOG.md |
| set-algebra | 1.1.0.4 | CHANGELOG.md |
| small-steps | 1.1.2.0 | CHANGELOG.md |
| sop-extras | 0.4.1.0 | CHANGELOG.md |
| strict-sop-core | 0.1.3.0 | CHANGELOG.md |
| tracer-transformers | 0.1.0.4 | |
| validation-selective | 0.2.0.0.0.0.0.0.1 | CHANGELOG.md |
| vector-map | 1.1.0.1 | CHANGELOG.md |