Skip to content

v2.1.0

Compare
Choose a tag to compare
@Tradias Tradias released this 06 Sep 17:12
· 472 commits to master since this release

Features

  • Add a high-level client API - a new major feature that makes writing asynchronous gRPC clients easier and safer.
  • In asio_grpc_protobuf_generate, check the validity of IMPORT_DIRS at CMake configure time instead of build time.
  • The asio-grpc source files can now be consumed without CMake. In that case, the compile definition AGRPC_USE_BOOST_CONTAINER can be used to choose between <memory_resource> and Boost.Container.

Fixes

  • Enable cancellation support for standalone Asio 1.19.0 instead of 1.20.0. Note that throwing exceptions from the request handler of agrpc::repeatedly_request crashes until 1.19.2.
  • Correctly handle .proto filenames that include dots in asio_grpc_protobuf_generate.
  • Return correct sender from asio::execution::schedule(GrpcExecutor) when compiling in C++17 using MSVC.

Performance

  • Turn cancellation check in agrpc::repeatedly_request to a no-op when the completion handler does not support cancellation.
  • Replace most calls to std::move and std::forward with static_cast and use a simpler version of std::tuple to improve compile times.

Documentation

  • State that read_initial_metadata will not complete until the server calls write_initial_metadata or the client performs a write/finish.
  • Add generic bidirectional streaming example.
  • Add dark mode to documentation website.

Chore

  • No longer run CodeQL in Github Actions since it stopped working and never diagnosed anything useful.