Skip to content

10.1.1

Compare
Choose a tag to compare
@crocodile-dentist crocodile-dentist released this 30 Oct 16:35
· 49 commits to master since this release
4184f92

Node 10.1.1 is a mainnet release of the Cardano node that is capable of crossing the Chang#2 hard fork. It includes a number of improvements to the governance system, including support for SPO delegation to pre-defined voting options, and support for auto-abstain DRep votes supplanting abstaining via rewards address delegation. It also enables new Plutus primitives as defined in CIP-0122, CIP-0123, and CIP-0127. Finally it includes a number of other improvements to the ledger, CLI, API and networking code bases, as detailed below.

Note that, although staking rewards will continue to be earned as usual, in order to withdraw their rewards, following the Chang#2 hard fork, Ada holders will need to delegate to a DRep, which may be one of the pre-defined options, a single key or a Plutus v3 script. Until the hard fork, rewards may be withdrawn normally. Although following the hard fork, rewards may not be withdrawn unless a DRep is delegated to, rewards will continue to accrue to the Ada holder normally, regardless of whether or not a DRep is delegated to.

Benchmarking reports relevant to the 10.1.1 release 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 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
  • Removed support for legacy P2P topology format
  • Integrates Plutus 1.36 and corresponding ledger changes
  • Removed support for NodeToNodeV_12 and earlier
Consensus
  • Add GetFuturePParams query
  • Updated N2C part of latestReleasedNodeVersion to NodeToClientV_18.
  • Updated N2N part of latestReleasedNodeVersion to NodeToNodeV_14
  • Decrease the maximum permissible clock skew from 5s to 2s.
Ledger
  • Translation of RegTxCert and UnRegTxCert to PlutusV3 scripts context will now be done correctly, which means deposit and refund respectively, will actually be translated: #4627
  • Treasury withdrawals that are empty or sum up to zero will no longer be allowed: #4630
  • Prevent non-registered return accounts for proposals' deposits and TreasuryWithdrawals #4639
  • Ensure ppuCoinsPerUTxOBytes cannot be zero: #4650
  • Ensure dreps exist prior to delegation: #4652
  • Change how SPO votes are counted: #4659
  • Disallow withdrawals to non-delegated keyhashes post-bootstrap #4555
  • Remove maxMajorPV from Globals, because it was unused: #4218
  • Fix DRep delegation invariant preservation #4709
  • Fix simultaneous withdrawal and deregistation tx #4715
Network
  • Added NodeToNodeV_14
  • Added NodeToClientV_18
Cardano-cli

Release Notes for cardano-cli-10.1.1.0

Major Changes

  • Introduce "compatible" command group
    (feature, compatible)
    PR 917
Usage: cardano-cli compatible 
                                ( shelley
                                | allegra
                                | mary
                                | alonzo
                                | babbage
                                | conway
                                )

  Limited backward compatible commands for testing only.

Available options:
  -h,--help                Show this help text

Available commands:
  shelley                  Shelley era commands
  allegra                  Allegra era commands
  mary                     Mary era commands
  alonzo                   Alonzo era commands
  babbage                  Babbage era commands
  conway                   Conway era commands

This is a group of commands predominantly exposed for our testing requirements. It paves the way to deprecate all pre-mainnet eras from cardano-cli's interface as users are interested in interacting with the current era and the upcoming era if there is a hardfork on the horizon. Note, this does not imply that prior functionality introduced in previous eras will be unavailable.

  • Large deprecation of legacy commands and removal of related code.
    (breaking)
    PR 905

We waited until after the Chang hardfork to begin refactoring cardano-cli (internal code and the external interface). This is still ongoing work but the summary of the changes are as follows:

cardano-cli - General purpose command-line utility to interact with
cardano-node. Provides specific commands to manage keys, addresses, build &
submit transactions, certificates, etc.
 Usage: cardano-cli 
-                     ( shelley
+                     ( address
+                     | key
+                     | node
+                     | query
+                     | legacy
+                     | byron
+                     | shelley
                      | allegra
                      | mary
                      | alonzo
                      | babbage
                      | conway
                      | latest
-                     | legacy
-                     | Legacy commands
-                     | byron
                      | hash
                      | ping
                      | debug commands
                      | version
+                     | compatible
                      )

Note:

  • Several of the era agnostic commands have been moved to the top level e.g key, address, node etc.

  • The majority of the legacy commands have been removed and we intend to fully remove the legacy command group in future releases.

Expect future changes to the cli's interface but note that we will be socializing proposed changes via our working group to get feedback from the community.

Features

  • Implement cddl's stake_reg_deleg_cert and vote_reg_deleg_cert and stake_vote_reg_deleg_cert as:

    • cardano-cli conway stake-address registration-and-delegation-certificate
    • cardano-cli conway stake-address registration-and-vote-delegation-certificate
    • cardano-cli conway stake-address registration-stake-and-vote-delegation-certificate
      (feature)
      PR 919
  • create-testnet-data now takes a node configuration file as input. If a file is given, it is augmented with the hashes (and paths) of the genesis files, or if the hashes/paths are present; they are checked.
    (feature, breaking)
    PR 908

  • Add anchor data hash checks to all governance action commands
    (feature, breaking, test)
    PR 915

  • Adding support for script stake credentials and stake address in create-treasury-withdrawal and improving help text. New options are: --funds-receiving-stake-script-file and --funds-receiving-stake-address
    (feature, documentation)
    PR 914

  • Added hash checks for governance committee create-cold-key-resignation-certificate and governance vote create
    (feature, test)
    PR 937

  • Added metadata, metadata hash validation and URL support to stake-pool registration-certificate; and hash checking and URL support to stake-pool metadata-hash.
    (feature, test)
    PR 932

  • Added URL support to governance drep metadata-hash
    (feature)
    PR 927

  • Added hash checks for drep registration-certificate and drep update-certificate
    (feature, breaking, test)
    PR 916

  • Add proposal hash check when creating info governance action
    (feature, breaking)
    PR 910

  • Added hash validation and support for HTTP(S) and IPFS to command hash anchor-data
    (feature)
    PR 895

  • Show user friendly warning when cardano ping command is misconfigured.
    (feature)
    PR 893

Breaking Changes

  • Added support for the new envelope types for transactions: "TxSignedShelley", "Tx AllegraEra", "Tx MaryEra", "Tx AlonzoEra", "Tx BabbageEra", "Tx ConwayEra".
    The following old envelope types are no longer supported: "Witnessed Tx ShelleyEra", "Witnessed Tx AllegraEra", "Witnessed Tx MaryEra", "Witnessed Tx AlonzoEra", "Witnessed Tx BabbageEra", "Witnessed Tx ConwayEra", "Unwitnessed Tx ByronEra", "Unwitnessed Tx ShelleyEra", "Unwitnessed Tx AllegraEra", "Unwitnessed Tx MaryEra", "Unwitnessed Tx AlonzoEra", "Unwitnessed Tx BabbageEra", "Unwitnessed Tx ConwayEra"
    (bugfix, breaking)
    PR 892

  • Move address commands to top level
    (feature, compatible)
    PR 934

  • Move key commands to top level as they are era agnostic
    (feature, compatible)
    PR 931

  • The node commands are era agnostic and should be moved to the top level
    (feature, compatible)
    PR 929

  • Remove eras older than Babbage support in transaction build and transaction build-estimate
    (breaking, refactoring)
    PR 878

  • Remove era transaction view and transaction view commands. Use debug transaction view instead.
    (breaking)
    PR 868

Bugfixes

  • Fixed number of DRep credentials generated by create-testnet-data.
    (bugfix)
    PR 948

  • Restore stable query cmds
    (bugfix)
    PR 955

Cardano-api
  • Fix collateral balancing when building transaction
  • Add voting to simple tx interface
  • Handle Plutus related ledger events in Conway
  • When building applications that need to spend from a script UTxO which has a datum attached,
    that off-chain code needs access to the raw Datum for evaluating the transaction and calculate fees.
  • Fix bug that ignored a specific stake deregistration certificate in Conway
  • Fix datum conversion in 'fromLedgerTxOuts' when using 'fromAlonzoTxOut'
Submit-api

NONE

Plutus
  • Reference scripts are enabled for Plutus V1 scripts. This enables legacy scripts to take advantage of reference scripts, reducing DApp
    costs and increasing on-chain capacity.
  • The minFeeRefScriptsCoinsPerByte protocol parameter refines the Plutus cost model and improves fee calculations by allowing separate
    tuning of the costs for reference scripts.
Individual packages' 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 10.1.0.0 CHANGELOG.md
cardano-binary 1.7.1.0 CHANGELOG.md
cardano-cli 10.1.0.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.1 CHANGELOG.md
cardano-git-rev 0.2.2.0
cardano-ledger-allegra 1.6.0.1 CHANGELOG.md
cardano-ledger-alonzo 1.11.0.0 CHANGELOG.md
cardano-ledger-alonzo-test 1.3.0.0 CHANGELOG.md
cardano-ledger-api 1.9.4.0 CHANGELOG.md
cardano-ledger-babbage 1.10.0.0 CHANGELOG.md
cardano-ledger-babbage-test 1.3.0.0 CHANGELOG.md
cardano-ledger-binary 1.4.0.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.17.2.0 CHANGELOG.md
cardano-ledger-conway-test 1.3.0.0 CHANGELOG.md
cardano-ledger-core 1.15.0.0 CHANGELOG.md
cardano-ledger-mary 1.7.0.1 CHANGELOG.md
cardano-ledger-shelley 1.14.1.0 CHANGELOG.md
cardano-ledger-shelley-ma-test 1.2.2.4 CHANGELOG.md
cardano-ledger-shelley-test 1.5.0.0 CHANGELOG.md
cardano-ping 0.5.0.0 CHANGELOG.md
cardano-prelude 0.2.0.0 ChangeLog.md
cardano-prelude-test 0.1.0.5
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.2.1 CHANGELOG.md
ekg-core 0.1.1.7.0.0.0.0.1 CHANGELOG.md
ekg-forward 0.6 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.21.0.0 CHANGELOG.md
ouroboros-consensus-cardano 0.20.0.0 CHANGELOG.md
ouroboros-consensus-diffusion 0.18.0.0 CHANGELOG.md
ouroboros-consensus-protocol 0.9.0.2 CHANGELOG.md
ouroboros-network 0.17.1.2 CHANGELOG.md
ouroboros-network-api 0.10.0.0 CHANGELOG.md
ouroboros-network-framework 0.13.2.5 CHANGELOG.md
ouroboros-network-mock 0.1.1.2 CHANGELOG.md
ouroboros-network-protocols 0.11.0.0 CHANGELOG.md
ouroboros-network-testing 0.7.0.0 CHANGELOG.md
plutus-core 1.36.0.0 CHANGELOG.md
plutus-ledger-api 1.36.0.0 CHANGELOG.md
plutus-tx 1.36.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.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