Skip to content

Cardano Node 8.11.0-pre

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 16 May 23:23
· 100 commits to master since this release
8.11.0-pre
38c7f1c

NOTE: THIS RELEASE IS ONLY RECOMMENDED FOR USE ON THE SANCHONET AND PUBLIC TEST ENVIRONMENTS (E.G. PREVIEW) AT THIS TIME. IT IS NOT RECOMMENDED FOR USE ON MAINNET.

Node 8.11.0-pre introduces a number of changes that are needed to prepare for the Conway era, as well as other improvements. The hardfork combinator (HFC) has been made more robust and governance actions have been limited for the bootstrap phase. The PlutusV3 cost model has been added to the Conway genesis file. Network code includes further peer sharing improvements and changes that are related to inbound and outbound governors. Modifications have also been made to the Praos chain order. New API features include the possibility to query the account state, and to estimate and calculate balanced TxBodys. Finally, two new CLI commands have been introduced: governance action create-hardfork to generate a hard fork governance action, and transaction build-estimate, to produce a balanced transaction body without requiring a connection to a live node.

Known Issues

Haskell Security Advisory

Haskell Security Advisory is a repository of security advisories filed against packages published via Hackage.
cabal-audit output:

Found advisories:

dependency "base" at version 4.19.1.0 is vulnerable for:
  HSEC-2023-0007 "readFloat: memory exhaustion with large exponent"
  published: 2024-05-04 20:52:44 +0200
  https://haskell.github.io/security-advisories/advisory/HSEC-2023-0007
  No fix version available
  toml, parser, dos

dependency "process" at version 1.6.18.0 is vulnerable for:
  HSEC-2024-0003 "process: command injection via argument list on Windows"
  published: 2024-05-04 20:52:44 +0200
  https://haskell.github.io/security-advisories/advisory/HSEC-2024-0003
  Fix available since version 1.6.19.0
  windows

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 N/A for pre-release
Performance Engineer N/A for pre-release
Site Reliability Engineer N/A for pre-release
Release Engineer 🟢

Changelogs

Node
Consensus
  • Restricted the VRF tiebreaker based on slot distance starting in the Conway era.
  • Added GetAccountState query.
  • Changed ShelleyLedgerUpdate by replacing ShelleyUpdatedProtocolUpdates with ShelleyUpdatedPParams.
  • Changed the Praos chain order such that for two blocks A and B by the same
    issuer with the same block number, A is now preferred over B only if A
    has a higher issue number and (new) A and B are in the same slot.
    This is in line with the motivation for the issue number tiebreaker, and
    fixes the transitivity of the Ord PraosChainSelectView instance in a special
    case.
  • Allowed to configure Praos chain order to restrict the VRF tiebreaker based on
    slot distance.
  • Updated BlockFetch punishment logic for BlockSupportsDiffusionPipelining.
  • Updated chainSel tentative header logic for BlockSupportsDiffusionPipelining.
  • Introduced new ChainOrde (with preferCandidate) class for SelectViews,
    and add necessary instances. Adapted preferAnchoredCandidate to use
    preferCandidate instead of relying on preferAnchoredFragment.
  • Renamed QueryLedger class to BlockSupportsLedgerQuery.
  • VolatileDB traces were tweaked
    • VolatileDB.OpenedVolatileDB trace message now includes the maximum slot seen.
    • Added VolatileDB.ClosedDB.
Ledger
  • Prepared changes for the bootstrap period by restricting government actions and by ignoring DRep thresholds.

  • Added the ability to do a HardForkInitiation into a new era.

  • Added PlutusV3 cost model to Conway genesis.

  • Stopped counting expired committee members in active committee size calculation.

  • Included rewards accounts in DRep distribution calculation.

  • Added AccountState ledger state query.

  • Bug fixes:

    • Stopped embedding UTXO and UTXOS predicate failures from previous eras.
    • Fixed predicate failure deserialisation bug when re-submitting a Conway transaction with an invalid plutus script.
Network
  • Refactored inbound governor error handling
  • Synchronised churn with the outbound governor
  • Peer sharing improvements
  • New outbound governor counters included in EKG
  • Outbound governor timeout improvements
Cardano-cli
  • Introduces the governance action create-hardfork cmd.
  • Enable manual specification of execution units for plutus voting and proposing scripts
  • cardano-cli query stake-distribution: add --output-{json,text} flags
  • Introduce new cardano-cli latest transaction build-estimate command which will produce a balanced transaction body without requiring a connection to a live node
  • Add minFeeRefScriptCostPerByte to create-protocol-parameter-update governance action command.
  • Fixed misunderstanding in generated README file by genesis create-testnet-data.
  • cardano-cli conway governance committe key-hash: support extended Constitutional Committee keys
  • Defaulted calculate-min-fee --reference-script-size's value to 0
  • Enable both --cold-script-file and --cold-script-hash for governance committee create-hot-key-authorization-certificate and committee create-cold-key-resignation-certificate
  • Fixed --include-stake behavior in query drep-state
Cardano-api
    • Updated conwayGenesisDefaults and alonzoGenesisDefaults.
    • Changed CostModel to use Int64 instead of Integer.
  • Update estimateBalancedTxBody to account for required deposits due to governance proposals and stake registration certificates
  • Adding MinFeeRefScriptCostPerByte to Conway PParams
  • Fixed the implementation of toAlonzoPParams function.
  • Sort metadata keys for no-schema json for canonical CBOR
  • Implement estimateBalancedTxBody and estimateOrCalculateBalancedTxBody
  • Add support for Constitutional Committee keys in the SomeAddressVerificationKey type
Submit-api
Plutus
Individual packages' changelogs
Package Version Changelog
Win32-network 0.1.1.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.0.1.0 CHANGELOG.md
cardano-api 8.46.0.0 CHANGELOG.md
cardano-binary 1.7.1.0 CHANGELOG.md
cardano-cli 8.23.1.0 CHANGELOG.md
cardano-crypto 1.1.2
cardano-crypto-class 2.1.4.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.2 CHANGELOG.md
cardano-data 1.2.2.0 CHANGELOG.md
cardano-git-rev 0.2.2.0
cardano-ledger-allegra 1.4.1.0 CHANGELOG.md
cardano-ledger-alonzo 1.8.0.0 CHANGELOG.md
cardano-ledger-alonzo-test 1.2.1.1 CHANGELOG.md
cardano-ledger-api 1.9.1.0 CHANGELOG.md
cardano-ledger-babbage 1.8.0.0 CHANGELOG.md
cardano-ledger-babbage-test 1.2.0.2 CHANGELOG.md
cardano-ledger-binary 1.3.2.0 CHANGELOG.md
cardano-ledger-byron 1.0.1.0 CHANGELOG.md
cardano-ledger-byron-test 1.5.1.0
cardano-ledger-conway 1.14.0.0 CHANGELOG.md
cardano-ledger-conway-test 1.2.1.5 CHANGELOG.md
cardano-ledger-core 1.12.0.0 CHANGELOG.md
cardano-ledger-mary 1.6.0.0 CHANGELOG.md
cardano-ledger-shelley 1.11.0.0 CHANGELOG.md
cardano-ledger-shelley-ma-test 1.2.2.1 CHANGELOG.md
cardano-ledger-shelley-test 1.4.0.1 CHANGELOG.md
cardano-ping 0.2.0.13 CHANGELOG.md
cardano-prelude 0.1.0.4 ChangeLog.md
cardano-prelude-test 0.1.0.2
cardano-protocol-tpraos 1.2.0.0 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
ekg 0.4.0.15.0.0.0.0.2 CHANGELOG.md
ekg-core 0.1.1.7.0.0.0.0.1 CHANGELOG.md
ekg-forward 0.5 CHANGELOG.md
ekg-json 0.1.0.7.0.0.0.0.2 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.4
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.5 CHANGELOG.md
network-mux 0.4.5.1 CHANGELOG.md
non-integral 1.0.0.0 CHANGELOG.md
optparse-applicative-fork 0.18.1.0 CHANGELOG.md
ouroboros-consensus 0.18.0.0 CHANGELOG.md
ouroboros-consensus-cardano 0.16.0.0 CHANGELOG.md
ouroboros-consensus-diffusion 0.16.0.0 CHANGELOG.md
ouroboros-consensus-protocol 0.9.0.0 CHANGELOG.md
ouroboros-network 0.16.0.0 CHANGELOG.md
ouroboros-network-api 0.7.2.0 CHANGELOG.md
ouroboros-network-framework 0.13.1.0 CHANGELOG.md
ouroboros-network-mock 0.1.1.1 CHANGELOG.md
ouroboros-network-protocols 0.8.1.0 CHANGELOG.md
ouroboros-network-testing 0.6.1.0 CHANGELOG.md
plutus-core 1.27.0.0 CHANGELOG.md
plutus-ledger-api 1.27.0.0 CHANGELOG.md
plutus-tx 1.27.0.0 CHANGELOG.md
prettyprinter-configurable 1.27.0.0
quickcheck-monoids 0.1.0.0 CHANGELOG.md
set-algebra 1.1.0.2 CHANGELOG.md
small-steps 1.1.0.0 CHANGELOG.md
sop-extras 0.2.0.0 CHANGELOG.md
strict-checked-vars 0.2.0.0 CHANGELOG.md
strict-sop-core 0.1.1.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