Skip to content

2.1

Compare
Choose a tag to compare
@apolukhin apolukhin released this 31 May 19:40

Changes since v2.0:

  • Coroutines stack usage is now shown in the engine.coro-pool.stack-usage.max-usage-percent metric. Improved stack-overflow diagnostics.
  • HTTP server and HTTP client now support ZSTD decompression. Thanks to Илья Оплачкин and VScdr for the PR!
  • Added redis::MakeBulkHedgedRedisRequestAsync() and redis::MakeBulkHedgedRedisRequest().
  • OpenTelemetry parent span-id is now passed through AMQP headers along with trace-id. Thanks to TertiumOrganum1 for the PR!
  • ugrpc::server::MiddlewareBase now has CallRequestHook and CallResponseHook for intercepting requests and responses.
  • components::LoggableComponentBase was renamed to components::ComponentBase. components::RawComponentBase was published.
  • Multiple improvements for logging in testsuite.
  • gRPC metrics are now not written for methods that were not used at runtime.
  • Mongo pools now can be adjusted at runtime via dynamic config MONGO_CONNECTION_POOL_SETTINGS. Congestion Control for individual Mongo databases now could be controlled via MONGO_CONGESTION_CONTROL_DATABASES_SETTINGS. Congestion Control is now enabled by default.
  • Reduced contention in coro::Pool and added some tests and benchmarks. Many thanks to Egor Bocharov for the PRs!
  • Added urabbitmq::ConsumerComponentBase::Process() accepting the whole urabbitmq::ConsumedMessage. Thanks to TertiumOrganum1 for the PR!
  • human_logs.py now supports more options and has more examples and docs embedded. Thanks to TertiumOrganum1 for the PR!
  • server::http::HttpStatus and client::http::Status are now aliases to http::StatusCode. Many thanks to SidorovichPavel for the PR!
  • Docs and build:
    • find_package(userver) now implicitly calls userver_setup_environment(), includes all the helper CMake userver scripts, making the configuration simpler. Added diagnostics and fix-it hints for some of the CMake missuses.
    • In docs Ctrl+k hotkey now focuses on Search input. Many thanks to Fedor Alekseev for the PR!
    • ODR-violations are now avoided if the userver is built with different standard version than the service.
    • Each sample is now usable as a root project.
    • Each driver now has a @ref QUALITY_TIERS "Quality Tier".
    • Fixed minimal version requirements for Pythons gRPC modules. Thanks to
      Nikita for the PR!
    • Reduced build times by avoiding inclusion of heavy headers.
    • Multiple improvements for docs, build and CI scripts.