Skip to content

9.2.0

Compare
Choose a tag to compare
@github-actions github-actions released this 20 Sep 19:36
· 114 commits to master since this release
341ea87

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.

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

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

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 and GetRatifyState queries.
  • Add NodeToClientV_17 to supportedNodeToClientVersions.
Ledger
  • DRep registration expiration fix: #4547
  • Use correct DRep threshold to ratify NoConfidence: 4516
  • Added method to compute over-the-wire CBOR encoded transaction size needed for network layer: 4521
  • Add governance related ledger state queries: 4514
  • Improve Plutus debug functionality: 4503
Network
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 for transaction 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 to 357154 Lovelace, improving clarity.
    PR 873
Cardano-api

Features

  • Upgrade Libraries: Upgrades to cardano-ledger-*, ouroboros-consensus-cardano, ouroboros-network-api, plutus-core, and plutus-ledger-api. PR 610
  • New Types: Introduced newtype UnsignedTx and data Era to streamline era management for mainnet and upcoming eras. PR 604

Breaking Changes

  • API Updates: Deprecated valueFromList, valueToList, and createAndValidateTransactionBody. Introduced IsList Value instance and recommend using createTransactionBody. PR 622 PR 597
  • Transaction Changes: BalancedTxBody now returns UnsignedTx. PR 604
  • Treasury Value Fix: Default value now set to Nothing instead of 0. Removed redundant type families in the Experimental API. PR 625

Bugfixes

  • Fee Estimation: Fixed fee estimation when autobalancing minted assets. PR 622
  • Data Handling: Included datums and redeemers in makeUnsignedTx. PR 623
  • Datum Conversion: Fixed datum conversion in fromShelleyTxOut for ShelleyBasedEraAlonzo. PR 613
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 and MonadEmitter, and changed the type of emit to Text -> BuiltinResult (): IntersectMBO/plutus#6224
  • Forbade using EvaluationResult in the builtins code in favor of BuiltinResult, 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 the MkNil type class without usage of built-in functions or defineBuiltinTerm: 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