Skip to content
Compare
Choose a tag to compare
@apolukhin apolukhin released this 31 Jan 09:25

Changes since v2.6:

  • Logging in JSON format was implemented. See static option format at components::Logging.

  • utils::regex now uses Re2 under the hood, leading to at least x2 faster regular expression matching and guaranteed absence of backtracking. Updating is highly recommended.

  • Mongo connection state checking algorithms was adjusted to work well on small RPS.

  • Conan packages now support all the userver features. Conan package build now reuses the CMake install targets and CMake config files.

  • Full feature support for MacOS, including testing and Conan package build and usage on that platform.

  • Added support for TLS certificate chains. See tls.cert static option at components::Server. Many thanks to aklyuchev for the PR!

  • Chaotic exceptions now do not depend on JSON. Thanks to Artyom for the PR!

  • gRPC

  • Optimizations

    • Speed up configuration reads on creating new PostgreSQL connections.
    • utils::PeriodicTask now calls RCU Read two times less on each iteration.
    • Reduced memory allocations count on each Redis request.
  • Build

    • New Mongo+gRPC service template. Many thanks to Alexander Kuvaev for the PR!
    • Fixed build with USERVER_FEATURE_JEMALLOC=ON. Many thanks to Aleksey Ignatiev
      for the PR!
    • Service templates service_template, pg_service_template, pg_grpc_service_template, mongo_grpc_service_template now use "cmake presets" and "devcontainers" for out-of-the-box support of VSCode and Clion IDEs.
    • Started the work on Ubuntu 24.04 images.
    • Added ubuntu-22.04-userver-pg-dev image with all the tools for development. Planning to switch to Ubuntu-24.04 and leave only 2 containers: with build dependencies to build userver, and with prebuild userver.
    • Added missing fmt11 headers. Thanks to Pavel Sidorovich for the PR!
    • Added USERVER_USE_STATIC_LIBS to link third-party libraries statically.
    • Support pacman epoch in CMake version detection. Many thanks to Konstantin Goncharik for the PR.
  • Documentation