Node version 9.2.0
provides a number of improvements and bug fixes, including script-based DRep Support in the update certificate
CLI command and an improved transaction view
CLI command. The tx-submission
mini-protocol now starts with a short delay. The node also includes governance-related ledger state queries, improved Plutus debug functionality, a new method to compute over-the-wire CBOR encoded transaction size, plus fixes to DRep registration expiration and the DRep threshold for ratifying NoConfidence
votes, and new GetProposals
and GetRatifyState
consensus queries. Finally, it includes a major rework of the new tracing metrics naming schema.
Breaking Changes
There are number of breaking changes to the API: valueFromList
, valueToList
, createAndValidateTransactionBody
and IsList Value
are deprecated, BalancedTxBody
now returns UnsignedTx
and the default value for Treasury Value
is now set to Nothing
instead of 0
.
Known Issues
None.
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
- Cardano Node documentation
- Cardano CLI
- Internal API docs for ledger, consensus and network
- Compatibility matrix
Sign off
Role | Approval |
---|---|
Cardano Head of Engineering | 🟢 |
Cardano Head of Product | 🟢 |
Test Engineer | 🟢 |
Performance Engineer | 🟢 |
Site Reliability Engineer | 🟢 |
Release Engineer | 🟢 |
Changelogs
Node
Configuration Enhancements
Database Path Customization
- Separate Paths for Volatile and Immutable Databases: Users can now specify paths for volatile and immutable databases separately.
Command Line Options:
Users can specify database paths directly via command line:
[ --database-path FILEPATH
| --immutable-database-path FILEPATH --volatile-database-path FILEPATH
]
Configuration File:
Alternatively, paths can be set in the configuration YAML file under the "DatabaseFile" key:
"DatabasePath": {
"ImmutableDbPath": "mainnetnode/db/node-imm",
"VolatileDbPath": "mainnetnode/db/node-vol"
},
or for a single path configuration:
"DatabasePath": "mainnetsingle/db/node",
New tracing system
Major rework of the metrics naming schema
- Change all metric names to match those of the current tracing system, simplifying switching back and forth for existing integrations
- Augment metric names with type-spefic suffixes (like e.g.
_int
) - Add optional Node config value
TraceOptionMetricsPrefix
(String) to specify a namespace prefix for metric names
Consensus
- Add
GetProposals
andGetRatifyState
queries. - Add
NodeToClientV_17
tosupportedNodeToClientVersions
.
Ledger
Network
tx-submission
mini-protocol now starts with a short delay, see #IntersectMBO/ouroboros-network#4927.
Cardano-cli
Features
-
Script-based DRep Support on Update Certificate: Adds support for using a script-based decentralized representatives (DRep) in the
update certificate
command.
PR 884 -
Enhanced Transaction View: Modifies
transaction view
to show which inputs redeemers refer to, enhancing traceability.
PR 861
Breaking Changes
- Propagate Experimental API: Propagates the experimental API to
transaction build
internals and deprecates pre-Conway eras fortransaction build
.
PR 853 - Change in Default Behavior for Testnet Data Creation: The
create-testnet-data
command no longer defaults the--total-supply
option. It now derives the total supply from the Shelley genesis file or uses half of that as the--delegated-supply
if not specified.
PR 874
Bugfixes
- Mandatory Treasury Withdrawal Fields: Makes the funds receiving address and amount mandatory for treasury withdrawal actions, fixing a potential oversight in command requirements.
PR 877 - Prevent Overflow in Int Parsers: Addresses and forbids incorrect value entries in parsers for Int-like options to prevent silent overflows.
PR 864 - Fix Estimated Fee Rendering: Corrects the estimated fee output format from
Coin 357154
to357154 Lovelace
, improving clarity.
PR 873
Cardano-api
Features
- Upgrade Libraries: Upgrades to
cardano-ledger-*
,ouroboros-consensus-cardano
,ouroboros-network-api
,plutus-core
, andplutus-ledger-api
. PR 610 - New Types: Introduced
newtype UnsignedTx
anddata Era
to streamline era management for mainnet and upcoming eras. PR 604
Breaking Changes
- API Updates: Deprecated
valueFromList
,valueToList
, andcreateAndValidateTransactionBody
. IntroducedIsList Value
instance and recommend usingcreateTransactionBody
. PR 622 PR 597 - Transaction Changes:
BalancedTxBody
now returnsUnsignedTx
. PR 604 - Treasury Value Fix: Default value now set to
Nothing
instead of0
. Removed redundant type families in the Experimental API. PR 625
Bugfixes
Submit-api
Plutus
- Fixed a bug in the Plutus Core type normalizer in IntersectMBO/plutus#6272
- The case-of-case optimization on Plutus IR was removed from the compiler due to it causing OOMs: IntersectMBO/plutus#6248
- Removed
Emitter
andMonadEmitter
, and changed the type ofemit
toText -> BuiltinResult ()
: IntersectMBO/plutus#6224 - Forbade using
EvaluationResult
in the builtins code in favor ofBuiltinResult
, so that builtins throw errors with more helpful messages: IntersectMBO/plutus#5926 - Made
[] :: [Integer]
,[] :: [Bool]
,[] :: [Data]
, and[(Data, Data)]
compile directly to the respective empty list via theMkNil
type class without usage of built-in functions ordefineBuiltinTerm
: IntersectMBO/plutus#6347
Individual packages' changelogs
Package changelogs
Package | Version | Changelog |
---|---|---|
Win32-network | 0.2.0.0 | ChangeLog.md |
base-deriving-via | 0.1.0.2 | CHANGELOG.md |
byron-spec-chain | 1.0.1.0 | CHANGELOG.md |
byron-spec-ledger | 1.0.1.0 | CHANGELOG.md |
cardano-api | 9.3.0.0 | CHANGELOG.md |
cardano-binary | 1.7.1.0 | CHANGELOG.md |
cardano-cli | 9.4.1.0 | CHANGELOG.md |
cardano-crypto | 1.1.2 | |
cardano-crypto-class | 2.1.5.0 | CHANGELOG.md |
cardano-crypto-praos | 2.1.2.0 | CHANGELOG.md |
cardano-crypto-test | 1.5.0.2 | |
cardano-crypto-tests | 2.1.2.0 | CHANGELOG.md |
cardano-crypto-wrapper | 1.5.1.3 | CHANGELOG.md |
cardano-data | 1.2.3.0 | CHANGELOG.md |
cardano-git-rev | 0.2.2.0 | |
cardano-ledger-allegra | 1.6.0.0 | CHANGELOG.md |
cardano-ledger-alonzo | 1.10.2.0 | CHANGELOG.md |
cardano-ledger-alonzo-test | 1.2.1.3 | CHANGELOG.md |
cardano-ledger-api | 1.9.3.0 | CHANGELOG.md |
cardano-ledger-babbage | 1.9.0.0 | CHANGELOG.md |
cardano-ledger-babbage-test | 1.2.0.4 | CHANGELOG.md |
cardano-ledger-binary | 1.3.4.0 | CHANGELOG.md |
cardano-ledger-byron | 1.0.1.0 | CHANGELOG.md |
cardano-ledger-byron-test | 1.5.1.1 | CHANGELOG.md |
cardano-ledger-conway | 1.16.1.0 | CHANGELOG.md |
cardano-ledger-conway-test | 1.2.1.8 | CHANGELOG.md |
cardano-ledger-core | 1.14.0.0 | CHANGELOG.md |
cardano-ledger-mary | 1.7.0.0 | CHANGELOG.md |
cardano-ledger-shelley | 1.13.1.0 | CHANGELOG.md |
cardano-ledger-shelley-ma-test | 1.2.2.3 | CHANGELOG.md |
cardano-ledger-shelley-test | 1.4.0.3 | CHANGELOG.md |
cardano-ping | 0.4.0.2 | CHANGELOG.md |
cardano-prelude | 0.2.0.0 | ChangeLog.md |
cardano-prelude-test | 0.1.0.3 | |
cardano-protocol-tpraos | 1.2.0.1 | CHANGELOG.md |
cardano-slotting | 0.2.0.0 | CHANGELOG.md |
cardano-strict-containers | 0.1.3.0 | CHANGELOG.md |
contra-tracer | 0.1.0.2 | |
cuddle | 0.3.1.0 | CHANGELOG.md |
ekg-core | 0.1.1.7.0.0.0.0.1 | CHANGELOG.md |
ekg-forward | 0.5 | 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.5 | |
libsystemd-journal | 1.4.5.0.0.0.0.1 | Changelog.md |
lobemo-backend-aggregation | 0.1.0.0 | |
lobemo-backend-ekg | 0.1.1.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.4.5.3 | CHANGELOG.md |
non-integral | 1.0.0.0 | CHANGELOG.md |
optparse-applicative-fork | 0.18.1.0 | CHANGELOG.md |
ouroboros-consensus | 0.20.1.0 | CHANGELOG.md |
ouroboros-consensus-cardano | 0.19.0.0 | CHANGELOG.md |
ouroboros-consensus-diffusion | 0.17.1.0 | CHANGELOG.md |
ouroboros-consensus-protocol | 0.9.0.1 | CHANGELOG.md |
ouroboros-network | 0.17.1.1 | CHANGELOG.md |
ouroboros-network-api | 0.9.0.1 | CHANGELOG.md |
ouroboros-network-framework | 0.13.2.4 | CHANGELOG.md |
ouroboros-network-mock | 0.1.1.2 | CHANGELOG.md |
ouroboros-network-protocols | 0.10.0.2 | CHANGELOG.md |
ouroboros-network-testing | 0.7.0.0 | CHANGELOG.md |
plutus-core | 1.32.1.0 | CHANGELOG.md |
plutus-ledger-api | 1.32.1.0 | CHANGELOG.md |
plutus-tx | 1.32.1.0 | CHANGELOG.md |
prettyprinter-configurable | 1.32.1.0 | |
quickcheck-monoids | 0.1.0.1 | CHANGELOG.md |
set-algebra | 1.1.0.3 | CHANGELOG.md |
small-steps | 1.1.0.0 | CHANGELOG.md |
sop-extras | 0.2.1.0 | CHANGELOG.md |
strict-checked-vars | 0.2.0.0 | CHANGELOG.md |
strict-sop-core | 0.1.2.0 | 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-map | 1.1.0.0 | CHANGELOG.md |
Legend
-
🟢 - signed / agreed / supported
-
🟥 - not agreed / unsupported