Skip to content

Commit 8ab036b

Browse files
committed
feat docs: add changelog for 2.12
Tests: протестировано CI commit_hash:854f72dbd31baaf9cba394b81456ec08af253770
1 parent da9e76b commit 8ab036b

5 files changed

Lines changed: 88 additions & 2 deletions

File tree

core/include/userver/components/manager_controller_component.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ class Manager;
4949
/// preheat_stacktrace_collector | whether to collect a dummy stacktrace at server start up (usable to avoid loading debug info at random point at runtime) | true
5050
/// userver_experiments.*NAME* | whether to enable certain userver experiments; these are gradually enabled by userver team, for internal use only | false
5151
/// graceful_shutdown_interval | at shutdown, first hang for this duration with /ping 5xx to give the balancer a chance to redirect new requests to other hosts | 0s
52+
/// enable_trx_tracker | Enable checking of heavy operations (like http calls) while having active database transactions. | true
5253
///
5354
/// ## Static task_processor options:
5455
/// Name | Description | Default value

otlp/include/userver/otlp/logs/component.hpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@ class Logger;
2626
/// ## Static options:
2727
/// Name | Description | Default value
2828
/// ---- | ----------- | -------------
29-
/// endpoint | URI of otel collector (e.g. 127.0.0.1:4317) | -
29+
/// endpoint | URI of otel collector (e.g. 127.0.0.1:4317). This endpoint is used both for logs and traces. If you want separate endpoints, then use below options. | -
30+
/// logs-endpoint | URI of otel collector (gRPC). This endpoint is used only for logs. | -
31+
/// tracing-endpoint | URI of otel collector (gRPC). This endpoint is used only for traces. | -
3032
/// client-factory-name | Name of the grpc client factory | -
3133
/// max-queue-size | Maximum async queue size | 65535
3234
/// max-batch-delay | Maximum batch delay | 100ms
@@ -44,6 +46,8 @@ class Logger;
4446
// clang-format on
4547
class LoggerComponent final : public components::RawComponentBase {
4648
public:
49+
/// @ingroup userver_component_names
50+
/// @brief The default name of otlp::LoggerComponent
4751
static constexpr std::string_view kName = "otlp-logger";
4852

4953
LoggerComponent(const components::ComponentConfig&, const components::ComponentContext&);

redis/include/userver/storages/redis/component.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ namespace components {
100100
/// "some_name_of_your_database": {
101101
/// "password": "the_password_of_your_database",
102102
/// "sentinel_password": "the_password_for_sentinels_if_any",
103+
/// "secure_connection": false,
103104
/// "sentinels": [
104105
/// {"host": "the_host1_of_your_database", "port": 11564}
105106
/// ],

scripts/docs/en/userver/build/options.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ The exact format of setting cmake options varies depending on the method of buil
101101
| `USERVER_FEATURE_CRYPTOPP_BLAKE2` | Provide wrappers for blake2 algorithms of crypto++ | `ON` |
102102
| `USERVER_FEATURE_PATCH_LIBPQ` | Apply patches to the libpq (add portals support), requires `libpq.a` | `ON` |
103103
| `USERVER_FEATURE_CRYPTOPP_BASE64_URL` | Provide wrappers for Base64 URL decoding and encoding algorithms of crypto++ | `ON` |
104-
| `USERVER_FEATURE_REDIS_TLS` | SSL/TLS support for Redis driver | `OFF` |
104+
| `USERVER_FEATURE_REDIS_TLS` | SSL/TLS support for Redis driver. Use with `"secure_connection": true` secdist option for @ref components::Redis | `OFF` |
105105
| `USERVER_FEATURE_STACKTRACE` | Allow capturing stacktraces using `boost::stacktrace` | `ON` except for macOS, `*BSD` and old Boost |
106106
| `USERVER_FEATURE_JEMALLOC` | Use jemalloc memory allocator | `ON` |
107107
| `USERVER_FEATURE_DWCAS` | Require double-width compare-and-swap | `ON` |

scripts/docs/en/userver/roadmap_and_changelog.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,86 @@ Changelog news also go to the
3535

3636
## Changelog
3737

38+
### Release v2.12
39+
40+
* Added infrastructure to detect IO-bound operations in transactions. See `enable_trx_tracker` static config option into
41+
@ref components::ManagerControllerComponent and @ref userver/utils/trx_tracker.hpp. The detection is turned on by
42+
default and is used in HTTP clients and gRPC for PostgreSQL transactions.
43+
* Added support for separate logs and traces endpoints into OpenTelemetry. See `logs-endpoint` and `tracing-endpoint`
44+
static config options of the @ref otlp::LoggerComponent.
45+
* Implemented non blocking receive for engine::io::TlsWrapper. Many thanks to
46+
[Denis Razinkin](https://github.com/DenisRazinkin) for the PR!
47+
* Added @ref server::websocket::WebSocketConnection now has `SendPing()` and `NotAnsweredSequentialPingsCount()`
48+
functions for initiating pings on server side.
49+
* Created [userver mirror repo at SourceCraft](https://sourcecraft.dev/userver/repos).
50+
51+
* Kafka now supports SSL authentication. Many thanks to [Timur Yalymov](https://github.com/tyalymov) for the PR!
52+
* Fixed UB in WebSockets. Many thanks to [Denis Razinkin](https://github.com/DenisRazinkin) for the PR!
53+
* Chaotic now handles `x-usrv-cpp-container: std::unordered_set` with `format: uuid`;
54+
`x-usrv-cpp-type: userver::utils::StrongTypedef<my::CustomString, std::string>`; `std::intXX_t`
55+
* Crypto part of the `userver::universal` now supports work with multiple `std::string_views`. Thanks to
56+
[Dmitry Sorokin](https://github.com/sorydima) for vibe-coding the initial version of PR.
57+
* Google Benchmark ASLR-disabling feature enabled if supported. Many thanks to
58+
[Konstantin Goncharik](https://github.com/botanegg) for the PR!
59+
* Simplified third-party types usage in chaotic. `userver_target_generate_chaotic` CMake function now has
60+
a `LINK_TARGETS` parameter to provide targets with paths to chaotic serializers. For example with
61+
`LINK_TARGETS userver::postgresql` chaotic would find the
62+
userver/postgresql/include/userver/chaotic/io/userver/storages/postgres/time_point_tz.hpp header with
63+
@ref storages::postgres::TimePointTz converters.
64+
65+
* gRPC and Protobuf
66+
* Implemented retries. See @ref scripts/docs/en/userver/grpc/grpc.md for more info.
67+
* @ref ugrpc::client::ClientFactoryComponent now can be customized via `ssl-credentials-options`. Many thanks to
68+
[aklyuchev86](https://github.com/aklyuchev86) for the PR!
69+
* @ref decimal64::Decimal::FromStringPermissive() now understands format with exponent, which makes it compatible
70+
with Protobuf well-known Decimal types.
71+
72+
* Database drivers
73+
* Implemented @ref storages::redis::Client::GenericCommand() for execution of custom commands.
74+
* Redis now supports `sentinel_password` @ref storages::secdist::Secdist option for authorization on sentinels with
75+
password along with `password` authorization on shards. Many thanks to [Tikhon Sergienko](https://github.com/tysion)
76+
for the PR!
77+
* Implemented @ref storages::mongo::Collection::Distinct() command.
78+
* Implemented @ref storages::clickhouse::ParameterStore. Many thanks to [Alexey Medvedev](https://github.com/Reavolt)
79+
for the PR!
80+
* `update-period` for @ref components::Secdist is now set to `10s`. As a result all the databases now automatically
81+
recreate connections on connection data change in SecDist.
82+
* Implemented parsing of C++ `enum` into PostgreSQL text for `enums` with `Parse()` and `ToString()` functions. See
83+
@ref scripts/docs/en/userver/pg_user_types.md for more info.
84+
85+
* Optimizations
86+
* @ref concurrent::BackgroundTaskStorage was optimized with striped counters. Detaching a task now takes ~6% of
87+
the whole CPU usage of the detaching benchmark (before the optimizations it was ~46%).
88+
* @ref storages::Query now avoids dynamic initialization when constructed from @ref storages::Query::NameLiteral.
89+
As a result variables generated with CMake `userver_add_sql_library` function are now not affected by initialization
90+
order fiasco issues and can be safely used in any static or global variable. Dynamic memory allocations are
91+
now avoided for the above cases.
92+
* @ref utils::zstring_view now used for Kafka topic names avoiding temporary string constructions.
93+
94+
* Build
95+
* The oldest supported Python is now Python 3.9.
96+
* Protobuf 6.x.y is now supported. Thanks to [halfdarkangel](https://github.com/halfdarkangel) for the PR!
97+
* Supported by-component installation in CPack. See `USERVER_INSTALL_MULTIPACKAGE` CMake option for a way to enable
98+
the feature.
99+
* Optimized compilation time for the @ref userver/utils/periodic_task.hpp header by removing inclusion of 7
100+
heavy headers.
101+
* Improved build times by disabling modules scan. Many thanks to [Konstantin Goncharik](https://github.com/botanegg)
102+
for the PR!
103+
* Builds are now tested on Fedora.
104+
* Bumped Kafka version to 4.0 in CI checks. Many thanks to [MichaelKab](https://github.com/MichaelKab) for PR!
105+
106+
* Documentation and Diagnostics:
107+
* Version change widget was rewritten to avoid versions hard-code. Many thanks to
108+
[Lone-Marshal](https://github.com/Lone-Marshal) for the PR!
109+
* Added docs on @ref scripts/docs/en/userver/distro_maintainers.md roles.
110+
* Added more information on metadata usage into @ref scripts/docs/en/userver/grpc/grpc.md
111+
* `USERVER_GTEST_ENABLE_STACK_USAGE_MONITOR` environment variable name was changed
112+
to `USERVER_ENABLE_STACK_USAGE_MONITOR`. `USERVER_ENABLE_STACK_USAGE_MONITOR` is now usable not only in unit-tests,
113+
but in all the userver based applications and services.
114+
* Redis driver now does much more logging on cluster topology change to ease the cluster issues debugging.
115+
* Dynamic config pages with description are now generated from schemes.
116+
117+
38118
### Release v2.11
39119

40120
* Added support for TLS in RedisCluster mode. Many thanks to [Danilkormilin](https://github.com/Danilkormilin) for the PR!

0 commit comments

Comments
 (0)