Skip to content

Commit 99caf70

Browse files
author
lexeyo
committed
feat docs: changelog 2.16
commit_hash:316f62cb92141ead5d5ff1d30fdbe3a41fc83e27
1 parent 93e8d46 commit 99caf70

1 file changed

Lines changed: 91 additions & 0 deletions

File tree

scripts/docs/en/userver/roadmap_and_changelog.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,97 @@ Changelog news also go to the
3737

3838
## Changelog
3939

40+
### Release v2.16
41+
42+
* **Support of C++17 is deprecated and will be removed in one on the next releases**. C++20 is the default for
43+
userver for quite some time. Use C++20 or even a more modern C++.
44+
* New readiness notification flow for tasks, futures, events and other awaitable objects. It provides a lightweight and
45+
efficient framework for more efficient implementation of waiting objects/methods like @ref engine::WaitAny,
46+
@ref engine::FdPoller, @ref engine::TaskBase::BlockingWait .
47+
* Ydb: @ref ydb::Transaction and @ref ydb::TableClient::ExecuteDataQuery switched from Table Client to Query Client API.
48+
* Multicast support for sockets. See @ref engine::io::IpMreq .
49+
Many thanks to [Dmitry Borchuk](https://github.com/dmitryborchuk) for the contribution!
50+
* SAX parsing in Chaotic codegen. See @ref scripts/docs/en/userver/chaotic.md .
51+
* HttpClient: New Websocket client. See @ref scripts/docs/en/userver/tutorial/websocket_client.md .
52+
* gRPC: Retry limiter. See @ref ugrpc::client::RetryLimiter .
53+
* Separate log for components loading that simplifies components loading issues debugging.
54+
See `components_manager.boot-log-path` in @ref components::ManagerControllerComponent .
55+
* Redis: Valkey and Redis dynamic client component. See @ref components::DynamicRedis .
56+
* @ref components::StatisticsStorage allows filtering of metrics by @ref utils::statistics::MetricTag .
57+
* Automatic conversions between structs and JSON in `easy` library. See @ref scripts/docs/en/userver/libraries/easy.md .
58+
* Resource scopes separated from the component system. See @ref utils::ResourceScopeStorage .
59+
* New @ref multi_index_lru::ExpirableContainer container. Many thanks to [hzhdlrp](https://github.com/hzhdlrp)
60+
for the contribution!
61+
* Kafka: Added `group_instance_id` option to @ref kafka::ConsumerComponent .
62+
* gRPC: Perform retry on the next channel.
63+
* Ydb: New transaction modes support. See @ref ydb::TransactionMode .
64+
* Ydb: New AsContainer() method in cursor. See @ref ydb::Cursor::AsContainer .
65+
* Redis: New @ref storages::redis::Client::EvalReadOnly and @ref storages::redis::Client::EvalShaReadOnly functions.
66+
* Per-handler metrics in HTTP server. See `SetHandlerMetricsShard` in @ref server::request::RequestContext .
67+
* gRPC: Extended gRPC client completion statuses. See @ref ugrpc::client::SpecialCaseCompletionType .
68+
* `operator==` for proto structs.
69+
* Userver can listen on a socket passed via `execve`. See `listen-socket-fd` parameter description in
70+
@ref components::Server .
71+
* New `contains_no_update` method in @ref multi_index_lru::Container and benchmarks cleanup.
72+
Many thanks to [hzhdlrp](https://github.com/hzhdlrp) for the contribution!
73+
* New @ref net::blocking::ConnectTcpByName method to connect to a remote endpoint via a host name and a port.
74+
* Converters between proto structs and binary data. See @ref userver/proto-structs/convert.hpp .
75+
* Converters between proto structs and JSON. See @ref userver/proto-structs/json.hpp .
76+
* Converters between proto structs enums and strings.
77+
* @ref server::websocket::WebSocketConnection support for waiting primitives (like @ref engine::MakeWaitAny ).
78+
* Added @ref engine::io::Sockaddr::MakeIPSocketAddress, @ref engine::io::Sockaddr::MakeInaddrAny and
79+
@ref engine::io::Sockaddr::MakeIPv4InaddrAny functions.
80+
Many thanks to [Dmitry Borchuk](https://github.com/dmitryborchuk) for the contribution!
81+
82+
* Optimizations and fixes
83+
* New @ref engine::WaitAnyContext (@ref engine::MakeWaitAny ) and @ref engine::WaitAllChecked waiting primitives
84+
optimized for usage in loops.
85+
* Kafka: Reuse consumer after a user exception.
86+
* Redis: Optimized statistics storage - removed most of per-shard and per-instance statistics that are rarely used
87+
to save memory, CPU and network bandwidth.
88+
* Prevent an unnecessary copy inside the `ServerImpl::WriteTotalHandlerStatistics` function.
89+
Many thanks to [gabrielyanabraham](https://github.com/gabrielyanabraham) for the PR!
90+
* Optimized @ref engine::TaskBase::BlockingWait .
91+
* Kafka: Deprecated @ref engine::WaitAny replaced with @ref engine::MakeWaitAny .
92+
Many thanks to [Dmitry Isaikin](https://github.com/disaykin) for the PR!
93+
* Fixed @ref yaml_config::YamlConfig mode when accessing an array by index.
94+
Many thanks to [Fedor Shatokhin](https://github.com/FedShat) for the contribution!
95+
* Fixed compilation error with modern `libfmt` versions. Many thanks to
96+
[Konstantin Goncharik](https://github.com/botanegg) for the PR!
97+
* Fixed -flto=auto support for GCC. Many thanks to [Konstantin Goncharik](https://github.com/botanegg)
98+
for the PR!
99+
* Fixed broken `journal_mode` and `synchronous` options definitions in @ref components::SQLite .
100+
Many thanks to [Alexey Mednyy](https://github.com/swex) for the PR!
101+
* Fixed a compile warning in @ref utils::PeriodicTask .
102+
Many thanks to [Evgeny Proydakov](https://github.com/proydakov) for the PR!
103+
* HttpClient: Fixed socket type equality check. Many thanks to [Konstantin Goncharik](https://github.com/botanegg)
104+
for the PR!
105+
* Ydb: Fixed compilation error with modern `libfmt` versions.
106+
Many thanks to [Vasily Sviridov](https://github.com/vasily-sviridov) for the PR!
107+
108+
* Build and testing
109+
* Updated Google benchmark to 1.9.5. Many thanks to [Konstantin Goncharik](https://github.com/botanegg) for the PR!
110+
* Userver devcontainer. See @ref scripts/docs/en/userver/build/userver.md#devcontainers_userver .
111+
* New `component_manager.coro_pool.unoptimized_stack_size_multiplier` option to automatically increase stack size
112+
in unoptimized builds. See @ref components::ManagerControllerComponent .
113+
* gRPC: @ref @ref pytest_userver.grpc._client.PreCallClientInterceptor accessible from testsuite.
114+
* New @ref utils::StartPeriodicTask method that allows deterministic testing of periodic tasks in testsuite.
115+
* Upgraded CPM.cmake to 0.42.1. Many thanks to [Konstantin Goncharik](https://github.com/botanegg) for the PR!
116+
117+
* Documentation
118+
* Better documentation and benchmark for LRU caches.
119+
* Markdown documentation for cmake files.
120+
* Postgres: Updated connections limit documentation. See @ref scripts/docs/en/userver/pg_connlimit_mode_auto.md .
121+
* Extra samples for metrics unit testing.
122+
* Updated @ref engine::SingleUseEvent and @ref engine::SingleConsumerEvent documentation.
123+
* gRPC: @ref ugrpc::RichStatus documentation. See @ref scripts/docs/en/userver/grpc/rich_status.md .
124+
* Added missing include to @ref README.md. Many thanks to [Aleksey Belov](https://github.com/belov-aleksey) for the PR!
125+
* Updated Gentoo build docs. Many thanks to [halfdarkangel](https://github.com/halfdarkangel) for the contribution!
126+
* Detailed description of Congestion Control logic. See @ref scripts/docs/en/userver/congestion_control.md .
127+
* Kafka: Added `pool_timeout` to kafka-consumer config in @ref samples/kafka_service/static_config.yaml .
128+
Many thanks to [Konstantin Goncharik](https://github.com/botanegg) for the PR!
129+
130+
40131
### Release v2.15
41132

42133
* **Support of C++17 is deprecated and will be removed in one on the next releases**. C++20 is the default for

0 commit comments

Comments
 (0)