Skip to content

Releases: IntersectMBO/cardano-node

Cardano Node 1.25.1

28 Jan 15:36
Compare
Choose a tag to compare

This release is expected to be the final release for the upcoming Mary hard fork, and everyone must upgrade to this (or a later) version to cross the Mary hard fork.

The Mary hard fork introduces native token functionality to Cardano. This is directly useful and is also one of the significant building blocks for the later Goguen smart contracts.

A launchpad testnet for the native token functionality has been running since December, using the cardano-node 1.24.2 release. This 1.25.1 release contains relatively minor changes for the Mary era compared to the 1.24.2 release. It is nevertheless not compatible with the 1.24.2 version and the existing testnet. The launchpad testnet will not be restarted and will remain on 1.24.2. Public testnet and staging have been upgraded to 1.25.1. If you have already tested integration with the existing launchpad testnet then no new integration work is expected for this release other than upgrading the node version and moving to the staging or public testnet.

Exchanges and other users that integrate closely with Cardano must take action to test their integration before the transition takes place on mainnet. Exchanges can use launchpad or staging, SPOs can use staging, and everyone should use public testnet once it forks. Staging will go through the Mary hard fork on 28th January, and public testnet will go through the Mary hard fork during week commencing 1st February. The native token functionality does have an impact for all custom wallet implementations: it is not a feature that can be ignored and remain compatible. All addresses are capable of receiving native tokens.

Stake Pool Operators (SPOs) and Exchanges should take note that the metric namespace has undergone consolidation, so all metrics now reside in cardano.node.metrics:

  • cardano.node.Forge.metrics.* -> cardano.node.metrics.Forge.*
  • cardano.node.ChainDB.metrics.* -> cardano.node.metrics.ChainDB.*
  • cardano.node.BlockFetchDecision.connectedPeers -> cardano.node.metrics.connectedPeers

The node configs require no changes, but allow dropping entries that became redundant: wherever cardano.node.Forge.metrics.*, cardano.node.ChainDB.metrics.* or cardano.node.BlockFetchDecision.connectedPeers were mentioned, those entries can be removed. Only cardano.node.metric needs to remain. Please see #2281 for further details.

This release uses a new cabal snapshot so could be rather resource intensive when building for the first time.

Node changes

  • All metrics now use a common name prefix cardano.node.metrics. This requires a one-off change to the node configuration to route all metrics to the metrics backend and not have them in the log files. This should reduce the number of such changes in future. (#2281)
  • More detailed tracer output for protocol tracers (#2178)

Consensus changes

  • Improve the handling of the encoding of local IPC queries by older clients that do not understand later hard forks. In future this should mean that clients that do not understand a hard fork only fail at the time of the hard fork itself, and not earlier when the update proposal is confirmed (#2818)
  • New query for rewards provenance. This is intended to help wallets explain more details about rewards, and to help SPOs and users better understand how pools' performance and ranking are calculated. This is not yet supported in the CLI in this release. (#2830)
  • Support for using multiple leader credentials for the purpose of running large scale benchmarks. It supported in testnets only, not mainnet (#2832)
  • Support in testnets for skipping initial eras. This makes it easier and quicker to automate the setup of Cardano-mode testnets that start in later eras, such as Allegra or Mary. This enables simplifications in the setup for integration tests or benchmarks (#2811)
  • A first draft of a technical report on the design and the internals of the Cardano consensus and storage layer (#2663, #2838, #2841, #2842, #2853)

Ledger changes

  • Enforce the size of multi-asset names, to match the specification (#2074)
  • Minor change to the ledger CDDL binary specification for the Mary era: restrict the range of multi-asset values to -2^63..2^63-1 where previously the allowed range was -2^64..2^64-1 (#2092)
  • Rename fields in the ledger's CDDL binary specification for clarity and consistency, but no actual changes to the binary format (#2045)
  • Change the minimum ada UTxO value formula for multi-asset values to better reflect the resource costs and to pass on savings (in the form of a lower minimum ada UTxO value) for applications that use smaller asset bundles by sharing policy ids or using shorter asset names (#2107)
  • Improvements to the size of the internal storage format of multi-asset values, enabling a lower minimum ada UTxO value for multi-asset output values (#2083)
  • Restrict the maximum size of multi-asset output values (#2099)
  • Terminology change: the metadata section is renamed to "auxiliary data" to distinguish it from the existing transaction metadata (#2052)
  • Extra documentation on native tokens (#2046)
  • Progress on the new Alonzo era (#2022, #2055, #2061, #2062, #2067, #2077, #2087, #2088, #2095)

Network changes

  • Internal infrastructure to support seeding the P2P graph construction from the SPO relays registered on the chain, weighted by stake (#2535, #2536)
  • Introduce v6 of the node-to-node protocol where we reverse the initial agency of the tx-submission protocol to match the others. This is preparation for the P2P governor which requires the initial agency for mini-protocols to be uniform (#2807)
  • Introduce v8 of the node-to-client protocol with an extension to the local query protocol that allows acquiring the point at the node's current chain tip, without having to provide that point explicitly. Using this simplifies things for node clients for the common use case where the current tip is needed, and eliminates a rare race condition (#2875)
  • Fix a resource leak for chain-sync clients (#2235, #2870, #2888)
  • Tracing improvements for the mux component (#2794)

Cardano-cli changes

  • Allow creating transactions with no outputs (#2223, #2226)
  • Improved error messages for syntax errors in out-of-range lovelace quantities in transaction outputs (#2063, #2079)
  • Improved reference documentation for simple scripts and their use (#2165)
  • Remove support for changing the delegation from Genesis keys to operational keys in the Byron era. This feature was never used on the mainnet during the Byron era. (#2219)
  • Clearer usage information in the CLI --help output (#2203)

Cardano-api changes

  • New IPC modules for easier interaction with the node, including support for all existing local state queries (#2230, #2238, #2263, #2277, #2286)
  • API support for Byron era update proposals and votes (#2209, #2271)
  • Make Cardano.Api the primary public module for the API.
  • API support for serialising multi-asset PolicyId and AssetName (#2270)
  • API for pretty-printing JSON output (#2103)
  • More precise error cases for tx outputs that are out of range (#2217)
  • Host up-to-date generated API documentation via github https://input-output-hk.github.io/cardano-node/ (#2273, #2276, #2278)

Documentation

Read more

Cardano Node 1.24.2

09 Dec 09:09
400d180
Compare
Choose a tag to compare

This release provides support for the upcoming Allegra (token locking) Hard Fork and Mary Hard Fork and the new features they bring.

Everyone must upgrade to this (or a later) version to cross the Allegra Hard Fork.
Daedalus users should look for Daedalus release 3.0.0 which includes a version of the node that will cross the Token locking Cardano update, however people using the node directly must upgrade.

  • Token locking Cardano update adds some features needed to support the Catalyst treasury scheme. It extends the existing multi-sig script language with predicates for time, via the slot number. It allows, for example, to make a script address that is not spendable until a certain point in time.
  • The native tokens Cardano update adds multi-asset support. This is comparable to ERC20 and ERC721 tokens, but supported natively in the UTxO ledger. This is part of the Goguen feature set. It is a very significant feature and will have implications for all Cardano wallet implementations, including exchanges.

Stake Pool Operators (SPOs) and Exchanges should update their node config "options" section with an extra entry:

  "options": {
    "mapBackends": {
      "cardano.node.resources": [
        "EKGViewBK"
      ],

See link to configuration files in documentation section below.

Node changes

  • Add a nodeStartTime metric. This is a partial replacement for the uptime metric that was removed in the 1.23.0 release. (#2118)
  • New metrics for the size of the UTxO and delegation maps (#2158)
  • Tracing changes to support "K=1000" benchmarks (#2156, #2175)
  • Mention the required xz tool in the Cabal build instructions (#2132)
  • Eliminate the need to update the LastKnownBlockVersion-* entries in the node config files for the Shelley-based eras. This means the configuration does not need to be updated for the Token locking or native tokens eras. (#2193)
  • Export some more metrics for selected OS and RTS stats (#2192)

Ledger changes

  • Support for optional additional scripts in the tx auxiliary data (#1993)
  • Update the CDDL specification of the blockchain binary format for Token locking and native tokens eras (#1994, #1999, #2009)
  • Improved serialised binary format for multi-asset values (#1979)
  • Add a compact in-memory storage format for multi-asset values (#1996)
  • Updates to the multi-asset formal specifiation (#2003)
  • Adjust how the major protocol version is handled for soft forks (#1998)
  • Initial preparatory steps for the Alonzo era (#2016, #2027)
  • Benchmarks for the transaction generators (#2024)

Consensus changes

  • Use a single set of credentials for all Shelley-based eras. This keeps the node configuration simple for the new eras. (#2753)
  • Add support for a token locking-only protocol mode to simplify benchmarking (#2754)
  • Add support for the system wall clock time being adjusted backwards by a small amount without triggering a node shutdown and restart. Small backwards adjustments can be caused by NTP. (#2781, #2785)

Network changes

  • Preparations for publishing io-sim as a public library (#2775)
  • Improved logging of the creation of the node's sockets (#2746)
  • Update the cardano-ping tool to support the node-to-node protocol V4 (#2787)

CLI changes

  • CLI support for the Token locking and native tokens eras, including creating transactions for the new eras, and support for the special new features in the new eras: script extensions, tx validity intervals, auxiliary scripts, multi-asset tx outputs and asset minting. (#2072, #2129, #2136)
  • It is now necessary to specify the target era (e.g. --allegra-era) when creating a transaction (with build-raw) so that the right format and feature-set is used. The --shelley-era remains the default.
  • It is necessary for now to specify the target era when using the CLI query commands. This may become automatic in future. The default is --shelley-era.
  • Move all the Shelley sub-commands to the top level of the command line. For example cardano-cli shelley transaction build-raw becomes simply cardano-cli transaction build-raw. The existing names are also kept for compatibility. (#2076, #2145)
  • Updated help text for the ledger/protocol state queries to clarify that they are primarily for debugging and are not stable interfaces (#2125, #2126, #2133)
  • New command transaction policyid for making multi-asset policy ids (#2176)
  • New command byron transaction txid to help scripts with getting the transaction id for Byron transactions made using the cli (#2169)
  • New --tx-file flag for the command transaction txid to accept complete txs, not just tx bodies (#2169)
  • Hide the deprecated --ttl flag in the --help output (#2189, #2190)

API changes

  • Full API support for the Token locking and native tokens eras, including creating transactions for the new eras, and support for the special new features in the new eras: script extensions, tx validity intervals, auxiliary scripts, multi-asset tx outputs and asset minting (#2092, #2110, #2111, #2121, #2127, #2128, #2141, #2149)

Documentation

Platforms

  • Linux 64-bit (Ubuntu 18.04 LTS, 20.04 LTS; Mint 19.3, 20; Debian 10.3)
  • Windows 64-bit (8.1, 10)
  • MacOS 10.13, 10.14, 10.15
  • Docker image

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)
  • 4GB of RAM (8GB for a relay or stake pool)
  • 10GB of free storage (20GB for a stake pool)

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops ✔️
Release Manager ✔️

Cardano Node 1.23.0

27 Nov 17:19
eed2505
Compare
Choose a tag to compare

This release includes a substantial amount of internal changes to support the upcoming Allegra and Mary hard forks and the new features they bring. This is not the final release before the Allegra hard fork, but it does include the bulk of the functionality for both Allegra and Mary hard forks.

  • The Allegra hard fork adds some features needed to support the Catalyst treasury scheme. It extends the existing multi-sig script language with predicates for time, via the slot number. It allows, for example, to make an address not spendable until a certain point in time.
  • The Mary hard fork adds multi-asset support. This is comparable to ERC20 and ERC721 tokens, but supported natively in the UTxO ledger. This is part of the Goguen feature set. It is a very significant feature and will have implications for all Cardano wallet implementations, including exchanges.

Another notable change in this release is an adjustment to the pool ranking that will benefit small pools that have not yet made many blocks. We have adjusted the initial Bayesian prior so that instead of assuming new pools will perform at some less-than-perfect average level, we assume they will perform more-or-less perfectly. This prior is still updated based on the actual performance history, so pools that perform poorly will still drop in ranking. This change will especially benefit small pools that have produce few blocks so far, because they have very little performance history and so their score will be more influenced by the initial prior.

Improvements

  • Preliminary support for the upcoming Allegra and Mary eras (#1899, #1951, #1958, #1959, #1961, #1965, #1971, #1977, #1981, #1984, #1987, #1988, #1989, #1990, #2019, #2038, #2080, #2666, #2668, #2670, #2677, #2679)
  • Preliminary support for the Allegra script language extensions (#1847, #1875, #1895, #1908, #2069)
  • Preliminary support for the Mary multi-asset extensions (#1905, #1931, #1938 #2081, #2083, #2085, #2093)
  • Adjust how the pool performance is estimated as part of the pool ranking: for pools with no performance history use a Bayesian prior that assumes that pools will perform well. This should benefit new small pools. (#1936)
  • Adjust the ledger state dump to return the "extended" ledger state (#2019)
  • Support bech32 and hex formats for reading verification keys (#1852)
  • Improved documentation for CLI multi-signature support (#1976)
  • Improve handling of invalid command line input (#2088)
  • Improved ledger state serialisation performance (#1968)
  • Restore build compatibility with GHC 8.6.5, so this release builds with both GHC 8.6.5 and 8.10.2. Future releases will support 8.10.x only. (#1956, #1990, #2540, #2652)
  • Several new local state queries in v4 of the node-to-client protocol (#2694)
  • Keep a compact form of the Shelley genesis content, to allow it to be queried later (#2704)
  • Switch to the newly-published "nothunks" package (#1894, #2664)
  • Address technical debt in the db-analyser tool (#2667)
  • Allow most Shelley ledger rules to be reused in subsequent eras (#1922)
  • Adjust how the ledger is parametrised to reflect the fact that some parts change with the ledger era, while others change with the consensus protocol. This makes it easier to handle ledger-only era changes that still use the same Praos consensus protocol. (#1915)
  • Support serialisation for the Shelley genesis data structure to support a new node query that can return the genesis parameters (#1927)
  • New cardano-ping demo and tool (#2701)
  • Make the node fail on startup if we cannot bind to the necessary ports (#2696)
  • Improvement to the calculation and collection of network connection performance metrics (#2636)
  • Improvements to the handling of the initial connection handshake (#2691)
  • Preparations for publishing io-sim as a public library (#2580, #2631, #2649)
  • Improved IPv6 support (#1928, #2662)
  • Preparation for the p2p governor: add a new node-to-node protocol version (4) with a new negotiated handshake parameter to determine if the connection will be uni-directional or bi-directional (#2658)
  • Documentation for the hard fork transition (#1741)
  • Check VRF signing key files have the correct file permissions (#1936, #1938)
  • Improve IPv6 support and related internal refactoring (#1928)

Resolved issues

  • Fix a space leak in the stake pool performance tracking that caused writing ledger state snapshots in consensus to take too long (#1967)
  • Fix a corner case in the way the pool performance history is calculated as part of the overall pool score calculation (#1897)
  • Fix a failure that occurs on starting a node when there are certain kinds of DB corruption (specifically a ledger snapshot that is newer than the tip of the immutable DB, which would typically occur when chain DB files are manually moved or removed) (#2651)
  • Fix a long-standing (highly unlikely) bug in evaluating alternative chains that cross a hard fork boundary (#2314, #2318, #2657, #2661)

Deprecated Features

  • Remove the HardForkNotBeforeEpoch setting from the config file (#2073, #2736, #2739)
  • Remove the deprecated LiveView feature, now that RTView is released (#1977)

Known Issues

  • #1734 ErrorPolicyUnhandledApplicationException may be observed when running CLI commands on windows
  • See GitHub Issues for further issues that have been reported

Documentation

Platforms

  • Linux 64-bit (Ubuntu 18.04 LTS, 20.04 LTS; Mint 19.3, 20; Debian 10.3)
  • Windows 64-bit (8.1, 10)
  • MacOS 10.13, 10.14, 10.15
  • Docker image

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)
  • 4GB of RAM (8GB for a relay or stake pool)
  • 10GB of free storage ...
Read more

Cardano Node 1.21.1

07 Oct 15:39
a819311
Compare
Choose a tag to compare

This patch release updates Cardano Node 1.21.0 with a few minor fixes. In particular, it resolves a problem on startup when the node is configured to use systemd socket activation.

Deployed on the testnet on 6 October 2020.
Deployed on the mainnet on 6 October 2020.

Improvements

  • Added more detail to the logging of the keep-alive protocol (#1873)

Resolved issues

  • Fixed configuration defaults that were interfering with using systemd socket activation (#1927)
  • Added workaround for building on Linux systems without systemd (#1775)
  • Fixed the severity level for some protocol tracers (#1910)

Known Issues

  • #1734 ErrorPolicyUnhandledApplicationException may be observed when running CLI commands on windows
  • See GitHub Issues for further issues that have been reported

Documentation

Platforms

  • Linux 64-bit (Ubuntu 18.04 LTS, 20.04 LTS; Mint 19.3, 20; Debian 10.3)
  • Windows 64-bit (8.1, 10)
  • MacOS 10.13, 10.14, 10.15
  • Docker image

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)
  • 4GB of RAM (8GB for a relay or stake pool)
  • 10GB of free storage (20GB for a stake pool)

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops ✔️
Release Manager ✔️

Cardano Node 1.21.0

07 Oct 14:15
6b94151
Compare
Choose a tag to compare
Pre-release

This release includes support in the cardano-cli for multi-signature addresses and transactions. It also resolves a problem that has been affecting pool operators at the 48-hour mark within each epoch. It has various other minor improvements and fixes detailed below.

The "Live View" mode for the Cardano node is being deprecated in favour of a new external "RT View" (RT for real-time) monitoring tool which is cross-platform and has a richer browser-based interface. The new RT View component will be released separately. The Live View mode is still available in this release of the node, but will be removed in a future release.

New Features

  • Added support for multi-signature scripts in the node CLI and API (#1788, #1880)

Improvements

  • Added support in Byron witnesses for addresses that use attributes, which include all addresses in legacy Daedalus Byron wallets (#1851, #1871)
  • Optimised the expensive reward calculations while checking if the node is the slot leader, which significantly reduce the CPU spike at the 48 hour point in each epoch (#2642)
  • Added initial support for hard forks after Shelley (#2452, #2471)
  • Added support for a low-impact soft fork with stricter metadata validation (#1874)
  • Adjusted the outstanding data limit for the block fetch protocol (#2624)
  • Improved protocol logging (#2609, #2610, #2618, #2611)
  • Added trace for ledger events during DB replay (#2508, #2621, #2627)
  • Added further improvements to the performance of reward calculations and some other ledger calculations (#1857, #1881, #1884)
  • Updated the formal specification with the change in the overlay schedule calculation (#1862)
  • Made minor corrections to the formal specification arising from internal review and internal audit (#1776, #1808, #1811, #1820, #1861)
  • Documented the meaning of the MIR pot field in the CDDL chain specification (#1864)
  • Updated documentation on the details of pool ranking (#1852)
  • Fixed the mux protocol description and typos in the network documentation (#2625, #2639)
  • Added information about the RT View component that will replace Live View in the node documentation (#1866)

Deprecated features

  • Live View mode of Cardano node

Removed features

  • Removed stack build support (#2638)

Resolved issues

  • Fixed a bug in crossing the hard fork from Byron to Shelley (#2455, #2626)
  • Fixed a bug in the calculation of the pool stake fraction reported in the stake pool query used by wallets (#1880)
  • Fixed a bug for the corner case for testnets where all value is in the reserves with no value in circulation (#1876)

Known Issues

  • #1734 ErrorPolicyUnhandledApplicationException may be observed when running CLI commands on windows
  • See GitHub Issues for further issues that have been reported

Documentation

Platforms

  • Linux 64-bit (Ubuntu 18.04 LTS, 20.04 LTS; Mint 19.3, 20; Debian 10.3)
  • Windows 64-bit (8.1, 10)
  • Docker image

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)
  • 4GB of RAM (8GB for a relay or stake pool)
  • 10GB of free storage (20GB for a stake pool)

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops
Release Manager ✔️

Cardano Node 1.20.0

23 Sep 14:13
1f2f511
Compare
Choose a tag to compare

This release is light on user-visible changes as the development has been focusing on preparations for the multi-asset features and on paying down technical debt. It does however include a number of performance improvements in the node, a few new CLI commands, and an improvement that will enable Daedalus to report stake pool saturation.

Note that this release will automatically perform a DB migration on the first startup after the update. The migration will take 10-20 minutes depending on your CPU. If this is a problem for your use, then see below for steps to mitigate this.

Deployed on the testnet on 21 September 2020.
Deployed on the mainnet on 23 September 2020.

Steps to mitigate downtime for this update

This update includes a change in the format of a part of the chain DB (specifically the ledger state snapshots). The migration for this is handled automatically by the node on startup. The migration will take 10-20 minutes depending on your CPU.

To mitigate downtime:

  1. Update a non-production mainnet node
  2. Take a DB snapshot
  3. Stop production node
  4. Backup and replace DB with snapshot
  5. Restart production node on 1.20.0
  6. Repeat steps 3-5 for all production nodes

See #311 for example scripts of how this can be done.

New Features

  • New CLI command convert-cardano-address-key for converting more legacy signing key formats (#1756, #1822)
  • New CLI command create-genesis-key-delegation-certificate for creating genesis key delegation certificates (#1784)

Improvements

  • Adjusted the query used by the wallet to report pool stake to report it as a fraction of total stake rather than as a fraction of total supply, enabling it to be used to report pool saturation (#1836, #1850)
  • Adjusted the same query to report pool size based on the live stake distribution rather than the stake distribution snapshot from the last epoch boundary snapshot, enabling its use in the wallet for live reporting of pool saturation (#1854)
  • Introduced optimisations in the consensus layer leading to approximately a 15% synchronisation time improvement (#2555)
  • Optimised performance in the ledger for the end-of-epoch reward calculation, to reduce the CPU spike at the 48 hour point in each epoch (#1851)
  • Made performance and memory improvement in the overlay schedule of the ledger layer (#1849)
  • Added a new document on the details of pool ranking (#1816)
  • Improved support for conversion between JSON and transaction metadata, with support for two JSON schemas, suitable for different use cases (#1797)
  • Added sanity checks for the Shelley genesis on node start-up to help with configuring private testnets (#1149, #1478, #1820)
  • Added CLI support for bech32 and hex formats when reading signing keys (#1790)
  • Improved error messages for CLI errors (#1801, #1839)
  • Improved logging message for DB events (#576, #1819)
  • Added a script for a node that connects to the current mainnet (#1847)
  • Bundled the benchmarking scripts (#1810)

Resolved issues

  • Fixed a bug in the time (slot/era) node query (#2579)

Known Issues

  • #1734 ErrorPolicyUnhandledApplicationException may be observed when running CLI commands on windows
  • See GitHub Issues for further issues that have been reported

Documentation

Platforms

  • Linux 64-bit (Ubuntu 18.04 LTS, 20.04 LTS; Mint 19.3, 20; Debian 10.3)
  • Windows 8.1, 10 64 bit
  • Docker image

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)
  • 4GB of RAM (8GB for a relay or stake pool)
  • 10GB of free storage (20GB for a stake pool)

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops ✔️
Release Manager ✔️

Cardano Node 1.19.1

04 Sep 20:29
497afd7
Compare
Choose a tag to compare

This release delivers minor improvements to the performance of the node, fixes KES period reporting for newly generated KES keys, and disables RDRAND for seed generation.

Deployed on the testnet on 2 September 2020.
Deployed on the mainnet on 4 September 2020.

Improvements

Resolved issues

  • Fixed the reporting of the metrics for the opcert/KES status (#1742, #2529)
  • Fixed the testnet vs mainnet argument for the genesis create command in CLI (#1761)
  • Fixed the --treasury flag for MIR cert creation (#1780)
  • Fixed the output rendering in the command to hash genesis files (#1713, #1767)
  • Fixed minor issue to ensure compliance with CIP5 for common bech32 prefixes (#1781)
  • Fixed bugs related to the ledger view history (#1935, #2506, #2559, #2562, #2546)

Known Issues

Documentation

Platforms

  • Linux 64-bit (Ubuntu 18.04 LTS, 20.04 LTS; Mint 19.3, 20; Debian 10.3)
  • Windows 8.1, 10 64 bit
  • MacOS 10.13, 10.14, 10.15
  • Docker image

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)
  • 4GB of RAM (8GB for a relay or stake pool)
  • 10GB of free storage (20GB for a stake pool)

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops ✔️
Release Manager ✔️

Cardano Node 1.19.0

20 Aug 20:20
4814003
Compare
Choose a tag to compare

This release delivers major improvements to the performance of the node, including synchronisation time, startup time and epoch boundary processing.

It also introduces a number of new and updated CLI commands and an enhancement to show KES periods in the Live View console.

Deployed on the testnet on 20 August 2020.
Deployed on the mainnet on 20 August 2020.

New features

  • Conversion of ITN extended keys to Shelley stake keys via the CLI (#1579)
  • Conversion of password-protected Byron signing keys via the CLI (#1633)
  • Build script addresses via the CLI (#1641)
  • Display KES current and remaining periods in the Live View console (#1503)
  • Forget old copies of KES keys, pending crypto support (#2446)
  • A new keep-alive network mini protocol (#2251)

Improvements

  • To CLI commands:
    • Improved the output of the stake-address-info query (#1546, #1636, #1671)
    • Reorganised Byron CLI commands similarly to Shelley ones (#1609, #1628)
  • Improved rendering of points in unstructured log output (#1693)
  • Improved error messages for problems in the JSON topology file (#1446, #1634)
  • Added improvements in ledger layer to enable consensus layer performance optimisations (#1742, #1789)
  • Made performance optimisations in ledger layer (#1707, #1760, #1771, #1779, #1785, #1786)
  • Made performance optimisations in consensus layer(#2512, #2520, #2521)

Resolved issues

  • Fixed the Live View display of memory metrics (#1552)
  • Fixed incorrect console state after Live View shutdown (#1569)
  • Fixed display of stake distribution pool ids to be in Bech32 (#1729)
  • Fixed size accounting in block forging to avoid over-filling blocks (#2469)
  • Fixed size-accounting for block fetching (#2480, #2481, #2484)
  • Fixed pool-ranking calculation for newly registered pools (#1724)
  • Corrected hash algorithm used for script hashes (#1746)
  • Minor corrections to the formal specification arising from internal review and internal
    audit (#1714, #1717, #1725, #1733, #1728, #1745, #1748, #1751, #1752, #1753, #1764, #1765, #1773)
  • Minor correction to the CDDL specification for transaction metadata (#1743)

Known Issues

Documentation

Platforms

  • Linux 64-bit (Ubuntu 18.04 LTS, 20.04 LTS; Mint 19.3, 20; Debian 10.3)
  • Windows 8.1, 10 64 bit
  • MacOS 10.13, 10.14, 10.15
  • Docker image

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)
  • 4GB of RAM (8GB for a relay or stake pool)
  • 10GB of free storage (20GB for a stake pool)

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops ✔️
Release Manager ✔️

Cardano Node 1.18.0

25 Jul 17:39
ba0f96b
Compare
Choose a tag to compare

This is the final planned release before the Shelley hard fork. It is necessary to use this 1.18.0 version to successfully cross the hard fork.

This release delivers the complete set of Shelley features together with the mechanism that will be used to transition from the federated Byron era to the decentralised Shelley era (the hard-fork combinator).

Important new features include:

  • use of the hard-fork combinator to enable the transition between the Byron and Shelley eras,
  • witnesses for spending from Byron addresses in Shelley era transactions,
  • numerous improvements and resolved issues.

To support the new Cardano mainnet, a new configuration mode for the node has been introduced: the "Cardano" mode uses the hard-fork combinator to provide a single mode that is the sequential composition of the two current eras (Byron;Shelley). This will also be used for future versions of the node, allowing easy transitions between future eras. If you plan to use a manually configured node on the mainnet, it is crucial to use the Protocol: Cardano mode and the correct ShelleyGenesisHash in the node configuration file.

New Cardano documentation site with cardano-node documentation is now available. The specific configuration to run a node on mainnet or any of the testnets is also available. Note that it is necessary to use the exact Shelley genesis file to successfully cross the hard fork, and it is highly recommended to include that hash in the node configuration file, as in the provided sample configuration.

The 1.15.0, 1.15.1, 1.16.0, 1.17.0 tagged versions were not released for general use, however, for applications that were successfully integrated against 1.16.0 or 1.17.0, this release should be a drop-in replacement: there are no client interface changes compared to the unreleased 1.16.0 or 1.17.0 tags. In particular, the node's client protocols and transaction formats are unchanged since 1.16.0.

Deployed on the testnet on 25 July 2020.
Deployed on the mainnet on 25 July 2020.

New features

  • Hard-fork combinator
    • Support for hard fork queries in all protocol modes (#2399)
    • Use of the hard-fork combinator in single-era modes (#1475, #2405, #2407, #2412, #2414)
    • Initial infrastructure for supporting old transactions in new eras, for future hard forks (#2371, #2431)
    • Support for triggering a hard fork at a specific epoch (#1328) and at a specific protocol version (#1345)
    • Improvements in chain selection across future hard forks (#2118, #2416)
    • Optimised chain selection for forks (#1223, #2323)
    • Identification of and warning about a likely hard fork misconfiguration (#2386, #2391)
    • Clarification and documentation of the interface for triggering a hard fork (#2307)
  • Witnessing Byron addresses in Shelley era - format, specification and implementation (#1657, #1670)
    • Limited sizes of attributes in Byron addresses (#1662)
  • New configuration parameter to specify the maximum concurrent redundancy of block downloads (#1420, #1469)
  • New local state queries (QueryHardFork) that are specific to the hard fork support (#2365, #2370)
  • New tip-sampling mini-protocol for later use in P2P governor (#2340)
  • New key command with key utilities (#1487, #1493)
  • cardano.org cardano-node documentation (#1490, #1491, #1508)

Improvements

  • In CLI commands:
    • Added support for interacting with nodes that are running in Byron-only, Shelley-only or Cardano mode (Byron;Shelley) (#1435)
    • Added support for Byron keys and extended ed25519 keys (#1411)
    • Improved bash completion for flags that accept files (#1459)
    • Added Shelley CLI stake stake-address key-hash and VRF key hashing node key-hash-VRF commands (#1407)
    • Changed output format to JSON for the address info (#1426) and query tip commands (#1340, #1365)
    • In the delegation CLI command, changed to accept optionally: either a pool id, or verification key (#1460)
    • Allowed genesis keys as transaction witnesses (#1483)
    • Allowed extended genesis delegate keys to sign operational certificates (#1497)
    • Assigned default value to byron-witness-count in the command for fee calculation (#1516)
    • Assigned default value to the Cardano protocol for talking to a node (#1515)
  • Allowed the initial Praos epoch nonce (#2005, #2289) and set it to the Shelley genesis hash (#1470)
  • Added validation for Shelley genesis configurations (#2423)
  • Eliminated protocolMagicId from the Shelley genesis file (#1668)
  • Changed genesis file and Nix setup (#1531, #1532)
  • Improved block fetching (#2430, #2433, #2434, #2441, #2451)
  • Reduced default block fetch concurrency deadline to 1 (#2457)
  • Added tracing of the UTxO size in block forging to help the benchmarking tools (#1329)
  • Corrected display of transaction hash in Shelley UTxO query command output (#1535)
  • Optimised translating Byron to Shelley UTxOs (#2464)
  • Optimised performance for large UTxO and other state sizes (#1658)
  • Optimised memory use for the UTxO (#1663), and other (#1678, #1683)
  • Changed to use slightly smaller KES keys with 2^6 not 2^7 max periods (#2403)
  • Changed to use a smaller representation for hashes for reduced memory (#2266)
  • Improved performance of syncing in Cardano mode (#2375, #2390)
  • Changed to prefer blocks the node produced, irrespective of the VRF value (#1286#2348)
  • Simplified the calculation of the VRF seed (#1659)
  • Simplified calculation for turning the VRF output into the leader value (#1579)
  • Reinstated verification of the VRF for BFT blocks (#1590)
  • Added richer support for queries using multiple protocol eras to allow some queries to be answered outside of the era to which they belong (#2349)
  • Changed the definition of a transaction's size to be its size in bytes (#1639)
  • Changed unclaimed epoch pool rewards to go to the treasury not the reserves (#1642), and back to reserves, not t...
Read more

Cardano Node 1.14.2

30 Jun 17:09
924a6f7
Compare
Choose a tag to compare

Cardano Node 1.14.2

This patch release provides fixes for hashing of stake pool metadata, and query that dumps the ledger state.

Deployed on the Shelley testnet on 29 June 2020.
Deployed on the mainnet on 30 June 2020.

Resolved issues

  • Fixed the hashing of stake pool metadata in command metadata-hash (#1346)
  • Fixed the query that dumps the ledger state as JSON in CLI and API (#1333, #1334)

Documentation

Platforms

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops ✔️
Release Manager ✔️