Skip to content

Releases: userver-framework/userver

2.1

31 May 19:40
Compare
Choose a tag to compare

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.

2.0

15 May 16:36
Compare
Choose a tag to compare
2.0

Big new features since the v1.0.0:

  • Simplified dynamic configs and embedded defaults into the code.
  • Added PostgreSQL connection pools auto-configuration.
  • Added YDB driver and basic Kafka driver.
  • LISTEN/NOTIFY support for PostgreSQL
  • New landing page for the website
  • Significantly reduced network data transmission for PostgreSQL
  • Supported install in CMake and CPack packaging.
  • Implemented middlewares for HTTP server, most of the HTTP server functionality
    was moved to middlewares.
  • Improved documentation, added more samples and descriptions.
  • Numerous optimizations and build improvements.

Ready to use Ubuntu 22.04 x64 package in attachment.

1.0.0

21 Sep 04:33
Compare
Choose a tag to compare

Big new features since the Beta announcement:

  • Implemented WebSockets server
  • Added MySQL driver
  • RabbitMQ drived was added
  • Implemented TLS server
  • Enabled PostgreSQL pipelining
  • Implemented and enabled Deadline Propagation
  • Improved experience with metrics. Added Prometheus and Graphite metric
    formats. Provided a modern simple interface to write and test metrics.
  • Added chaos tests for drivers
  • Implemented streaming API for the HTTP
  • Improved documentation, added more samples and descriptions, improved search.
  • Numerous optimizations.
  • Numerous build improvements, including Conan and Docker support.

Optimized and improved features that were available at the Beta announcement:

  • gRPC client and server
  • Mongo driver
  • Redis driver
  • PostgreSQL
  • HTTP server and client
  • Logging and Tracing
  • ... and many other features.