Skip to content

Update Boost from V1.86.0 to 1.87.0#5052

Merged
pwojcikdev merged 4 commits intonanocurrency:developfrom
RickiNano:Boost187
Apr 2, 2026
Merged

Update Boost from V1.86.0 to 1.87.0#5052
pwojcikdev merged 4 commits intonanocurrency:developfrom
RickiNano:Boost187

Conversation

@RickiNano
Copy link
Copy Markdown
Contributor

This PR updates Boost from v1.86.0 to v1.87.0
It migrates deprecated Boost.Asio APIs to their new replacements:

  • deadline_timer → steady_timer with expires_after() / std::chrono
  • resolver::query + iterator → async_resolve(host, service)
  • address::from_string() → make_address and make_address_v4()
  • address_v6::v4_mapped() → make_address_v6()
  • io_context::post() → boost::asio::post()

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/

@gr0vity-dev-bot
Copy link
Copy Markdown

gr0vity-dev-bot commented Mar 29, 2026

Test Results for Commit 7400763

Pull Request 5052: Results
Overall Status:

Test Case Results

Last updated: 2026-03-30 20:24:38 UTC

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 with boost::asio::post(...).
  • Migrate resolver calls from resolver::query + iterator patterns to async_resolve(host, service) and results_type.
  • Update timer and address APIs (deadline_timersteady_timer, from_stringmake_address*, address_v6::v4_mappedmake_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 pwojcikdev merged commit d77b125 into nanocurrency:develop Apr 2, 2026
27 of 29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants