Skip to content

Releases: nanocurrency/nano-node

V28.1

05 Jun 13:19
Compare
Choose a tag to compare

Upgrade Notices

Some V28.0 users experienced occasional node crashes due to missing sideband in election blocks. This has been resolved in V28.1.

Major updates

Bounded Block Backlog

The Bounded Block Backlog (BBB) adds a maximum limit for unconfirmed transactions (currently 100,000), helping prevent resource exhaustion attacks & ensuring more consistent confirmation rates during high network load.

Traffic Shaping

Traffic shaping complements the fair queuing system implemented in V27, by managing outbound network traffic more intelligently. This helps ensure more equal distribution of bandwidth between peers, reduces network congestion, & helps maintain performance during peak network usage.

RocksDB Optimizations

Nano's RocksDB implementation has been updated to V9.7.2, and the default configuration settings have been updated to match current best practices. Additionally, a range of improvements related to memory usage, thread handling, & lock management have been included, improving stability and performance for nodes using the RocksDB database backend.

Vote Generation Improvements

The vote generation system has been redesigned to be more resource-efficient, reducing CPU usage, improving priority vote processing, & bundling votes more intelligently.

Vote Filter Implementation

A new vote filter implements sophisticated deduplication and relevancy checks, eliminating redudant votes, reducing bandwidth usage, lowering memory usage, & reducing overall network load.

Vote Rebroadcasting Overhaul

The vote_rebroadcaster component was overhauled, making vote rebroadcasting smarter & more efficient. Previously we used a simple queue with a naive filter which rebroadcasted all processed votes. Since a vote can contain up to 255 hashes and the same vote can be processed multiple times depending on the exact timing of election activation, this introduced a rather significant inefficiency where we could rebroadcast the same vote multiple times, wasting bandwidth. The vote rebroadcaster overhaul significantly improves this by improving tracking & filtering of vote rebroadcasts.

Bootstrap & Database Optimizations

Bulk frontier scanning has been added to the ascending bootstrapper, processing up to 1,000 accounts simultaneously. I/O overhead has also been reduced through smart caching and optimised database queries. Additionally, a new fork_cache & block bootstrapping improvements were added, speeding up fork resolution during certain bootstrap scenarios.

Legacy Code Removal

The legacy bootstrapper has been completely removed, simplifying the codebase & improving code maintability.

Bug fixes

Several bugs were fixed, including race conditions, missing notifications, & dependency issues.


Upgrade notices

RPC changes

Bootstrap RPCs

The following bootstrap related RPC commands have been extended, modified, or added:

  • bootstrap_status: previously this returned the status of legacy bootstrap; modified to return the status of ascending bootstrap
  • bootstrap_reset: resets ascending bootstrap state, both priority and blocking sets are cleared
  • bootstrap_priorities: dumps info about priority and blocking sets to aid in debugging any potential problems

Please note that the above bootstrap RPC commands are internal/diagnostic RPCs, & may not be stable.

Confirmation_info RPC

This is a backwards compatible change that updated the confirmation_info RPC call to include a list of representatives_final (representatives that have voted with final votes). Thanks to MajorChump for submitting this PR!

Ratio & Conversion related RPCs

Xrb_ratio has been removed and replaced with nano_ratio:

Existing name ratio Value New name
Gxrb_ratio 10^33 1000 nano Knano_ratio
Mxrb_ratio 10^30 1 nano nano_ratio
kxrb_ratio 10^27 0.001 nano removed
xrb_ratio 10^24 0.000001 removed

The following deprecated RPC endpoints for conversion have been removed:

  • krai_from_raw
  • krai_to_raw
  • mrai_from_raw
  • mrai_to_raw
  • rai_from_raw
  • rai_to_raw

For alternatives, see Unit Conversion RPCs

Other RPC Changes

An optional include_linked_account parameter was added to the account_history, block_info, and blocks_info RPC endpoints. When enabled, the response will include a new field linked_account, which returns the linked account associated with the block (or "0" if no linked account exists/was found e.g. due to pruning). Thanks to Exxenoz for submitting this PR!

Config changes

While the previous toml for database backend configuration is still supported for now, it is being replaced by database_backend = "lmdb" or database_backend = "rocksdb" under [node].

Consider reviewing and updating your configuration files with the --update_config or --generate_config CLI parameters. Review the toml config quick reference, or the CLI documentation for additional details.

Known Issues

Bootstrapping from scratch with pruning enabled causes the node to crash. As a potential workaround, node operators may be able to bootstrap with pruning disabled, and then enable pruning after bootstrapping is complete. A higher max_pruning_depth may also reduce the frequency of crashes. Pruning is considered experimental, so use it at your own risk - pruning is not currently recommended for important production services.

Docker Image

The official Docker tag for the V28.1 release is nanocurrency/nano:V28.1

See Pulling the Docker Image for more details.

Changelog

Bootstrapping

Database / Ledger

Read more

V28.0

03 May 13:20
Compare
Choose a tag to compare

Major updates

Bounded Block Backlog

The Bounded Block Backlog (BBB) adds a maximum limit for unconfirmed transactions (currently 100,000), helping prevent resource exhaustion attacks & ensuring more consistent confirmation rates during high network load.

Traffic Shaping

Traffic shaping complements the fair queuing system implemented in V27, by managing outbound network traffic more intelligently. This helps ensure more equal distribution of bandwidth between peers, reduces network congestion, & helps maintain performance during peak network usage.

RocksDB Optimizations

Nano's RocksDB implementation has been updated to V9.7.2, and the default configuration settings have been updated to match current best practices. Additionally, a range of improvements related to memory usage, thread handling, & lock management have been included, improving stability and performance for nodes using the RocksDB database backend.

Vote Generation Improvements

The vote generation system has been redesigned to be more resource-efficient, reducing CPU usage, improving priority vote processing, & bundling votes more intelligently.

Vote Filter Implementation

A new vote filter implements sophisticated deduplication and relevancy checks, eliminating redudant votes, reducing bandwidth usage, lowering memory usage, & reducing overall network load.

Vote Rebroadcasting Overhaul

The vote_rebroadcaster component was overhauled, making vote rebroadcasting smarter & more efficient. Previously we used a simple queue with a naive filter which rebroadcasted all processed votes. Since a vote can contain up to 255 hashes and the same vote can be processed multiple times depending on the exact timing of election activation, this introduced a rather significant inefficiency where we could rebroadcast the same vote multiple times, wasting bandwidth. The vote rebroadcaster overhaul significantly improves this by improving tracking & filtering of vote rebroadcasts.

Bootstrap & Database Optimizations

Bulk frontier scanning has been added to the ascending bootstrapper, processing up to 1,000 accounts simultaneously. I/O overhead has also been reduced through smart caching and optimised database queries. Additionally, a new fork_cache & block bootstrapping improvements were added, speeding up fork resolution during certain bootstrap scenarios.

Legacy Code Removal

The legacy bootstrapper has been completely removed, simplifying the codebase & improving code maintability.

Bug fixes

Several bugs were fixed, including race conditions, missing notifications, & dependency issues.


Upgrade notices

RPC changes

Bootstrap RPCs

The following bootstrap related RPC commands have been extended, modified, or added:

  • bootstrap_status: previously this returned the status of legacy bootstrap; modified to return the status of ascending bootstrap
  • bootstrap_reset: resets ascending bootstrap state, both priority and blocking sets are cleared
  • bootstrap_priorities: dumps info about priority and blocking sets to aid in debugging any potential problems

Please note that the above bootstrap RPC commands are internal/diagnostic RPCs, & may not be stable.

Confirmation_info RPC

This is a backwards compatible change that updated the confirmation_info RPC call to include a list of representatives_final (representatives that have voted with final votes). Thanks to MajorChump for submitting this PR!

Ratio & Conversion related RPCs

Xrb_ratio has been removed and replaced with nano_ratio:

Existing name ratio Value New name
Gxrb_ratio 10^33 1000 nano Knano_ratio
Mxrb_ratio 10^30 1 nano nano_ratio
kxrb_ratio 10^27 0.001 nano removed
xrb_ratio 10^24 0.000001 removed

The following deprecated RPC endpoints for conversion have been removed:

  • krai_from_raw
  • krai_to_raw
  • mrai_from_raw
  • mrai_to_raw
  • rai_from_raw
  • rai_to_raw

For alternatives, see Unit Conversion RPCs

Other RPC Changes

An optional include_linked_account parameter was added to the account_history, block_info, and blocks_info RPC endpoints. When enabled, the response will include a new field linked_account, which returns the linked account associated with the block (or "0" if no linked account exists/was found e.g. due to pruning). Thanks to Exxenoz for submitting this PR!

Config changes

While the previous toml for database backend configuration is still supported for now, it is being replaced by database_backend = "lmdb" or database_backend = "rocksdb" under [node].

Consider reviewing and updating your configuration files with the --update_config or --generate_config CLI parameters. Review the toml config quick reference, or the CLI documentation for additional details.

Known Issues

Bootstrapping from scratch with pruning enabled causes the node to crash. As a potential workaround, node operators may be able to bootstrap with pruning disabled, and then enable pruning after bootstrapping is complete. A higher max_pruning_depth may also reduce the frequency of crashes. Pruning is considered experimental, so use it at your own risk - pruning is not currently recommended for important production services.

Docker Image

The official Docker tag for the V28.0 release is nanocurrency/nano:V28.0.

See Pulling the Docker Image for more details.

Changelog

Bootstrapping

Database / Ledger

Read more

V27.1

09 Sep 20:01
Compare
Choose a tag to compare

What's Changed

Networking overhaul

Significant portions of the networking structure have been rewritten to improve reliability, maintainability, and performance.

Fair queuing

Logging and stats overhaul

Election/block handling improvements

Rep handling overhaul

Vote handling improvements

Read more

V26.1

27 Feb 14:11
Compare
Choose a tag to compare

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: V25.1...V26.1

V25.1

08 Jun 15:50
d710e29
Compare
Choose a tag to compare

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

24 May 14:32
8dad120
Compare
Choose a tag to compare

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
[cff1dbd](cff1dbde7f8b...
Read more

V24.0

20 Jan 13:06
Compare
Choose a tag to compare

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](https://github.com/nanocurrency/nano-node/pul...
Read more

V23.3

13 Jun 18:52
33422f4
Compare
Choose a tag to compare

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

19 May 21:48
Compare
Choose a tag to compare

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

17 Jan 18:58
a7a44f9
Compare
Choose a tag to compare

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 walki...
Read more