Nano Node Versions Save

Nano is digital currency. Its ticker is: XNO and its currency symbol is: Ӿ

V21.2

3 years ago

CHANGELOG

Release V21.2

Full Changelog


RPC Updates

Pull Request Title
#2903 Provide network_receive_minimum in RPC/WS active_difficulty

IPC Updates

Pull Request Title
#2892 Add random id to RPC send via IPC if not included

CLI Updates

Pull Request Title
#2889 Modify CLI --debug_account_versions for epoch upgrade tracking

Developer/Debug Options

Pull Request Title
#2888 Make logging election tally an optional config

Fixed Bugs

Pull Request Title
#2897 Increase confirmation solicitor single-round caps
#2880 Logging exception handler and fix for stable_log_filename on windows
#2887 Avoid potential deadlock in work watcher

Implemented Enhancements

Pull Request Title
#2885 Add cemented frontier successor confirmation in request loop
#2907 Renaming ledger::can_vote to ledger::dependents_confirmed
#2902 Use improved OpenCL kernel
#2901 Relax mutex requirement for retrieving active difficulty
#2904 Increase default bootstrap interval
#2900 Temporarily pause the request loop in extreme situations
#2895 Constrained successor and destination block activation
#2894 Extracting votes cache bootstrap start function
#2891 Remove election fallback behaviors and adjusted multiplier calculations
#2886 Inactive votes election hint
#2890 Election insertion cleanup

Build, Test, Automation, & Chores

Pull Request Title
#2909 Add support for defer_lock in nano::unique_lock
#2908 Frontier confirmation cleanup
#2905 Lower request loop min_sleep for tests
#2830 Beta reset for V22 development
#2859 extend test retry deadline 12/31/2020 23:59:59 UTC

Additional binary releases:


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

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

Below are the sha256 sum hashes for version 21.2 Athena
Signature Verification can be run against argakiig.asc in source repo (etc/gpg/)

e1b9841de8c4d41875ccb744df46426137a7046b98846057093f796304633514 *nano-21.2.tar.gz
3715a3b8c1ffb80a57258e7c70be0037a7cbcacb32f6124f445a31df1345773d *nano-21.2.tar.gz.sha256
6ebe730cb155b56583d8bc1991b2f0d66ff2934d024d35c28b5988f3fa219ae0 *nanocurrency-21.2-22.el7.x86_64.rpm
458f67e95382d1de7b7ab251c5a15c9cb05a4e05a47a6312e6ec9f378932b404 *nanocurrency-21.2-22.el7.x86_64.rpm.sha256
a5f6a987b1516495afc64810b41003f0332de49ec4d54b6f1ed652dbba7f5896 *nano-node-V21.2-Darwin.dmg
1077ec1c28f5100ee32b4a385c5c1e35b2ad39ddd0cea8efc2560e7a0e655c83 *nano-node-V21.2-Darwin.dmg.sha256
babd8b76575e7d1407030d658f6c5f0e7f6cd9084fd3fc3e7e8646062268d54e *nano-node-V21.2-Linux.deb
6f5ec08fcc15a174906a90454e8ee293759a6a359bd1080fb6c722a4e2d4f7d9 *nano-node-V21.2-Linux.deb.sha256
b74f478c9c3a453e5c7b9d1d2befd91d9a73a2d7941382a098f78e94ef82fbb7 *nano-node-V21.2-Linux.tar.bz2
14f615dff9e466361a997f3d87f28c283568c83f269c5647b9975189b9a543ea *nano-node-V21.2-Linux.tar.bz2.sha256
616333c271f345b1bad73590e89f5d4a990bd62eacfd9b137212b9ab16a28fd2 *nano-node-V21.2-win64.exe
a38602e9cbebde3d322a894da13d4b28d95a025dd3aae8e3bec951433f5b87d0 *nano-node-V21.2-win64.exe.sha256
887b2901af3a7f240dcc9210f27a7bbf3906a5e3a7e6ef481a8de873185be413 *nano-node-V21.2-win64.zip
a2eec9a67e46a7dd5b5376a018abcb6c1f708399f7700b3015665635bdeef123 *nano-node-V21.2-win64.zip.sha256
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEiV3g3/hlCzeiBTTjgERoJPn9OloFAl/3DDcACgkQgERoJPn9
OloyTQf+PSjNVE64FZEwFINxrRxQ3HV3n00r2h0PwOCUntWhOqtboXnm3u3DRRy8
vanjl2E7FSG5VuOhB/yVewIk828CXu6qYLmYE6/AoPF96WDglIrf6fIhs7HURpWu
cLf9040zQPmz5kpcl/CcF1S9/qBsPjgO0Air6BTmz7MNdEq7MnZCKsIeLp/zqrfE
kyTZHMhIrNS5mZxhhLZjYe+GLjHTORIA/imHDfwt9nRsLhXGfnd2ErO/kOsv1Alq
Gi4WxCHID5jRjK6urZ+sFPbLpnrAFkf0t1Kb82Ij3HjSEQcXg31HQRG3ldTpX8Af
s+dT6Dfh6B5uGXBG69Zm8l+4nvxa2g==
=d9T0
-----END PGP SIGNATURE-----

V21.2RC1

3 years ago

CHANGELOG

Release V21.2RC1

Full Changelog


RPC Updates

Pull Request Title
#2903 Provide network_receive_minimum in RPC/WS active_difficulty

IPC Updates

Pull Request Title
#2892 Add random id to RPC send via IPC if not included

CLI Updates

Pull Request Title
#2889 Modify CLI --debug_account_versions for epoch upgrade tracking

Developer/Debug Options

Pull Request Title
#2888 Make logging election tally an optional config

Fixed Bugs

Pull Request Title
#2897 Increase confirmation solicitor single-round caps
#2880 Logging exception handler and fix for stable_log_filename on windows
#2887 Avoid potential deadlock in work watcher

Implemented Enhancements

Pull Request Title
#2885 Add cemented frontier successor confirmation in request loop
#2907 Renaming ledger::can_vote to ledger::dependents_confirmed
#2902 Use improved OpenCL kernel
#2901 Relax mutex requirement for retrieving active difficulty
#2904 Increase default bootstrap interval
#2900 Temporarily pause the request loop in extreme situations
#2895 Constrained successor and destination block activation
#2894 Extracting votes cache bootstrap start function
#2891 Remove election fallback behaviors and adjusted multiplier calculations
#2886 Inactive votes election hint
#2890 Election insertion cleanup

Build, Test, Automation, & Chores

Pull Request Title
#2909 Add support for defer_lock in nano::unique_lock
#2908 Frontier confirmation cleanup
#2905 Lower request loop min_sleep for tests
#2830 Beta reset for V22 development
#2859 extend test retry deadline 12/31/2020 23:59:59 UTC

V21.1

3 years ago

CHANGELOG

Release V21.1

Full Changelog

Node Configuration Updates

Pull Request Title
#2832 Set default bootstrap initiator threads to 1

RPC Updates

Pull Request Title
#2843 BREAKING Change node_id from hash to account in telemetry RPC/websocket

Developer/Debug Options

Pull Request Title
#2839 UPnP basic logging messages are more frequent than intended

Fixed Bugs

Pull Request Title
#2837 UPnP existing lease and other misc enhancements
#2828 Invoke callbacks even during socket closures
#2833 Unresolved forks during initial bootstrap
#2831 Fix TCP message manager not notifying producers
#2825 Fix requeue pull for lazy bootstrap

Build, Test, Automation, & Chores

Pull Request Title
#2838 Fix secure RPC build on msvc

Additional binary releases:


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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Below are the sha256 sum hashes for version 21.1 Athena
Signature Verification can be run against argakiig.asc in source repo (etc/gpg/)

52D67A0E3A1574129A575DA3463699FDFEC06B9ACC5425BA2873303EE7601124 *nano-node-V21.1-win64.zip
B8D12B9C21193B19B0A077290DD5F0CA7B8796EB3B3610D775EBFF8BE0391E3E *nano-node-V21.1-win64.zip.sha256
55A3A5A544E70C0A476B7025C03B06B226441843D7359C84C00F0ABB3056C562 *nano-node-V21.1-win64.exe
156D656D5A4F084036F54049A0679203FB68D8BBB32958EF4FD117F67BB281E1 *nano-node-V21.1-win64.exe.sha256
98f28cd90f9c94f740a223802df15019fde616292b8522229d5c2ce5f0328077 *nano-node-V21.1-Linux.tar.bz2
62561FD61B36D1EBD84A48637293075D19378DF24D4ECDDDA23AAA598C5C7F9C *nano-node-V21.1-Linux.tar.bz2.sha256
845fe8cfc19269b929880842796adbf1ba1a055bec859ce9ca9fe095cb156320 *nano-node-V21.1-Darwin.dmg
F943D71F95B6D86988B7402793A81ADD862F3C5F4F8EA115AE17BF50FC09615E *nano-node-V21.1-Darwin.dmg.sha256
2189a184b92964617e89f9fb24c60b532bcbf6d5dfe631a9cab7d919625752bc *nano-node-V21.1-Linux.deb
6C6029EAF69E73B89055621416747E04F1621C5590956D6C2EEB2C52EBB7F689 *nano-node-V21.1-Linux.deb.sha256
b5365981f8642859c5a4d5113f79e6b5120cae59811b954d5d077c09ba0af5b2  nanocurrency-21.1-21.el7.src.rpm
23d2a7fdc9ca79d2a72ee6e6186d0832acb06d98fa8936a10ffa6ab2f68a6363  nanocurrency-21.1-21.el7.src.rpm.sha256
569e348086de7a4542690c3cd73095bfc4aaa04ea75bd07682cd8aad1491c30b  nanocurrency-21.1-21.el7.x86_64.rpm
3209da9506be6d180b8f35e710cc32c7f46477d1f6aab24430040fc2de3f2acc  nanocurrency-21.1-21.el7.x86_64.rpm.sha256
bb19d1a1ba45ba48ed504189fe03432783a0ada1d1ee8a687f411dfe138b23da  nanocurrency-debuginfo-21.1-21.el7.x86_64.rpm
0c8ae99239bd4101953cc383b85b747b1a69e328a3a0fc42c7430d910fd0dd29  nanocurrency-debuginfo-21.1-21.el7.x86_64.rpm.sha256
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEiV3g3/hlCzeiBTTjgERoJPn9OloFAl8fjmkACgkQgERoJPn9
Olp9/ggAi5jhmzm0S4anU+o1kGSxDy3/HIE/PZts5vN0PB0JCguXJ7dOLlvU7FK9
a59FTpkkfEGZ/K6O7g8xuUo91yohLHelvOyonlLMFzo0tZLwF1w9DeFlui+9XYEu
KAed9OQI9K41JSEo28KZx4+mJ1AzxU2bX4kn6DO+drtD0lUDOHhwwBIk9Lrz0qoE
J/DtJ7vQdn4OeBDCenC7+Oyn55jr0Bxn8n0MHpq2n6m4mgk8501fVOPaboujHmQb
fEx7lyjUWWqzl08rJDBUWz9oRa43QAZ2spCDnFTW053eMlkgbA+Mpe2Z9XgU2R5+
lWSfidrejtmR8SjdAybKTQnCucFrLw==
=u672
-----END PGP SIGNATURE-----

V21.1RC1

3 years ago

CHANGELOG

Release V21.1RC1

Full Changelog


Node Configuration Updates

Pull Request Title
#2832 Set default bootstrap initiator threads to 1

Bug

Pull Request Title
#2825 Fix requeue pull for lazy bootstrap
#2831 Fix TCP message manager not notifying producers
#2833 Unresolved forks during initial bootstrap
#2828 Invoke callbacks even during socket closures
#2837 UPnP existing lease and other misc enhancements

Build, Test, Automation, & Chores

Pull Request Title
#2819 correct rpath for libs in tar.bz2 archive
#2838 Fix secure RPC build on msvc

V21.0

3 years ago

CHANGELOG

Release V21.0

Full Changelog

Major Changes

Pull Request Title
#2535 Election state refactor
#2487 IPC 2.0
#2545 Sideband upgrade using epoch byte for is_send/receive/epoch
#2446 Node telemetry

Protocol Changes

Pull Request Title
#2701 Dont peer with v20 and earlier after epoch 2 block is seen
#2683 Increase minimum supported protocol version to 17
#2667 Validate work difficulty during ledger processing

Node Configuration Updates

Pull Request Title
#2787 Double default bandwidth limit config
#2727 Safely read override values when no config file is present
#2724 Clarify nano_pow_server configs are not in use
#2588 LMDB sync options and new config settings

RPC Updates

Pull Request Title
#2499 BREAKING Bootstrap attempts and connections/pulls separation
#2671 BREAKING Handle epoch_2 work thresholds in the wallet and most RPCs
#2689 BREAKING Change response for RPC work_validate with implicit difficulty
#2804 Make RPC name consistent with stats, websocket & protocol naming for telemetry
#2754 Optional "block" given to RPC "work_generate" to infer difficulty
#2753 Flood difficulty updates from RPC process
#2752 Result difficulty in RPC block_create
#2718 Epoch upgrader as an async task
#2704 Asynchronous epoch upgrade RPC
#2703 Difficulty calculation for RPC block_create
#2684 Epoch 2 started flag in ledger cache
#2619 Election refactor follow up
#2569 Work version concept
#2560 Request telemetry data for local node
#2481 Upgrade confirmation height table to include cemented frontier
#2414 Add block and voters count in election information
#2424 Fix RPC secure (TLS)
#2420 Add database vendor string to RPC version

IPC Updates

Pull Request Title
#2644 Add Flatbuffers schema evolution rules to IDL

Websocket Updates

Pull Request Title
#2774 Enable WebSocket server by default in Docker image
#2734 Websocket notification for RPC work_generate without peers
#2729 Websocket new_unconfirmed_block
#2634 Add telemetry response websocket callbacks
#2566 Incremental options for ws confirmation subscription
#2562 Fake websocket client to test the node websocket server
#2471 Websocket bootstrap subscription
#2444 Indeterminate vote status and enhanced websocket vote sub

CLI Updates

Pull Request Title
#2794 CLI commands incorrect ledger cache setup
#2749 Multithreaded --validate_blocks
#2725 CLI command for a frontier confirmation speed test
#2719 CLI compare_rep_weights to compare ledger and hardcoded weights
#2707 Add difficulty and multiplier to CLI work generation commands
#2637 Read config file for CLI commands
#2594 Allow CLI --config values for inactive node tests
#2606 Launch flag --allow_bootstrap_peers_duplicates
#2575 Add flag for vote_processor capacity and tests
#2579 Configurable inactive votes cache size
#2435 Add CLI command for better LMDB compaction

Deprecation/Removal

Pull Request Title
#2555 Disable UDP by default
#2769 Deprecate --batch_size/debug_mass_acitvity CLI options

Developer Wallet

Pull Request Title
#2427 qt dev wallet deserialization fix
#2419 Set wallet representative with RPC receive on unopened accounts

Developer/Debug Options

Pull Request Title
#2802 Clarify election difficulty update log message
#2793 Add logging section to rpc config to optionally disable logging
#2791 Fix insufficient work logging
#2762 Add cemented block log timings
#2746 Fix Xcode warnings
#2731 New stats for elections
#2591 friendly backtraces in actions
#2540 Lower beta network work threshold to 1/64x base
#2515 Additional ledger stats
#2489 Log when voting and warn if voting with more than one account
#2412 Fix work_cache_blocking logging bug

Fixed Bugs

Pull Request Title
#2800 Fix open blocks not getting activated through dependencies
#2799 Slow test fixes
#2796 Retrieve block when activating dependencies
#2782 Stuck uncemented blocks after heavy load
#2781 Union std::hash coverage
#2767 Fix previous balance in active_transaction::insert ()
#2766 Votes from local representatives should not be flooded on processing
#2744 Tally votes on conflicting block with no inactive votes
#2733 Remove invalid uses of epoch_1 work threshold
#2723 Some confirmed block observer callbacks being missed
#2664 Incorrect cemented count during conf height algo transition
#2706 Prevent more rare deadlocks due to races for condition variables
#2651 Using relaxed atomics for counts not involved in control flow in conf height processor
#2696 Remove assert if a delayed work cache request is not found
#2652 Consistently add conflicting block to election
#2674 Modify inactive cache to prevent multiple insertions for confirmed
#2675 Prevent getting stuck in block processor flush
#2659 Signature checker blocking fix
#2650 Telemetry results not correctly utilising cache timeouts
#2648 Fix wrong number of representatives in confirmation solicitor
#2609 [RocksDB] Only delete from unchecked when existence is guaranteed
#2593 Start vote generator for changed winner only if voting is enabled
#2582 Check against op aborted on secure rpc acceptor shutdown
#2563 Fix election calling confirm_if_quorum after destruction
#2553 Inactive votes cache confirmation status
#2546 Restore max block processor signature verification batch size
#2530 Remove representatives with closed channels
#2527 Allow rep crawler targets with ephemeral ports
#2519 Resolving hostnames in distributed_work
#2502 Prevent possible issues with ledger contaning pending records only for burn account
#2488 Unchecked cache not handling duplicate entries or unchecked_clear
#2477 Support multiple work peers in the same host
#2472 Confirmation solicitor revamp
#2462 Process RPC incorrect enable_control checking when using watch_work
#2451 Avoid replying to confirm_req with repeated votes
#2438 Wallet representative counts consistency
#2429 Remove representation table during v15 upgrade
#2413 Fix distributed_work segfault when local work generation fails
#2405 Fix jumping peer stake total

Implemented Enhancements

Pull Request Title
#2801 Sequential elections
#2785 Sequential voting
#2797 Check executable paths in load_test
#2778 Bisected election backtracking
#2784 Confirmation requests and broadcasts if available vote is for a conflicting block
#2565 Push front blocks from unchecked
#2768 Force node exit if ledger inconsistency in the conf height processor is found
#2772 Republishing a vote to principal representatives
#2759 Perform wallet representative action without holding any mutex
#2751 Serialize telemetry as big endian
#2730 Use a multi-index container to allow fifo queue for pending confirmations
#2728 Add active difficulty to node telemetry
#2715 Allow restarting elections with higher work
#2716 Release write_guard lock when no longer required
#2721 Remove confirmation requests for a new representative
#2720 Separate election state for the broadcasting block fallback
#2613 Move TCP messages processing to network threads
#2714 Improve batching of writes in unbounded conf height processor
#2710 Difficulty updates for elections with multiple blocks
#2709 Ensure propagation and removal for the work watcher
#2702 Vote generator session for batch insertions
#2669 Improve telemetry request/response under load
#2705 Ensure max_work_generate_difficulty is updated when changing the default difficulty
#2691 Active difficulty normalization
#2694 Prevent reconnecting to excluded peers with sufficient score
#2645 Rate limiting using token buckets
#2688 Move vote generator calls into election code
#2673 Epoch open blocks should have corresponding pending entries
#2692 Wrapper for RPC worker tasks
#2693 Move excluded_peers to network
#2690 Work version parameter in default_difficulty and use it in more places
#2680 Delay wallet work caching to allow using lower difficulty on demand
#2686 Improve automatic frontiers confirmation
#2627 Optimize vote post-processing operations
#2672 Refactor work thresholds as nano::work_thresholds
#2666 Delay voting for non-priority elections under saturation
#2676 Optimize mutex access when adding blocks to block processor
#2603 Remove peers with different genesis block or invalid telemetry signature
#2505 Directed block broadcasting for long elections
#2610 Remove telemetry message versions
#2662 Move all request aggregator operations out of the mutex hold scope
#2663 Check if a vote is for a recently confirmed block
#2638 Definitions for work thresholds with epoch_2
#2618 Sign telemetry messages
#2665 Output current function in assert diagnostics
#2661 Increase minimum time to log block processing
#2625 Improve confirmation consistency
#2631 Delay inactive/gap cache bootstrap start for 30 seconds
#2570 Parallelize state block signature verification with block processor
#2653 Include requesting telemetry metrics from temporary channels
#2649 Erase representatives with full queues when adding to confirmation solicitor
#2643 Network duplicate filter for publish messages
#2641 Increase active elections capacity with periodic full checks
#2646 Bandwidth considerations following election refactor
#2581 Use attempts list for TCP channels
#2640 Read transaction scope in active
#2604 Update adjusted difficulty in batches
#2626 Improve --debug_profile_bootstrap performance
#2620 Use the sideband when available in ledger.is_send
#2614 Simplify request aggregator mutex lock behavior
#2596 Attach sideband to block
#2616 Update preconfigured_peers comment regarding port
#2598 Simplify telemetry data processing
#2608 Lock before stopping when notifying other threads
#2605 Utility: nano::optional_ptr
#2601 Block difficulty and work validation cleanup
#2549 Aggressive flooding for local blocks
#2602 Don't use active mutex lock during confirmation solicitor.prepare ()
#2600 Reduce active mutex locking with election winner details
#2577 Minimize work validation calls
#2599 Block work version
#2590 Remove dropped_election_cache in preparation for election refactor.
#2589 Reworking confirmation_height.dependent_election test
#2592 [RocksDB] Limit write locks to necessary tables
#2573 Add peer timestamp to telemetry responses
#2585 Remove vote cache & generate new vote if election winner is changed
#2568 Output stacktrace with custom debug assert
#2583 warnings: Remove some unused locals and captures
#2534 Log stable filename
#2574 Add tests for vote_processor
#2544 Use a different confirmation height algorithm when ledger is almost fully cemented
#2572 Move back timer comments to header
#2567 Add GSL-style narrow_cast
#2559 Buffer drop policies
#2571 Use only the necessary protocols in UPnP
#2557 Add launch flag --disable_block_processor_unchecked_deletion
#2542 Separate inactive votes cache from gap cache
#2551 Return created election when adding to active_transactions
#2554 [ASAN] Access node through a weak_ptr on distributed_work dtor
#2552 Encapsulating election::confirmed so its implementation can vary.
#2548 Add wallet-processed block to work watcher via the block processor
#2518 Active_transactions updates blocks when updating difficulty.
#2543 Probabilistic network packet filter
#2521 Poll all nodes, remove outliers, ddos protection & amend RPC response with endpoint
#2541 Handle legacy confirm_req using the aggregator
#2531 Bounded memory and redesign in the confirmation height processor
#2536 Cache hash for multiple block->hash () calls
#2512 Cache genesis block hash in ledger constants
#2528 Improve initial TCP server keepalive
#2524 Extend telemetry data with more node versioning details
#2522 Optionally disable data in responses to telemetry requests with CLI option
#2468 Publish prototype
#2511 Cache account count
#2513 Avoid long read transactions for bootstrap
#2459 Publish cleanup
#2507 Adjust request aggregator stats
#2497 Vote replay in crawler
#2506 Clear peers and online weight after 1 week of inactivity
#2509 Refresh mutex lock after some consecutive requests without generation
#2504 Reinstate election request limit on the confirmation solicitor
#2501 Bounded request aggregator
#2464 Don't bind to UDP socket with --disable_udp flag
#2498 Emplacing wherever possible and other misc enhancements
#2482 Rep crawler cleanup
#2485 Request aggregator
#2437 Change processed blocks factor for requeued pulls
#2475 Remove unnecessary lock requirement in active_transactions::lock.
#2432 Generated votes cache size increase and upper bound
#2470 Use node reference instead of system.nodes[n] in unit tests more often
#2474 Use a strand in distributed_work
#2463 Adding forked votes to inactive vote cache.
#2452 Confirmation solicitor
#2449 Some code cleanup
#2458 Cache unchecked count
#2399 Add HOST header to distributed work request
#2448 Erase inactive votes cache after election stop / finish
#2447 Remove rolled back blocks list
#2455 New CLI command to generate a crash report
#2454 Global bandwidth limiter
#2453 Remove unused function
#2436 Socket buffer size error code
#2430 Improve uses of boost multi_index_container
#2428 Remove raw new operator used with smart pointers
#2425 Improve build times
#2388 Allow simultaneous test runs
#2398 Improve block deletion and RocksDB deletion in general

Build, Test, Automation, & Chores

Pull Request Title
#2803 add label "logging" to Developer/Debug Options Sections
#2789 Epoch2 signer
#2792 update bundled FindBoost.cmake
#2790 use full cache for PR's requesting modules not currently specified in…
#2786 [TSAN] Fix off-by-one in socket.drop_policy test
#2783 enable shared boost for tests
#2779 Set boost min to 1.69
#2760 Fix intermittent failure in test wallet.work_cache_delayed
#2757 [TSAN] race for system in test websocket.bootstrap_exited
#2750 Fix network.tcp_no_connect_excluded_peers test failure
#2748 Fix minor test-specific intermittent failures
#2743 Fix node.fork_invalid_block_signature intermittent failures, re-enable on windows CI
#2745 Fix intermittently failing conflicts.adjusted_multiplier test
#2742 Fix system.generate_send_new intermittent failures
#2739 Fix rpc.wallet_history failures
#2738 Fix intermittent node_telemetry.remove_peer_different_genesis test
#2737 Fix intermittently failing rpc.confirmation_height_currently_processing test
#2735 Allow starting more that max_peers_per_ip test nodes
#2732 record_rep_weights to py3
#2722 changelog_generator refactored as changelog.py
#2717 Fix logic in active_transactions.prioritize_chains test
#2611 Preparation for building with shared boost
#2698 [TSAN] start_time data race in bootstrap_client
#2700 Add Security Policy file
#2708 Fix failure in ledger.work_validation due to random work being above threshold
#2712 Add node sequence for tests
#2711 [TSAN] lock order inversion in active transactions / wallet
#2699 Fix qt tests failing to click radio buttons
#2697 updates for fuzzer
#2695 Fix qt test wallet.seed_work_generation
#2687 set timeout to 1hr to catch tests that hang
#2682 Fix intermittent failure in active_transactions.confirmation_consistency
#2677 Fix intermittent wallet.work_watcher_update failure
#2670 clang included now
#2660 typo on windows sha256 Out-File
#2656 Fix node.aggressive_flooding
#2655 Update tick count in timer::update
#2647 gather sha256 hashes of artifacts and upload to s3 with artifacts
#2632 Fix request_aggregator unit tests
#2636 split docker artifacts to separate job
#2633 Add ASSERT_TIMELY
#2630 Make network.replace_port more robust under tsan
#2628 Make confirmation_solicitor.batches more robust under tsan
#2615 tsan fix: rpc.wallet_destroy
#2624 confirmation_height.modified_chain test fails on a non-debug build
#2621 Fix confirmation_height.gap_live intermittent test failure
#2623 [RocksDB] Tests not reading account count from store correctly
#2622 Host qt assets on s3
#2617 update url for sourceforge
#2612 Fix intermittent send_node_id_handshake unit test failures
#2607 CMakeLists backwards compatibility
#2597 Use C++17 locally, C++14 on CI
#2595 Fix rpc telemetry test timestamps
#2580 Improve confirmation_solicitor.batches test
#2587 [TSAN] vote_processor.flush test
#2586 [TSAN] confirmation_height.cemented_gap_below_receive test
#2584 tsan: race in telemetry::ongoing_single_request_cleanup
#2576 Fix intermittent node telemetry tests with tsan/valgrind
#2556 Update --debug_profile_bootstrap CLI test
#2564 Update --debug_profile_process CLI test
#2561 Disable node.fork_open_flip test on Windows actions
#2550 guard policy setting by version checks
#2547 BOOST_1.69
#2538 ASAN error with database transaction tracker json serialization
#2537 Update beta network bootstrap weights for v21, cutoff 7M
#2525 Define GCC sanitizers builds
#2523 Fuzz account, hex, dec and endpoint parsing
#2520 update fuzz_buffer
#2496 Buffer parser fuzzing
#2517 unstable tests on actions for windows
#2510 Fix bootstrap_exited segfault on macos
#2508 Update bootstrap tests to disable frontiers confirmation
#2503 update vc_redist url
#2500 Extend distributed_work.peer_malicious test to fix intermittent failure
#2492 remove clang-format guards as not needed on 8 or prior
#2495 A couple of clang static analysis fixes
#2491 Formatting fix so clang-format v8 applies cleanly
#2490 use clang-format-8
#2403 The start of CLI tests
#2486 use v1.1 for actions-aws-cli
#2476 Beta network reset #2
#2478 Add clang-format test back in
#2480 Fix some formatting issues on develop
#2479 Fix thread worker unit test so it handles repeat runs
#2465 Fixing some intermittent failures in unit tests, and some cleanup
#2457 Allow core_test retries until 7-1-2020 00:00(gmt)
#2450 use commit hash instead of tag for security
#2445 TRAVIS_TAG set for deploy-docker.sh
#2443 updates to README badging to reflect changes to actions
#2442 Migrate Travis and Appveyor into actions
#2433 Fix qt wallet build on Windows
#2426 Fix rpc_test build
#2411 Fix active_transactions not doing any confirmation request in tests


Additional binary releases:


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

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

Below are the sha256 sum hashes for version 21.0 Athena
Signature Verification can be run against argakiig.asc in source repo (etc/gpg/)

0d3c1a53d6fd893a4b2197d6e4507b9eb5f830cb9bc42e940762cc875c629067 *nano-21.0.tar.gz
7612211b6685e8f46e4d764f8e48bb346d4bd386ef5f6748bee7e1980f87a954 *nano-21.0.tar.gz.sha256
bb4b627996546063104d9ff6c7892c214ae3a124943c426ae008c1fd0371ee9f *nanocurrency-21.0-20.el7.src.rpm
854aa2a542e031c56b5cb4baf05eb7c27d81caee69390892fb37601952285375 *nanocurrency-21.0-20.el7.src.rpm.sha256
e63cbca8f4e4a5b22e277ba0c782d95aa3fca496501bde7b1df6206cc3303759 *nanocurrency-21.0-20.el7.x86_64.rpm
181b02c047f943d4fa575232034c42d54d1d86370686666dabc48c5e182eddef *nanocurrency-21.0-20.el7.x86_64.rpm.sha256
111e80245122e86cac9b1d2bf45ba9cf4725deee444c254b66ef08f3a6bff5ce *nano-node-V21.0.1-Linux.deb
d9a8244c2940fc7f6617bb49b1b03b94f440c6a9165626d344733190e03e1833 *nano-node-V21.0.1-Linux.deb.sha256
7dcdb17b2dbd7459e3a616d9f6aa9ee42e02decc93bc2c1cf89cb8284f1ee055 *nano-node-V21.0.1-Linux.tar.bz2
8d0b4221279ba7cdba913637ead9f36bd1a5cdd8e2dfaafd1fe1ae66ba8b92fa *nano-node-V21.0.1-Linux.tar.bz2.sha256
d837baf8a960db6a0ee3d44263f0cd8e5a8df21cbcacd7a05c4e9c673ff766b8 *nano-node-V21.0-Darwin.dmg
0c4344cc805535d82e86f2ac1dc81afbb5604dc613fcef8cb028e7e8846509c4 *nano-node-V21.0-Darwin.dmg.sha256
b27d1be9709672d12f170646122951bbfb73ef53a98bc3b0d71794a1dac50929 *nano-node-V21.0-win64.exe
e3a3988947c2006d133ee8192e1831b9242f00658f4547e75b4c50d133c6c69b *nano-node-V21.0-win64.exe.sha256
2cfecfe3266b8aea96452fb90c7a280a8909253729c419ed0cd283d7e4afa104 *nano-node-V21.0-win64.zip
3a2fa206a2edb9920b9431055fae2fa746a00fcf7735d253cbc501f7e354fadf *nano-node-V21.0-win64.zip.sha256
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEc+pdEgPPsADHbxJjyW2zlQ3kDroFAl7pDsYACgkQyW2zlQ3k
DrqiBQgArUy+LiFIvu4b4ut6cbEyoELCuh4MdKJAFwl6k2wnH0aFUwBcXPe/phcw
N4woEND9f1e+I2U9Df9s8U6rQZpb8NXGrptVd+NPsc2Gs4OcjUx8iKd7TeiIoONa
hGe23tVDW18YszrOxtl2+AJH9La02lxDunJ0htYmPemLqsVV24QO43elfyEi6asg
xKsvWt3ihghQCgisMemFjc7IBTGReIAODoos/fVDD/nqlhRPQMuwE7G8u5R/7Pr/
SxJMxlmesE40HhEcu2WfM8fXoH8ecnykb0qKpHrSB5bvieIodzoZUe1YxrXTcMs+
jdeM1M2ViMSucGgABfTLJ9NXgPV4Ew==
=wqQH
-----END PGP SIGNATURE-----

V21.0RC1

3 years ago

CHANGELOG

Release V21.0RC1

Full Changelog

Major Changes

Pull Request Title
#2545 Sideband upgrade using epoch byte for is_send/receive/epoch
#2487 IPC 2.0
#2535 Election state refactor
#2446 Node telemetry

Protocol Changes

Pull Request Title
#2667 Validate work difficulty during ledger processing
#2683 Increase minimum supported protocol version to 17
#2701 Dont peer with v20 and earlier after epoch 2 block is seen

Node Configuration Updates

Pull Request Title
#2588 LMDB sync options and new config settings
#2724 Clarify nano_pow_server configs are not in use
#2727 Safely read override values when no config file is present
#2787 Double default bandwidth limit config

RPC Updates

Pull Request Title
#2689 BREAKING Change response for RPC work_validate with implicit difficulty
#2671 BREAKING Handle epoch_2 work thresholds in the wallet and most RPCs
#2499 BREAKING Bootstrap attempts and connections/pulls separation
#2560 Request telemetry data for local node
#2569 Work version concept
#2619 Election refactor follow up
#2684 Epoch 2 started flag in ledger cache
#2703 Difficulty calculation for RPC block_create
#2704 Asynchronous epoch upgrade RPC
#2718 Epoch upgrader as an async task
#2752 Result difficulty in RPC block_create
#2753 Flood difficulty updates from RPC process
#2754 Optional "block" given to RPC "work_generate" to infer difficulty
#2804 Make RPC name consistent with stats, websocket & protocol naming for telemetry

IPC Updates

Pull Request Title
#2644 Add Flatbuffers schema evolution rules to IDL

Websocket Updates

Pull Request Title
#2562 Fake websocket client to test the node websocket server
#2566 Incremental options for ws confirmation subscription
#2634 Add telemetry response websocket callbacks
#2729 Websocket new_unconfirmed_block
#2734 Websocket notification for RPC work_generate without peers
#2774 Enable WebSocket server by default in Docker image

CLI Updates

Pull Request Title
#2579 Configurable inactive votes cache size
#2575 Add flag for vote_processor capacity and tests
#2606 Launch flag --allow_bootstrap_peers_duplicates
#2594 Allow CLI --config values for inactive node tests
#2637 Read config file for CLI commands
#2707 Add difficulty and multiplier to CLI work generation commands
#2719 CLI compare_rep_weights to compare ledger and hardcoded weights
#2725 CLI command for a frontier confirmation speed test
#2749 Multithreaded --validate_blocks
#2769 Deprecate --batch_size/debug_mass_acitvity CLI options
#2794 CLI commands incorrect ledger cache setup

Deprecation/Removal

Pull Request Title
#2555 Disable UDP by default

Developer/Debug Options

Pull Request Title
#2540 Lower beta network work threshold to 1/64x base
#2591 friendly backtraces in actions
#2731 New stats for elections
#2746 Fix Xcode warnings
#2762 Add cemented block log timings
#2791 Fix insufficient work logging
#2793 Add logging section to rpc config to optionally disable logging
#2802 Clarify election difficulty update log message

Fixed Bugs

Pull Request Title
#2527 Allow rep crawler targets with ephemeral ports
#2530 Remove representatives with closed channels
#2546 Restore max block processor signature verification batch size
#2553 Inactive votes cache confirmation status
#2563 Fix election calling confirm_if_quorum after destruction
#2582 Check against op aborted on secure rpc acceptor shutdown
#2593 Start vote generator for changed winner only if voting is enabled
#2609 [RocksDB] Only delete from unchecked when existence is guaranteed
#2648 Fix wrong number of representatives in confirmation solicitor
#2650 Telemetry results not correctly utilising cache timeouts
#2659 Signature checker blocking fix
#2675 Prevent getting stuck in block processor flush
#2674 Modify inactive cache to prevent multiple insertions for confirmed
#2652 Consistently add conflicting block to election
#2696 Remove assert if a delayed work cache request is not found
#2651 Using relaxed atomics for counts not involved in control flow in conf height processor
#2706 Prevent more rare deadlocks due to races for condition variables
#2664 Incorrect cemented count during conf height algo transition
#2723 Some confirmed block observer callbacks being missed
#2733 Remove invalid uses of epoch_1 work threshold
#2744 Tally votes on conflicting block with no inactive votes
#2766 Votes from local representatives should not be flooded on processing
#2767 Fix previous balance in active_transaction::insert ()
#2781 Union std::hash coverage
#2782 Stuck uncemented blocks after heavy load
#2796 Retrieve block when activating dependencies
#2799 Slow test fixes
#2800 Fix open blocks not getting activated through dependencies

Implemented Enhancements

Pull Request Title
#2522 Optionally disable data in responses to telemetry requests with CLI option
#2518 Active_transactions updates blocks when updating difficulty.
#2524 Extend telemetry data with more node versioning details
#2528 Improve initial TCP server keepalive
#2512 Cache genesis block hash in ledger constants
#2536 Cache hash for multiple block->hash () calls
#2531 Bounded memory and redesign in the confirmation height processor
#2541 Handle legacy confirm_req using the aggregator
#2521 Poll all nodes, remove outliers, ddos protection & amend RPC response with endpoint
#2543 Probabilistic network packet filter
#2552 Encapsulating election::confirmed so its implementation can vary.
#2548 Add wallet-processed block to work watcher via the block processor
#2554 [ASAN] Access node through a weak_ptr on distributed_work dtor
#2551 Return created election when adding to active_transactions
#2542 Separate inactive votes cache from gap cache
#2557 Add launch flag --disable_block_processor_unchecked_deletion
#2571 Use only the necessary protocols in UPnP
#2559 Buffer drop policies
#2567 Add GSL-style narrow_cast
#2572 Move back timer comments to header
#2544 Use a different confirmation height algorithm when ledger is almost fully cemented
#2574 Add tests for vote_processor
#2534 Log stable filename
#2583 warnings: Remove some unused locals and captures
#2568 Output stacktrace with custom debug assert
#2585 Remove vote cache & generate new vote if election winner is changed
#2573 Add peer timestamp to telemetry responses
#2592 [RocksDB] Limit write locks to necessary tables
#2589 Reworking confirmation_height.dependent_election test
#2590 Remove dropped_election_cache in preparation for election refactor.
#2599 Block work version
#2577 Minimize work validation calls
#2600 Reduce active mutex locking with election winner details
#2602 Don't use active mutex lock during confirmation solicitor.prepare ()
#2549 Aggressive flooding for local blocks
#2601 Block difficulty and work validation cleanup
#2605 Utility: nano::optional_ptr
#2608 Lock before stopping when notifying other threads
#2598 Simplify telemetry data processing
#2616 Update preconfigured_peers comment regarding port
#2596 Attach sideband to block
#2614 Simplify request aggregator mutex lock behavior
#2620 Use the sideband when available in ledger.is_send
#2626 Improve --debug_profile_bootstrap performance
#2604 Update adjusted difficulty in batches
#2640 Read transaction scope in active
#2581 Use attempts list for TCP channels
#2646 Bandwidth considerations following election refactor
#2641 Increase active elections capacity with periodic full checks
#2643 Network duplicate filter for publish messages
#2649 Erase representatives with full queues when adding to confirmation solicitor
#2653 Include requesting telemetry metrics from temporary channels
#2570 Parallelize state block signature verification with block processor
#2631 Delay inactive/gap cache bootstrap start for 30 seconds
#2625 Improve confirmation consistency
#2661 Increase minimum time to log block processing
#2665 Output current function in assert diagnostics
#2618 Sign telemetry messages
#2638 Definitions for work thresholds with epoch_2
#2663 Check if a vote is for a recently confirmed block
#2662 Move all request aggregator operations out of the mutex hold scope
#2610 Remove telemetry message versions
#2505 Directed block broadcasting for long elections
#2603 Remove peers with different genesis block or invalid telemetry signature
#2676 Optimize mutex access when adding blocks to block processor
#2666 Delay voting for non-priority elections under saturation
#2672 Refactor work thresholds as nano::work_thresholds
#2627 Optimize vote post-processing operations
#2686 Improve automatic frontiers confirmation
#2680 Delay wallet work caching to allow using lower difficulty on demand
#2690 Work version parameter in default_difficulty and use it in more places
#2693 Move excluded_peers to network
#2692 Wrapper for RPC worker tasks
#2673 Epoch open blocks should have corresponding pending entries
#2688 Move vote generator calls into election code
#2645 Rate limiting using token buckets
#2694 Prevent reconnecting to excluded peers with sufficient score
#2691 Active difficulty normalization
#2705 Ensure max_work_generate_difficulty is updated when changing the default difficulty
#2669 Improve telemetry request/response under load
#2702 Vote generator session for batch insertions
#2709 Ensure propagation and removal for the work watcher
#2710 Difficulty updates for elections with multiple blocks
#2714 Improve batching of writes in unbounded conf height processor
#2613 Move TCP messages processing to network threads
#2720 Separate election state for the broadcasting block fallback
#2721 Remove confirmation requests for a new representative
#2716 Release write_guard lock when no longer required
#2715 Allow restarting elections with higher work
#2728 Add active difficulty to node telemetry
#2730 Use a multi-index container to allow fifo queue for pending confirmations
#2751 Serialize telemetry as big endian
#2759 Perform wallet representative action without holding any mutex
#2772 Republishing a vote to principal representatives
#2768 Force node exit if ledger inconsistency in the conf height processor is found
#2565 Push front blocks from unchecked
#2784 Confirmation requests and broadcasts if available vote is for a conflicting block
#2778 Bisected election backtracking
#2797 Check executable paths in load_test
#2785 Sequential voting
#2801 Sequential elections

Build, Test, Automation, & Chores

Pull Request Title
#2525 Define GCC sanitizers builds
#2537 Update beta network bootstrap weights for v21, cutoff 7M
#2538 ASAN error with database transaction tracker json serialization
#2547 BOOST_1.69
#2550 guard policy setting by version checks
#2561 Disable node.fork_open_flip test on Windows actions
#2564 Update --debug_profile_process CLI test
#2556 Update --debug_profile_bootstrap CLI test
#2576 Fix intermittent node telemetry tests with tsan/valgrind
#2584 tsan: race in telemetry::ongoing_single_request_cleanup
#2586 [TSAN] confirmation_height.cemented_gap_below_receive test
#2587 [TSAN] vote_processor.flush test
#2580 Improve confirmation_solicitor.batches test
#2595 Fix rpc telemetry test timestamps
#2597 Use C++17 locally, C++14 on CI
#2607 CMakeLists backwards compatibility
#2612 Fix intermittent send_node_id_handshake unit test failures
#2617 update url for sourceforge
#2622 Host qt assets on s3
#2623 [RocksDB] Tests not reading account count from store correctly
#2621 Fix confirmation_height.gap_live intermittent test failure
#2624 confirmation_height.modified_chain test fails on a non-debug build
#2615 tsan fix: rpc.wallet_destroy
#2628 Make confirmation_solicitor.batches more robust under tsan
#2630 Make network.replace_port more robust under tsan
#2633 Add ASSERT_TIMELY
#2636 split docker artifacts to separate job
#2632 Fix request_aggregator unit tests
#2647 gather sha256 hashes of artifacts and upload to s3 with artifacts
#2655 Update tick count in timer::update
#2656 Fix node.aggressive_flooding
#2660 typo on windows sha256 Out-File
#2670 clang included now
#2677 Fix intermittent wallet.work_watcher_update failure
#2682 Fix intermittent failure in active_transactions.confirmation_consistency
#2687 set timeout to 1hr to catch tests that hang
#2695 Fix qt test wallet.seed_work_generation
#2697 updates for fuzzer
#2699 Fix qt tests failing to click radio buttons
#2711 [TSAN] lock order inversion in active transactions / wallet
#2712 Add node sequence for tests
#2708 Fix failure in ledger.work_validation due to random work being above threshold
#2700 Add Security Policy file
#2698 [TSAN] start_time data race in bootstrap_client
#2611 Preparation for building with shared boost
#2717 Fix logic in active_transactions.prioritize_chains test
#2722 changelog_generator refactored as changelog.py
#2732 record_rep_weights to py3
#2735 Allow starting more that max_peers_per_ip test nodes
#2737 Fix intermittently failing rpc.confirmation_height_currently_processing test
#2738 Fix intermittent node_telemetry.remove_peer_different_genesis test
#2739 Fix rpc.wallet_history failures
#2742 Fix system.generate_send_new intermittent failures
#2745 Fix intermittently failing conflicts.adjusted_multiplier test
#2743 Fix node.fork_invalid_block_signature intermittent failures, re-enable on windows CI
#2748 Fix minor test-specific intermittent failures
#2750 Fix network.tcp_no_connect_excluded_peers test failure
#2757 [TSAN] race for system in test websocket.bootstrap_exited
#2760 Fix intermittent failure in test wallet.work_cache_delayed
#2779 Set boost min to 1.69
#2783 enable shared boost for tests
#2786 [TSAN] Fix off-by-one in socket.drop_policy test
#2790 use full cache for PR's requesting modules not currently specified in…
#2792 update bundled FindBoost.cmake
#2789 Epoch2 signer
#2803 add label "logging" to Developer/Debug Options Sections

V20.0

4 years ago

Change Log

Release V20.0 (2019-11-12)

Full Changelog

Major Changes:

  • Add ability to start pow server as child process [#2331]
  • Support epoch 2 [#2310]
  • Active elections loop tuning [#2306]
  • TOML config file support and migration [#2221]
  • Adds RocksDB support [#2197]
  • RPC publish optional work_watch flag to add to work_watcher [#2168]

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:

  • Improve bootstrap for accounts with public key = existing block hash [#2400]
  • Improve bootstrap frontiers confirmation [#2394]
  • Lazy bootstrap memory usage improvements [#2385]
  • Vacuum after upgrade [#2370]
  • Use std::condition_variable_any with timed locking [#2365]
  • Lazy bootstrap retry limit [#2362]
  • 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]
  • Add ability to start pow server as child process [#2331]
  • 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]
  • Fixing some unused variable warnings. [#2285]
  • 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]
  • Adds RocksDB support [#2197]
  • 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]
  • RPC publish optional work_watch flag to add to work_watcher [#2168]
  • 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]

Fixed bugs:

  • Update live bootstrap_weights [#2404]
  • Node id handshake container not protected during push [#2402]
  • Warn if control is enabled with non-local bind address [#2401]
  • [ASAN] UPNP url memory leak [#2397]
  • Updates to TOML generated docs [#2396]
  • update dockerfile to use cached rocksdb [#2395]
  • [TSAN] Data race in active_difficulty.recalculate_work test [#2393]
  • Fix occasional failures for core_test.distributed_work* tests [#2392]
  • use cached build artifacts [#2391]
  • Incorrect total memtable size used with RocksDB [#2390]
  • [Valgrind] Various uninitialized data accesses [#2389]
  • Fix early return preventing mutex lock in attempt_restart_check [#2387]
  • Prevent concurrent bootstrap populate_connections () [#2386]
  • [Valgrind] Uninitialized memory in distributed_work.no_peers test [#2384]
  • Add mutex lock to RPC bootstrap_status [#2383]
  • Fix lazy mutex unlock via mutex [#2382]
  • Target osx 10.12 deployment [#2381]
  • RPC block_create fixes [#2380]
  • [ASAN] memory leak between tcp channels and sockets [#2378]
  • Add error handling to RPC process without json_block [#2377]
  • Stop work generation before stopping threads waiting for work [#2375]
  • regex check for beginning of string -v allowing --vacuum to fall through [#2374]
  • Fix link ordering issue in core_test (ubuntu/boost 1.71) [#2373]
  • allow for updated TARGET usage by updating cmake in nano-env:base [#2372]
  • Adjust single-hash confirm requests [#2371]
  • Improve distributed_work stopping with ongoing worker tasks [#2369]
  • Fix non-restarting timer in vote processor log [#2368]
  • Badge URLs [#2367]
  • Do not increase pull attempts counter after network errors [#2366]
  • Latest release, latest tag and discord badges [#2364]
  • 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]
  • Secondary list of peers for generating work [#2330]
  • 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]
  • Quality of life updates for distributed work [#2308]
  • ws keepalive [#2307]
  • Active elections loop tuning [#2306]
  • 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]
  • TOML config file support and migration [#2221]
  • 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]
  • Update node ID to use node_ instead of nano_ prefix [#2181]
  • 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]
  • 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]

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.0
Signature verification can be done against the signature for argakiig in the source
code repository (etc/gpg/)
f762b74b209aae4d0e8b41b87cb39224c58600bfe693d8c4b417a70ed32e8a7b *nano-20.0.tar.gz
c4bd90aba5ce18f69f2335a6e268e8f0708b83cd1ec1ce1ad1ecb0846518ec95 *nanocurrency-20.0-19.el7.src.rpm
111b3540e6508267d77e3a042e6195057c02c00928ebf985fd6bd9bb74f22db2 *nanocurrency-20.0-19.el7.x86_64.rpm
977e07268f9da89debfa4dba0ff6575ac6d8379d5d9cf9d6e29adc00d607e176 *nanocurrency-debuginfo-20.0-19.el7.x86_64.rpm
b770c78e7bbce29604b9d83edf36498319b3d568f1d1a9132acdb004f3e20ce4 *nano-node-V20.0-Darwin.dmg
ab03b67acf7114fce73a8ff0582bf375f959311b4b8b85938164149e21dce5a4 *nano-node-V20.0-Linux.tar
353010b60631ee7af898792f5d8ef6d19330284497985effc7985fa3bec308e3 *nano-node-V20.0-win64.exe
92f730c20e11ee7d12c6c9c6f5b68b2d25c8c491a797a74bf6aea3500db54325 *nano-node-V20.0-win64.zip
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEiV3g3/hlCzeiBTTjgERoJPn9OloFAl3LWKcACgkQgERoJPn9
OlqJ7wgAjrSm5/I1lhriFkPsetigaoZnF3SWf/nNE+9neiXoSzMl1J0z5b1eA8cT
XolvkiBoYsBuRKbC3JuKSoFlv84OePKCJZvuhxgApCNdKw7C6g1KQ/TQnOoopAY6
Q+fzUSMKmX5u7wcRD/0f4Y1vgdqoopj6eILpzw3zvOoNGeX0oMwpOPkJp9xkRVxL
AcUUkpy6uz64SdjCMuLxMBSjmZaNr2M7nsOPQvonR7trjjd833qLhCyr808PfLuW
88R3XgMc+/wICVSPOVkV2BNZ+Q03juTK4vi93si82rPm/+MnYAtRRDth5O6OtkBL
lq5zoRIjGvUtPpHvn/Q47ck27KZR9g==
=dCo6
-----END PGP SIGNATURE-----

V20.0RC3

4 years ago

Change Log

Release V20.0RC3 (2019-11-08)

Full Changelog

Implemented enhancements:

  • Improve bootstrap frontiers confirmation [#2394]
  • Lazy bootstrap memory usage improvements [#2385]

Fixed bugs:

  • Update dockerfile to use cached rocksdb [#2395]
  • [TSAN] Data race in active_difficulty.recalculate_work test [#2393]
  • Fix occasional failures for core_test.distributed_work* tests [#2392]
  • use cached build artifacts [#2391]
  • Incorrect total memtable size used with RocksDB [#2390]
  • [Valgrind] Various uninitialized data accesses [#2389]
  • Fix early return preventing mutex lock in attempt_restart_check [#2387]
  • Prevent concurrent bootstrap populate_connections () [#2386]
  • [Valgrind] Uninitialized memory in distributed_work.no_peers test [#2384]
  • Add mutex lock to RPC bootstrap_status [#2383]
  • Fix lazy mutex unlock via mutex [#2382]
  • Target osx 10.12 deployment [#2381]
  • RPC block_create fixes [#2380]
  • [ASAN] memory leak between tcp channels and sockets [#2378]

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.0RC3
Signature verification can be done against the signature for argakiig in the source
code repository (etc/gpg/)

9f9d050e126889d3315423102517878f7a9c32c68eb7396b1451ecc9c1b00f42 *nano-20.0RC3.tar.gz
e8878f70be68badec571491a0071647885f5718bb356d57ebca59d14c7c5a946 *nanocurrency-beta-20.0RC3-18.el7.src.rpm
854b42d35efe525ee5e5dc9841d4c8a38919da69aefb1b0df87fa43006c059dc *nanocurrency-beta-20.0RC3-18.el7.x86_64.rpm
426c3409022f6dd721e4db1d7b63012038b418ea7991522f9babdde8ed443a5c *nanocurrency-beta-debuginfo-20.0RC3-18.el7.x86_64.rpm
dc8a1d6b483f40d7da4383f2919c80c81f2e1581bd85f84e7246ba67e7ee1a69 *nano-node-V20.0RC3-Darwin.dmg
14622f4c94cc68640e3cc60d2dedc85ab40f7ead990b777247a3b73b6a0892e7 *nano-node-V20.0RC3-Linux.tar.bz2
7de725e5299345e07e444dc2e17b28ad0c9bd2992615a3361d7871f1b67a1428 *nano-node-V20.0RC3-win64.exe
936f9f500def703b34b2386f4b50a79e905e973cd2b20e2b2945b3cb4106de64 *nano-node-V20.0RC3-win64.zip
-----BEGIN PGP SIGNATURE-----

iQEyBAEBCAAdFiEEiV3g3/hlCzeiBTTjgERoJPn9OloFAl3F4jIACgkQgERoJPn9
Olp/0Qf4jeshaWLlNpZ97Oyct1hQwzBzOZxczKdDtBLh2Pe49Qw6Edyw+01140T2
XUM+ZUjLGaJiz9m/4srY9CO6TahYSDITl9Kk/KJ1N0rwGaqFTW7pFnisgcfkASJ7
yO2LomBuZ+S6XDsUqThwjdVxayg6qxUSzCQ7X1MNwOrKlGB5wcUTdhHR9eqgYPwQ
UqRK+nJTDYta/ccFuqHnZRr/x5gm9WHtijF/76pkSpuj+dGDOFz9lL5CJUSMxPxV
dKDcxcM9hgLIs/13rmev/L29FGSp1dpi3caQbpwZwLwxqL2SX9Sbkjtt7LZHqbIi
jKEefNk92N6SnykmiHJUjl4dkBGE
=3QFc
-----END PGP SIGNATURE-----

V20.0RC2

4 years ago

Change Log

Release V20.0RC2 (2019-11-01)

Full Changelog

Implemented enhancements:

  • Vacuum after upgrade [#2370]
  • Use std::condition_variable_any with timed locking [#2365]
  • Lazy bootstrap retry limit [#2362]

Fixed bugs:

  • Add error handling to RPC process without json_block [#2377]
  • Stop work generation before stopping threads waiting for work [#2375]
  • regex check for beginning of string -v allowing --vacuum to fall through [#2374]
  • Fix link ordering issue in core_test (ubuntu/boost 1.71) [#2373]
  • allow for updated TARGET usage by updating cmake in nano-env:base [#2372]
  • Adjust single-hash confirm requests [#2371]
  • Improve distributed_work stopping with ongoing worker tasks [#2369]
  • Fix non-restarting timer in vote processor log [#2368]
  • Badge URLs [#2367]
  • Do not increase pull attempts counter after network errors [#2366]
  • Latest release, latest tag and discord badges [#2364]

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.0RC2
Signature verification can be done against the signature for argakiig in the source
code repository (etc/gpg/)

fa5b647b585959ac17ef278e2860732c7fa7114f49de5ed2eff34f8c3ddefd9b *nano-20.0RC2.tar.gz
21b7dca5079c6f85c318c99e598bfadada6ca9156e30de435117338b0db447be *nanocurrency-beta-20.0RC2-17.el7.src.rpm
9d4dde900f84ad88895ee35a31aa560f73995aa5299c49ef672ed8a4be29031f *nanocurrency-beta-20.0RC2-17.el7.x86_64.rpm
40c3fc31f474923f5975ee24f8b470466e0f59216763f750eed06509fe76c3af *nano-node-V20.0RC2-Darwin.dmg
867d472fc85933b880746002a958dc9d5d04acce083fa728ef46243d223aa12b *nano-node-V20.0RC2-Linux.tar
ea1bfe84e4512c4aeef68ef787f49e652d4bb954485189fcb398189ed217a1f7 *nano-node-V20.0RC2-win64.exe
01c4ac1b67209ddf35d1487fa9717328bdf498206f2f91a7b253a265aa15f1fe *nano-node-V20.0RC2-win64.zip
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEiV3g3/hlCzeiBTTjgERoJPn9OloFAl28f1UACgkQgERoJPn9
Olr1UAf/duEm8bRHsBGFcpMJUX3tWw26MVz99vflr5yZy38TomHe9OMg6UDY6b/w
KNHVUbUkkV5ZioaTlpedKaTUVYq/olnP6zlgiSVyrph9DBUjS3mrtsKNdt/QjwXU
03+AmePGWXHrB/4vc3n1kt+NHaUA9hJdLr45jbkkIztN2xJX6eilst45/gsVeoR5
LBZ3vQjTgFfaTDeMoq2mrGvrr8kJHlrrvJ5H2NcbfVLmZe8ORirf465gR8Y6OUak
2Ydoxcxl7cd470dHm+WE0ovKK7+v6Mr4+1nCq3yqDhOTBRZeZMO0oExXc3PKNZ4X
TilwM5P01P9PhU9K09ieKffXPzHpeg==
=ENlY
-----END PGP SIGNATURE-----

V20.0RC1

4 years ago

Change Log

Release V20.0RC1 (2019-10-24)

Full Changelog

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