Skip to content
Compare
Choose a tag to compare
@apolukhin apolukhin released this 08 Nov 09:38

Changes since v2.4:

  • Added S3 API client s3api::Client. Many thanks to v-for-vandal for the work!

  • Added gRPC reflection library. Many thanks to v-for-vandal for the work!

  • Added Kill Switch functionality. Many thanks to Aksenov Anton for the work!

  • Congestion Control turned on by default.

  • Initial work towards embedding GDB pretty-printers to userver binaries.

  • Mongo now has the full functionality for diagnostics out-of-the box, without mongo-c library patches.

  • Simplified contributing by removing the annoying bot that checks for explicit agreement to CLA. Creating an issue or sending a PR already means agreement with CLA. Added notes to PR and Issue creation to highlight that.

  • Basic support for HTTP/2 body streaming.

  • Kafka support in testsuite implemented. See Functional tests section at Kafka service tutorial.

  • gRPC:

    • Safe new interface for gRPC server handlers. Old interface will be removed in next release.
    • Added support for TLS in gRPC.
    • Added ugrpc::server::middlewares::field_mask::Component for masking and trimming messages. Many thanks to TTPO100AJIEX for the work!
    • gRPC clients now allow configuring channels count for particular methods via dedicated-channel-counts static config option.
  • Optimizations:

  • Build:

    • Added userver_module() CMake function to simplify configuration of new drivers that are being added to userver.
    • Added missing fmt/ranges.h includes. Thanks to Vasilii Kuziakin and to SidorovichPavel for the PRs!
    • Proper use of PROTOBUF_PROTOC in CMake. Thanks to Nikita for the PR!
    • Added support for builds in paths that contain whitespaces and other special symbols.
    • Added CI build tests for Ubuntu 24.04 and MacOS.
    • Switched to Conan v2. Many thanks to Anton for the PR! Also use modern versions of third party libraries in Conan.
  • Documentation and diagnostics:

    • A whole new build dedicated section was added to the docs instead of the old "Configure, Build and Install" page.
    • Improved schemes validation messages, including config validation messages because no schema is written.
    • Disambiguated diagnostic messages for component system.
    • Better log messages for the dist locks.
    • Better docs for gRPC middlewares and gRPC logs at gRPC.
    • Added topology and heartbeats logs and metrics for Mongo.
    • Clarified docs on PostgreSQL data types with timezones. See uPg: Supported data types.
    • Added Kafka service tutorial.
    • Logging at runtime, Congestion Control documentation rewrite.