Skip to content

Version 18.0

Compare
Choose a tag to compare
@argakiig argakiig released this 21 Feb 20:10
· 607 commits to master since this release

Change Log

Release V18.0 (2019-02-21)

Full Changelog

Major Changes:

  • PATCH to indicate RC, Updated Version responses [#1643]
  • Splitting wallets from ledger database. [#1610]
  • Add sideband information to database. [#1554]
  • Deprecate all existing API calls [#1540]
  • Disable voting by default [#1509]
  • Rename internal project bits from RaiBlocks to Nano [#1504]
  • Block builder [#1451]
  • Confirm dependent active elections [#1438]
  • Support external RPC servers via IPC [#1434]
  • Disable voting by default [#1369]
  • Zero-terminate all things we refer to as strings [#1223]
  • Node ID in RPC & QT wallet peers list [#946]
  • Separate DB file for wallets [#210]

Implemented enhancements:

  • Make confirm_back () non-recursive [#1754]
  • Cli debug online weight [#1744]
  • Respond to keepalive messages within a TCP socket [#1742]
  • Fix reported by TSAN issues [#1739]
  • Make the sideband open block start at a height of 1 [#1737]
  • Update CLI --debug_validate_blocks to validate sideband data [#1735]
  • Remove unnecessary cast [#1730]
  • Cleanup unchecked table after each bootstrap attempt [#1724]
  • Use cpack to build zip for win [#1706]
  • Exclude miniupnpc install () [#1701]
  • Factor out signature checker [#1700]
  • Configurable timer clock type [#1699]
  • Add alarm operations to memory stats RPC [#1694]
  • Add missing beta/live network helper constants [#1693]
  • Factor out block processor [#1692]
  • CLI to clear online_weight & peers [#1689]
  • add CLI switch for adjusting Sideband upgrade batch sizes [#1684]
  • Create and use new network helper constants [#1680]
  • Improve votes cache usage [#1678]
  • Fix our own compiler warnings [#1677]
  • Fixing issue where blocks were not being rebroadcast immediately upon… [#1657]
  • Improve wallet_history consistency with other RPC [#1654]
  • Make nano_wallet for Windows console [#1653]
  • Multi-thread the signature checker [#1651]
  • Filter outdated_version errors from logging [#1649]
  • Long-term online rep weight tracking [#1648]
  • Update balance on ratio change [#1647]
  • Count processed forks in stats [#1646]
  • Add support for getting the current thread's name as a string [#1639]
  • Better handling of TCP accept overflow [#1638]
  • tsan: blacklist mdb [#1637]
  • Memory stats in RPC [#1632]
  • Add version info to Info.plist [#1631]
  • Improved error message when unable to accept RPC connection [#1626]
  • RPC to clear stats [#1625]
  • Increase default max log folder size to 128Mb [#1623]
  • Add optional "offset" & "reverse" parameters for RPC chain [#1622]
  • RPC to clear stats [#1620]
  • Increase default max log folder size [#1618]
  • RPC uptime [#1616]
  • Remove deprecated bulk_pull_blocks [#1615]
  • Upgrade preconfigured peers in config.json file to use nano url instead of rai [#1613]
  • Splitting wallets from ledger database. [#1610]
  • More transaction cleanup in preparation for wallet splitting. NFC [#1609]
  • Cache peers in database [#1608]
  • Separate transaction sources [#1607]
  • Multithread signature_checker [#1606]
  • Add existing blocks check for lazy bootstrap pulls [#1603]
  • Indicate active network in Qt wallet [#1601]
  • Rename announce_votes () to request_confirm () [#1598]
  • Update FindBoost.cmake [#1597]
  • version numbers missing on macOS [#1596]
  • Make asan/tsan link on macOS, add tsan cache variable [#1593]
  • Connect to a bootstrap peer only once concurrently [#1590]
  • [QT] Automatic determinictic accounts check after leaving the synchronisation state [#1589]
  • Change order of block table lookups [#1587]
  • Remove bulk_pull_blocks [#1585]
  • Convert deserializers to use exceptions [#1584]
  • Add size expressions to bootstrap types [#1580]
  • Remove checksum table [#1579]
  • RPC debug command line option [#1577]
  • Remove unnecessary inline specifier [#1572]
  • Accept seed in RPC wallet_create [#1567]
  • Priority lazy bootstrap for wallet accounts [#1565]
  • Disable clang format where versions disagree [#1562]
  • Remove gap_previous check from epoch_block_impl [#1559]
  • Renaming block_processor::process_x functions. [#1558]
  • Add sideband information to database. [#1554]
  • Use builder in CLI debug commands [#1553]
  • Extracting function to calculate block successor offset [#1552]
  • Optional deterministic index in RPC account_create [#1547]
  • Local votes cache to reduce CPU usage for representatives [#1542]
  • Set outdated-version status on livenet as well [#1538]
  • Block method refactor [#1535]
  • "update_existing_accounts" option for RPC wallet_representative_set [#1531]
  • Adding logging object to mdb_store. [#1530]
  • Add size field to bootstrap message types [#1529]
  • Block size computation improvement [#1528]
  • Timer utilities [#1526]
  • Request confirmation faster for new blocks [#1518]
  • Lazy bootstrap part 2 [#1516]
  • Minor cleanup of entry.cpp for node [#1514]
  • UI feedback when changing seed [#1513]
  • Migrate existing data from ~/RaiBlocks to ~/Nano [#1512]
  • Log work generation data and difficulty [#1511]
  • Update UI block status [#1510]
  • Disable voting by default [#1509]
  • Only build essential boost libraries in docker [#1507]
  • Improve requesting frontier performance [#1503]
  • CLI --debug_profile_bootstrap [#1502]
  • Remove ip_address_hash from std namespace [#1499]
  • Replace bind with lambda [#1498]
  • Remove beast from .gitmodules [#1493]
  • Store timestamp & verified signature status in unchecked table [#1492]
  • Slight improvements of block_exists usage in bootstrap & ledger [#1490]
  • Stop usual pull request with more than 16k unexpected blocks [#1486]
  • Faster block existence check when the block type is known [#1484]
  • Remove dupsort from unchecked table [#1483]
  • Profile and improve process_receive_one [#1478]
  • When building for Beta or Test default to a Debug build [#1470]
  • Move from deprecated io_service to io_context [#1469]
  • Add more support for building boost with different options [#1468]
  • Fix initialization order [#1467]
  • Remove function template specializations [#1462]
  • Pessimisation fix for condition_variable notify_* [#1461]
  • Remove virtual function specifiers where override is used [#1458]
  • Block builder [#1451]
  • Check origination time before starting election [#1446]
  • Close sockets gracefully [#1445]
  • Log work data when computing work [#1443]
  • Confirm dependent active elections [#1438]
  • Support external RPC servers via IPC [#1434]
  • Error type and config handling [#1416]
  • Signature checking thread [#1411]
  • Early detection for votes overflow [#1406]
  • Add missing header [#1405]
  • Renaming successors to blocks to be less confusing. [#1400]
  • Remove gap_previous check from epoch_block_impl [#1392]
  • Implement queue management [#1391]
  • Move serialization to vector pattern into a base class function [#1386]
  • Misc cleanup [#1384]
  • Remove code related to unused observer [#1381]
  • Cache peers [#1374]
  • Cached local representatives list [#1372]
  • Add a config option to allow local peers [#1370]
  • Disable voting by default [#1369]
  • CLI --debug_profile_votes [#1366]
  • Slightly more efficient way of storing duplicates [#1364]
  • (Proposal) Fix multiple rpc callbacks for same host. [#1356]
  • Proposal Import seed/wallet without exsiting wallet [#1341]
  • Avoid lock pessimisation [#1284]
  • please make the status make sense for the average technical user [#1245]
  • RPC "sign" (hash, block) [#1241]
  • For Docker, log output to a file (unrotated !) [#1228]
  • adding support for rpm building [#1175]
  • Remove redundant config_file parameter of fetch_object [#1167]
  • Remove unused param from daemon_config ctor [#1144]
  • What is purpose of config_file param in method rai::fetch_object? [#1143]
  • Config error handling [#1111]
  • Allow local preconfigured peers [#1105]
  • Slow refresh rate of block number [#1102]
  • confirm_req_hash to reduce bandwidth usage [#1046]
  • Move to random_pool for shuffling [#1045]
  • Disable process active with large queue [#1010]
  • Add wallet_history with timestamps [#994]
  • Option to disable automatic wallet backups [#984]
  • Optional search by hash in confirmation_history [#974]
  • Returning list in RPC representatives_online [#777]
  • Add accounts parameter to wallet_change_seed [#775]
  • Modify wallet\_create CLI to allow seed & password change [#719]
  • Update Repository name, description, and url to Nano [#627]
  • Blocks.hpp - Tech debt and potential maintainability issues [#375]
  • Separate DB file for wallets [#210]
  • False positive Antivirus warnings (Windows) [#45]

Fixed bugs:

  • Update Live Weights [#1760]
  • Use a single synchronised random pool across all threads [#1758]
  • check for legacy directory [#1757]
  • Fix ASAN warning caused by global initialization order using CryptoPP functions [#1747]
  • [ASAN] replace junk data with 0 for peer_put () [#1745]
  • [ASAN] don't create more wallets in vote_minimum test [#1743]
  • Fix some asan issues in tests [#1741]
  • Initialize peer_information members [#1738]
  • block_store.sideband_height test [#1736]
  • Update appveyor.yml [#1722]
  • Update github issue template bug bounty info [#1720]
  • Support both nano_ and rai_ prefixes for unit conversion RPCs [#1719]
  • Fix uses of lambdas on GCC < 7.1.0 [#1715]
  • Find pthread in CMakeLists.txt [#1714]
  • Only blacklist the TSAN file when using clang compiler [#1713]
  • Fix wallet import for old JSON files [#1712]
  • Appveyor: fix building PRs during CI [#1710]
  • Update missed rai:: references to nano:: [#1709]
  • ipc: Handle rpc actions doing async ops [#1708]
  • Data race when upgrading sideband information [#1705]
  • State blocks subtype check for RPC "process" [#1704]
  • Deserializer changes in unchecked_info [#1703]
  • Update .gitmodules to reflect branch change for LMDB [#1702]
  • Sign windows [#1698]
  • Build/debug beta [#1696]
  • Fix handling non-UTF8 code pages on windows [#1695]
  • Info.plist generation, out-of-src build support [#1686]
  • Fix Boost 1.69 build [#1685]
  • update beta weights [#1683]
  • Revert "Initial Travis Windows support" [#1682]
  • tsan: fix rpc shutdown acceptor issue [#1681]
  • Update populate_connections () endpoints list with new clients [#1679]
  • Update FindBoost.Cmake module to support up to boost 1.70.0 [#1676]
  • Fix scope issue when setting thread names in the multi-threaded signature checker [#1674]
  • Add missing headers in timer [#1673]
  • Improve mutex for online_reps::sample () [#1672]
  • Restore old default response for RPC "peers" [#1669]
  • Support the HTTP OPTIONS verb for RPC [#1667]
  • Set current time for block in RPC process [#1666]
  • Encapsulate and lock stat_datapoint, fixes core_test tsan [#1665]
  • Improve node::process_confirmed () [#1664]
  • Fix windows tests for ipc [#1663]
  • Add compile options for Aarch64 [#1662]
  • Update miniupnp [#1659]
  • Specify the path to the TSAN blacklist, to allow out-of-tree builds [#1655]
  • Fix vc++ compile error in write_legacy_sideband [#1652]
  • Fix race conditions reported by TSAN [#1650]
  • Initial Travis Windows support [#1644]
  • PATCH to indicate RC, Updated Version responses [#1643]
  • fix wallet.startup_balance [#1642]
  • update .travis.yml [#1641]
  • Fix potential div-by-zero issue in receive_frontier [#1629]
  • Fix rpc.wallet_create_seed test [#1628]
  • Add wallet locked check to RPC wallet_representative_set [#1627]
  • Set permissions to config.json file after creating [#1621]
  • json config: fix upgrade of required child nodes [#1599]
  • Fix asan issue (illegal downcast) in test [#1595]
  • Fix rare time_bound & time_cutoff tests failures [#1592]
  • Include assert.h, needed for assert() [#1591]
  • Fix RPC wallet_change_seed [#1586]
  • Upgrade config from raiblocks.net [#1575]
  • Limit recursive confirm_back () [#1570]
  • Limit nested bootstrap runs [#1568]
  • Update RPC details in Wiki [#1564]
  • Improve provided "work" for RPC [#1560]
  • Improve RPC shutdown [#1550]
  • Get rid of nounset flag when running the Boost bootstrap subscript [#1549]
  • rpc shutdown fails intermittently [#1546]
  • Fix too-small buffer [#1541]
  • Deprecate all existing API calls [#1540]
  • Rename all links to our GitHub repo [#1537]
  • Calculate votes for local representatives in block_confirm [#1534]
  • Add recursive_mutex to foreach_representative [#1533]
  • Fix intermittent send_node_id_handshake failure [#1532]
  • Update license year 2019 [#1527]
  • Fix tests broken with #1510 [#1524]
  • When bootstrapping, connect to a peer only once concurrently [#1522]
  • Remove dead link to forum from readme [#1515]
  • Wiki improvements (mostly boost related) [#1508]
  • Update DockerHub username [#1506]
  • Rename internal project bits from RaiBlocks to Nano [#1504]
  • File descriptor leak [#1496]
  • Extend test retry [#1495]
  • udp_buffer could hang [#1491]
  • verify_state_blocks() with a max is O(n) [#1475]
  • Retroactive rebase of PRs [#1464]
  • Remove endpoint_hash from std namespace [#1460]
  • Ensure the block exists in account_history [#1410]
  • Use "count" in frontier_req_server [#1407]
  • On Windows with non-UTF codepage, startup crash if data path has non-ASCII characters. Causes wallet startup error. [#1402]
  • git clone with a single branch does not include annotated tags ? [#1395]
  • Consider update config.json file in wiki [#1367]
  • rai_node not exiting with success code in certain situations [#1340]
  • Unable to read from work_peer ::ffff:172.17.0.2 7075: Connection reset by peer (104) [#1324]
  • Zero-terminate all things we refer to as strings [#1223]
  • v16.0 transactions with provided work not processing correctly [#1181]
  • Fix callback resolver [#1073]
  • Update CryptoPP & Argon2 [#1068]
  • Node V14.2 - New Accounts in wallet set representative to themselves upon opening, instead of using the wallet representative [#1019]
  • Node ID in RPC & QT wallet peers list [#946]
  • Update the main menu of wiki standstill (Small change but helping saving time a lot) [#897]
  • Update Wiki - Docker node [#863]
  • rai_node Wallet-Backups instructions in the Wiki contain errors [#795]
  • Release asset: official Docker image [#754]
  • The statement is always true in 'rai::active_transactions::announce_votes' ? [#724]
  • cpack release includes miniupnp headers [#629]
  • Chain RPC call suggestions [#615]
  • Signing executables [#575]
  • Wallet_create on the command line doesn't work with a running daemon [#458]
  • Documentation error [#300]
  • xrb_uint256_to_string does not null-terminate the address string [#290]
  • [Proposal] Option to track block timestamp for local wallet/node without including in blockchain [#105]
  • Windows: CLI doesn't return info to command line [#84]
  • Refresh the accounts list after importing seed [#70]
  • Add detection of possible firewall issues [#52]

Additional binary releases:


Hashes and GPG Signature (keys located in source etc/gpg/).

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Below are sha256sum hashes for version 18.0
Signature verification can be done against the signature for argakiig in the source
code repository (etc/gpg/)

4af0d636ed4d0e6938c9866d5d2b91296cc5e30af5163b043725b00acf593c34 *nano-18.0.tar.gz
bab0c9678c49565a86309997ea8168739eb42097b1ad25c3fd0640ca470b5aa0 *nanocurrency-18.0-8.el7.src.rpm
f61fd6a023a0556f5baf1f77a7abb1a3936208d7166b2f84642c12c4b8b3e8d7 *nanocurrency-18.0-8.el7.x86_64.rpm
9619a5c6bdd7d5217dce85e729e7a986ca057b9f1ba530436159eb7adf2fe99b *nanocurrency-debuginfo-18.0-8.el7.x86_64.rpm
1b6c512449dcf87fe93f6ea4651ff80d9253567f7139c4e41f07f28e5a98d2e6 *nano-node-18.0-Darwin.dmg
383cb5d6dcf1f072b4c8304e4a250c6c570ff2093dd9e8251f52022501a4c50c *nano-node-18.0-Linux.tar.bz2
3ebd9183f0ed14217b8e1547796249aa7da2e3ae5e193083663fc59164bc967b *nano-node-18.0-win64.exe
67c2c9556e04086cc95ef5428f8ae0eeab310f87d7f8af75dc7aeb89e6262905 *nano-node-18.0-win64.zip
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEiV3g3/hlCzeiBTTjgERoJPn9OloFAlxvA6kACgkQgERoJPn9
OlpKpAf9GByIJqTPgngdR7dCRrjvEc9EmK+nYesMy0YYMYN9shbdLF1xZ7pjVhD3
3Wjh4P8KBX/w5OuiWS5L1fEufL/gCL8GdD7qb6S3N+iVEjpKivY6dANezJ/OW6gJ
r433ESQMt3BLWwkygR9ajXXOuKyBmeIrTCIV+jx7e4C/sv3HKccgrzF/Xojh1aqk
//EERm1dnTUYkTAW2awwffsUcbn+uE+Kt/lCDniGE1/8+1UdH0KOpcSa55CAzuFn
jUO9yoHkazXC/69mpnujzW5pxHza/8lGvYyFVBh49PU/NVaELr8q/O3RcYOX3MaG
nbCfZdrtGCLZGwhAuDRlLbYmFraqww==
=iZG4
-----END PGP SIGNATURE-----