Skip to content

Releases: IntersectMBO/cardano-node

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 ✔️

Cardano Node 1.14.0

29 Jun 15:36
767d231
Compare
Choose a tag to compare

Cardano Node 1.14.0

This release delivers new and refined CLI commands, support for transaction metadata, the new ledger minimum pool cost feature, and enhancements to pool rankings. It also includes a new implementation of the VRF cryptography primitives, improvements in the KeepAlive network mini-protocol, the Byron-to-Shelley hard-fork implementation, block fetch calculation, logging and reporting, and simplified Docker image usage.

There are Shelley breaking changes in this release including changes in the implementation of address hash and VRF cryptography primitives, and removal of the decaying deposit feature. The Shelley features have been pre-released for public testing and review on the re-spawn of Cardano Shelley Testnet. The Shelley changes are not available in the Byron mode.

Deployed on the Shelley testnet on 23 June 2020.

Shelley new features

  • A minimum pool cost ledger feature as a protocol parameter minPoolCost (#1539, #1546)
  • New option for transaction metadata --metadata-file for transaction construction using the build-raw command (#1038, #1233)
  • New flag for reward account withdrawals --withdrawal in transaction construction (#1117, #1237)
  • New command for pool metadata JSON validation and hashing metadata-hash (#1207, #1234, #1299)
  • New flags for pool metadata: --pool-metadata-file, used in metadata-hash command, and --metadata-url, --metadata-hash, used in the pool registration certificate command registration-certificate (#1234)
  • New flags for pool relays --multi-host-pool-relay, --single-host-pool-relay, --pool-relay-port in pool registration certificate command registration-certificate (#1282, #1296)
  • New command convert-itn-key to convert ITN keys (#1070, #1136)
  • New command txid to get the transaction id of a transaction body (#1231)

Improvements

  • Adjusted logging verbosity defaults (#1225)
  • Added logging of warnings and alerts for certificate expiry (#1228)
  • Added reporting number of missed opportunities to make blocks in the live view (#1202)
  • Allowed overriding the hostname using the environment variable CARDANO_NODE_LOGGING_HOSTNAME (#1278)
  • Changed timeouts for chain synchronisation to be drawn from a Praos-specific distribution (#2249)
  • Improved KeepAlive network mini-protocol (#2230) for apps with scheduled stop
  • Added support for restarting mini-protocols (#2205, #2221, #2286)
  • Adjusted and simplified the block fetch calculation for determining the current mode - deadline mode or bulk sync mode (#2267)
  • Shelley ledger changes:
    • Improved track of historical pool performance for pool ranking (#1565)
    • Added support of pool ranking with hypothetical amount to delegate (#1543)
    • Improved genesis JSON support in the ledger (#1534, #1536)
    • Added genesis JSON support for initial stake pools and delegation (#1552)
    • Added benchmarks and optimisations (#1527, #1566)
    • Updated the formal specification to cover MIR certificates drawing from the treasury (#1526)
    • Updated the design specification address terminology, and multi-sig (#1547, #1554)
    • Updated the design specification on stake pool metadata (#1507)
  • ⚠️ Simplified the Docker image usage: cardano-node is used now as the entry-point, aligning with the existing interface of the underlying service, and removing the convention of mounting volumes into specified directories. As a result, previously pre-set arguments including, but not limited to --config or --socket-path, now need to be passed at runtime based on user specific configuration. See the diff and inline description for more info. The quickstart mode of passing a NETWORK environment is not impacted by this change" (#1317). This is a breaking change. Customised (other than testnet and mainnet) Docker image build may fail

Shelley breaking changes ⚠️

  • Changed the ledger state dump query to return the whole state (#2288)
  • Changed address hashes to be 224 bit, according to the design spec (#1549)
  • Updated to the latest VRF API changes (#1527)
  • Removed the decaying deposits feature. Deposits are returned in full (#1512)
  • Removed unnecessary pool relay port number override in DNS SRV case (#1570)

Resolved issues

  • Fixed a minor regression in the logging so all tracers are configurable (#1192)
  • Fixed reporting of git revision in cardano-node --version command (#1263)
  • Fixed genesis JSON conversion of fractional values to preserve precision (#1569)
  • Fixed the query stake-address-info to accept stake addresses (#1197, #1194)
  • Fixed return exit code for transaction submission failures (#1226)

Known Issues

Shelley testnet-specific Issues

  • Incorrect genesis settings may result in the node not connecting as expected
  • There are still a number of performance issues that need to be addressed
  • There are various issues with logging and monitoring

Documentation

Platforms

Sign off

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

Cardano Node 1.13.0

09 Jun 15:46
9925ef3
Compare
Choose a tag to compare

Cardano Node 1.13.0

This release completes the development of many core Shelley features and provides basic Shelley functionality for stake pools and delegation. It delivers new CLI commands for obtaining Shelley stake pool information and creating MIR certificates, a new network KeepAlive mini-protocol. It also prepares the Cardano blockchain for the Byron-to-Shelley hard fork operational change that will deactivate Byron mode and will enable the Shelley decentralised mode. This release also includes improvements in existing Shelley CLI commands, as well as in KES and VRF cryptographic key processing, Praos chain selection and hard fork implementation. In addition, logging, tracing, error messages and documentation have been improved, and a few outstanding issues have been fixed, notably, an issue that was causing high CPU usage on MacOS.

The Shelley features have been pre-released for public testing and review on the Cardano Shelley Testnet.
They are not available in the Byron mode, and are, therefore, deactivated on the Cardano mainnet.

Deployed on the Shelley testnet on 5 June 2020.
Deployed on the mainnet on 9 June 2020.

New features

  • New commands in the node CLI:
    • to query stake addresses, balance and delegation (#1053, #1129)
    • to get the stake pool id (#1069)
    • to create MIR certificates (#1075)
  • New KeepAlive network mini-protocol (#2175)
  • New monitoring metric for KES key periods, including remaining ones (#1030, #1144)
  • New local ledger state query to get the current state of stake addresses, namely, their reward account balance, and current delegation choice (if any) (#2161)

Improvements

  • Changed the Shelley CLI command and flag names to be more consistent (#1068)
  • Improved logging for mempool transaction validation failures (#1035)
  • Added logging of the epoch number as well as the slot number (#1108)
  • Fixed logging of node information on startup (#1122)
  • Extended tracing for benchmarking analysis (#1091)
  • Improved human readable error messages for Shelley commands (#1021)
  • Improved error message for transaction input parser errors (#1066)
  • Updated Making Shelley blockchain from scratch documentation (#1062)
  • Improved hard fork implementation (#2139, #2150, #2151, #2152, #2158, #2165, #2177, #2183, #2192, #2199)
  • Prepared for the Byron-to-Shelley hard-fork (#2163, #2145, #2182, #2185, #2187)
  • Changed the Praos protocol chain selection rule to be deterministic based on the chain values (using the leader VRF key) rather than relying on the order of arrival; this reduces network node congestion (#2195)
  • Evolved the KES keys eagerly rather than on-demand (#2160)
  • Distinguished cases when a node should be slot leader, but cannot forge (#2169, #2171, #2172, #2176, #2193)
  • Improved tracing of block forging, and forge errors (#2168, #2170)
  • Increased the header size estimate to avoid ingress queue overruns (#2206)
  • Shelley ledger changes:
    • Provided delegators a whole epoch to react to pool parameter changes (#1494)
    • Included the VRF key in the hash-to-genesis delegation mapping (#1495, #1501)
    • Changed MIR certificates so they can now draw from either the treasury, or reserves (#1513)
    • MIR certificates are witnessed by the genesis delegates, not genesis keys (#1513)
    • Dropped the use of the "set" tag from the CDDL (#1505)
    • Improved to use the right binary format for stake addresses (#1491)
    • Included the network id in addresses (by value, not type) (#1487)
    • Documented the network id and binary format in the specification (#1500)

Resolved issues

  • Fixed high CPU usage on MacOS (#770)
  • Fixed override order for the node socket: first CLI, then config file (#1124, #1145)
  • Fixed error handling on genesis file parse errors (#1134)
  • Fixed various issues with Live View (#1076, #1126)
  • Fixed the parsing of the pool margin in pool registration certificates (#1063, #1110)
  • Fixed mempool issues (#1498, #2006)
  • Fixed long thread delays on 32bit systems more widely (#2135, #2162)
  • Fixed Praos stability window calculations (#2201, #2202, #2219, #2220)
  • Fixed off-by-one error in pool retirement epoch in both, Shelley ledger specification and code (#1511)

Known Issues

  • Incorrect constant value for epochSlots in validate-cbor command (#848)
  • cardano-cli does not have description of the new, Shelley relevant, commands (#1071)

Shelley testnet-specific Issues (not mainnet)

Documentation

Platforms

  • Linux 64-bit, Windows 64 bit

Sign off

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

Cardano Node 1.12.0

28 May 13:56
f6ef186
Compare
Choose a tag to compare

Cardano Node 1.12.0

This release includes the integration of the majority of the Shelley features within the node and corresponding support in the command line tool. This includes the ability:

  • to start a blockchain from genesis in Shelley mode;
  • to create and use Shelley payment addresses and stake addresses;
  • the ability to register and delegate to stake pools; and
  • the ability to create blocks using stake pools.

The Shelley features are not available in the Byron mode, and so, are deactivated on the Cardano mainnet. They are pre-released and being tested on the Cardano Shelley Testnet.

In addition, logging, tracing and error messages have been improved, and a few issues have been fixed.

Deployed on the mainnet on 28 May 2020.

New features

  • cardano-cli has been extracted into a separate cardano-node sub-component (#819). It provides a command line interface for various low-level node-related functionality. Byron and Shelley relevant commands are distinguished by its prefixed byron and shelley command keywords. Documentation on constructing a Shelley chain from scratch (#893, #932, #1000) has been added. The following new commands were implemented:
    • generate Shelley KES and VRF keys (#816)
    • generate Shelley address keys (#824)
    • create Shelley genesis (#852, #864, #908, #926, #929)
    • key-gen commands for various Shelley keys (#846, #870)
    • commands for Shelley address construction (#870, #872, #887)
    • Shelley transaction sign command (#894, #900)
    • Shelley transaction submission command (#904)
    • node query commands (#880, #884, #903, #918, #920, #933, #994, #1008, #1016)
    • commands to create stake address certificates (#890, #919, #967)
    • commands to create stakepool certificates (#922)
    • system commands to update genesis delegations and create MIR certificates (#895)
    • calculate the minimum fee for a transaction (#931)
    • view the content of the various binary files (#915)
    • create Shelley protocol param updates (#950, #1004)
    • Byron update proposal vote creation and submission (#804)
    • version command and --version flag, with git revision (#959)
  • Added new cardano-client library in the network component to provide a simpler node client API (#2109)
  • Added support of initial Shelley protocol parameters in the Shelley genesis (#906)
  • Added new --shutdown-on-slot-synced flag for the benchmarking and CI tests (#776)
  • Added hard fork support (#2034, additional PRs in the Changelog)

Improvements

  • CLI commands that talk to the node no longer require the node config file (#901, #907, #917, #913, #928)
  • Improved human readable error messages for CLI Byron commands (#1003)
  • Added systemd socket activiation support (#856, #1022, #1995)
  • systemd support on Linux is now optional (#911)
  • Improved FetchDecision tracing output (#863)
  • Improved suppression of frequent repeated log messages (#842)
  • Added logging of the node's network magic number on startup (#921)
  • Adjusted configuration to keep metrics out of the log files (#930)
  • Added trace of the node uptime (#892)
  • Added trace of the number of transactions processed and blocks forged (#937, #943)
  • Added trace for race of the current set of node peers for the live view (#1060
  • Added Darwin (macOS) support for OS metrics in the "live view" (#785)
  • Improved DB file locking behaviour (#1906, #2031, #2033)
  • Added memory leak detection for Shelley transactions for mempool (#2010)
  • Fixed the construction of the Shelley initial UTxO (#2038, #2046)
  • The Shelley protocol parameters are included into the Shelley genesis (#2040)
  • Used an improved more realistic KES implementation (#2092)
  • Provided Shelley-compliant handling of OCert issue number in chain selection (#2108)
  • Provided interface for node clients with minimal configuration (#2050, #2056)
  • Added whole or filtered options for UTxO in local state query (#2016, #2110)
  • Improved calculation of transaction sizes (#2114, #2115, #2116)
  • Used TCP_NODELAY for faster block relaying (#2069)
  • Added ability to shut down transaction submission protocol cleanly by receiving side (#2090)
  • Made protocol handlers dependent on the negotiated protocol version (#2090)
  • Exposed bits of the ledger state needed for the node live view (#772)
  • Added local state query for dumping a whole ledger state for test and debug (#2113)
  • Shelley ledger changes:
    • Relay nodes' IP/DNS are included in pool registration certificates (#1391, #1397, #1398, #1413)
    • Removed the active slot coefficient from the set of parameters that could be changed via on-chain protocol parameter updates (#1394)
    • Simplified specification and implementation of transaction size calculation (#1405)
    • Adjusted the definition of total stake (#1428, #1437)
    • Added support for minimum UTxO, aka non-decaying deposits (#1447)
    • Finalised decision on final network Id number assignments in address format (#1465)
    • Documented specific cryptographic choices in the specification appendix (#1389)
    • Added options to local state query for querying the UTxO, either by all, or by address (#1402, #1422)
    • Completed the support for caching serialised representation (#1380, #1408)
    • Improved handling of cryptographic key roles (#1410)
    • Improved details in ledger validation error reports (#1442, #1458, #1463, #1469, #1470, #1476)
    • Added initial support for Byron addresses in the pre-Shelley state (#1473)

Resolved issues

  • Fixed various live view issues(#964, #965, #974)
  • Fixed structured tracing of transactions within adopted blocs for analysis tools (#993)
  • Fixed handling of operational certificates for KES validity periods (#2092, #2094)
  • Fixed long thread delays on 32bit systems (#2095)
  • Fixed transaction signing in specification and implementation to sign the body hash, but not body (#1418)
  • Fixed handling of the overlay schedule when there are no BFT nodes (#1401)

Known Issues

  • Some Windows environments may prevent the creation of the node's named pipe (#754)
  • Incorrect constant value for epochSlots in validate-cbor command (#848)

Documentation

  • ...
Read more

Cardano Node 1.11.0

29 Apr 12:55
376562b
Compare
Choose a tag to compare

Cardano Node 1.11.0

This release delivers full Windows support, and incremental improvements to the node in Byron mode, including improvements in logging, reduced disk I/O and network error handling improvements.

Most of the current development focus is on the Shelley mode. This release includes the initial integration of the Shelley ledger and Ourboros Praos consensus within the node. The Shelley features are not available in the Byron mode, and so not available on the Cardano mainnet. For the curious: following releases will include the CLI tools needed to run the node in Shelley mode locally.

Deployed on the mainnet on 28 April 2020.

New features

Improvements

  • Improved performance in logging&monitoring system (#831)
  • Suppressed high frequency logging output during syncing (#773)
  • Improved example configuration for "live view" (#827)
  • Improved READMEs (#793, #828)
  • Verification of avoidance of excessive memory use in inbound transaction path (#1645, #1708)
  • Improved restart times by storing a ledger snapshot after a long replay (#1956)
  • Renamed immutable chain DB files from .epoch to .chunk (with an automatic migration) (#1755, #1954)
  • Minor disk I/O optimisation when serving headers and blocks (#1978)
  • Enabled local state query protocol with a V2 local IPC protocol (#1522)
  • Improved API for the local node IPC protocol (#1950, #1959, #1962)
  • Added timeouts on message sends (in addition to the existing timeouts of receive) (#1953)

Resolved issues

  • Fixed handling of unknown versions in protocol version negotiation (#1981)
  • Fixed DNS error handling improvements during temporary network outages (#1960, #1961)

Shelley features and improvements

Note that these include some Shelley-specific changes that were released earlier, but were not previously declared in the release notes.

  • Integrated the Shelley ledger with the consensus layer (#258, #982, #1403, #1405, #1820, #1822, #1824)
  • Added Shelley support for the local state query (#1442, #1848)
  • Added changes to prepare for the Shelley hard fork (#1750, #1775)
  • Added Shelley genesis file support (#798)
  • Added initial support for starting a node in Shelley mode (#820)
  • Added initial support for loading Shelley node leader credentials (#832)
  • Added support for reading/writing human-readable Shelley key file formats (#826, #829)
  • Improved Shelley ledger integration (#1963, #1821, #1967, #1984, #1986)
  • Added verification of avoidance of excessive memory use in Shelley ledger state (#1558, #1928)
  • in Shelley ledger
    • Added usage of normal form types to avoid excessive memory use in ledger state (#1343)
    • Kept serialised forms of transactions and transaction sequences (#1361, #1377, #1379)
    • Minor changes to the CBOR CDDL binary schema (#1376)
    • Adjusted the address type to better reflect the logical structure (#1370)
    • Improved the representation of the overlay schedule in the ledger(#1378)
    • Added exports needed for node and CLI integration (#1373, #1375)

Known Issues

  • Some Windows environments may prevent the creation of the node's named pipe (#754)
  • Incorrect constant value for epochSlots in validate-cbor command (#848)

Documentation

Platforms

  • Linux 64-bit, Windows 64 bit

Sign off

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

Cardano Node 1.10.1

16 Apr 16:44
99e1a85
Compare
Choose a tag to compare

Cardano Node 1.10.1

This patch release significantly improves the syncing performance on Windows, both the time and the memory required to do a full synchronisation of the chain. It brings the performance up to be nearly on par with OSX and Linux platforms.

Deployed on the mainnet on 16 April 2020.

Resolved issues

  • Improved Windows sync performance using a new implementation of network timeouts (#1931)
  • Improved chain DB concurrency during syncing by batching GC actions (#1932)
  • Introduced an exemption for historical "null" update proposals on IOHK's internal staging blockchain (#782, #768)
  • Added documentation on Byron-era protections against network address confusion (#727, #755)

Known Issues

  • Some Windows environments prevent the creation of the node's named pipe (#754)

Documentation

Platforms

  • Linux 64-bit, Windows 64 bit (beta)

Sign off

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