Tags give the ability to mark specific points in history as being important
-
v2.11
c328ff85 · ·# Release v2.11 ## Основные изменения - Добавлена поддержка **TLS в RedisCluster**. _Благодарность: Danilkormilin_ - Добавлен **аскетичный веб-интерфейс** для `uservice-dynconf`. - `server::handlers::HttpHandlerStatic` теперь: - может обслуживать файлы с **не-корневых URL-путей**. _Благодарность: Konstantin Goncharik_ - получил опции: - `directory-file` (по умолчанию `"index.html"`), - `not-found-file` (кастомная 404). - Добавлен плагин `retry_budget` для HTTP-клиентов: `clients::http::plugins::retry_budget::Component` - Добавлен `utils::move_only_function`. ## Kafka - Добавлен `seek` в `kafka::ConsumerScope`. _Благодарность: Mikhail Romaneev_ - Новая опция `message_key_log_format` в `kafka::ConsumerComponent` для логирования ключей в hex. _Благодарность: Mikhail Romaneev_ - Исправлено сужение `std::int64_t` до `std::int32_t`. _Благодарность: Mikhail Romaneev_ - Оптимизировано логирование hex в Kafka. _Благодарность: Mikhail Romaneev_ ## Mongo - Поддержка `mongo::options::Hint` в: - `storages::mongo::operations::Delete` - `storages::mongo::bulk_ops::Update` - `storages::mongo::bulk_ops::Delete` - Добавлены `Get/Set batch size` в `storages::mongo::Cursor`. _Благодарность: Konstantin Goncharik_ ## Утилиты и инфраструктура - Переименование `utils::NullTerminatedView` → `utils::zstring_view` (C++29 P3655R1). - Добавлен `engine::GetQueueSize()`. _Благодарность: Emil Rakhimov_ - `utils::statistics::HistogramView` теперь предоставляет `total sum` (для Prometheus). _Благодарность: DmitriyH_ - Добавлены макросы `UTEST_P_DEATH` и `UEXPECT_DEBUG_DEATH`. ## gRPC - gRPC-клиенты получили типы: - `ugrpc::client::Reader` - `ugrpc::client::Writer` - `ugrpc::client::ReaderWriter` - Исправлена **гонка данных** в bidirectional-stream клиенте. - **Оптимизация логирования** (до 150x ускорения в краевых случаях). - Оптимизация при отключённом логировании. ## SQL - `storages::Query` теперь используется в драйверах ClickHouse, MySQL, SQLite. - Методы `Query::Statement()` и `Query::GetName()` помечены как `deprecated`. ## Прочие оптимизации - Широкое использование `utils::zstring_view` вместо временных `std::string`. - URL-парсеры теперь возвращают `std::string_view`. - Оптимизирован заголовок `Date` для S3 API. _Благодарность: Daniil Shvalov_ - `storages::redis::ReplyData`: уменьшен размер с **64 до 32 байт**. ## Документация и диагностика - Обновлён пример `RealMedium`. _Благодарность: Liiizak_ - Обновлены инструкции по сборке. _Благодарность: h1laryz_ - Уточнены: - ошибки парсинга `http::ContentType` - прерывания `engine::Task` для синхронизации - `tools/*` → `samples/`, добавлены тесты. - Улучшены значения по умолчанию для `task_processor` и `fs_task_processor`. - Обновлены страницы: - Logging and Tracing - userver/http/url.hpp - gRPC middleware (сервер/клиент) - Статика и динамика веба - Упрощены команды `*scan` для Redis. - Расширена документация `Dynamic config` (kill switches в testsuite). - Улучшен ODBC-драйвер: ошибки и пул соединений. _Благодарность: Alexey_ ## Сборка - `CMAKE_CXX_STANDARD` теперь по умолчанию **20**, поддержка C++17 сохранена. - Предварительная поддержка **Windows CMake configure**. _Благодарность: Alex_ - Добавлен конфиг `cmake-format`, отформатированы CMake-файлы. _Благодарность: Dzmitry Ivaniuk_ - Флаг `with_redis_tls` в Conan. _Благодарность: Mikhail Romaneev_ - `userver_testsuite_add` теперь работает из подпроектов. _Благодарность: DmitriyH_