github IntersectMBO/cardano-node 10.2.1

latest release: 10.2.1-docker
pre-release3 days ago

Node 10.2.1 is a pre-release of the Cardano node at this time. It provides support for the new tracing system and an initial integration of Ouroboros Genesis, a new feature which enables nodes to bootstrap from the network. It also provides a number of bug fixes and enhancements, including fixes and improvements to a number of CLI commands.

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

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, M3 or M4) processor
  • 24GB of RAM
  • 200GB of free storage (250GB recommended for future growth)
Platforms
  • Linux 64-bit (Ubuntu 18.04 LTS, 20.04 LTS, 22.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/9.6/9.10
  • Cabal 3.8/3.12
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 🟢
Legend
  • 🟢 - signed / agreed / supported
  • 🟥 - not agreed / unsupported

Changelogs

Node

cardano-node

  • Ledger peer snapshot path entry added to topology JSON parser,
    which a new decoder function readPeerSnapshotFile processes
    at startup and SIGHUP. Data is available to the diffusion layer
    via TVar.

  • Configuration changes:

    • Add ConsensusMode and MinBigLedgerPeersForTrustedState
    • Add Genesis config
    • Add diffusionMode to local root peers group configuration
    • Add DoDiskSnapshotChecksum
  • Use new tracing system by default. To continue using the current system, explicitly set "UseTraceDispatcher": false in the config.

  • Change fallback node name for trace forwarding from host:port to host_port

  • Replace snap-server based web stack inside the Node with warp / wai

  • Tracing updates:

    • Add support for ChainSelStarvationEvent, ExtValidationError
    • Add support for KeepAlive protocol
    • Add support for LocalStateQuery protocol
    • Add support for UsingBigLedgerPeerSnapshot, VerifyPeerSnapshot
    • Add support for ConnectionError
    • Add support for AddNewNodeIdMapping
    • Add support for PeerFetch and PeerStarvedUs
    • Add support for SnapshotMissingChecksum
    • Add support for stateful messages
    • Add maximumKesEvolutions to InvalidKesSignatureOCERT event
    • Rename kind field of all MuxXxx trace messages to be Mux.Xxx
    • Rename fields in RotatedDynamo event to oldPeer, newPeer
    • Rename ConnectTo to Connect
    • Change format of GenesisPoint, LabelPeer, DecisionEvent
    • Change format of ConnectionManagerState
    • Change format of AddedToCurrentChain
    • Drop support for ClientAgency, ServerAgency
    • Drop support for FetchDecision declined, FetchDecision results
    • Drop support for StakeKeyInRewardsDELEG
    • Drop support for ChainSelectionForFutureBlock, BlockInTheFuture,
      CandidateContainsFutureBlocks, CandidateContainsFutureBlocksExceedingClockSkew,
      InvalidBlockReason
  • Drop NodeToClient versions 9 through 15, and add 19

  • Increase minor protocol version to 10.3

Consensus
  • Snapshots are now CRC-checksum checked (link).
  • Drop NodeToClient versions < 16 (link).
  • Remove cdbFutureBlocks as headers now will be delayed until they are no
    longer "from the future" (link).
  • Implement new bulk sync logic for BlockFetch for Genesis (link).
  • Update to typed-protocols-0.3.0.0 API and add KeepAlive tracer (link).
  • Fixed a bug where a valid tx with less than 4 bytes less than the max tx size
    would be incorrectly rejected by the mempool (link).
  • TestXxxHardForkAtVersion was removed in favor of CardanoHardForkTriggers (link).
Ledger
  • Add registered DRep stake distribution query
Network
cardano-cli

Release Notes for cardano-cli (10.2.0.0 to 10.4.0.0)

Main changes

  • Added cardano-cli latest query ledger-peer-snapshot for a snapshot of big ledger peers used when syncing in Genesis
    (feature)
    PR 727

    A new query subcommand ledger-peer-snapshot was introduced to serialize a snapshot of big ledger peers. These relays will be relied on by network layer when a node is syncing up in Genesis consensus mode, since a node may not have any or up to date information from its own ledger which are the big ledger peer relays.

  • Added the debug check-node-configuration --node-configuration-file node-config.json command
    that reads node-config.json and checks that the hashes of genesis files are correct.
    (feature)
    PR 923 based on ADR 5

  • Added anchor data hash checks to transaction build
    (feature)
    PR 951

    This version adds a built-in check that allows cardano-cli to verify anchor data linked by a transaction at the time it is being built if using the command transaction build. The cardano-cli will automatically try to download the referenced anchor data, hash it, and check the obtained hash against the one in the transaction, letting the user know if there is a mismatch.

Other features

  • Added cardano-cli conway query future-pparams
    (feature, compatible)
    PR 1038

  • Added the ratify-state query
    (feature, compatible)
    PR 1036

  • Added certificates to CLI interface in compatible transaction-sign
    (feature, compatible)
    PR 972

  • DRep ID: support key hash as input
    (compatible)
    PR 1009

  • transaction id: added --output-[json,text] flag to control format of the output
    (feature, compatible)
    PR 1005

  • Added datums and scripts to friendlyTxImpl, which translates into them being showed by transaction view.
    (feature)
    PR 977

  • Implemented the query proposals command
    (feature, compatible)
    PR 984

  • Modified anchor-data checking to allow HTTP schema for testing purposes
    (feature)
    PR 979

  • transaction build now checks and fails if stake addresses used for deposit return or treasury withdrawals in proposals are NOT registered on-chain.
    (feature)
    PR 963

  • Added option --committee-keys to create-testnet-data to create the cold and hot credential for constitutional committee members
    (compatible)
    PR 961

Breaking changes

  • Added governance action deposits to the output of query stake-address-info. This also renames the field stakeDeposit to stakeRegistrationDeposit in the JSON output.
    (feature, breaking)
    PR 1032

  • Integrated plutus, cardano-ledger, ouroboros-network, ouroboros-consensus, cardano-api-10.6.0.0
    (breaking, feature)
    PR 986

  • DRep ID: have --output-bech32 and --output-hex instead of --output-format STRING
    (breaking)
    PR 1017

  • Disambiguated DRep being a key or a script in certificate descriptions
    (breaking)
    PR 1007

  • Moved genesis hash command to hash genesis-file
    (breaking)
    PR 982

  • Augmented query spo-stake-distribution to include the DRep delegation choices of the Pool's rewards accounts
    (breaking)
    PR 990

  • More fine grained controls of eras for create-testnet-data. Forbid creating DReps and CC in babbage. And remove the create-testnet-data altogether in eras earlier than Babbage
    (breaking)
    PR 968

  • create-testnet-data: create byron genesis
    (breaking, test)
    PR 974

  • Transaction submit: print transaction hash, like this:

    Transaction successfully submitted. Transaction hash is: {"txhash":"456c614d5d547b7fe197a4d18fbb86e086cb9080594dabf9059adf08b00cf2bd"}

    Previously it was:

    Transaction successfully submitted.

    (feature, breaking)
    PR 925

Bugfixes

  • Fix costs calculation for transaction with more than one certificates with the same stake credential and script witness.
    (bugfix)
    PR 1028
cardano-api

10.8.0.0

  • Add QueryFuturePParams
    (feature, compatible)
    PR 739

  • Re-export getBlockTxs
    (compatible, bugfix)
    PR 738

  • Change a representation of witnesses in transaction's certificates to an ordered map where a certificate is the key.
    (breaking, bugfix)
    PR 734

  • Add support for the ratify-state query
    (feature, compatible)
    PR 737

10.7.0.0

  • Deprecate patterns, to lower entry bar knowledge to this codebase
    (breaking, refactoring)
    PR 733

  • Introduce new type PlutusScriptInEra and fix the double cbor encoding plutus script bug
    Resolves: IntersectMBO/cardano-api#685
    (bugfix)
    PR 720

  • Shelley: export {to,from}AlonzoLanguage (Plutus script language conversions)
    (compatible)
    PR 731

  • Expose GovActionState from Ledger
    (feature, compatible)
    PR 730

  • Deprecate some patterns, remove deprecated ones. See the deprecation stanzas for migration guidance.
    (compatible, refactoring)
    PR 728

10.6.0.0

  • Downgrade plutus version to 1.37
    (bugfix)
    PR 727

  • Added schema checking functionality for DRep registration, DRep update, and GovAction metadata, based on CIP-0100, CIP-0108, and CIP-0119. Also add functionality to check whether a certificate is for DRep registration or updating.
    (feature, compatible, test)
    PR 713

  • Added GetBigLedgerPeerSnapshot block query
    (breaking)
    PR 521

  • Add certificates support in createCompatibleSignedTx.
    (feature, breaking)
    PR 691

  • Integrate typed-protocols, ouroboros-network, cardano-ledger and ouroboros-consensus
    (breaking, feature)
    PR 687

  • Export genTxOutByron
    (compatible)
    PR 703

10.5.0.0

  • Don't export the ledger's coerceKeyRole function anymore, export RewardAccount
    (breaking)
    PR 708

  • Adds modTxTotalCollateral, modTxReturnCollateral, modTxFee, modTxValidityLowerBound, modTxValidityUpperBound, modTxMetadata, modTxAuxScripts, modTxWithdrawals, modTxCertificates, modTxUpdateProposal, modTxScriptValidity, modTxMintValue functions for modifying TxBodyContent. Adds addTxMintValue and subtractTxMintValue.
    (compatible)
    PR 706

  • Add TxBodyModifier functions: addTxIns, modTxInsCollateral, addTxInsCollateral, addTxInCollateral, modTxInsReference, addTxInsReference, addTxInReference, addTxOuts, modTxExtraKeyWits, addTxExtraKeyWits.
    (compatible)
    PR 704

10.4.0.0

  • Integrate queryProposals (GetProposals)
    (feature)
    PR 684

  • Export HasKeyRole's coerceKeyRole function
    (compatible)
    PR 699

  • Exposed Language, Plutus, Script, getNativeScript, languageToText, plutusBinary, plutusScriptLanguage, serializeAsHexText, showTimelock in Cardano.Api.Ledger, and AlonzoEraOnwardsConstraints in Cardano.Api
    (feature)
    PR 689

  • Export the Convert class
    (compatible)
    PR 696

  • fromProposalProcedure: return StakeCredential
    (breaking)
    PR 692

  • Export GovActionIx from the ledger
    (compatible)
    PR 688

  • We introduce the Convert type class as an alternative to cardano-ledger's Inject typeclass.
    While Inject is more general, Convert is specifically designed for transformations between era-indexed types,
    making the intent clearer at call sites where we're converting between eons.
    (feature)
    PR 690

10.3.0.0

  • Add sbeToSimpleScriptLanguageInEra, getScriptWitnessScript, getScriptWitnessReferenceInput, getScriptWitnessReferenceInputOrScript function
    Refactor TxMintValue to better represent minting state
    Propagate IsPlutusLanguage constraint to ScriptLanguage lang, AnyPlutusScriptVersion, Script lang and ScriptWitness witctx era types.
    Remove Maybe ScriptHash from PReferenceScript and SReferenceScript.
    (breaking, refactoring)
    PR 663

  • Improve plutus script failure error
    (feature)
    PR 683

  • Remove experimental code exposure in Cardano.Api non-experimental modules
    (breaking)
    PR 681

  • Deprecate eons conversion functions like conwayEraOnwardsToBabbageEraOnwards. Add Inject instances for eon conversions. See the PR description for migration aid.
    (compatible, refactoring)
    PR 636

10.2.0.0

  • ValueParser: rename publicly exposed function names to indicate they are parsers

    To adapt: prefix old function name by parse and everything should compile again.
    (breaking)
    PR 674

  • Parameterize Value parser on role of the Value being parsed: transaction output or minting policy
    (breaking)
    PR 666

  • Add function to extract anchor data from a certificate
    (feature)
    PR 664

  • Export the Committee record from the ledger, for use in the CLI
    (compatible)
    PR 669

  • Exposed functions and types from ouroboros-* required by cardano-cli.
    (compatible)
    PR 667

  • Rename TxOutDatumInTx datum to TxOutSupplementalDatum
    (breaking)
    PR 662

  • Exposed GovAction and Constitution types and constructors required by hash check in transaction build in cardano-cli
    (feature)
    PR 661

Submit-api
  • No changes
Plutus
  • 10% UPLC evaluator speedup (#6663)
  • Fixed a bug that caused "unknown error code" to be reported for known error codes (#6635)
  • Added PlutusLedgerApi.V3.MintValue.MintValue, representing assets minted and burned in a transaction (#6609)

Detailed Changelogs

Individual packages' 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.0 CHANGELOG.md
byron-spec-ledger 1.0.1.0 CHANGELOG.md
cardano-api 10.8.0.0 CHANGELOG.md
cardano-binary 1.7.1.0 CHANGELOG.md
cardano-cli 10.4.0.0 CHANGELOG.md
cardano-crypto 1.1.2
cardano-crypto-class 2.1.5.0 CHANGELOG.md
cardano-crypto-praos 2.2.0.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.1 CHANGELOG.md
cardano-git-rev 0.2.2.0
cardano-ledger-allegra 1.6.1.0 CHANGELOG.md
cardano-ledger-alonzo 1.12.0.0 CHANGELOG.md
cardano-ledger-alonzo-test 1.3.0.1 CHANGELOG.md
cardano-ledger-api 1.10.0.0 CHANGELOG.md
cardano-ledger-babbage 1.10.1.0 CHANGELOG.md
cardano-ledger-babbage-test 1.3.0.0 CHANGELOG.md
cardano-ledger-binary 1.5.0.0 CHANGELOG.md
cardano-ledger-byron 1.0.2.0 CHANGELOG.md
cardano-ledger-byron-test 1.5.2.0 CHANGELOG.md
cardano-ledger-conway 1.18.1.0 CHANGELOG.md
cardano-ledger-conway-test 1.3.0.0 CHANGELOG.md
cardano-ledger-core 1.16.0.0 CHANGELOG.md
cardano-ledger-mary 1.7.1.0 CHANGELOG.md
cardano-ledger-shelley 1.15.0.0 CHANGELOG.md
cardano-ledger-shelley-ma-test 1.2.2.5 CHANGELOG.md
cardano-ledger-shelley-test 1.5.1.0 CHANGELOG.md
cardano-ping 0.7.0.0 CHANGELOG.md
cardano-prelude 0.2.1.0 ChangeLog.md
cardano-prelude-test 0.1.0.5
cardano-protocol-tpraos 1.3.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
cuddle 0.3.2.1 CHANGELOG.md
ekg-forward 0.8.1 CHANGELOG.md
ekg-wai 0.1.1.0.0.0.0.1
heapwords 0.1.0.2 CHANGELOG.md
iohk-monitoring 0.2.0.0
libsystemd-journal 1.4.5.0.0.0.0.1 Changelog.md
lobemo-backend-aggregation 0.1.0.0
lobemo-backend-ekg 0.2.0.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.6 CHANGELOG.md
non-integral 1.0.0.0 CHANGELOG.md
optparse-applicative-fork 0.18.1.0 CHANGELOG.md
ouroboros-consensus 0.22.0.0 CHANGELOG.md
ouroboros-consensus-cardano 0.21.0.1 CHANGELOG.md
ouroboros-consensus-diffusion 0.20.0.0 CHANGELOG.md
ouroboros-consensus-protocol 0.10.0.0 CHANGELOG.md
ouroboros-network 0.19.0.3 CHANGELOG.md
ouroboros-network-api 0.12.0.0 CHANGELOG.md
ouroboros-network-framework 0.16.0.0 CHANGELOG.md
ouroboros-network-mock 0.1.1.2 CHANGELOG.md
ouroboros-network-protocols 0.13.0.0 CHANGELOG.md
ouroboros-network-testing 0.8.0.0 CHANGELOG.md
plutus-core 1.37.0.0 CHANGELOG.md
plutus-ledger-api 1.37.0.0 CHANGELOG.md
plutus-tx 1.37.0.0 CHANGELOG.md
prettyprinter-configurable 1.36.0.0
quickcheck-monoids 0.1.0.1 CHANGELOG.md
set-algebra 1.1.0.3 CHANGELOG.md
small-steps 1.1.0.1 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.3.0.0 CHANGELOG.md
typed-protocols-cborg 0.3.0.0 CHANGELOG.md
typed-protocols-examples 0.5.0.0
typed-protocols-stateful 0.3.0.0
typed-protocols-stateful-cborg 0.3.0.0 ChangeLog.md
validation-selective 0.2.0.0.0.0.0.0.1 CHANGELOG.md
vector-map 1.1.0.0 CHANGELOG.md

Don't miss a new cardano-node release

NewReleases is sending notifications on new releases.