Version 18.0
Change Log
Release V18.0 (2019-02-21)
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-----