On Fri, Jul 3, 2020, at 1:21 AM, Richard Hodges via Boost wrote:
[...]
This post refers to unrelated things, so for clarity: 1) BOOST_ASIO_NO_DEPRECATED The handler invocation and allocation hooks were superseded and deprecated back in Boost 1.66, with the introduction of the networking TS compatibility: https://www.boost.org/doc/libs/1_66_0/doc/html/boost_asio/net_ts.html The only deprecation-related change for Asio in Boost 1.74 is that these hooks are now covered by BOOST_ASIO_NO_DEPRECATED. This will help users find and replace their usage of the hooks in their applications. Beast changed to respect the definition of BOOST_ASIO_NO_DEPRECATED in relation to these hooks. 2) BOOST_ASIO_NO_TS_EXECUTORS With Boost 1.74, Asio adds an implementation of the proposed C++23 standard executors. This is in addition to the existing executors implementation which is defined in the networking TS. Most applications will require no modification, or very little. If absolutely necessary, users can define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT to enable full backward compatibility. A user may choose to define BOOST_ASIO_NO_TS_EXECUTORS so that they can disable networking TS executors entirely, and use only the proposed C++23 executors. Even when this is defined, unless interacting directly with executors at a low level, most code will require little or no change. Beast changed as follows: * To support the proposed C++23 standard executors implementation as an additive feature. * To respect the user's definition of BOOST_ASIO_NO_TS_EXECUTORS. The common theme here is that these changes impact Beast more than they will impact end users, because Beast opts to support and pass through Asio's latest features without attenuation. This allows Beast users to employ these latest features in their applications. The majority of users, and especially those that define neither of the above preprocessor macros, should experience little or no change.