Skip to content

2.4

Compare
Choose a tag to compare
@apolukhin apolukhin released this 18 Sep 14:49

Changes since v2.3:

  • Added USERVER_LOG_REQUEST_HEADERS_WHITELIST to control the HTTP headers to log.
  • OpenTelemetry protocol (OTLP) now can optionally do only logging or only tracing. Thanks to TertiumOrganum1 for the PR!
  • The framework now accepts OTLP headers for tracing by default and puts those headers for new requests.
  • PostgreSQL span names are now a little bit more informative. Thanks to TertiumOrganum1 for the PR!
  • Kafka now has a client.id static option. Many thanks to Nikolay Pervushin for the PR.
  • PostgreSQL type errors become more informative. Thanks to farmovit for the report!
  • Optimizations:
    • HTTP/2 server implementation now does not copy data to send, saving CPU and RAM.
    • HTTP/2 now relies on open-addressing unordered map from nghttp2, leading to faster stream lookup.
    • Kafka consumer now does not block a task processor thread, allowing multiple consumers to share the same OS thread. Consume cycle now can be treated as an asynchronous non-blocking event loop.
    • Kafka producer delivery acknowledgments processing is now done in parallel, leading to better scalability. Also it does not block the OS thread when waiting for new delivery acknowledgments.
    • Internals of all the Sockets became smaller in size, saving some RAM.
  • gRPC:
  • Build, Install and CI:
    • OTLP build is now supported in Conan. Thanks to Amina Ramazanova for the PR!
    • Chaotic now exposes less headers, leading to faster build times.
    • Fixed compilation on modern Boost.UUID. Thanks to Alexander Botev for the PR!
    • Added dependabot to CI and updated the dependencies. Thanks to Dzmitry Ivaniuk for the PR!
    • Added missing #include. Thanks to Nikita for the PR!
    • Removed outdated defines in the core. Thanks to Sergey Kazmin for the PR!
    • Install now does not put third party headers into the top level include directory. Multiple unused files are now not installed.
    • Started the work to enable builds in directories with whitespace in names.
  • Documentation: