cardano-node

The core component that is used to participate in a Cardano decentralised blockchain.

APACHE-2.0 License

Stars
3K

Bot releases are visible (Hide)

cardano-node - Cardano Node 1.20.0

Published by tatyanavych about 4 years ago

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 - Cardano Node 1.19.1

Published by disassembler about 4 years ago

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

  • Lowered memory usage (#2532, #2533)
  • Made minor performance improvements (#1790, #1798)
  • Defaulted cabal scripts to build with RDRAND disabled (#1787)
  • Added validation of transaction metadata (#1432, #1677)
  • Adjusted the transaction metadata JSON schema to be fully recursive (#1735)
  • Updated documentation (#1718, #1736, #1740, #1741, #1750, #1752, #1757, #1763, #1764, #1770)

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 - Cardano Node 1.19.0

Published by tatyanavych about 4 years ago

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 - Cardano Node 1.18.0

Published by tatyanavych about 4 years ago

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 the treasury (#1703)
  • Accounted for encoding overhead of Shelley transactions (#2466)
  • Included in the pool ranking function whether the pool pledge is met (#1634)
  • Clarified the design specification on how pool pledges are enforced (#1611), and other (#1618, #1655)
  • Improved serialisation with hashing and signing (#1613, #1659, #1666)
  • Added the ability to run node build with STS assertions enabled (#1610, #1629, #1672)
  • Allowed update proposals to be submitted near the end of an epoch, but apply them only at the end of the following epoch (#1574)
  • Improved performance of a particular calculation in the rules (#1700)
  • Improved clarity between executable and formal spec, arising from audit feedback (#1685, #1687, #1690, #1694)
  • Removed stkCreds and stpools maps from formal spec, in line with simplifications from the executable specification (#1692)
  • Changed the expected block count to account for the decentralisation parameter #1710
  • Enable more efficient transaction translations (#1708)
  • Replaced dependency on lens with microlens (#1705)
  • Fixed typo in CDDL key name (#1706)
  • Improved error messages for protocol codec failures (#2360)
  • Created infrastructure for showing the type of protocols in errors (#2419)
  • Made the max concurrency of block downloads a configurable parameter (#2363)
  • Enabled the KeepAlive responder-side protocol handler (#2392)
  • Added more concurrency utilities (#2298)
  • Adjusted the local state query wrapper type for DB syncing (#2437)
  • Removed the "forks created" metric from the live view (#1315)
  • Improved the Cardano ledger README description the main design and specification documents (#1626)
  • Updated the README build instructions, including libsodium (#1325, #1361, #1362)
  • Added tracing of hard fork transition events (#1520, #2449)
  • Added script for setting up a local cluster in Cardano mode (#1487)
  • Improved error reporting (#2458)
  • Tuned defaultDiskPolicy (#2454)
  • Improved documentation (#1533, #1534, #1536, #1537)

Shelley breaking changes

  • A number of changes have been made to the blockchain protocol that mean that this version of the node is not compatible with previous versions
  • The hash of the Shelley genesis file is checked on node startup and is incorporated into the initial Praos epoch nonce - care must be taken to preserve the Shelley genesis file content. All instances that are running on the same network must use the same genesis file.

Resolved issues

  • Fixed query compatibility between Cardano and Byron modes (#2385)
  • Fixed an off-by-one error in the KES certificate validity period (#2306)
  • Fixed a number of bugs that have been found by the hard fork tests (#2310, #2312)
  • Fixed the selection of the epoch nonce (#1651)
  • Fixed minor design specification description mistake (#1612)
  • Fixed the documentation of the size of key hashes (#1622)
  • Fixed a bug in the pool reaping that could cause a crash on epoch boundaries (#1593)
  • Fixed a preservation of value bug in the rewards that are given to retired stake pools (#1598, #1604)
  • Fixed a bug in pool reaping when multiple pools share a reward account (#1605)
  • Fixed the calculation of non-myopic rewards that is queried by the wallet (#1601)
  • Fixed the presentation of pool metadata hashes in JSON output (#1596)
  • Fixed the output of the calculate-min-fee command (#1401, #1408)
  • Fixed the format of Byron addresses used in Byron CLI commands (#1326)
  • Fixed KES metric reporting in the Cardano mode (#1448, #1505)
  • Fixed rendering of block hashes in logging output (#1488)
  • Fixed a bug in the serialisation for the Shelley-only era (#2435)
  • Fixed an accidental change to the delegation update rule (#1701)
  • Fixed serialisation of protocol state to be valid CBOR (#1684)

Known Issues

  • High CPU usage can be observed under some conditions when syncing
  • There are a number of issues with LiveView - other monitoring systems are preferred
  • In some situations, the node may fail to shutdown properly on Windows (#1086)
  • There may be issues with creating blocks on epoch boundaries
  • The CLI does not yet support multi-signature transactions
  • The CLI supports only basic transaction construction

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 - Cardano Node 1.14.2

Published by tatyanavych over 4 years ago

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 - Cardano Node 1.14.0

Published by dcoutts over 4 years ago

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 - Cardano Node 1.13.0

Published by tatyanavych over 4 years ago

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 - Cardano Node 1.12.0

Published by tatyanavych over 4 years ago

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

Platforms

  • Linux 64-bit, Windows 64 bit

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops ✔️
Release Manager ✔️
cardano-node - Cardano Node 1.11.0

Published by tatyanavych over 4 years ago

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 - Cardano Node 1.10.1

Published by tatyanavych over 4 years ago

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 ✔️
cardano-node - Cardano Node 1.10.0

Published by tatyanavych over 4 years ago

Cardano Node 1.10.0

This release includes further improvements in memory use and syncing performance, as well as some bug fixes and other minor internal enhancements. See Cardano Node 1.10.0 ChangeLog for more details.

Improvements

  • Added a cross-platform clean shutdown mechanism (#726, #767)
  • Added logging node version on startup (#757)
  • Changed interpretation of relative paths in the config file ( #750)
  • Improved docs for building and running cardano-node (#718, #752)
  • Improved sync performance with refined hash representation (#1887)
  • Improved validation performance with refined hash representation (#760)
  • Improved chain DB locking for better concurrent performance (#1816, #1866, #1907, #1919)
  • Disabled support for rewinding system clock to simplify hard fork support (#1908)
  • Improved transaction submission tracing (#1861, #1895)
  • Simplified tracing output and internals (#763, #768)
  • Improved Windows IO manager exception handling (#1897)
  • Handled DNS server changes in case of switching network connection (#1891)
  • Reduced memory use in low level network code (#1902)
  • Added extensions to a simplified library interface for node clients (#1894)

Resolved issues

  • Fixed activation of the TraceForwarder logging system plugin (#743)
  • Fixed mismatch with specs with update proposal version numbers (#759, #766)

Known Issues

  • Syncing can be slow on Windows (#736)
  • ChainValidationUpdateError for cardano-node 1.10.0 on staging (#782)

Documentation

Platforms

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

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops ✔️
Release Manager ✔️
cardano-node - Cardano Node 1.9.3

Published by tatyanavych over 4 years ago

Cardano Node 1.9.3

This release provides fixes for several issues on Windows relevant to named pipes and timeout problems.

Deployed on the mainnet on 2 April 2020.

Resolved issues

  • Fixed Windows named pipes bug that limited node client connections and caused problem with wallet restoration (#1876, #1874)
  • Established more reliable connections with Windows named pipes (#1881)
  • Increased a timeout to ensure a node can reconnect to a network on Windows (#1873, 1878)
  • Added a timeout in one state of the chain sync protocol to reduce wait time in case of network problems (#1871)

Known Issues

  • Syncing can be slow on Windows (#736)

Documentation

Platforms

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

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops ✔️
Release Manager ✔️
cardano-node - Cardano Node 1.9.2

Published by tatyanavych over 4 years ago

Cardano Node 1.9.2

This release resolves inconsistency in transaction fee calculation between the old and new node implementations.

Resolved issues

  • Fixed mismatch in the minimum transaction fee between the old and new node implementations (#737, #756)

Known Issues

  • Syncing can be slow on Windows (#736)
  • On Windows, a node can not reconnect to a network (#1873)
  • Named pipes error when restoring wallet (#1874)

Documentation

Platforms

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

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops
Release Manager ✔️
cardano-node - Cardano Node 1.9.1

Published by tatyanavych over 4 years ago

Cardano Node 1.9.1

This release includes a fix for the NTP client on Windows.

Deployed on the mainnet on 30 March 2020.

Resolved issues

  • ntp-client does not work on Windows (#1785)

Known Issues

  • Syncing is slow on Windows (#736)
  • Inconsistency in transaction fee calculation between the old and new node implementations (#737 (#756))

Documentation

Platforms

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

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops ✔️
Release Manager ✔️
cardano-node - Cardano Node 1.9.0

Published by tatyanavych over 4 years ago

Cardano Node 1.9.0

This release includes CLI and configuration changes, security, reliability and logging improvements, as well as other minor internal enhancements. This release adds Windows support. See Cardano Node 1.9.0 ChangeLog for more details.

New features

  • Added CLI support for creating Byron era update proposals (#696)

Improvements

  • Removed genesis file override on CLI and moved it to the configuration file (#683)
  • Made genesis file path in configuration file relative (#648)
  • Removed listening on local ports in default configuration for security (#707)
  • Limited the number of accepted connections (#1391, #1831)
  • Added protocol timeouts, per-protocol state (#1395, #1813)
  • Added a minor check in transaction submission protocol handler (#1856)
  • Improved syncing performance for far away nodes with high network latency (#1843)
  • Improved selection of nearby low latency peers (#1858, #1859, #1860)
  • Added new DNS relay pool in default mainnet configuration (#708)
  • Added logging of progress meter in monitoring output for long running block replay (#712)
  • Improved trace verbosity for block fetch decisions (#701)
  • Improved trace output for mux timeouts (#717), mempool events (#724), subscription and DNS lookups (#725)
  • Added internal framework to support hard forks (#1698)
  • Adjusted the update proposal endorsement rule to simplify hard forks (#753)
  • Added minor optimisation in storage layer (#1810)
  • Added export of the mainnet protocol magic id (#750)
  • Added significant update to the Win32 network I/O library (#1574, #1627, #1844)
  • Updated documentation (#677, #709)

Resolved issues

  • Fixed subtle block fetch concurrency bug found (#1845, #1850)
  • Resolved node topography sync time issue (#589, #1843)

Known Issues

  • ntp-client does not work on Windows (#1785)

Documentation

Platforms

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

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops
Release Manager ✔️
cardano-node - Cardano Node 1.8.0

Published by tatyanavych over 4 years ago

Cardano Node 1.8.0

This is a cumulative release that includes several security and robustness improvements, as well as other minor and internal improvements. This release also has initial (beta) Windows support. See Cardano Node 1.7.0 ChangeLog and Cardano Node 1.8.0 ChangeLog for more details.

Deployed on the mainnet on 23th March 2020.

New Features

  • Added new CLI commands get-tip, pretty-print-cbor and validate-cbor (#591, #545, #637)
  • Added version command to CLI (#593, #630)

Improvements

  • Added structured logging for TxSubmission (#584)
  • Added logging detail for TraceForgedInvalidBlock (#605)
  • Improved default configuration for logging filters (#633)
  • Improved tracers for logging and benchmarking (#624, #653, #663, #664, #655, #670)
  • Improved tracing and error reporting in the network layer (#1762)
  • Added trace transaction flow in TxSubmission for transaction system tracing (#1688)
  • Integrated Windows IOCP-based asynchronous I/O, with abstraction layer (#1499)
  • Vectored asynchronous I/O for Windows network sockets (#1552)
  • Clarifed code for genesis generation (#732)
  • Added timeouts for the handshake phase in the node-to-node protocol (#1752)
  • Improved use of PRNGs (#1554, #1616, #1678, #1677)
  • Dropped dependency on OpenSSL for easier cross-compilation to ARM and JavaScript

Resolved issues

  • Fixed configuration for routing of metrics monitoring backends (#622, #659)
  • Fixed error classification policies (#1553, #1738)
  • Fixed resource management bugs (#1787, #1792)
  • Squashed accidental memory retention on the chain (#1718, #1793)
  • Fixed a race condition with 0-length SDUs (#1730)
  • Reduced fetching of duplicate transactions (#1749)
  • Fixed an unstructured message output for journald (#590)
  • Fixed an EBB-related bug (#1690, #1691)
  • Fixed a chain DB bug and improved performance in adding blocks (#1463, #1709)
  • Fixed a block fetch bug (#1147)
  • Fixed calculation of transaction size to match legacy Byron implementation (#703)
  • Fixed replay protection for votes on protocol updates (#739)
  • Fixed a minor mismatch on transaction size in a block to conform the specification (#718, #742)

Known Issues

  • Node topography impacts sync time (#589)

Documentation

Platforms

  • Linux 64-bit

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops ✔️
Release Manager ✔️
cardano-node - 1.6.0 Cardano Node

Published by tatyanavych over 4 years ago

This release includes many improvements and bug fixes based on enhanced testing for the node, ledger, consensus and network libraries. See its ChangeLog for details.

Deployed on the mainnet on 24th February 2020.

Improvements

  • Improved node CLI for real protocol vs mock protocols (#297, #314, #318, #335)
  • Moved benchmarking CLI commands to their own sub-group (#540)
  • Removed redundant --genesis-hash flag from cardano-cli (#540)
  • Extended transaction generator to be able to use the transaction submission HTTP API (#549)
  • Improved log output for normal block forging and errors (#537) and for normal mempool events (#538)
  • Added display of the node id to the node console live view (#534)
  • Added report of program version via logging and monitoring system (#542)
  • Disabled SMP on ARM CPUs due to an RTS ARM SMP bug in GHC 8.6.x (#560)
  • Improved handling of the block number at the genesis (#1585, #1594, #1595, #1597)
  • Added handling of restarting after wall clock time has been moved back (#1550, #1563)
  • Added specific program exit codes for node chain db errors (#1201, #1541)
  • Re-validated chain db files after unclean shutdown (#1551, #1623, #1304, #1568)
  • Added ability to report mempool capacity in tracing (#1510, #1509)
  • Added better support for versioned network protocols (#1632)
  • Re-implemented NTP client time check library for the wallet (#1327)
  • Added generic derived JSON instances for other users of consensus as a library
  • Improved io-sim-classes support for monad stacks (#1539)

Resolved issues

Known issues

  • Inconsistency in transaction validity (fees) between old and new Byron ledger rules (#703)
  • Node topography impacts sync time (#589)

Documentation

Platforms

  • Linux 64-bit

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops ✔️
Release Manager ✔️
cardano-node - Cardano Node 1.5.0

Published by tatyanavych over 4 years ago

This is another cumulative release of the new Cardano node. Since the 1.3.0 release there has been continued development and improvements in all the layers, particularly in the consensus layer.

The most user visible improvements are that the memory use is now stable and the syncing performance is significantly improved compared to earlier releases, and compared to the old cardano-sl node.

Nodes were deployed on the mainnet on 5th February 2020. These nodes are supporting the use of the new explorer backend by exchanges and other partners. These nodes are not yet being used to create blocks. The migration of the core block-producing nodes to this new cardano-node implementation will become possible after the Ouroboros BFT hard fork.

New Features

  • Implemented consensus support for local state query protocol (#1366 #1507)

Improvements

  • Improved bulk syncing performance by adjusting default RTS options (#506)
  • Improved syncing performance by avoiding concurrent block fetch (#1525)
  • Adjusted tracing in block forging for system benchmarks (#1432)
  • Added tracers for the benchmarking of block forging (#464)
  • Limited forged block size based on current limits from the ledger state (#1363, #1400)
  • Made the maximum concurrency in block fetch configurable (#1525)
  • Added checks to prevent space leaks in the node console live view (#500)
  • Adjusted the default set of enabled tracers (#494)
  • Moved configuration of tracers from CLI to the config file (#474)
  • Simplified cardano-cli interface (#476, #451)
  • Changed cardano-cli transaction format to be the raw chain format (#529)
  • Updated scripts and improved README, in particular, instructions on transaction creation (#497)
  • Improved the benchmarking of transaction generator (#505)
  • Moved support for trace forwarding into a logging plugin (#454)
  • Allowed logging output to journald on Linux (#502)
  • Elided repeated log messages (#445)
  • Set default mempool size as twice the max block size (#1467, #1468)
  • Added display of network status information and mempool size metric to the node console live view (#493, #457)
  • Added support to get mempool snapshot size for use in system benchmarks (#1431)
  • Set PBFT signature threshold to the default value in the config files (#452)
  • Corrected the implementation PBFT window check to match specification (#1480)
  • Added ability to get recent ledger states, for local query protocol (#1440, #1446)
  • Relaxed the ledger validation rule for on-chain registered software versions to better match the legacy implementation
  • Improved ledger DB snapshot policy for faster node startup (#1264, #1456, #1518)
  • Reduced CPU cost of sending over the mux (approx 10%) (#1420, #1434)
  • Added Windows IOCP-based async I/O for sockets and named pipes (#738 #1423)
  • Simplified IOSim's Async representation (#1394)
  • Optimised addition of blocks to the chain DB (#1398)
  • Improved error messages referring to chain DB files (#305 #1529)
  • Simplified tracing in the typed protocol drivers (#1481)

Resolved issues

  • Cardano node memory leaks (#460)
  • A space leak caused by Prometheus library (#491)
  • Syncing with the testnet chain stops (the old and new nodes disagree about the validity of a specific update proposal on the testnet) (#461)
  • An EBB-related bug in the chain DB iterators (#1435, #1475)
  • A bug in block forging (due to unavoidable race condition) (#1437, #1459)
  • Dubious async exception handling in chain DB (#1452, #1453)
  • The size calculation of Byron transactions in the mempool (#1535, #1540)
  • Intermittent Ouroboros/ChainDB error when syncing on Testnet #471

Known issues

  • Incorrect minimum tx fee calculation #703

Documentation

Platforms

  • Linux 64-bit

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops ✔️
Release Manager ✔️
cardano-node - Cardano Node 1.3.0

Published by tatyanavych over 4 years ago

This Cardano Node release includes consensus, ledger, monitoring and logging changes with significant performance improvements in serving headers and blocks. See its ChangeLog for details.

Deployed to mainnet 14 January 2020.

Improvements

  • Significant performance improvements in serving headers and blocks
  • Snapshot ledger state on shutdown to avoid long restart times
  • Chain selection is now based only on the latest header in each chain (rather than last k headers)
  • Initial support for multiple slot lengths (for hard forks)

Resolved issues

Known issues

  • Cardano node memory leak #460
  • Syncing with the testnet chain stops (the old and new nodes disagree about the validity of a specific update proposal on the testnet) #461

Documentation

Platforms

  • Linux 64-bit

Sign off

Role Approval
Technical Lead ✔️
QA Engineer ✔️
Ops ✔️
Release Manager ✔️
cardano-node - Cardano Node 1.2.0

Published by tatyanavych almost 5 years ago

This Cardano Node release includes consensus, network, ledger, monitoring and logging changes with cleaner refactored code, configuration and logging, improved chain sync performance, maintenance and documentation. See ChangeLog for details.

Improvements

  • Added initial peer-to-peer governor
  • Improved chain sync serving performance by binary streaming of headers
  • Enhanced code with more reliable detection of disk corruption in epoch files
  • Limited the size of forged blocks
  • Changed mempool capacity from number of transactions to size in bytes
  • Prevented logging about block forging for nodes that do not forge
  • Used file locks for the chain DB
  • Obtained the slot length from the genesis file
  • Stopped message counter messages from appearing in log files
  • Allowed to start node before genesis start time by waiting and logging
  • Refactored CLI and config parser code

Resolved issues

Maintenance

  • Added more monitoring counters and statistics, including Prometheus output
  • Improved README file
  • Hid tracing options from default --help command
  • Set node's default mempool capacity to two times of the mainnet block size

Documentation

Platforms

  • Linux 64-bit

Sign off

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