Releases: IntersectMBO/cardano-node
Cardano Node 1.10.0
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 1.9.3
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 1.9.2
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 1.9.1
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 1.9.0
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 1.8.0
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
andvalidate-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 | ✔️ |
1.6.0 Cardano Node
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 fromcardano-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
- Fixed bugs related to block number handling (#1571, #1578, #1584, #1589)
- Fixed network and consensus bugs (#1543, #1547, #1559, #1562, #1544, #1608, #1617, #1577)
- Fixed a number of EBB-related bugs (#1620, #1621, #1624, #1625)
- Fixed mempool bugs (#1301, #1565, #1599)
- Fixed minor space leaks (#1602)
- Fixed a bug in validation of delegation certificates in the mempool (#715, #716)
- Fixed a space leak (#717)
- Fixed minor bugs in Win32 async I/O code (#1573, #1576)
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 1.5.0
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
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 1.3.0
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
- Fixed garbage collection of previously applied points in the ledger DB
- Fixed unnecessary memory retention in volatile DB indices
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 1.2.0
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
- Fixed a number of bugs related to EBBs
- Fixed a memory retention bug
- Fixed stack overflow
- Fixed flakiness in logging setup and shutdown
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 | ✔️ |