Update Boost from V1.86.0 to 1.87.0#5052
Merged
pwojcikdev merged 4 commits intonanocurrency:developfrom Apr 2, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the codebase to work with Boost 1.87.0 by migrating away from deprecated Boost.Asio APIs (timers, resolver APIs, address parsing, and posting work), and by removing legacy compatibility branches for pre-Boost 1.70.
Changes:
- Replace deprecated
io_context::post()usage withboost::asio::post(...). - Migrate resolver calls from
resolver::query + iteratorpatterns toasync_resolve(host, service)andresults_type. - Update timer and address APIs (
deadline_timer→steady_timer,from_string→make_address*,address_v6::v4_mapped→make_address_v6), plus adjust related tests.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| nano/rpc/rpc_connection.hpp | Removes pre-1.70 socket type compatibility branch. |
| nano/rpc/rpc_connection.cpp | Switches to boost::asio::post(...) for RPC request dispatch. |
| nano/node/websocket_stream.hpp | Removes pre-1.70 compatibility and standardizes buffer printing macro. |
| nano/node/transport/transport.cpp | Replaces deprecated v4-mapped IPv6 construction with make_address_v6. |
| nano/node/transport/loopback.cpp | Switches callback scheduling to boost::asio::post(...). |
| nano/node/transport/inproc.cpp | Switches callback scheduling to boost::asio::post(...). |
| nano/node/transport/fake.cpp | Switches callback scheduling to boost::asio::post(...). |
| nano/node/rpc_callbacks.hpp | Updates callback retry signature to use resolver results iterators. |
| nano/node/rpc_callbacks.cpp | Migrates resolve logic to results_type and updates retry traversal. |
| nano/node/portmapping.cpp | Replaces address_v4::from_string with make_address_v4. |
| nano/node/network.cpp | Migrates reachout DNS resolution to results_type range-for iteration. |
| nano/node/distributed_work.cpp | Migrates peer resolve to results_type and removes iterator_range usage. |
| nano/load_test/entry.cpp | Updates async_connect handler iterator types to results iterators. |
| nano/lib/thread_runner.hpp | Removes unnecessary deadline_timer include. |
| nano/lib/ipc_client.cpp | Migrates client resolve to async_resolve(host, service) + results_type. |
| nano/lib/ipc.hpp | Switches IPC timer type from deadline_timer to steady_timer. |
| nano/lib/ipc.cpp | Migrates timer expiry from expires_from_now to expires_after. |
| nano/core_test/network_functions.cpp | Updates tests to use make_address instead of from_string. |
| nano/core_test/network.cpp | Updates v4-mapped address creation in tests to make_address_v6. |
| nano/core_test/fakes/work_peer.hpp | Migrates fake peer timer to steady_timer + expires_after. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
pwojcikdev
approved these changes
Apr 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR updates Boost from v1.86.0 to v1.87.0
It migrates deprecated Boost.Asio APIs to their new replacements:
Also remove pre-Boost 1.70 compatibility checks
Version 1.87.0 release documentation can be found here: https://www.boost.org/releases/1.87.0/