github IntersectMBO/cardano-node 10.3.1

latest releases: 10.5.1-docker, 10.5.1, 10.5.0...
pre-release4 months ago

Node 10.3.1 primarily improves on performance: it improves execution speed, reduces memory usage and gives faster synchronisation times. In addition, it provides several enhancements to the new tracing system. It also provides support for light-weight checkpointing that is needed to enable ouroboros-genesis. Finally, it includes bug-fixes for a number of CLI commands. The docker images for node and submit-api have also received improvements to streamline operations.

System testing results for the 10.3.1 release can be found on the corresponding tag testing page.

This version of the node is released as a pre-release, pending community testing. It is not recommended for production use at this point in time.

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 9.6
  • Cabal 3.8/3.12
Supported roles
Platform Block Production Relay Client (Desktop)
Linux 🟢 🟢 🟢
Windows 🟥 🟥 🟢
MacOS 🟥 🟥 🟢
Downloads

Documentation

Sign-off

Role Approval
Technical Steering Committee (Intersect) 🟢
Product Committee (Intersect) 🟢
Test Engineer 🟢
Performance Engineer 🟢
Site Reliability Engineer N/A
Release Engineer 🟢
Legend
  • 🟢 - signed / agreed / supported
  • 🟥 - not agreed / unsupported

Changelogs

Node
  • Update the default compiler version from 8.10.x to 9.6.x.

  • Add ForkPolicy to the configuration (this is an experimental option for network behaviour)

  • Optionally support light-weight check-pointing for ouroboros-genesis.

  • Tracing

    • New PrometheusSimple backend which runs a simple TCP server for direct exposition of metrics, without forwarding, under the URL /metrics.
    • New maxReconnectDelay config option in TraceOptionForwarder: Specifies maximum delay (seconds) between (re-)connection attempts of a forwarder (default: 60s).
    • Fix: change semantics of several Forge.* metrics to counters - to match semantics of legacy tracing.
    • Fix: correct blockdelay_cdf* metric
    • Fix: correct blockReplayProgress metric
    • Optimizations to trace + metrics forwarding, aimed at reducing CPU usage when under low / idle load.
  • Docker

    • Add baseline network configuration references for the node image
    • Add a new merge mode for the node image
    • Reduce default path inconsistencies within and between the node and submit-api images
    • Improve documentation
    • Implemented in PR#6110 where breaking changes are also noted
Consensus
  • Queries and mini-protocols
    • Removed legacy {HardForkSpecific,Shelley,Cardano}NodeToClientVersions and related code.
    • Export new function querySupportedVersions. For this, add method blockQueryIsSupportedOnVersion to BlockSupportsLedgerQuery.
    • Use NodeToClientV_20.
      • Expose new query QueryStakePoolDefaultVote.
      • Query GetProposedPParamsUpdates has been deprecated and is not supported in ShelleyNodeToClientV12 (NodeToClientV_20).
  • Tracers
    • Added a new CSJ tracer to ChainSync client interface.
    • Renamed the existing tracer in Ouroboros.Consensus.Node.Tracers.Tracers.
    • Added peer sharing tracer to NTN tracers.
  • Renaming and relocation
    • Move Ouroboros.Consensus.Cardano.ByronHFC to Ouroboros.Consensus.Byron.ByronHFC.
  • Expose blockchain time as getBlockchainTime :: BlockchainTime m in the NodeKernel
  • Deprecate the StandardX type aliases for eras.
Ledger
  • Removed crypto-parametrization from ledger eras, which finally allowed us to avoid regression in ghc-9 and stop using ghc-8.10.7 for building cardano-node releases.
  • Improve performance of ledger snapshot creation by changing how we serialize UTxO in the ledger state. This should sove an issue with missed leadership checks due to snapshot creation problem ouroboros-consensus#868
  • Add cli to plutus-debug executable and provide ability for overridding different parts used for script execution.
  • Much cleanup, re-organization of the code and various minor performance optimizations
Network
  • keep-alive mini-protocol receiver is always (re)started, when we receive traffic on any other node-to-node mini-protocol
  • experimental option which binds mini-protocol threads to lower capabilities, leaving two capabilities free for other threads

Link to the development tracker

CLI
  • Bump cardano-api to include bug fixes for:

    • Silently dropping simple scripts in transaction construction
    • Not selecting the highest protocol version in a given era. This resulted in erroneous plutus script decoding failures.

    (compatible, bugfix)
    PR 1127

  • Bump to cardano-api-10.13.0.0 - Fix bug in the construction of the redeemer pointer map
    (bugfix)
    PR 1124

  • Delete top level babbage command group
    (breaking)
    PR 1117

  • Source import of the vary package
    (feature)
    PR 1121

  • Bumped ledger and dependencies for node 10.3 release.

    • Removed use of parameterised crypto (EraCrypto c, this enables many other data types to become mono-morphic over StandardCrypto)
    • Added query stake-pool-default-vote
    • Ensured security parameter is non-zero
      (breaking, feature)
      PR 1075
  • Add a new query for stake-pool default vote
    (feature, release)
    PR 1081

  • Delete top-level shelley command group and delete associated tests
    (breaking)
    PR 1111

  • Parallelised help golden test generation and validation
    (optimisation)
    PR 1103

  • Added support for mnemonic sentence generation and extended key derivation from mnemonic sentences.
    (feature)
    PR 975

  • Remove minting capabilities in eras prior to Mary.
    Change minted assets representation to L.MultiAsset instead of Value.
    (compatible)
    PR 1085

  • Update cardano-api-10.10.0.0
    Fix signing of a transaction in compatible shelley transaction signed-transaction command. Previously two different transaction bodies were used for the resulting transaction and the signature - now it's used the same for both purposes.
    (bugfix)
    PR 1057

  • Add stake address registration and delegation certificate and stake pool delegation certificate to compatible commands
    (compatible)
    PR 1070

  • Default to hex for binary query utxo output
    (feature, breaking)
    PR 1066

  • Add command to calculate plutus script costs from an already constructed transaction.
    (feature)
    PR 1031

  • Add binary output option for query utxo command
    (feature)
    PR 1000

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

  • Add 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

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

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

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

API
  • Fix toAnyWitness to not ignore simple scripts
    Update getVersion to retrieve the highest protocol version given an era
    (compatible, bugfix)
    PR 805

  • Sort transaction fields in CBOR representation
    (feature, compatible)
    PR 785

  • Fix bug in the construction of the redeemer pointer map.
    (breaking, bugfix)
    PR 800

  • Removed createPreviousGovernanceActionId. Use GovPurposeId . createGovernanceActionId instead.
    Export GovPurposeId through Cardano.Api.Ledger.
    (breaking, refactoring)
    PR 797

  • Remove unused ledger types' wrappers: GovernanceActionId and Voter. Use GovActionId and Voter from ledger instead.
    (breaking, refactoring)
    PR 796

  • Delegate decision on supported versions for queries to Consensus.
    (feature)
    PR 790

  • Adding missing fromCtxUTxOTxOut export
    (compatible)
    PR 794

  • Bumped ledger and dependencies for node 10.3 release.
    (breaking)
    PR 758

    • Removed queryProtocolParametersUpdate and the use of parameterised crypto (EraCrypto c, this enables many other data types to become mono-morphic over StandardCrypto)
    • Added queryStakePoolDefaultVote and queryLedgerConfig
  • New witness api
    (feature, compatible, refactoring)
    PR 763

  • Fix inputSet to be parameterized on the era
    (breaking, bugfix)
    PR 788

  • Remove the ProtocolParameters type, that has been deprecated for a while
    (breaking)
    PR 729

  • Add missing CastVerificationKeyRole StakePoolExtendedKey StakePoolKey instance
    (compatible)
    PR 782

  • Added support for generating mnemonics and for deriving payment and stake keys from mnemonics.
    (feature)
    PR 678

  • Add fromCtxUTxOTxOut, inverse of toCtxUTxOTxOut
    (compatible)
    PR 770

  • Make 1-1 relationship of witness and policy ID in TxMintValue instead of 1-*
    Remove exports: parseValue, ParserValueRole
    Add new type PolicyAssets representing minted assets within a single PolicyId
    Add mkTxMintValue helper function
    (breaking, refactoring)
    PR 776

  • Add Key instance for StakePoolExtendedKey
    (feature, compatible)
    PR 777

  • Add missing certificates in compatible transaction building in eras after Shelley and prior to Alonzo
    (bugfix)
    PR 775

  • Added HasTextEnvelope instance for EraHistory
    (feature, compatible)
    PR 771

  • Define fromList and toList in Cardano.Api.UTxO module.
    (compatible)
    PR 767

  • Include deserialisation of stake keys in deserialiseAnyVerificationKeyTextEnvelope
    (feature, compatible)
    PR 757

  • Fixed a bug that caused balancing algorithm to drop unwitnessed government actions
    (bugfix)
    PR 765

  • Modify estimateTransactionKeyWitnessCount to estimate simple scripts too
    (bugfix)
    PR 755

  • Split compatible transaction building into separate building and signing functions.
    Rename Cardano.Api.Internal.Tx.Compatible to Cardano.Api.Internal.Compatible.Tx.
    (breaking)
    PR 750

  • Re-export DebugPlutusFailure and renderDebugPlutusFailure.
    (compatible)
    PR 715

  • Add Cardano.Api.Tx.UTxO module for common UTxO operations.
    (feature, compatible)
    PR 710

  • Removed serialiseTxLedgerCddl and deserialiseTxLedgerCddl, and updated writeTxFileTextEnvelopeCddl to use new format.
    (breaking)
    PR 746

  • Upgrade ouroboros-consensus-diffusion to >=0.19 && <0.21
    (compatible)
    PR 751

  • Update TxProposalProcedures type to make invalid states irrepresentable.
    (breaking, refactoring)
    PR 726

  • Add function collectPlutusScriptHashes to collect script hashes needed to validate a given transaction
    (feature)
    PR 735

  • Fix transaction autobalancing when deregistering a credential
    (bugfix)
    PR 718

Submit API
  • No changes
Plutus
  • The verifyEd25519Signature primitive now uses the crypton library for Plutus V1 and V2, instead of cryptonite (for V3, it has already been crypton). The cryptonite dependency has been removed.

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.1.0.0 CHANGELOG.md
cardano-api 10.13.1.0 CHANGELOG.md
cardano-binary 1.7.1.0 CHANGELOG.md
cardano-cli 10.7.0.0 CHANGELOG.md
cardano-crypto-class 2.2.1.0 CHANGELOG.md
cardano-crypto-praos 2.2.0.0 CHANGELOG.md
cardano-crypto-test 1.6.0.0 CHANGELOG.md
cardano-crypto-tests 2.2.0.0 CHANGELOG.md
cardano-crypto-wrapper 1.6.0.0 CHANGELOG.md
cardano-data 1.2.4.0 CHANGELOG.md
cardano-git-rev 0.2.2.0
cardano-ledger-allegra 1.7.0.0 CHANGELOG.md
cardano-ledger-alonzo 1.13.0.0 CHANGELOG.md
cardano-ledger-alonzo-test 1.3.1.0 CHANGELOG.md
cardano-ledger-api 1.11.0.0 CHANGELOG.md
cardano-ledger-babbage 1.11.0.0 CHANGELOG.md
cardano-ledger-babbage-test 1.3.1.0 CHANGELOG.md
cardano-ledger-binary 1.6.0.0 CHANGELOG.md
cardano-ledger-byron 1.1.0.0 CHANGELOG.md
cardano-ledger-byron-test 1.5.2.1 CHANGELOG.md
cardano-ledger-conway 1.19.0.0 CHANGELOG.md
cardano-ledger-conway-test 1.3.1.0 CHANGELOG.md
cardano-ledger-core 1.17.0.0 CHANGELOG.md
cardano-ledger-mary 1.8.0.0 CHANGELOG.md
cardano-ledger-shelley 1.16.0.0 CHANGELOG.md
cardano-ledger-shelley-ma-test 1.3.0.0 CHANGELOG.md
cardano-ledger-shelley-test 1.6.0.0 CHANGELOG.md
cardano-ping 0.8.0.0 CHANGELOG.md
cardano-prelude 0.2.1.0 ChangeLog.md
cardano-prelude-test 0.1.0.5
cardano-protocol-tpraos 1.4.0.0 CHANGELOG.md
cardano-slotting 0.2.0.0 CHANGELOG.md
cardano-strict-containers 0.1.4.0 CHANGELOG.md
contra-tracer 0.1.0.1
cuddle 0.3.2.1 CHANGELOG.md
ekg-forward 0.9 CHANGELOG.md
heapwords 0.1.0.2 CHANGELOG.md
iohk-monitoring 0.2.1.0
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.7 CHANGELOG.md
non-integral 1.0.0.0 CHANGELOG.md
optparse-applicative-fork 0.18.1.0 CHANGELOG.md
ouroboros-consensus 0.24.0.0 CHANGELOG.md
ouroboros-consensus-cardano 0.23.0.0 CHANGELOG.md
ouroboros-consensus-diffusion 0.21.0.1 CHANGELOG.md
ouroboros-consensus-protocol 0.11.0.0 CHANGELOG.md
ouroboros-network 0.20.1.0 CHANGELOG.md
ouroboros-network-api 0.13.0.0 CHANGELOG.md
ouroboros-network-framework 0.17.0.0 CHANGELOG.md
ouroboros-network-mock 0.1.1.2 CHANGELOG.md
ouroboros-network-protocols 0.14.0.0 CHANGELOG.md
ouroboros-network-testing 0.8.1.0 CHANGELOG.md
plutus-core 1.43.1.0 CHANGELOG.md
plutus-ledger-api 1.43.1.0 CHANGELOG.md
plutus-tx 1.43.1.0 CHANGELOG.md
plutus-tx-plugin 1.43.1.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.1.0 CHANGELOG.md
sop-extras 0.3.0.0 CHANGELOG.md
strict-checked-vars 0.2.0.0 CHANGELOG.md
strict-sop-core 0.1.3.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.