Skip to content

v2.9.0

Compare
Choose a tag to compare
@Tradias Tradias released this 24 Dec 11:30
· 172 commits to master since this release

This will likely be the last release before v3. Migration guide

Features

  • Breaking change: When using sender/receiver, agrpc::Alarm will now use the set_done/set_stopped channel when cancelled, instead of sending a bool through the set_value channel.
  • Breaking change: When using asio::execution the StopToken was obtained by calling asio::get_associated_cancellation_slot on the receiver. An unstoppable token is now used instead. Note that asio::execution is deprecated and should no longer be used.
  • Asio and execution may now be used within the same application. Simply link with asio-grpc::asio-grpc(-standalone-asio) and asio-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 for stdexec. 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 the set_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.