You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The scheduler implementation now could be adjusted for each task_processor via task-processor-queue static option. A more efficient work-stealing-task-queue was introduced. Many thanks to Egor Bocharov for the PR!
Added storages::postgres::TimePointWithoutTz for more explicit declaration of intent. Direct work with std::chrono::system_clock is now deprecated in PostgreSQL driver.
Validation of static config schemas now understands minItems and maxItems for arrays. Many thanks to eparoshin for the PR.
Websockets now have case insensitive check of headers. Thanks to Alexander Enaldiev for the PR!
gRPC
* Sensitive data now could be hidden in logs via applying a [(userver.field).secret = true] option to a protobuf field in schema.
* Generic server now could be implemented via ugrpc::server::GenericServiceBase. Generic client ugrpc::client::GenericClient was also implemented. The functionality of generic client/server is useful for writing gRPC proxies.
* gRPC server now shows aggregated grpc.server.total metrics
* More samples and docs.
Optimizations:
* IO events are now uniformly distributed between ev threads. This leads to better performance on high loads in default configurations. Even number of ev threads now works as good as odd number of threads.
* IO watchers now always start asynchronously, leading to x2 less CPU consumption for each start+stop operation. As a result ev threads of HTTP client and Redis driver now use less CPU.
* Timer events with reachable deadlines now are deferred if that does not affect latencies. This gives ~5% RPS improvement for service_template.
Build
* Find*.cmake files are not generated any more, leading to simpler code base and faster configure times.
* Fixed incorrect handling of dots in chaotic paths. Thanks to Alexander Chernov for the PR!
* MacOS build options are now part of the CMake files, leading to less boilerplate while compiling for that platform. Many thanks to Daniil Shvalov for the PR.
* Kafka driver is now enabled in Conan. Many thanks to Aleksandr Gusev for the PR.
* Conan related build fixes. Thanks to Alex for the PR.