Skip to content

Cardano Node 8.8.0-pre

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 08 Feb 18:37
· 281 commits to master since this release
4bb2048

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.

8.8.0-pre is a minor release of the Cardano node, with the main highlight being the ability to use Plutus V3 in Conway-era transactions. Plutus V3 brings several new capabilities such as a new Voting script purpose for writing voting scripts, access to governance actions in the ScriptContext, new cryptographic (BLS, Keccak256 and Blake2b-224) Plutus primitives, and more.

Breaking changes:

Known Issues

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
  • Mempool: add reason for transaction removal to TraceMempoolRemoveTxs.
Consensus
  • Mempool: add reason for transaction removal to TraceMempoolRemoveTxs. This can be used in the node to enrich the trace output.
Ledger
  • PlutusV3 support

  • Support for governance policy script

  • Remove the library cardano-ledger-pretty

  • Ensure all sets are prefixed with tag 258 in CBOR serialization

  • Added DRep injections into the ledger state, thus allowing more complex testing and
    benchmarking of Conway features

  • Addition of new ledger events

  • Increasing the limit for Url in Anchors to 128 bytes

  • Provide accurate transaction fee estimation functionality for Haskell tools

  • Important bug fixes:

    • missing "protocolVersion" field in JSON instance for Babbage and Conway protocol parameters
    • requiring witnesses for DRep registration
    • new committee governance action ratification was implemented incorrectly
    • guard against invalid protocol versions in hard fork initiation proposals
    • failures during updates of Plutus CostModels were not retained
    • fixed the types for some protocol parameters in order to prevent values that are too large
    • serialization and CDDL fixes for transaction witnesses in the Conway Era
Network
  • Peer Sharing bug fixes and improvements:
    • Fixed Peer Sharing & light peer sharing bugs. Now peer sharing is more useful.
    • Balance peer sharing timeout to 5min for newly connected peers
    • Balance policyPeerShareRetryTime
  • Experimental node-to-client version 16, which comes with a new version of local-state-query protocol.
Cardano-cli
  • transaction build and transaction build-raw commands now parse optional Plutus script witnesses for votes and proposals
  • Committee, DRep and DRep extended keys are able to sign transactions
  • The "tx body intermediate format" is now fully deprecated
  • create-testnet-data: better UX for supply arguments: have a flag for total supply and delegated supply is a fraction of that.
  • add support for registration of script DReps;
  • Add --drep-keys flag to create-testnet-data
  • Make queries that optionally filter their result by DRep keys more explicit:
    • cardano-cli conway query drep-state
    • cardano-cli conway query drep-stake-distribution
  • In transaction view and governance action view, replace:
    --output-format json by --output-json
    --output-format yaml by --output-yaml
  • governance vote view: use --output-format, like other commands, instead of --yaml
  • create-testnet-data: rename --stake-delegators to --transient-stake-delegators
  • Make query pool-state default to returning information on all pools
  • stake-address registration-certificate: remove flag --key-reg-deposit-amt from all eras except conway
  • Remove the constitution-hash option from the non-conway versions of query
Cardano-api
  • Committee, DRep and DRep extended keys are able to sign transactions
  • Fix bech32 prefixes for committee keys and key hashes
  • Replace PrevGovActionId with GovPurposeId
  • Implement TxProposalProcedures and TxVotingProcedures which enables Plutus script witnessing of proposals and votes.
  • Remove support for intermediate tx body format.
  • Add return value to `checkLedgerStateCondition
  • Implement checkLedgerStateConditions. This new function gives direct access to the NewEpochState which contains the ledger state. It also requires an EpochNo upon which it will terminate if the supplied condition is not met.
  • Restore the inclusion of datum hashes in Alonzo era tx bodies
Submit-api

NONE

Plutus
  • Plutus V3 support (governance scripts; BLS, Keccak256 and Blake2b-224 cryptographic primitives)
  • Improve the performance of eq, geq and leq operations on Value
  • Implement common subexpression elimination for UPLC
  • Add some helper functions for working with Plutus V3 ScriptContext

Note that there is no support in this release for bitwise primitives integerToByteString and byteStringToInteger in Plutus V3. These primitives will be enabled in the near future, and additional bitwise primitives are planned further ahead.

Individual packages' changelogs
Package Version Changelog
Win32-network 0.1.1.1 ChangeLog.md
base-deriving-via 0.1.0.2 CHANGELOG.md
bech32 1.1.4.1 ChangeLog.md
byron-spec-chain 1.0.0.2 CHANGELOG.md
byron-spec-ledger 1.0.0.2 CHANGELOG.md
cardano-api 8.38.0.1 CHANGELOG.md
cardano-binary 1.7.1.0 CHANGELOG.md
cardano-cli 8.20.0.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.1
cardano-crypto-tests 2.1.2.0 CHANGELOG.md
cardano-crypto-wrapper 1.5.1.1 CHANGELOG.md
cardano-data 1.2.0.0 CHANGELOG.md
cardano-ledger-allegra 1.3.0.0 CHANGELOG.md
cardano-ledger-alonzo 1.6.0.0 CHANGELOG.md
cardano-ledger-alonzo-test 1.2.0.0 CHANGELOG.md
cardano-ledger-api 1.8.0.0 CHANGELOG.md
cardano-ledger-babbage 1.6.0.0 CHANGELOG.md
cardano-ledger-babbage-test 1.2.0.0 CHANGELOG.md
cardano-ledger-binary 1.3.0.0 CHANGELOG.md
cardano-ledger-byron 1.0.0.4 CHANGELOG.md
cardano-ledger-byron-test 1.5.0.1
cardano-ledger-conway 1.12.0.0 CHANGELOG.md
cardano-ledger-conway-test 1.2.1.3 CHANGELOG.md
cardano-ledger-core 1.10.0.0 CHANGELOG.md
cardano-ledger-mary 1.5.0.0 CHANGELOG.md
cardano-ledger-shelley 1.9.0.0 CHANGELOG.md
cardano-ledger-shelley-ma-test 1.2.1.6 CHANGELOG.md
cardano-ledger-shelley-test 1.3.0.1 CHANGELOG.md
cardano-ping 0.2.0.11 CHANGELOG.md
cardano-prelude 0.1.0.4 ChangeLog.md
cardano-prelude-test 0.1.0.2
cardano-protocol-tpraos 1.1.0.0 CHANGELOG.md
cardano-slotting 0.1.2.0 CHANGELOG.md
cardano-strict-containers 0.1.2.1 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.4 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.0.1
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.0 CHANGELOG.md
non-integral 1.0.0.0 CHANGELOG.md
optparse-applicative-fork 0.18.1.0 CHANGELOG.md
ouroboros-consensus 0.15.0.0 CHANGELOG.md
ouroboros-consensus-cardano 0.13.0.0 CHANGELOG.md
ouroboros-consensus-diffusion 0.10.0.0 CHANGELOG.md
ouroboros-consensus-protocol 0.7.0.0 CHANGELOG.md
ouroboros-network 0.11.0.0 CHANGELOG.md
ouroboros-network-api 0.6.3.0 CHANGELOG.md
ouroboros-network-framework 0.11.0.0 CHANGELOG.md
ouroboros-network-mock 0.1.1.1 CHANGELOG.md
ouroboros-network-protocols 0.7.0.0 CHANGELOG.md
ouroboros-network-testing 0.5.0.0 CHANGELOG.md
plutus-core 1.21.0.0 CHANGELOG.md
plutus-ledger-api 1.21.0.0 CHANGELOG.md
plutus-tx 1.21.0.0 CHANGELOG.md
prettyprinter-configurable 1.21.0.0
set-algebra 1.1.0.2 CHANGELOG.md
small-steps 1.0.1.0 CHANGELOG.md
small-steps-test 1.0.1.0 CHANGELOG.md
sop-extras 0.1.0.0 CHANGELOG.md
strict-checked-vars 0.2.0.0 CHANGELOG.md
strict-sop-core 0.1.0.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