v2.9.0
This will likely be the last release before v3. Migration guide
Features
- Breaking change: When using sender/receiver,
agrpc::Alarm
will now use theset_done
/set_stopped
channel when cancelled, instead of sending abool
through theset_value
channel. - Breaking change: When using
asio::execution
the StopToken was obtained by callingasio::get_associated_cancellation_slot
on the receiver. An unstoppable token is now used instead. Note thatasio::execution
is deprecated and should no longer be used. - Asio and
execution
may now be used within the same application. Simply link withasio-grpc::asio-grpc(-standalone-asio)
andasio-grpc::asio-grpc-(unifex|stdexec)
. - Add
execution::get_scheduler
support to I/O objects. - Mark senders
[[nodiscard]]
. - Fix and improve
asio-grpc.natvis
. Also add support forstdexec
. To learn how natvis files can improve your debugging experience check out the Visual Studio or Visual Studio Code documentation.
Fixes
- Partially fix
agrpc::Waiter.initiate
for sender/receiver. Currently only theset_value
channel is forwarded to the waiting operation. - Make
agrpc::process_grpc_tag
work properly with unifex/stdexec instead of silently be a no-op. - Use of
register_yield_rpc_handler
with standalone Asio 1.24.0+. - Conditional detection of
asio::execution
with Asio 1.30.0+ / Boost 1.84+.
Chore
- Change the Boost.Asio+stdexec test to now use standalone Asio.
- Update Boost to 1.83.0.
- Update doxygen-awesome to 2.3.1.