Releases: userver-framework/userver
Releases · userver-framework/userver
2.1
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 callsuserver_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 onSearch
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
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
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.