Skip to content

Version 18.0RC1

Pre-release
Pre-release
Compare
Choose a tag to compare
@argakiig argakiig released this 01 Feb 21:51
· 52 commits to releases/v18 since this release

This is a Beta Network Release -- binaries will only work on the Beta network

Change Log

Release V18.0RC1 (2019-02-01)

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:

  • 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]
  • 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]
  • 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]
  • 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]
  • 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]
  • 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]

Fixed bugs:

  • 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]
  • 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]
  • 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]
  • git clone with a single branch does not include annotated tags ? [#1395]
  • 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]
  • Chain RPC call suggestions [#615]
  • Wallet_create on the command line doesn't work with a running daemon [#458]
  • 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]
  • 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.0RC1.
Signature verification can be done against the signature for argakiig in the source
code repository (etc/gpg/)

fe69c32a14dd0d91e5ce434d86fe4654d2da85ee06509b3456e9af49ac6246b7 *nano-18.0RC1.tar.gz
36c2b8601063dc54c29bf75f98e677acaf0d2468158355ddc2683f882b5d752e *nano-18.0RC1-Darwin.dmg
b539ffc7c0751dbac157d8c8719744a88f86e709b586cc965322c69d37bdc6f2 *nano-18.0RC1-Linux.tar.bz2
77cc7667c3982d35787651d9e5e151d9a3a5c8888b583fe1deddff28b60b2df2 *nano-18.0RC1-win64.exe
38b8a8d8642b8164436cd1a6f356ded561116734367524755596cd8c4d1c94d5 *nanocurrency-18.0RC1-5.el7.src.rpm
06ddd6be0d7e1ca12f0901d9acb54ec8d2601ec6ce62835bbfd5b5f5859a5ad0 *nanocurrency-18.0RC1-5.el7.x86_64.rpm
21d76859820fca4de176e28d1c2ff12586ca3944bed714283e19e5d2a0ccd4ff *nanocurrency-debuginfo-18.0RC1-5.el7.x86_64.rpm
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEiV3g3/hlCzeiBTTjgERoJPn9OloFAlxUta4ACgkQgERoJPn9
Olo0yAgAllzJNtcdiVa0kYpbId/4C8wvQK6XU6VpNZepagfAeny4D+dmiWcgQZCs
CN590LwNZVmr0IHWe5k2+2tON+yen/5w91X/2LTJOMO9oGeA9VzfldjB9SazTuGZ
ZlJFOmtTVunO7IeJ3CVpiP+QdQ5X634Nc+P73whkYlQoauJbbWzvJ2cDPKZdnoMX
qjXLKRqembHUgrKgE+XpIQRTKjbeGH/Bk4iLWkYRUggbtwHgOunAYi9AJYABA6e/
Qs9vjwxruYjBHO7FojW3uYsvhDzas/v4+oN0S7EG1+LrqRxaOJOWCwaPS/DHYtky
9LRH/s0XbYRMl5U2uAqKsNtwrG/0Qw==
=NM4y
-----END PGP SIGNATURE-----