Nano Node Versions Save

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

V26.1

1 month ago

Build run: https://github.com/nanocurrency/nano-node/actions/runs/8048168703

What's Changed

Major improvements

Library updates

CI and Testing improvements

Cleanup

Miscellaneous

New Contributors

Full Changelog: https://github.com/nanocurrency/nano-node/compare/V25.1...V26.1

V25.1

9 months ago

Build run: https://github.com/nanocurrency/nano-node/actions/runs/5156809257

CHANGELOG

Release V25.1

Full Changelog

Fixed Bugs

Pull Request Title
#4240 Blockprocessor stall workaround

Build, Test, Automation, Cleanup & Chores

Pull Request Title
#4242 Bump Qt version to 5.15.2 for Windows builds

Other

Pull Request Title
#4243 Log hashes of build artifacts
#4245 Remove the call for signing.ps1 on Windows builds
#4244 Fix cpack on Windows
#4241 Remove assert for null block deserialization
Commit Title
fd07d15a Merge bump-rhel-compatibility branch

V25.0

10 months ago

CHANGELOG

Release V25.0

Full Changelog

Major Changes

Pull Request Title
#4158 Add the ascending bootstrap client
#4111 Optimistic elections

Node Configuration Updates

Pull Request Title
#4215 Bootstrap dynamic throttle
#4182 Add config classes for ascending bootstrap
#4163 Lowering block_processor max transaction duration
#4104 Add tip on optimizing cpu usage

RPC Updates

Pull Request Title
#4228 Quality improvements for accounts_balances RPC
#4223 QoL improvements for accounts_frontiers & accounts_representatives RPC
#4066 Return unopened accounts

CLI Updates

Pull Request Title
#4105 Remove the UDP channel implementation from the network
#4123 Fix missing peering port doc when running --generate_config node

Deprecation/Removal

Pull Request Title
#4219 Remove live updating bandwidth limits
#4142 Remove the stat types related to the removed UDP functionalities
#4141 Remove message buffer class and its manager class
#4127 Remove external boost references from CI build
#4107 Remove UDP test network.self_discard
#4043 Remove nano pow server

Ledger & Database

Pull Request Title
#4131 Add LMDB and RocksDB upgrades to v22: Remove unchecked table
#4216 Remove the unchecked table code from the store classes
#4028 Upgrading RocksDB to stock 7.8.3.

Fixed Bugs

Pull Request Title
#4230 Fix access without lock in active_transactions::confirm_block function
#4225 Fixes intermittent test failures in several RPC tests when querying setup blocks.
#4221 Converting legacy bootstrap shared_ptr's referencing nano::node to weak_ptr's
#4205 Add throttling functionality to the ascending bootstrapper
#4110 Bugfix: max counting had reversed polarity, it counted successes not fails
#4103 Fixes an issue where token_bucket::last_refill would update even if there were no tokens to add.
#4093 Fix race condition in unchecked_map
#4082 Fix processing_queue stop
#4080 Fix active_transactions stop
#4079 Fix hinted_scheduler stop
#4018 Specify whether bootstrap pull should start at block hash or account
#4019 Locking around read/write to peering_endpoint.

Implemented Enhancements

Pull Request Title
#4211 Convert node-wide request rate limiter to a per-channel outstanding request limiter.
#4202 Socket write queue fixes and improvements
#4192 Applies a number of cleanups to rpc tests.
#4164 Verify work inside blockprocessor
#4160 Decouple message deserializer from the TCP socket
#4159 Small processing_queue improvements
#4161 Internally check if the block processor needs to drop blocks.
#4151 Add stats for election_scheduler
#4149 Cleaning up stat counters for active_transactions.
#4148 Add unchecked_map stats
#4119 Refactor election vote
#4130 Remove requeuing of blocks with invalid signature
#4126 Avoid unnecessarily held lock in backlog_population
#4121 Add ledger::head_block query which returns the head block for a given account.
#4113 Fix magic enum slow compilation times
#4026 Telemetry refactor
#4094 Fix magic_enum range
#4090 Add start & stop to election_scheduler
#4087 Add ledger::pending_info as interface to access pending information
#4081 Add ledger::account_info as interface to access account information
#4078 Extract epoch upgrader out of node
#4065 Use 'magic_enum' library for static reflection for enums
#4074 Add include_only_confirmed option to rpc accounts_balances
#4068 Move websocket initialization code out of node constructor
#4062 Submodule2
#3999 Continuous backlog population
#4017 Updating to use c++20
#4030 Adding boost as a submodule rather than depending on external references.
#4022 Change election scheduler to consider previous balance
#4015 Unchecked map sequenced index

Build, Test, Automation, Cleanup & Chores

Pull Request Title
#4229 Update rep weights for V25.
#4220 Fix blake2 and argon2 building on Windows ARM
#4204 Small cleanup of threading related code
#4203 Fix thread names in nano::thread_pool
#4166 Migrate tests from the old message_parser to test the message_deserializer class
#4140 Move from boost spawn/yield coroutine on load_test to async callbacks
#4114 Fix bootstrap server thread name typo
#4091 Fix fork publish inactive
#4100 Introduce nano::test::start_election method
#4076 Extract common code for setting up unit test chains
#4073 Add comment for NANO_DEFAULT_PEER environment variable
#4067 Fix several sign comparison mismatches identified by msvc.
#4063 Removing WIN32_LEAN_AND_MEAN define from global project settings.
#4056 Increasing minimum required OSX version to 10.15
#4051 Fixing build error, linking load_test to boost_process.
#4049 Removed all unnecessary usings
#4045 Disambiguity of all the implemented locks
#4027 Updating cryptopp from 8.5.0 to 8.7.0
Commit Title
cff1dbde Connect handshake v2 messages to the node.
427fded3 Give messages v2 ability.
89baf79c Giving random_pool the ability to construct random-filled objects.
76dcdacc Clean up syn_cookies class and add syn_cookies::cookie method which gets the cookie associated with an endpoint and erases that cookie from this container.

V24.0

1 year ago

CHANGELOG

Release V24.0

Full Changelog

Protocol Changes

Pull Request Title
#3867 Bulk pull ascending flag

RPC Updates

Pull Request Title
#3860 Add populate_backlog rpc command
#3790 Changes the accounts_balances RPC to return per account results
#3791 Changes the accounts_frontiers RPC to return per account results
#3789 Changes the accounts_representatives RPC to return per account response
#3702 Add receive_hash option for the blocks_info RPC
#3753 Pending to receivable renames
#3700 Add optional offset parameter for the receivable RPC

Websocket Updates

Pull Request Title
#3851 Add started_elections topic to websockets
#3698 Add option to include sideband info of confirmed blocks in websocket messages
#3554 Introduce support for binding sockets to ports picked by the OS

CLI Updates

Pull Request Title
#3836 confirmation_height_clear cli account param

Deprecation/Removal

Pull Request Title
#3655 Remove json config code

Developer Wallet

Pull Request Title
#4000 Update qt.cpp to match block_count RPC & fix bug with pruned display
#3627 added cemented, full and pruned to nano_wallet gui
#3586 Update images for README and QT wallet to be new symbol

Developer/Debug Options

Pull Request Title
#3806 open_burn_account errors and comments
#3685 Add collect_container_info to election scheduler and prioritization
#3684 Impove election result logging
#3652 Remove incorrect debug_assert
#3582 Include election.confirmed outcome in log

Fixed Bugs

Pull Request Title
#4003 Fix missing return on non-void function
#4002 Fix use after scope error active_transactions.vacancy test
#3977 Add missing include file for std::atomic (required by slow_test)
#3953 Do not wait for vote processor during AEC processing loop
#3959 Bugfix: properly handle refused bootstrap connection
#3898 Fix bootstrap serving threads regression
#3861 Fix & refactor bootstrap_server
#3850 Fix rocksdb_block_store.tombstone_count
#3849 Fix intermittently failing test gap_cache.two_dependencies
#3853 Fix server_socket close method override
#3745 Fix unit test confirmation_height.conflict_rollback_cemented
#3680 Enable and fix node.unconfirmed_send unit test
#3703 Fix unit tests within active_transactions
#3732 Fix unit test election_scheduler.no_vacancy
#3691 Fix unit tests election.quorum_minimum_flip_*
#3723 Fix unchecked_map destructor.
#3721 fix race condition between bootstrap pull and push
#3713 Minor bugfix for election scheduler thread name
#3696 Fix ipc_client::async_resolve when given invalid endpoint
#3643 Fix telemetry rpc getting stuck if all nodes have bandwidth set to 0
#3679 Investigate and fix some of the disabled unit tests
#3694 Do not ignore socket errors
#3687 Fix node.pruning_* unit tests
#3629 Disable batch of intermittently failing unit tests
#3649 Modifies the silent connection checker to inspect sever-side incoming messages only (develop branch version)
#3602 Disable intermittently failing UT ledger_walker.ladder_geometry
#3604 Disable intermittently failing UT active_transactions.inactive_votes_cache_fork
#3607 Disable intermittently failing UT confirmation_height.election_winner_details_clearing
#3611 Disable intermittently failing UTs
#3610 Fixing slow_test compile error.
#3594 Initializes receive and completion times to always hold a valid value…
#3593 Adding detail string for request_underflow.
#3590 Check and track request underflows in bootstrap/realtime message processing.
#3591 Specifying macos toolchain explicitly to 10.15 rather than tracking latest.
#3572 Unlocking lock in all branch cases.
#3568 Add wallets::start() function for deferred start.

Implemented Enhancements

Pull Request Title
#3980 Rebalancing buckets the reflect natural transaction ranges.
#3957 Replace random_access with sequenced in active_transactions
#3956 Replace random_access with sequenced in unchecked_map
#3955 Replace random_access with sequenced in vote_cache
#3907 Improved inactive_vote_cache
#3865 Bootstrap serving on dedicated thread pool
#3869 Simplifying bootstrap_attempt::mode_text
#3866 Add hashing specializations for nano::hash_or_account.
#3864 Add an observer to block_processor that notifies with the output from block processing.
#3812 Extracting nano::bootstrap::block_deserializer class
#3852 Expands ability for ledger::is_send to accept any block type
#3816 Node ID persistence
#3813 Remove vote-by-block support from vote class
#3811 Adding unhandled case for message_visitor
#3809 Bootstrap cleanup
#3802 Updating rocksdb to 6.29 feature branch and using vanilla rocksdb.
#3644 This demonstrates a speedup in confirmation rate during initial boots…
#3786 Adding details to the DB commit () release_asserts
#3787 Moves the LDMB table handles to their respective type of store class
#3785 Further removal of templates in db classes
#3784 Add db backend namespaces
#3783 Remove db templates
#3764 Convert some important startup debug asserts to release asserts
#3718 Sort results of the receivable RPC by block hash in case of equal amounts
#3729 Remove coupling between nano::state_block_signature_verification and nano::unchecked_info.
#3728 Remove coupling of block processor and unchecked_map on unchecked_info::modified.
#3733 Comment and warning about epoch blocks
#3730 Inactive cache information to string (easy review)
#3719 Removes the nano::unchecked_info::confirmed member.
#3717 Encapsulate detail_to_string with uint32_t overload.
#3710 Apply the timestamp mask to timestamp field to remove the duration bits
#3704 Socket timeout tidyup
#3601 Display node startup time for easy access to up time without RPC access
#3606 Better move semantics & fix clang-tidy warnings
#3600 Unchecked cleanup
#3589 Double max_peers_per_ip and max_peers_per_subnet (5 -> 10 and 20 -> 40)
#3569 Refine election scheduler lock.
#3567 Turns off sub-network connection limiting for IPv4

Build, Test, Automation, Cleanup & Chores

Pull Request Title
#3947 Fix MacOS compilation, add libsecure to target link libs for nano_lib
#3815 Fix compatibility with Boost 1.78
#3774 Fix unit test rpc.account_representative_set_epoch_2
#3776 Simplify unit test node.bootstrap_confirm_frontiers
#3775 Fix for test active_transactions.fork_filter_cleanup
#3773 Improve/fix test rpc.account_representative_set
#3772 Add function comment for function nano::upgrade_epoch.
#3750 Fix_fork_storm failure #3709 on node allocation and catch stalled vote/fork resolution errorrs in the test
#3742 Add comments to class nano::prioritization
#3741 Fix confirmation_height.election_winner_details_clearing
#3738 Fix for unit test unchecked.multiple_get, do not use store.count()
#3735 Fix unit test rpc.confirmation_info (remove scheduler flush)
#3726 Updates the doxygen.config
#3725 Add class description to mostly of bootstrap classes
#3714 Fix network.construction_with_specified_port (uses test network port)
#3553 Adds an Unchecked Map - wrapper for the unchecked table outside the store class
#3690 Fix compilation problem due to ambiguous call
#3583 to_string function for message_header class
#3682 Improve slow test system.generate_mass_activity
#3654 Move semantics fix in the asio header
#3677 Fix slow test telemetry.all_peers_use_single_request_cache
#3678 Telemetry data to string function
#3667 Fix confirmation_height slow_test cases
#3666 Improve the slow_test store.pruned_load to work the same way for all databases
#3663 Fixing slow_test store.pruned_load.
#3656 Allow overriding initial peering DNS by environment variable
#3653 Remove unused locals
#3650 Add basic contributing file with links to docs for details
#3622 Disabling network.peer_max_tcp_attempts UT for Windows only
#3576 Introduce support for and use automatic port binding in rpc_test unit tests
#3579 Define macro to correct ubsan instrumentation for RocksDB.
#3597 Fix foreach representative deadlock
#3585 Remove short election expiration time for dev network
#3565 Update live rep weights file for V23

Other

Pull Request Title
#4022 Change election scheduler to consider previous balance
#4018 Specify whether bootstrap pull should start at block hash or account
#4019 Locking around read/write to peering_endpoint.
#4015 Unchecked map sequenced index
#4010 Constant vote broadcast interval
#4008 Skip empty batches in processing_queue
#4007 Fix bug when using locally generated votes cache
#3996 Continuous vote generation for active elections
#3995 Immediately remove confirmed elections from AEC
#3993 Improved removal of dead network channels
#3975 Stateless bootstrap server
#3979 Fix: Allow block count > UINT32_MAX in ledger::hash_root_random()
#3970 Block arrival activate
#3978 Fix: ledger bootstrap_weights size is reported as 0
#3974 Fix windows compilation problem for slow_test
#3972 Rename bootstrap_server to transport::tcp_server
#3971 Move message definitions source to separate file
#3897 Lookup channels by node id instead of endpoints in test code
#3963 Add batching to vote_generator
#3966 Add stats to blockprocessor
#3964 Fix for unit test ipc.asynchronous
#3958 Run node::process_confirmed from worker thread
#3961 Fix tests using election_scheduler::flush()
#3962 Fix vote_by_hash_bundle test
#3954 Improve vote_cache slow_tests
#3951 Simplify start_tcp_receive_node_id() by adding guard clauses
#3948 Allow overriding of std::thread::hardware concurrency
#3950 Remove the udp_fallback function
#3944 Hinted election scheduler
#3903 Split sanitizer and instrumentation checks in to several distinct parts.
#3942 clean up network_constants::network_constants
#3933 Fix test node.rep_remove
#3945 Fix test rep_crawler.local
#3940 Add EXPECT_TIMELY test macro
#3939 Cleanup bootstrap_server
#3938 Introduction of fake channel that acts similar to /dev/null
#3934 Disable systest set_bandwidth_params
#3932 Fix for test election.quorum_minimum_update_weight_before_quorum_checks
#3925 Fix inactive_vote_cache merge error
#3839 Check for representative in wallet more often when running on test net
#3914 Fix unit test active_transactions.fork_replacement_tally
#3924 Improve observer_set class
#3910 Fix unit test node.fork_open_flip
#3922 observer_set: do not call the observer callbacks holding the lock
#3900 Comments for confirmation_height_processor
#3885 Benchmark inactive_vote_cache in slow_tests
#3901 Fixing narrowing conversion warning and updating style.
#3895 Assert no error code when calling system::poll_until_true
#3894 IWYU in signal_manager
#3892 Extract recently_cemented container out of active_transactions
#3891 Fix unit test node.fork_open which intermittently failed
#3890 Move test code into namespace nano::test
#3887 Extract recently_confirmed container out of active_transactions
#3889 Fix vote_processor.producer_consumer test
#3888 Fix rpc.wallet_info test
#3886 Fix fork_bootstrap_flip test
#3874 Replace election::insert_inactive_votes_cache by election::vote
#3880 Move block_arrival class to its own file
#3877 nano::system::add_node reliability improvements
#3878 Store and forward the original peering port in keepalive messages
#3870 Extract election::cooldown_time calculation
#3868 Remove dead code from active_transactions
#3841 Block constructors to builders conversion in unit tests
#152 Crypto++ 5.6.5
#142 RPC receive
#3822 Limit the publishing of public builds and Docker images to only the public repository
#3805 Renaming nano::transport::channel_loopback to nano::transport::inproc::channel.
#3794 Improve public_key::decode_account to not write result on error
#3760 Fixes the missing of qt5-default package on newer Debian/Ubuntu versions
#3620 Fix --rpcconfig cli option
#3662 Use the default peering port for daemon start up
Commit Title
5fa226e5 Set pre release version to .99

Additional binary releases:


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

Below are the sha256 sum hashes for version 24.0 release artifacts
Signature Verification can be run against clemahieu.asc in source repo (etc/gpg/)

b20a3569af82b363d681b2ebd22d9e9f974536e9be1303674b6b4a190bd42761  nano-node-V24.0-Darwin.dmg
41c6a7cf4a1b77e35df4ea538c5847f0688a26907fd48ab1d1194a58bbf2e2aa  nano-node-V24.0-Linux.deb
d5209c92039b73eb9ec6f4cec730f9b3f31ebc2d4096fa524718030708479af7  nano-node-V24.0-Linux.tar.bz2
6bd3300eb5953bf7ac74a2a8c1ed506bdc9ef5f1923bd576ce8e7594b1cb220b  nano-node-V24.0.tar.gz
-----BEGIN PGP MESSAGE-----

owF1kj1oFUEUhTcaCVkwpHogGJiHIorkZXZ+d7QzqUwaCQQCITB35s57i8lusj9G
otgJgiIWloKNKLYWYho7RWKlnVoEUwgBGzubgBslIIjtved85144D44fjeLO9Npt
8m5nKx16vweR27574xKuFBvElkjqAZJqYJlUpGpWycBWA6xIKEpyDcsqK3LCRI+S
ElfQVtha6ixYV1fxfNbPbd20iAUss5A5Wx+onc0JICmbnNi+zfKqJm4FV+0gw6Zn
K0eynFRFU7pWg2sFOYu1m+qv9afOxTEwarlUxoaUAVfcqzQBhuAZ8wZNMFpIrtAA
JpxypQUoEDYxFLxgWiWE5DYvJvPC4+TCwdmTM7bcyPKeX+3HInHKahdaA2iNXPog
0EqeOpkKHahKU8uUoTp4kVpIfJIYYWUKEBgya/+Fz2V5c73nEWIvGTXOMMoNaI5g
0KkgHDrNaTDAA08QHPOCGhWsZEInKeVU0za5/Vb/j13bsgebLFbgOacUQRrJIWjr
tLDMpi5BL2m7dQaDDIlhHLzUymGKWhoBiQPGKPzFH/sT8Bvd34zvNMNRJ44mOt3h
C4+vLH8fibpPxxYnDgtz7EjblltRPDp+OJldivbH/c3zO2dOf3pyamZ5Yru6f3L3
w+Dy1XuDZz9ejU7PfRkeil7C7h5/s9T9dvHz+osTs/vzW7D4/HX34aOP9OfbzteR
Xw==
=5gFv
-----END PGP MESSAGE-----

V23.3

1 year ago

CHANGELOG

V23.3

Full Changelog

Fixed Bugs

Pull Request Title
#142 Improves the vote processor class and limits its flush()
#152 Vote hinting reenable

Other

Pull Request Title
#3835 Unchecked memory
#152 Crypto++ 5.6.5
#145 GUI: seed warnings, several tooltips, balance in Account viewer
#142 RPC receive
Commit Title
17250767 Fix use after delete in cleanup_election()
a17157e0 Merging identical code branches for convenience ::put function.
00610099 Adding a memory container for blocks once the initial bootstrap threshold is reached. Blocks are pruned in fifo order.
9b5bae62 Reimplementing nano::unchecked_store::get in terms of unchecked_store::for_each and removing backend-specific variants.
b4ce6c41 Converting functions on unchecked_map that return iterators to instead use for_each with a functor to execute on each result. This prevents iteration details from being exposed externally.
2fd16c79, 57c2210e Removing unchecked.for_each_par as it's effectively unused.
73a631c3 Remove a debug assert that crashes the node on receipt of zero node ID
65c8ae9e Bugfix: correctly check for magic bytes and network in message header

Additional binary releases:


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

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

20057926a464c25090d69c9ce783d8211d91ed94fa0e3772340f8fb7ba1604f7 nano-node-23.3.0-Darwin.dmg
de91d92b479da5d97c5934302fc88f66c034c9e3b6dcdc251e4665832eb4c628 nano-node-23.3.0-Linux.deb
5873f160cd4da3ba59267e2f8338a265a294669391529d9b00bf1e0b61a8092e nano-node-23.3.0-Linux.tar.bz2
B62EDE96DD7D980B44AAC10840FAF950104D0C133BE66107DAE13D7D153D2453 nano-node-23.3.0-win64.exe
6F4775BFCF6009221A3C4BE9378B3F2BE2CD14F330CA947F4AC7F44E84EDEF43 nano-node-23.3.0-win64.zip
-----BEGIN PGP MESSAGE-----

owF1km1QFWUUxy8KqFsOjDbYaE6LmkHKvbvP8+wbgnn3viilpKhB4JTP7j4La3Iv
3r1XwHgZM3CgqBxSU8fRNMJohHHSuOLoaE5Ok05NEKaJigPamIovJBRxofWDnxy/
nA/nnP/v/M+Z8+nEsTYqaqxr7K1PPKwRdfamYlMaN8XJZK2/mMYBQgcLCG0WYMDx
tBkqpAuwWUBMWvcH6PUkYBp+Hw2gHVLLjXwfDoYswZskYOiGioOPair20QqhAyEf
jfOx4TODFtDUTTs2Vdrw0aY/FFCtOiny00kkqDryi/IdyRQFGIYTJMBjxCMVcIzE
aLykSioRRKiJgGU1iSWahHTMECgIACJGF3VFUDDLM0gXaB/2+VN8fo2kPLJnZ1Lc
OFBs+OxaYT6lEcnSAwUJkoY5TRJUToIIMkBXRVHneZWBSJUIVHhN1azpLEE8z4kQ
EAWpPBCfhC82fKESu0YUihMFqFseVA1pGCqYs5YQCNBFCEUMeA4DyYJJUGI5IGmS
wjCKzhJG4VksMhIgT2MHccCubACUzAOP2yPxbrfglkRGRsjpdLGMiBiv0ytxDMsg
N+NiIZQ9PM8ygtvpYaHVy3LQDRAHn+RbV+GRnZQQivciQcjmZK/LyzOWGcA6oQvJ
HgkKogy9QPYAl5tFXggZl1NCghc5XVZAHhFZnrzoqfANRhFVMwZG26Io2/SExOj7
FRWx/mMb5ahpo1mPXy9mzKO/s1ET4h9n3uLjbbunDbaGMib8HWyd73htS3pp1r6c
6o8Svk1NnTVQWN6tvFyZd+jOEfk/cmn+lfMNrz9/NPG5zfOKt0zak/v9oviV3YC7
PH1ZdFnlveUdM7eFs29Kdfud8KUbuzJ+bVAW3f1xpDmm7u0+adO2P9jbsVfVVBBo
m/XixsxrTfLqg5Gh8L41rs/opvi5Z7IP739o1lbvPFk+eXfm3L6uazHPzKvJfCim
ZZ5wvNDfc2b9lY3vZ8ddZpWWOVkrby5alZP0ywcc//mQ2ZnRnyv06mur7uPbeSt6
imf0U+Gk8ZFjQx0NF5u45tGr/wz3sg1a9/FgyxFj5pTFK/1d4b3Dk/v22DKOT07r
jG6OWv3qQjm9ftKeJUUpZVNbf9qhXuh42F46byBr4PQ7g0fXiB2mY+rZccPfTRyc
4e7c9WfeG6mHumuFhFJP6o1lS8ehBi5knPqSDS/s4NLiIk3XT92dYr+VAu43Lq6v
XLagOoea2JNe3v7g3TmVjWerxz9orx+5TifvPRXeced3o6L5ZFX7uezRSb0lJ5a8
csk7OJTXtsp/uGJ72Q9r69t+RlPT1S6jcOlw73lb0rProtetqTmY0bhp62/chzPK
085Xd2a1nNmdFBepEh1/4dkfX/jqwQqcmLx8dl3/VriA5H7d9U3kIn33QH/xvZ2e
CKoZ1k7/e+/ce18cqE0uGHWOcAtiV2xv71r4Pw==
=dpMI
-----END PGP MESSAGE-----

V23.1

1 year ago

CHANGELOG

V23.1

Full Changelog

Fixed Bugs

Pull Request Title
#3828 V23.1 Cumulative patch

Implemented Enhancements

Pull Request Title
#3816 Node ID persistence

Other commits

Commit Title
fef94e36 Setting CPACK_PACKAGE_VERSION_MINOR value to reflect V23.1.0.0

Additional binary releases:


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

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

556457314eae3dd6cf1538743b8d15aa23fb19169d6c2c3efebdcf9540eb537f nano-node-23.1.zip
7ae22cdfbd4056053bb9bbd733b79e86c2cce849f9ff750118340af612a257c3 nano-node-23.1.tar.gz
e2affdeb9635f7f35fa90c40b60aefc6429ca67f9c97e2748e49bce62f955edc nanocurrency-23.1-1.el7.src.rpm
946a788782bc2be25994a56a2c93038231619544c9273a998a19070eda497c9a nanocurrency-23.1-1.el7.x86_64.rpm
b386eeb85b0c3d8987dbd6ae450a196602dba962583b432a6c8426a64562c865 nanocurrency-debuginfo-23.1-1.el7.x86_64.rpm
94ae49c4869376787cc161ee324d933584725aa820cfad9fc65c2934db6fb028 nano-node-23.1.0-Linux.deb
aa7c67350bb18a232c3c1d083f7a110ad7f177025b821f4fd1266d49b1b374fb nano-node-23.1.0-Linux.tar.bz2
C1C8F86C36480DC1F5AF0602C4877F655205EFE99DCB69264CB38ED3A075FC25 nano-node-23.1.0-win64.exe
8814DB1F621615832F7FBB4C16AC8CD7BF0A2E377B05E323F8FE3EF0E5B31A4A nano-node-23.1.0-win64.zip
922aa8020a4225cd3c1a961badcb5115d9e06ce06dea9b98e1a1d5b243428793 nano-node-23.1.0-Darwin.dmg
-----BEGIN PGP MESSAGE-----

owF1lGuMjFcYx3ddlh13bbfSrc2Qja7qjvfcz0E1cyWNkC6l2N3uOec97+y4zIyZ
HXY1FutSrBShSIOiLtFSl4YEFaxq0FKVVLQN0hZR10UrFbe+K/GhFV/Oh/fJ+/s/
z///nLOwXfMsT3bzYPOrC8Iglv3dFZWl6o/WBcy4xCSvTBlvVaXxpislJNSbzoz3
Vsp0pUl7nUTKO9Gk0rFE3AuRD3iGxqJxWZVxfxhuUjEnpmVVU03LuFcZbyoT98qo
jMXTVS4w7aR9Mq29sbg3nciktFs3yYS3yFTp3tFktHdPj4cQiglDABtpkG1T7QCC
OMNIcRsQKSFyFBCACrcENTKOUbZ2BMGWUQQxxxuX8URxPGGb4qb2fJNjSQ+TBkJt
O8rGFqEWQUoJpWyGkGLC8CaQNhwLRzgOIxYAHGFLOhRAd3qm0f+ZVTLli072GCgd
xzZKUEQc5riHFJbGlqKWNI6mGAotKXOEFsxAhrnBQmlDodsuMbZ+gtWZVMrEdc0T
cjHwmXHMl05pXyo53iMwlYxzxqHSUBlIhMCSUAm1QBbiEAEK3MmxFpAhKQSXQFjM
MrbEgmkhnytQzen7FD/RUIhTYxQnytLI5oIzW9lUGkwsl0apBW0lBYWEI4URlFRz
DKl0Q6JQc0r+q+G6kYnG4k7iOWpu/64JGnMqEKOMM63dGYxBENsCIcIxg27IHFra
kbZwTSQaCoRtRR1lQf7/JKziQbF4ptrn6nqkZJoyRCylAHf3xN0ODWyLI4dJACxp
MwcwZkGiOAQOdmwAKbXdSIBCDDvqeeymtNVk6AmCII9wGkQUcysUBBHij1iuP0HM
GYtQQqBFwpGwEKFggApIcTCAeDiE/BYjkSAkz/InxeKuL6baeDgHOBQAEQpdO1yr
YYRFAgEcBNQf5MEQC0QsPwwjxgKuBoIowiNhFI5YYRJAwI/9z2M3bb+A0HXUgpbE
EBJtu664gQIlba0IAMQWxqLauDfDNlIowQ2QwCYKYoQhZ+KZ9beKQzLl8n32+Khn
bjPUIivbk9U1r1uLW7W1OYm90wPZ+Y9Lnj4sLZs1vSpZntyOT78cf7nDo6IJox82
LIwkN5TlF/ZttbJ119MbztzdWns/70HSVtWfd1zceP7MRfv+sj+H77xyZED/WScy
a1bPKF1dc/vxrpXV9OGlspFFpeZAuNDsr7na4ofyL14L9595FPTofOLooKLpjeVv
9TpRerX04MFf2n9bUtD9k94t6l4oHJAztmDP3mh939JvNvBVU/U8+3KP2ndOF3+9
Hac7HDt1oE1uw46TpYdVIf/+XEHy1pd9Xu+8tW3Px3Pr+4V/m76jblsvdHtLy5oh
FW+c/TivbtSlfg37pl0eyLqtm7fxpwl/tK3ss97nnz+lsWzmiM0Plm0UK268e+if
KeVbFtwRB7tk17QqLwgl0c8fRpbqwZlwu0M6NOTcEDLGnuNpvyLnxfm5g4pfOjVg
T2Vy4oC2m85fgnnT171dkVlyc32nzQNHLP6sAdeOra3LnZofH1TyQWPjpLWpwYvu
gd0l/u73L83dtS3p3HmPJCcc+st3cuboi78u399p37VhP+b3uHU8u2hXz1ZFVxq6
UVKMIrMrzs8u9/6d/GrY9f35M+blv5k+eTh++drVR5seHavfe2d3dv7IaamWyysu
9K8813gwZ1KzDrW3d24curTwRvdX+pKSa2O2rDzbLX6i5M6YXXfDZbMWD2vTJYdd
6P2Rv09ZclzlqkU0umPJzTnHJodebSgYeC+xyckrPFKx5vdPx3lWhwu2bt4+qnXJ
rdFrlyVOX8/9Fw==
=/ugz
-----END PGP MESSAGE-----

V23.0

2 years ago

CHANGELOG

Release V23.0

Full Changelog

Node Configuration Updates

Pull Request Title
#3032 Secure Websocket support and certificate config improvements
#3531 Rep crawler weight minimum
#3377 Removing deprecated lmdb_max_dbs config option
#3282 specify ip notation for preconfigured peers

RPC Updates

Pull Request Title
#3412 Implement "accounts_representatives" RPC (#3409)
#3439 Add receivable along with pending to RPC responses (#3411)
#3429 Add "confirmed" field to "account_history" RPC response (#3424)
#3398 Add deprecation output to "history" RPC (#3397)
#3392 Update RPC & QT Wallet to the new units #3386
#3387 wallet_pending and accounts_pending handle empty results differently
#3343 Fix RPC "active_difficulty" returning empty string as "difficulty_trend" (#3323)
#3337 Add "successor" field to RPC "block_info" & "blocks_info"
#3333 Improve delegators rpc by adding "count", "start", and "threshold" parameters (#3330)
#3277 Extend 'wallet_info' RPC command

IPC Updates

Pull Request Title
#3446 Have CMake copy Flatbuffers schema files to output dir to simplify dev

CLI Updates

Pull Request Title
#3475 Node flag to disable calling add_initial_peers function
#3474 Add some flags to the command line options list
#3465 Fix broken cli commands: wallet_create, wallet_list (issue #3447), diagnostics (issue #3452) and other CLI commands
#3410 Network selector

Developer Wallet

Pull Request Title
#3619 Update images for README and QT wallet to be new symbol
#3546 Fix crash in nano_wallet when ran with --config option
#3437 Replace "pending" with "receivable"/"ready to receive" in QT wallet (#3411)

Developer/Debug Options

Pull Request Title
#3582 Include election.confirmed outcome in log
#3438 Replace "pending" with "receivable"/"ready to receive" in node logs (#3411)
#3369 Remove 1 sec socket timeout in dev mode (becomes 2 sec as in normal m…
#3297 Split election drop stats to be either overflow or expired
#3310 Warn if the limit for open FDs is lower than recommended

Fixed Bugs

Pull Request Title
#3623 Modifies the silent connection checker to inspect sever-side incoming messages only
#3593 Adding detail string for request_underflow.
#3590 Check and track request underflows in bootstrap/realtime message processing.
#3591 Specifying macos toolchain explicitly to 10.15 rather than tracking latest.
#3587 Fixes the early drops of not yet timed out connections
#3568 Add wallets::start() function for deferred start.
#3563 Fix a couple issues found with TSAN and add a suppression for Crypto++
#3556 Disable intermittently failing UT node.vote_by_hash_republish
#3558 Disable intermittently failing UT bootstrap_processor.push_diamond
#3560 Disable intermittently failing UT rpc.send_epoch_2
#3550 Fixes/splits vote_processor.no_broadcast_local
#3511 Handle SIGABRT and SIGSEGV on Windows
#3275 Fix for RPC stop command (#3191)
#3500 Endianess fix for vote timestamp field (does not affect x86)
#3502 Fix handling of SIGSEGV and SIGABRT in nano_node
#3459 Fix a crash that would sometimes happen in debug builds at handshakes
#3445 Fix fill_keepalive_self so the low index entries aren't clobbered.
#3442 Remove node_id_handshake_sockets as unneeded.
#3428 Fixing QT ratio selection
#3422 Fix daemon_config active_network.
#3380 Adding 'explicit' specifier to uint256_constructor for strings.
#3379 Removing incorrect TCP assert
#3375 Updated diskhash repo and code version
#3340 Fix counting of voting representatives #3339
#3315 Fix TCP accept handling when max incoming connection limit is reached
#3311 Remove election blocks () debug assert
#3298 UPnP leases issue

Implemented Enhancements

Pull Request Title
#3569 Refine election scheduler lock.
#3567 Turns off sub-network connection limiting for IPv4
#3564 Improve and simplify a number of network limiters
#3548 Adding duration to vote timestamps.
#2921 Deadline timer cleanup
#3544 Vote timestamp encapsulation
#3540 Remove election limiter from call site in confirmation height processor
#3541 Updating miniupnp to v2.2.3
#3507 Brings back broadcasting blocks on process_live
#3388 Refer to empty/null accounts as nano::account{nullptr}
#3443 Remove callbacks passed through start_tcp
#3461 Fix the bootstrap request queue processing
#3420 Remove static instantiation of network_constants
#3414 Removing legacy path from nano::working_path
#3413 Removing static initialization of nano::network_params
#3406 Converting sever static initializations of nano::network_params to references
#3408 Removing static mutex for the random pool
#3403 Changing nano::block_store_partial to hold nano::ledger_constants by reference
#3402 Passing nano::ledger_constants in to nano::ledger
#3394 Moving networking related parameters off of the node config
#3391 Remove nano::genesis class
#3383 Cleaning up genesis_dev constants
#3368 Convert static network id code to instance code
#3324 Depth-first search ledger walking
#3364 Message sink interface
#3358 Fix half principal rep check
#3280 Remove election restart by difficulty
#3304 Increase soft limit for number of open file descriptors
#3308 Increase tcp_incoming_connections_max default value
#3281 Prevent not processed blocks addition to confirmed elections list

Build, Test, Automation, Cleanup & Chores

Pull Request Title
#3670 Update live rep weights file for V23
#3671 Setting version for release.
#3566 Update beta rep weights file for V23.0
#3565 Update live rep weights file for V23
#3547 Removing old (disabled) conflicts.add_two unit test
#3545 Fix conflicts.add_two unit test
#3536 Disable intermittently failing unit test
#3532 Disable intermittently failing unit test
#3525 Include <csignal> for std::signal usage
#3526 Disable intermittently failing unit test
#3512 Disable (intermittently) failing unit tests
#3510 Improvements in const correctness and 'const' positioning
#3509 Fix Windows build (signal handling)
#3506 Formatting rules update -- indentation rules improvements
#3505 Add [[nodiscard]] attribute to node::process method
#3497 Possible race condition fix in ledger_walker.ladder_geometry test
#3488 Cleanup qt_system remnants (#3189)
#3353 Update FlatBuffers to release 2.0.0
#3492 Comment on_connection_requeue_delayed
#3487 Minor improvements to slow_test
#3486 Redesign CI format check/update scripts according to review
#3470 Fix cmake-format-all.sh script + friendlier xargs usage
#3468 Add systests to CI and fix for rocksdb mode (issue #3447) (issue #3452)
#3479 Fix unit test case node.search_pending_pruned
#3477 Fix for unit test rpc.epoch_upgrade #3476
#3469 Fix Windows build
#3467 Fixing OSX formatting issues.
#3462 Improve clang-format detection & enforcement
#3460 Make code formatting compliant with clang-format 12
#3454 Require fixed version of clang-format
#3450 Fix CI clang-format script: tell if clang-format cannot be found
#3441 Removing null checks for nano::bootstrap::socket
#3440 Removing unused variable channel_tcp::response_server
#3435 Convert nano::bootstrap_connection::connections to a reference
#3434 fix failure to build with GCC11
#3433 fix failing build with boost >= 1.76
#3416 Update major version to 23 and add pre release version 99
#3418 Remove qt_system target we dont need it or use it
#3415 test_common not required for qt only for qt_test
#3407 remove errexit ghcr.io has some edgecase rules, and isnt required for…
#3405 Fix typo on CLI online_weight_clear success message
#3395 update clang-format checks for full history
#3396 Remove wezrule from security policy
#3393 Update README.md
#3384 Update CMakeLists.txt
#3055 Weekly Coverage Runs to coveralls.io
#3381 Cleanup of genesis constants within ledger_constants
#3373 Remove load_test from github CI
#3374 Fix ledger_walker.genesis_account_longer unit test on macOS
#3372 Disable compilation/usage of diskhash on Windows
#3370 Remove tautology: send_buffer was called on channel so it must be non-null.
#3371 Fix build after merging PR 3324
#3365 Fix race condition in unit test websocket.bootstrap
#3359 Moving socket type entirely in to nano::socket class.
#3363 Double unit test timeout in github CI
#3361 Fix for unit test active_transactions.vote_replays #3360
#3362 Fix for unit test bulk.offline_send
#3332 System initializer
#3357 Removing unused constants from enumeration.
#3356 Simplify RPC tests response check
#3352 Update GoogleTest to release 1.11.0
#3354 Update Crypto++ to release 8.5
#3347 Simplify RPC tests initialization
#3351 This disallows passing in a nullptr socket in to bootstrap_server.
#3350 Rename socket::type_t
#3345 fix unit test socket.max_connections
#3336 Fix for network.peer_max_tcp_attempt
#3344 Fix unit test node vote republish
#3341 Fix code formatting
#3338 Fix unit test deferred dependent elections
#3328 Fix for active_transactions.pessimistic_elections unit test
#3326 Removing redundant check in telemetry limiter.
#3329 Block store break up
#3334 Don't reference get_available_port from within the node lib.
#3331 Moving the check "using_rocksdb_in_tests" on to rocksdb_config
#3327 Test case for max incoming tcp sockets limit
#3325 Unchecked store break up
#3318 Moves out peer methods from the block store class
#3317 Moves out pruned methods from block store class
#3319 Moves out confirmation height methods from block store class
#3320 Moves out final vote methods from block store class
#3306 Account store break up
#3316 Online weight store break up
#3309 Fix compilation failure on OSX.
#3307 Pending store break up
#3296 Election scheduler predicates
#3303 Fix build issue
#3286 Fix last contacted
#3302 Election cleanup cleanup
#3287 Frontier store break up
#3283 Simplify inactive_votes_cache_election_start test
#3279 Improve confirmation_height.gap_live core test

Other

Pull Request Title
#3595 Update CPACK_PACKAGE_VERSION_PATCH for V23.0RC2
#3378 Enable blank issue with preference noted for using pre-set templates
#3278 Update deploy-docker.sh
Commit Title
0176d6c7 Double max_peers_per_ip and max_peers_per_subnet (5 -> 10 and 20 -> 40)
242e9e38 Updating version for V23.0RC1

Additional binary releases:


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

Below are the sha256 sum hashes for version 23.0 release artifacts
Signature Verification can be run against clemahieu.asc in source repo (etc/gpg/)

3ad1b447af41e5c15f0ab593211fd99c05d290ac99f17452d6e7ab87ffe6a64d  nano-23.0.tar.gz
626d3859104e1a49a8d0246dfb961675570e87a6d829e14d07e7cbaecaac4037  nanocurrency-23.0-26.el7.src.rpm
aac1ced1c6f1edcd640c5a3df2664b3b961f9fcfaf73647d9aff5c2479c779fc  nanocurrency-23.0-26.el7.x86_64.rpm
6c9820e41e8d0dbfdfeda23d1f88ad824138ab5f89e34a51d98edb69b6fde336  nanocurrency-debuginfo-23.0-26.el7.x86_64.rpm
2cd67cfda8b52b445a2173b7b46cbed1d7a60b9fbf46962a80774109b1204e31  nano-node-V23.0-Darwin.dmg
d666f65af1136fe82f126ac5a25900ff680bf1343285566baca0fb1857809c0b  nano-node-V23.0-Linux.deb
1f4ee8bffbfc05a843afdfe1711a014ac9003b67e0bd02038a57cc3018e27eca  nano-node-V23.0-Linux.tar.bz2
31a1272dcdaa1d74966482ca04f775897204a6a13dc90e5e418a89bb6fadfbef  nano-node-V23.0-win64.exe
2d1da2ada3d879dd455a90ff06d13f3c38cef2db6cd27959daeef7a4d66c6b5d  nano-node-V23.0-win64.zip
-----BEGIN PGP MESSAGE-----

owF9lD+IXFUUxkcTkX1gSCFTCIEbENRiJ/f/nwgSNAiCRSQQTGM4995zZh6ZfTO8
N7O72S5FYEtBLaxWLCysxEKw0y5gKyZgYWMjWoqgSPTMmq3C2r537/ed8/s+7vvP
nRk14zeW98T9n76OT333Sx7lcx+++jrOF3sCehSrGYphBtp5Max3xAyGGQ6CFr3Y
xX5oF53QZiJFj3OEAfnKqiUoq6G53k47WK1Z4gb2LbUFVpvTBTqRUfTrTsAU2m5Y
iTLHHZi1uJ7AUETbiWGx7gufweVCvIyrcmm6nF56pWkMVJWtDUBWoSvKkYTsktFK
UU2pSFd1klBSIhWs09VjgBwDEXrwtgrRQbfY3gw8WUE/mR40XvtqoktKWlRgE8Qq
tfWVcvLKB+eCxBjA16gTKltlwFAyYAEoVprwn2RZ9z125c6x9Lb2E5yHydCXSb/c
afikKlhV8aSwluqtLA5MJe29zWZjRIkKAQXjbagJiFzRNqQSAv/4H4v96G95e+zi
S4paIoPhDWqmSlhBm6ooRuDprTKRYVFMaCw4VVPEmn3Knioa409cvk2PfSrm9bTt
aHGao+ZVQqEKMTvNsTjQKpgcsvUl876VscmcKJP1yWuIMgSrZMpKM2yjHqfRLSpu
3zj2uAr9XttN6s60qd578g5IKeMJoyalPTA37ZKURD7KTMpYo6Nz3mcoICmr6EKU
XIT8pPjbbbfen/BWjSKLGDPxZFwZiNbABpcKSoFUlvsjpck+oMxcBsncXCjFSBVR
B07+NO1NpfKBbowCpYPmqAGYgk2cc9Q8oKUQXEyB9wcPylR2QseZRYgpcxLAvUN6
Up+pMHTcx0YzV9BQuT8xpFqtc5CYh/RVGTLFxIKkOdhSdUguVUCkAJZ5Fp9dPU37
oF02h+uzo3EzujC+ePby0Tvv/fbs6OJn525eOHkcnnmaX4a3Rs3W+ZMvH1wZ/YNf
jj/furr15/yjv1776sEPf1x/+Ov3P+89+vGF5z++c+vNbz4ZPXrp0y+uvXj44Ghr
73C2a/++f+3K7d3fx7dH9C4d6bsPz/wL
=r6Vg
-----END PGP MESSAGE-----

V22.1

2 years ago

CHANGELOG

Release V22.1

Full Changelog

Fixed Bugs

Pull Request Title
#3315 Fix TCP accept handling when max incoming connection limit is reached
#3298 Fix UPnP leases not being renewed in case of errors

Implemented Enhancements

Commit Title
ac7a3e26 This change simplifies logic in the election scheduler.
03debef9 Increase soft limit for number of open file descriptors
874f0984 Increase tcp_incoming_connections_max default value

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 22.1 release artifacts
Signature Verification can be run against argakiig.asc in source repo (etc/gpg/)

aa95c0590f9366043a451720dd5c60e07760ba9a3f075b1ce508c59dcaed33bd *nano-22.1.tar.gz
1de53c226724364ba24285b554b714b2b19ace78f1ac28c176d8c40f86029097 *nanocurrency-22.1-25.el7.src.rpm
9ac81a65f6d13d64c5b73614ceba53a2d94ddd108c251ea4c52ee771a41f988b *nanocurrency-22.1-25.el7.x86_64.rpm
b65d150f6720b0e86f2b97be36c8a4f8c7b6f7f4d3691a73ed941b822fad6189 *nanocurrency-debuginfo-22.1-25.el7.x86_64.rpm
ca62f12563244679521fa9f2fdbba5a07e008faabb6e59ced5961cfca1bb9f04 *nano-node-22.1.0-Darwin.dmg
d106cde7a6dae3a71e2ce1f74ab3b47cba1eb119e9e4e6d98cd13a0e6ef76248 *nano-node-22.1.0-Linux.deb
00fcf256f618e68dfb74f0c74f79815245365eb492a5a1482870bca4b5ad76b3 *nano-node-22.1.0-Linux.tar.bz2
6D9DE27F0E1543E4F1AB82F5DFD08E6F177488D51E4F12F149D2639CD22731C3 nano-node-22.1.0-win64.exe
4543A2FFE0DA19AB73673E718F811C9CD37334AE23B40FAB489883AC2D252739 nano-node-22.1.0-win64.zip
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEiV3g3/hlCzeiBTTjgERoJPn9OloFAmDZ9sUACgkQgERoJPn9
Olq1Jwf/RDWWBpQNoG/ORKc8/Hu/rdchmafvoqKn4xxbpdX0m/2/DTqKWuRCUPI7
+0hVZ4QE9Fp/8d+7uM0DT0CtGwcKgFwgxn81vMHlUnNqj8hXQ57aFQowBtL5deNS
lBLuXupz3jbrZ/l/iRtJ6aXGOeI1W3+JUsL/pxBjNfxxi9qqF4+ONONDV33L5A7/
N74iQcJK6+OVnyiutndx1V+/804XrjL+i532gz1joGa/Hi96lYtrN1foHAdD00iq
ZNUoEE7j45yfba3huUR5HtmZiutw9yTjDgH3/pIx6xEfxzlDEDAelhdZnm9CTMhM
wU1Ul2ujQZkIRLmGLw9ldHqTTovgKg==
=uuH5
-----END PGP SIGNATURE-----

V22.0

2 years ago

CHANGELOG

=========

Release V22.0

Full Changelog


Major Changes

Pull Request Title
#3208 Election scheduler
#3190 Prioritization
#3134 Final votes
#2881 Experimental ledger pruning

Protocol Changes

Pull Request Title
#3152 Optionally send confirmed frontiers

Node Configuration Updates

Pull Request Title
#3282 specify ip notation for preconfigured peers
#3148 This decreases the confirm_req_batches_max from 20 to 2
#3120 Increase default max LMDB size
#3122 Update online_weight_quorum toml comment
#3052 Update online_weight_quorum default to 67
#2998 Rollback messages config
#2947 [Pruning] Pruning configuration settings
#2855 Simplify RocksDB config options
#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
#2977 BREAKING [Pruning] Support pruned chains in RPC & QT wallet
#3015 BREAKING Remove payment RPC
#2884 BREAKING Confirm delta
#3060 BREAKING Pending RPC to sort by absolute amounts when returning a subset
#3237 Change return details for "bootstrap_lazy" RPC
#3276 Default include only confirmed data for RPC supporting it
#3267 Deprecate RPC active_difficulty instead of removing it
#3147 Limit frontier request block count by default
#3080 Optional async for process RPC
#3039 Add confirmed_height in account_info RPC to be consistent
#3022 Add include_only_confirmed to account_balance & account_info
#2916 Fix error with work_cancel RPC request
#2874 Fix inconsistent online representatives list from RPC
#2903 Provide network_receive_minimum in RPC/WS active_difficulty
#2852 Stats RPC to print out rocksdb memory stats
#2829 Merge block databases

Websocket Updates

Pull Request Title
#3260 BREAKING Remove elections difficulty sorting
#3016 Add option to include votes in confirmation websocket

CLI Updates

Pull Request Title
#3050 Update CLI commands missing checks for reading config and overrides
#2979 Migrate LMDB database to RocksDB with new CLI command
#2950 Use multiple threads in CLI debug_account_versions and debug_unconfirmed_frontiers
#2915 Don't delete crash dump files with --debug_generate_crash_report
#2889 Modify CLI --debug_account_versions for epoch upgrade tracking
#2845 Display hardcoded and ledger block height in compare_rep_weights
#2861 Fix CLI test --debug_profile_bootstrap
#2835 Allow unescaped quoted strings with --config CLI
#2685 Improve mutex handling when generating stacktraces with NANO_TIMED_LOCKS/txn tracker
#2822 Prevent CPU usage in --debug_opencl

Developer/Debug Options

Pull Request Title
#3144 The build info shows following description: \
#2765 Allow filtering a specific mutex for tracking with NANO_TIMED_LOCKS
#3077 Add debug/release_assert overloads which output error message strings
#3065 Improve message logging for bulk pull requests
#3031 Remove debug_assert which is hit calling block_confirm on already confirmed block.
#2932 Fix nano::timer tick update after stopping
#2777 Add uncemented frontier output CLI command
#2836 RocksDB tests
#2912 Recognize IPv4-mapped loopback addresses
#2909 Add support for defer_lock in nano::unique_lock
#2888 Make logging election tally an optional config
#2880 Logging exception handler and fix for stable_log_filename on windows
#2877 nano_test_network => nano_dev_network, new nano_test_network
#2844 Add time retrieval latency profile to CLI diagnostics
#2681 Add ASIO completion handler tracking
#2840 Different log when the OpenCL library cannot be loaded
#2839 UPnP basic logging messages are more frequent than intended

Fixed Bugs

Pull Request Title
#3273 Fix active transactions pruning regression
#3274 Duplicated foward-reference declaration
#3269 Fixing 3-cycle possible deadlock
#3265 Election flush
#3252 Fix block processor add issue
#3158 Fix FreeBSD build error: "Cannot find source file: plat/plat/default/debugging.cpp"
#3146 clear_send_ids in vacuum/snapshot is using wrong txn object
#3142 Enable write tx for vacuum operation
#3106 TSAN error in confirmation height unbounded
#3051 Wallet create causing crash when confirming blocks
#3084 Fix online reps live votes update
#3085 Wallet store adhoc keys inconsistency with reps container
#3069 Add --rpcconfig option and fix wallet config bug
#3018 Fix qt wallet hitting a debug_assert when creating blocks
#3072 Removing duplicate roots from the same vote
#3035 Renew UPNP port lease
#3019 Enable OpenCL on macOS
#3020 Properly initialize array of atomics in ws server
#2997 Fix repcrawler loopback channel guard
#2983 Wallets search pending deadlock
#2957 Prevent immediate cleanup of new channels
#2966 Check if awaiting collection is empty before waiting on condition in conf height processor
#2956 Don't null out telemetry object
#2940 [RocksDB] assert compare data and not the address on iterator operator==
#2929 socket_server should accept and drop connections during overflow
#2897 Increase confirmation solicitor single-round caps
#2887 Avoid potential deadlock in work watcher
#2862 Don't crash using read-only CLI command with no ledger
#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
#2823 Pre-sample block rate for bootstrap connections

Implemented Enhancements

Pull Request Title
#3281 Prevent not processed blocks addition to confirmed elections list
#3128 Update issue templates
#3257 Sighup reload bandwidth params
#3251 Change default active elections size
#3246 Remove frontiers confirmation start only after reaching cemented > hardcoded
#3211 fixes sha256 sum file generation
#3232 Block builders can only be used once, initialize at top of loop.
#3231 Check bulk push availability
#3188 Modernize unit tests: construct state blocks via builder
#3221 Refactory of block processor thread
#3218 Support pruned block with ledger::dependencies_confirmed function
#3164 Resolve issue with inactive votes cache not triggering elections to start
#3187 Modernize active_transactions::restart
#3185 Election encapsulation
#3186 Add vacancy metric to active transactions container.
#3181 Fix/Update the clang-format version to 10
#3174 Election start encapsulation
#3108 Add gap pending epoch open blocks to unchecked
#3155 Limit bulk pull processing for possible existing blocks
#3100 Reverse store iterator and selector for last record
#3173 Removing broadcasting state
#3149 Remove bootstrap restarting code
#3154 Throttled removal of rep crawler targets
#3107 Check open file descriptor limit, warn if low
#3098 Use frontiers age option for frontier_req client
#3136 Remove recently dropped check to restart elections
#3118 Disable peers banning after frontiers confirmation
#3125 Inactive votes cache timestamp
#3079 Republish difficulty updates to elections
#3103 Bootstrap tests improvements
#3117 Remove lazy destinations check
#2532 Add histogram support to stats
#3116 Move related blockstore functions together
#3110 Replace private_key uses with raw_key
#3101 Add worker task queue count to the stats
#2758 Store whole block in confirmation height processor queue
#3058 Various consistency changes
#3038 Remove epoch2 started code
#3081 Revert coroutine changes for core & rpc_test
#2871 Combine alarm and worker threads into a pool
#3086 Remove boost process code
#3059 Improve inactive votes cache memory allocation
#3029 Modify std::shared_ptr value parameters to const refs
#2763 Vote spacing
#3014 Remove telemetry signature partitions
#3048 Update online weight before checking quorum
#3026 Storing blocks according to tally in elections with forks
#3027 Republish only winners for forked elections
#3068 Limit failures for confirmed lazy bootstrap bulk pull
#3071 Moving voting constants in to their own class
#3064 Remove timestamp count in votes
#3040 Remove unnecessary heap allocations during ed25519 hashing
#2883 Remove conf height put during ledger processing on a newly opened account
#2994 Include block to fork confirm_req response
#2996 Erase dropped forks from the duplicate filter
#2879 Packed timestamp
#2925 Election mutexes to remove heavy active mutex contention
#3013 Add pruned node to maker
#2820 Using post-processing events for all operations
#3001 Constifying shared_ptr parameters to various functions.
#2976 [Pruning] Support pruned blocks in bootstrap actions
#2991 Avoid locking the work_watcher mutex in the request_confirm loop
#2992 [Pruning] Wallet receive action & search pending for pruned blocks
#2974 [Pruning] Accept pruned-related blocks in blocks processing & rollback
#2978 [Pruning] Support pruned blocks in confirmation height processor & active transactions
#2975 [Pruning] Use pruned blocks in rep crawler
#2987 Set thread names in db parallel traversal
#2981 Change usage of latest to accounts for consistency
#2982 Add timing_logging check before conf height timing output
#2938 [RocksDB] Modify some table/column family settings
#2863 Resolve data type conversion warnings
#2968 [Pruning] Ledger pruning functions
#2918 Move channel drop policy off of nano::socket and remove channel concurrency value as redundant
#2961 Election encapsulation
#2960 Removing unused variables.
#2936 Converting nano::socket::note from weak_ptr to node to a plain reference
#2955 Directly use socket shared_ptr in bootstrap_client
#2937 Use node::receive_confirmed synchronously
#2939 Convert nano::network periodic functions to use a steady timer instead of callbacks
#2865 Move all vote generation to the voting thread
#2934 Retrieve copy of wallets in scan_receivable
#2876 Improve ledger cache initialization with multiple threads
#2926 Non-functional change to clean up header inclusions.
#2761 Require explicit conversion from root/link to block hash or account
#2896 Atomic representation weight changes
#2856 [RocksDB] Use different column family options and prefix extraction for unchecked table
#2860 [RocksDB] Manually flush memtables if there are a large number of tombstones
#2914 Removing channel::callback
#2885 Add cemented frontier successor confirmation in request loop
#2907 Renaming ledger::can_vote to ledger::dependents_confirmed
#2788 Use Boost.Coroutine with asio/beast async calls in tests
#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
#2850 Epoch 1 legacy blocks work validation before processing
#2854 [RocksDB] Use estimated unchecked count
#2795 Write database queue functions should be NoOps with RocksDB
#2872 Remove UDP status/stats dead code
#2873 Add source block epoch to sideband information
#2849 Cleanup nano::process_return
#2827 Local votes history to replace votes cache
#2679 Make std::condition_variable::wait* compatible with NANO_TIMED_LOCKS
#2858 [RocksDB] Do not fill block cache from ranged iterators
#2848 Unnecessary frontier_get when processing state block forks
#2756 Use block cache from unbounded processor when checking if block is processing
#2842 Specify OpenCL clCreateBuffer() flags
#2821 node config spelling errors
#2736 Improve distributed_work_factory item management
#2775 Refactor shared testing code from core_test
#2770 Remove node v18 and earlier upgrade support

Build, Test, Automation, & Chores

Pull Request Title
#2878 BREAKING Enforce Cxx17
#3283 Simplify inactive_votes_cache_election_start test
#3279 Improve confirmation_height.gap_live core test
#3254 New Rep weights live file (#3238)
#3272 Adjust node.aggressive_flooding test
#3270 Adjust active_transactions.pessimistic_elections & network.last_contacted
#3258 Prevent blocks conflict in RPC pruned tests & improve confirmation in RPC pending tests
#3259 Update active_transaction.inactive_votes_cache_fork with election scheduler changes
#3131 Update MiniUPnP to version 2.2.2
#3183 stop deploying live on latest
#3215 Updating unit tests in preparation for election scheduler changes.
#3184 Fixing test issue found with asan.
#3132 Update GoogleTest to release 1.10.0
#3172 Test fix
#3135 Update beta genesis and magic number from V22.0DB10 reset
#3129 Improve elections related tests
#3130 Database final votes support
#3042 Make fuzz_buffer compile again after message_parser changes
#3123 Update missing nano::mutex changes
#2629 Make bootstrap_processor.process_state more robust under tsan
#3102 Fix test rpc.confirmation_active
#3096 Add missing include(msvc2017)
#3093 Process async test should use state block
#3090 Add recent constref change to rpc secure as well
#3088 more changes regarding github actions security hardening
#3082 Increment retry date string
#3062 Fix intermittent node.bootstrap_bulk_push failure
#3061 Deploy "Test" net artifacts correctly
#3057 follow lib naming convention of pre-compiled boost on windows
#3044 Fix intermittent rpc.receive_work_disabled segfaults
#3056 Fix copy pasta error with test network variables
#3054 Allow for manual triggering of artifact runs
#3053 cleanup various scripts
#3037 Customizing Test Network Parameters
#3043 Fix rpc online_reps unit test
#3049 Fixing boost to 1.70 on windows via artifact cache
#3034 github container repo
#3033 Allow [[deprecated]] attribute
#3024 use $GITHUB_ENV instead of set-env
#2972 Translate some tests with UDP functionality to TCP
#3025 Update to correct rocksdb submodule commit
#3010 Update RocksDB version to 6.13.3
#3005 Adding plist files to ignore filter.
#3000 add test network to build artifacts for non DB tags
#3006 Remove Guilherme's pubkey from security policy
#2995 Make entry.sh more portable by removing all bashisms
#2969 Fix link to contributors guide
#2990 correct lib install path for nix
#2988 build bootstrap artifacts to be compatible with rpath linking
#2984 Add coroutine/context boost shared libraries to the artifacts
#2980 Fix intermittent failure of node.local_votes_cache_generate_new_vote
#2973 Beta reset in prep for rocksdb heavy testing
#2964 update LD_LIBRARY_PATH for building
#2971 This fixes a race condition in node.node_receive_quorum.
#2967 [Pruning] Pruned blocks slow test
#2962 Fix rpc.send_fail TSAN failure
#2943 Add RocksDB as a submodule
#2948 Use 1 thread to service I/O operations to allow TSAN runs.
#2941 Avoid duplicate workflows for local pulls
#2933 Fix core_test build with Boost 1.74
#2930 [RocksDB] Set max_write_buffer_size_to_maintain explicitly
#2928 Move forward rocksdb minimum
#2935 Update beta V22 bootstrap weights following reset
#2927 Fix build error when using NANO_TIMED_LOCKS_IGNORE_BLOCKED
#2919 [TSAN] minor race in rpc.send test
#2911 Add Boost.Coroutine to bootstrap_boost.sh script
#2908 Frontier confirmation cleanup
#2905 Lower request loop min_sleep for tests
#2898 Docker base update
#2847 Changelog generator grab pull from commit message
#2868 Increment major version to 22
#2830 Beta reset for V22 development
#2859 extend test retry deadline 12/31/2020 23:59:59 UTC
#2834 update lmdb to 0.9.25
#2838 Fix secure RPC build on msvc
#2780 Use ASSERT_TIMELY in tests where possible

Other

Pull Request Title
#3127 Limit peers per subnetwork
#3209 Project-wide update with clang-format-10 and new formatting options including initializer-list indentation.
#3206 Fixing static initialization order on Window
#3180 Add new GPG public key
#3170 Add new GPG public key
#3124 Change qualified root from previous-root to root-previous
#2970 Transport loopback channel
#2946 [Pruning] Basic pruning blocks storage & database upgrade
#2944 Use empty uint8_t peer data
#2920 [RocksDB] Reduce number of blocks processed in batch by block processor

Other Updates

Commit Title
ef09e55c Merge pull request #3284 from nanocurrency/v22rc2_cherry_pick
2a3afcb1 Correcting version number since we don't use _PATCH numbers.
21097ccf Increasing patch release number to signify V22RC1
2b23fd47 Qt test: disable wallet.status and introduce wallet status with peer
6838a59a Remove x or pruned exists fn (#3216)
f801b615 Bugfix: signal handlers called twice for each signal received
a0f90721 Do not repeat core_test in CI
ebc851b1 Fix tests quorum_minimum_confirm_fail, quorum_minimum_update_weight_before_quorum_checks
7672d4ed Fix core test case election.quorum_minimum_confirm_success (#3242)
9e04e156 Remove printing of log to stderr (file descriptor limit too low)
7b1b51c4 Handle signals with boost asio signal handler
5e1aa73c Merge pull request #3219 from dsiganos/dimitrios_siganos_gpg_pubkey
29e3a1dd GPG public key for Dimitrios Siganos
5f8e4d7d Merge pull request #3063 from cryptocode/unit-fix-work_watcher-confirm-while-generating
c8630c09 Merge pull request #3028 from SergiySW/network/tcp_endpoint_value
f15adfeb Merge pull request #3078 from cryptocode/wallet_republish-rpc-fix
d473d21c Fix wallet_republish crash during bootstrap
ad0a92f7 Fix intermittent work_watcher.confirm_while_generating failure
3839e8cc Persistent TCP channel endpoint value

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

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

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


071da96356f76ba60c67305af132ae697792d34e2655701480156456035d2dde  nano-22.0.tar.gz
ad1876c81467aa8331d1d757b281a5a7de6458446fd7d98c15f999825feea78d  nano-node-22.0.0-Darwin.dmg
df12accaba4ceda6eb968a9f5f44e3b57b559253aeac3f0f3136b7470ffc59a5  nano-node-22.0.0-Linux.deb
9e23956746b3b02fc575a2c917ae20b0bc786893c4c679217b1353393af647ce  nano-node-22.0.0-Linux.tar.bz2
9C682A2BD4EEF5BA8B87B8B8A92D210626A0AE96F680D6C570A2AE8DEAFEF63A  nano-node-22.0.0-win64.exe
77B694EB60019C856B9D83C4F19E102EEAEBC110BFE12EF85CD6B2167869DE26  nano-node-22.0.0-win64.zip
7719030a877a5726456da4d295729f16bc6820850a1687298886d9ce90dce636  nanocurrency-22.0-24.el7.src.rpm
47951a776507f6c8dd71a92af4cfd76fb8d459dbc2d716cad585135cc5911aa4  nanocurrency-22.0-24.el7.x86_64.rpm
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEc+pdEgPPsADHbxJjyW2zlQ3kDroFAmCfVwEACgkQyW2zlQ3k
Droy8wgAg1DYOVW55IJpVSBiBLROtRXg7eqWCanne4/1FA0qMscWHbMdMU1NSXCS
TrFoJLPxSf4RIKJMk1RwB6Hyo9hmLqWBYGjYJFOlvQOkv9O0xW3eZIVmtGoYB3Ic
rYlzHP+RbxFGP8v/sR9E3S+MjVxvOe0caOmrAz69b6rsCe+C+7er1F1jxnI6vqDY
RD5GtI/cSgkMlA3gY/7CG28mx2Seyix5GBnDhWD0Hxqc6yzCH+XIhTRPsHiEjb3M
oHt1pTIKTFPVjnCEBvOpN6tsb4KoKHTyr7eMX8FFm8hnIhKrQ5TEU3xYy3Lxo9Ci
hLe0z5fMKIaU3Ul2B4SKQxXDUFJd5g==
=itw8
-----END PGP SIGNATURE-----


V21.3

3 years ago

CHANGELOG

Release V21.3

Full Changelog


Pull Request Title
#3140 Various synchronization fixes (see PR for details)
#3157 Update live bootstrap weights

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.3 release artifacts
Signature Verification can be run against argakiig.asc in source repo (etc/gpg/)

5fd4d10e85deca133851f1be17735a76810ca508ebca413902396123b1604006  nano-node-V21.3-Darwin.dmg
b998f4d3c2d32a2da2f46799312bfb6069b9b28d63e40bb7e8df3bc67541a082  nano-node-V21.3-Linux.deb
185fbe1f355a8cda9e91d9df671aae27e186bf9eb199eb43a38767ae1d591593  nano-node-V21.3-Linux.tar.bz2
ccfdf48266e126a55e2c3a50d8a2eae87b4e1971bdc92eae3ae27e7f25d69225  nano-node-V21.3-win64.exe
835b0516a92c42238c6d1df429a15a3c97d462da2be06cb15de4457113476c06  nano-node-V21.3-win64.zip
2ebf52b682585762294ce92f4b3eae552e51eb97824ec78e71921264b6017780  nanocurrency-21.3-23.el7.x86_64.rpm
d8dfa1ae2dda7c6f4e3456ee701b67c11c7cab452b6c5faf1ee957b107b84197  nano-21.3.tar.gz
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEiV3g3/hlCzeiBTTjgERoJPn9OloFAmBWeO0ACgkQgERoJPn9
OlqakQf/RPV338bOOr/DCscV3B/qFpGHeZyB+Z9Wc2g3V2pSiL/Q8lNRlbXybIlC
73FmMICn9TUbQurpC+uc/jjB1XUWBowuJP4mjN/RZe1YSL+hGT2aah4BDJoXxIjw
wmdg21In3rAvNDebB6nkUNT2y8bIgvboJATa5Rhkya6nUN5FtBu8MGMIZZKWPz4F
0BGYL9dDdr/xcLDbgDN8jKmdiUiKn3t1BTJ0ajaSGyWkfDeUuWKku1B2vH6Y5mfq
Xwm/z2XmiJuC2Z6NR898Vojvj/wAaaqoQHD72QpEntcLh0Ve/BDC98EgT5I8GdAn
t9hM/3vs1xi5xv3qRNmlF08CYlMGMw==
=E9PS
-----END PGP SIGNATURE-----