V20.0RC1
Pre-release
Pre-release
Change Log
Release V20.0RC1 (2019-10-24)
Major Changes:
- RPC publish optional work_watch flag to add to work_watcher [#2168]
- Adds RocksDB support [#2197]
- TOML config file support and migration [#2221]
- Support epoch 2 [#2310]
- Add ability to start pow server as child process [#2331]
- Active elections loop tuning [#2306]
Semantic Changes:
- Classify traffic stats correctly [#2309]
- Verify pubkey against special keys in wallet [#2299]
- Fixes account_history RPC to include receive blocks when filtering accounts. [#2244]
- Use node_ prefix for node ID [#2191]
- Assert for disabled bootstrap modes [#2163]
- Remove querying pending confirmation height in various operations [#2156]
- Accept multiplier in work_generate and work_validate [#2151]
Implemented enhancements:
- Confirm frontiers for bootstrap with multiple failures [#2349]
- Non-blocking UPnP discovery [#2346]
- Attempt to fetch account from block hash in RPC work_generate [#2339]
- Unchecked cleanup tuning [#2336]
- Restart dropped elections for unconfirmed blocks with higher PoW [#2335]
- Basic confirmation request loop enhancements [#2327]
- CLI command to output the total number of (un)opened account versions [#2323]
- Periodic rep crawler weights update [#2319]
- Add lazy bootstrap possible links and accounts [#2315]
- Allow node to work without work generation [#2312]
- RPC epoch_upgrade [#2304]
- Update broadcast_confirm_req_batch to handle PoW priority [#2303]
- Strong types for the various bit unions [#2300]
- Stacktrace with backtrace to display files and lines [#2298]
- Lazy bootstrap cleanup & basic improvements [#2292]
- Some minor cleanup [#2291]
- Add block count cache [#2290]
- Replace account_info::rep_block with representative account [#2283]
- Enhance block processor filter [#2282]
- Handle work generation failure and cancel [#2281]
- Split bootstrap source files [#2274]
- Disable unchecked cleanup if node is not synchronized [#2272]
- Add log when a block difficulty is updated in active transactions [#2270]
- CLI --debug_validate_blocks enhancement [#2269]
- Refactoring epochs [#2268]
- Track length of time mutexes are held for [#2267]
- Add config option to conditionally enable RocksDB backend [#2266]
- Prevent possible from_multiplier () function overflow [#2265]
- Prevent adjusted difficulty overflow for extremly high or low difficulty [#2260]
- Prevent dropping of unchecked on restart if node is not synchronized [#2257]
- Distributed work refactor [#2255]
- Enhancements to OpenCL work handling [#2247]
- Wrap boost::asio::async_write to ensure lifetime of buffers [#2240]
- Start frontiers confirmation after initial bootstrap [#2236]
- Enforce upper case for hashes/signatures string output [#2235]
- Fire callback & add to history after confirmation height is set [#2233]
- Allow Cmake AVX2 builds for Windows [#2232]
- Reduce time holding read transaction in vote processor [#2231]
- Distibuted work fixes [#2230]
- Watch blocks separately in work watcher [#2228]
- Configurable work watcher period [#2222]
- Improve throttled received block for bootstrap [#2220]
- Use max config difficulty internally [#2218]
- Throttled received block for bootstrap [#2216]
- Add counter in stats for number of incoming blocks dropped [#2215]
- Config option for single line logging records [#2214]
- Beta reset with new genesis and lower work threshold [#2207]
- Travis/artifacts to s3 [#2204]
- Provide optional automatic ledger/wallet backups before an upgrade [#2198]
- Process wallet blocks outside of block processor queue [#2196]
- In http callback, don't log any http responses indicating success as errors [#2193]
- Callback response misleading [#2192]
- Add frontiers confirmation modes [#2175]
- Use confirm_req by hash + root for upgraded peers [#2164]
- Assert for disabled bootstrap modes [#2163]
- Cache recently arrived votes [#2159]
- Improve votes caching for same account & increase max cache size [#2155]
- Prioritize node wallet frontiers during background confirmations [#2154]
- Accept multiplier in work_generate and work_validate [#2151]
- Improve docker build speed on multi-core machines [#2148]
- Improve stacktrace output during release_assert [#2142]
- Static type safety for the union types [#2117]
- Provide optional automatic ledger/wallet backups before an upgrade [#1690]
- No write transactions on I/O threads [#1264]
- Logging output can spread multiple lines, which makes it difficult to export [#806]
- Node crashes with no error message if the database can't be opened [#761]
- Lazy bootstrap retry limit [#2362]
Fixed bugs:
- move min bootstrap and traffic to v16 [#2363]
- Docker USER support [#2361]
- ASAN leak when exiting node [#2360]
- Improve sample configuration file [#2359]
- Update travis beta-osx job with cached qt [#2358]
- Update Argon2 to release 20190702 [#2357]
- ASAN error in vote_by_hash test [#2356]
- Distributed work test failures under ASAN [#2355]
- Add upnp port mapping description [#2354]
- TSAN error in node.peers test [#2353]
- Add support for launch flags passed to nano_wallet [#2352]
- TSAN error with block work [#2351]
- Update beta network bootstrap weights for v20, cutoff 14M [#2350]
- Fix link ordering issues [#2348]
- Fix bootstrap attempt not stopping [#2347]
- Suppress RocksDB TSAN warnings with Clang [#2345]
- create build cache for mac qt in external repo and pull in for testing and artifacts. [#2344]
- Fix disabled ongoing unchecked cleanup [#2342]
- RPC unchecked json_block option [#2341]
- Output error message with qt wallet if RocksDB is enabled in config but is unsupported [#2340]
- Fix active difficulty calculation [#2338]
- Update from_multiplier () overflow checks [#2337]
- tsan: fix race in inactive_votes_cache_multiple_votes [#2334]
- include nano_pow_server as a submodule and build into ci framework for tagged releases [#2333]
- Fix work_pool.opencl test hanging [#2332]
- Fix UPnP [#2329]
- Object stats for work watcher container [#2328]
- Profile work validation [#2322]
- generate sample node and rpc toml after building nano_node target [#2321]
- Add confirmation request count to election_status [#2320]
- Account creation refresh in qt wallet [#2318]
- Fix init order warning [#2317]
- Add some RocksDB TOML config options to tune memory usage [#2316]
- Don't comment toml tables in generate_config [#2314]
- Set NANO_ROCKSDB define even when set to OFF [#2313]
- Snapshot/Vacuum should use the rocksdb config option [#2311]
- Classify traffic stats correctly [#2309]
- Make generate_config produce commented-out entries by default [#2305]
- Checking for frontiers only if necessary [#2302]
- Verify pubkey against special keys in wallet [#2299]
- Fix a bug in the rep_block -> representative conversion [#2297]
- Support --config option in Qt wallet [#2295]
- Fix rpc.work_peer_bad [#2294]
- Websocket subscription for work notifications [#2289]
- Build RocksDB library as portable in docker [#2288]
- Add --config option to rpc process [#2287]
- Improve bootstrap attempt locking [#2286]
- docker
--cache-from
set as single string argument with = [#2284] - Fix off by one in broadcast_confirm_req_batch [#2280]
- Fix active transactions difficulty update for state blocks [#2279]
- Fixing test to use unique_path each time. [#2278]
- Use distributed work in work watcher [#2277]
- add master tag for beta and caching for subsequent artifacts_beta builds [#2276]
- add rocksdb to build artifacts lacking it [#2275]
- Fix possible issue in active_transactions.adjusted_difficulty_overflow_min test [#2273]
- Fix delay in stopping the node [#2271]
- Non-blocking work watcher loop [#2264]
- Prevent supurious wakeup in active transactions request loop [#2263]
- Set USE_RTTI before building RocksDB in docker [#2261]
- Cache cemented count [#2259]
- No longer need enable_control when getting the cemented count [#2258]
- Post to worker thread in qt wallet when doing write tx's on io threads [#2256]
- Remove preferred TPC response channels [#2254]
- Extend toml default-configs test [#2252]
- Fix some time-related configs being overriden with 0 [#2251]
- Lambda formatting that works across clang-format versions [#2250]
- Update weights following beta refresh distribution [#2249]
- Use defaults for amounts in toml [#2248]
- Move protocol versions to network_params [#2246]
- No required options in TOML parsing [#2245]
- Fixes account_history RPC to include receive blocks when filtering accounts. [#2244]
- update beta network header_magic_number to finalize beta network reset [#2243]
- Docker changes for new TOML config [#2241]
- Fix TSAN error in adjusted difficulty test [#2234]
- Simplify process_loop log timing by using nano::timer [#2229]
- Set application/json as header content type for work peer requests [#2227]
- Header 'Content-Type': 'application/json' not set in work peer requests [#2224]
- Remove landing store [#2223]
- Fix failing slow_tests [#2219]
- Cache rep weights [#2217]
- Make some changes suggested from cppcheck [#2213]
- Add mdb database test from v14 to v15 [#2212]
- Increase lifetime of temporary rep variable [#2209]
- Simplify vote generator logic with a dual sleep [#2203]
- Deprecate nano- and xrb- address support [#2201]
- Fix rpc.node_id test [#2200]
- Only use -Werror by default with ci [#2199]
- Add support for election info in websocket confirmations [#2195]
- Wallet actions can take a long time due to flush() being called [#2194]
- Use node_ prefix for node ID [#2191]
- Fix building error caused by #2151 [#2189]
- boost 1.70 requires log_setup component specifically updated CMAKE 1.… [#2185]
- RPC version network label and identifier [#2184]
- Fix lazy bootstrap balances insert [#2183]
- Principal representative factor as a network constant [#2182]
- escaping regex for deployment on master or releases/v* branches [#2180]
- fix boost downloads [#2178]
- More preparation for new database backends [#2177]
- Extract confirmation height to its own database [#2174]
- Move alarm/operation out of node [#2173]
- add git commit hash and compiler info to logging and version calls [#2170]
- Travis/streamline [#2169]
- RPC publish optional work_watch flag to add to work_watcher [#2168]
- Allow the RPC server to be run on a different system [#2162]
- Update entry script [#2160]
- Fix compile errors in release mode after warning->error change [#2158]
- Add RocksDB to the build system [#2157]
- Remove querying pending confirmation height in various operations [#2156]
- Fix node_id assign for bootstrap_server [#2152]
- Remove extra core utilised during docker deployment build [#2150]
- Fix unused variable error in deployments [#2147]
- [Valgrind] Check if running under valgrind before doing death tests [#2145]
- Refactor ledger database code for reuse with different backends [#2136]
- Suggestion: allow docker container to die when broken [#2123]
- Remove compiler warnings (incl from third party headers) [#2072]
- Fix slow_tests [#1923]
- Show active network in RPC version [#1884]
- Migrate config.json to reference and override files in TOML format [#1878]
- Do not rewrite config.json on node boot [#1781]
- Docker Image - Redirect logs output to Docker logs [#1612]
- Update node ID to use node_ instead of nano_ prefix [#2181]
Additional binary releases:
Hashes and GPG Signature (kesy located in source etc/gpg/
).
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Below are sha256sum hashes for version 20.0RC1
Signature verification can be done against the signature for argakiig in the source
code repository (etc/gpg/)
0547cc61d811f3794ccdcc7c52b280c3f47ddd4e1f5a2f948cfc76fdac16f621 *nano-20.0RC1.tar.gz
6cb7f579d11dfc4d789dbea0fb1a1dfde90199f9c55fdc1f8c49287f0d6aa133 *nanocurrency-beta-20.0RC1-16.el7.src.rpm
3c7730edc6cc60a0765430d92dff5995279561176e05980f07cd03b5cef0cff6 *nanocurrency-beta-20.0RC1-16.el7.x86_64.rpm
8ca1da34047d4b67b82cbb528a53c38b5f8be04424955edb6ebecef727e43a62 *nanocurrency-beta-debuginfo-20.0RC1-16.el7.x86_64.rpm
9de481414f3d7ba38888fd95339c335c606509faa98940065fc5d3f401684a9a *nano-node-V20.0RC1-Darwin.dmg
2dcd000180069f6b93597554e15b76743954a7ea93b5a54dd3f35a7a7067ae5f *nano-node-V20.0RC1-Linux.tar.bz2
3eb4c27541199c0b9c1bbde95b61de28173bb3fd9908778c92098ec20bd5bbcf *nano-node-V20.0RC1-win64.exe
75e0270b6a8129bc5f4edc966eadae2743b6f122a8164d1c7242120d0f004ffc *nano-node-V20.0RC1-win64.zip
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCAAdFiEEc+pdEgPPsADHbxJjyW2zlQ3kDroFAl2ycrcACgkQyW2zlQ3k
DroE1wgAq0vc9+bhZdR+ix5qHxZl+OpE4htTcDiiMtMlpdBlCTX7HLWisYVHa88m
EuBu5DhlQX5uJE96FfRPVnfNy/t7WoO8hJ0+2xYaVnCvfAfijEU4Pj8WwpOVViX8
79kuVw/MC5Ye+8X/ikL9+iqn4zsaQtY0jTfzWPC1AEaFUCnGB8QbhFCIPuXxePnV
eYhz0rpX5r9ABdtVc3SZm13IWzT74xO27ZbfqDiyb3VACDCRyLJgWYsB7A0GwNg9
c+Keu6VswYoKTEqe3qkNNzySRghaE3lOzWNMId+JCRn5h73NgUnFezR+ZMDNLji1
i1W8+pBXlCFlznLjjjoLQ5FUzy2BSg==
=iK9n
-----END PGP SIGNATURE-----