Skip to content

V23.0

Compare
Choose a tag to compare
@zhyatt zhyatt released this 17 Jan 18:58
· 1479 commits to develop since this release
a7a44f9

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