Commit b13636f
committed
feat: Implement universal SAX parser for custom structs
feat json: add FromStreamAs and FromStringAs support
- Added FromStreamAs<T> and FromStringAs<T>for direct streaming JSON parsing
- Added test coverage to include both FromStringAs and FromStreamAs methods
Tests: added comprehensive tests for both parsing methods including error cases
add benchmarks
refactoring
bug clients: fix for tricky clients
commit_hash:866062089e2cd3202840ef7ac44b2f59b13d74f5
feat universal: is_constructible check for MakeSharedRef, MakeUniqueRef
Problem:
```cpp
struct X {
X(Arg1, Arg2, Arg3);
};
::utils:MakeSharedRef<X>(Arg1, Arg2); /// There should be
```
This code doesn't compile, but I want to get errors/warnings from clangd in the last line fragment above.
I didn't find a solution in the clangd flags for similar std::make_shared/std::make_unique, so I add a std::is_constructible check.
Tests: протестировано CI
Pull Request resolved: #1000
commit_hash:1a824877e9c89223a49c05a27a9285a08cd444a5
feat testsuite: add out-the-box SIGUSR1 test
</section>
commit_hash:e34d957b27a958cc25523038e4aa044f5b7ee082
feat universal: fix compiling with fmt 12.0.0
Use localtime_r instead of deprecated fmt::localtime Fix potential UB (fmt gmtime/localtime could throw in noexcept context) Separate GMT/local caches to fix inconsistency
Hide implementation in anonymous namespace
Fixes: #1056
---
Pull Request resolved: #1057
Co-authored-by: antoshkka <[email protected]>
commit_hash:dc7f4ea53921a3393cf044bbd3280735e935e6e7
fix userver: handle zero byte properly in json parsers
Tests: протестировано
commit_hash:708d047e209e8a425eefe4a01be807a05c62d803
feat docs: add changelog for 2.13
Tests: протестировано CI
Realtes:
commit_hash:3089c7373bb439dbb3eeb2d69b21511f6fe7e8ca
feat all: minor pre-release tweaks and fixes
Tests: протестировано CI
commit_hash:1abee21a9c0bf9ed453ce20e835834aea926f84b
feat docs: update changelog
Tests: протестировано CI
commit_hash:e518988625c907ccba56ff574d0558ab06c69e06
feat docs: Release 2.13
Tests: протестировано CI
commit_hash:bf6ef092a6b0e517485efa54cfebca15283d6de2
feat docs: start 2.14-rc
Tests: протестировано CI
commit_hash:daec3f63499c69bafece2cee53053fb58abc724d
cc grpc: add static_cast in GetCompletionTag
commit_hash:351aa75db54f3c9c2b6672c3f7126615b73f104a
Update contrib/libs/libpq to 18.0
commit_hash:700f0b3541cf5405ab109f85da471ac2c2077e28
feat debug: fix and improve utask gdb commands
- ✨ Добавлена документация по работе с командами `utask` в GDB, включая фильтрацию по состоянию, ID, имени и бэктрейсу задач
- 🔧 Улучшена команда `utask list` — добавлены опции фильтрации по состоянию (`-s`), ID (`-i`), имени (`-n`) и бэктрейсу (`-b`)
- 🛠 Добавлена поддержка удобных переменных `$this_utask` и `$this_utask_name` при выполнении команд в контексте задачи через `utask apply`
- 🧪 Добавлен smoke-тест для проверки корректности работы GDB-команд `utask`, который запускается в CI и пропускается в случае использования санитайзеров или не-x86_64 архитектуры
- 📜 Исправлены регулярные выражения и обработка вывода команд, для соответствия новому формату таблицы задач
- 🧼 Внесены изменения в код для корректной работы под отладчиком — предотвращено оптимизация статических переменных, необходимых для работы GDB-команд
- ⚙️ Добавлены флаги компиляции `-ggdb` в CI-конфигурациях для сохранения отладочной информации, необходимой для работы утилит
- 🧩 Обновлена логика парсинга состояний задач и получения типа задачи в рантайме через GDB Python API
- 📈 Расширены тесты GDB-команд — добавлена проверка фильтрации задач по различным параметрам, а также корректности вывода в различных сценариях многозадачности
<a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Code Assistant</font></a>
commit_hash:1bb4fee5eebf932c21a85d7a2311c28daec13ff2
feat build: fix version detection in CMake
Tests: протестировано локально и в CI
commit_hash:1117cd952006c1a0b6247764418716765095feec
fix otlp: drop redundant Span::SetLogLevel
commit_hash:d3a40942cb23e2244819e246a84580fcc1dcf66e
feat grpc: drop ugrpc::client::CallContext::GetSpan method
commit_hash:455d0d4a6fe9338e172ba6f38fb5e6a0e236f361
fix userver: handle zero byte properly in json parsers
Tests: протестировано
commit_hash:708d047e209e8a425eefe4a01be807a05c62d8031 parent 85be979 commit b13636f
File tree
51 files changed
+2725
-131
lines changed- .github/workflows
- chaotic-openapi/chaotic_openapi/front
- cmake
- core/src
- engine
- coro
- task
- logging
- server/middlewares
- grpc
- include/userver/ugrpc/client
- src/ugrpc
- client
- server/impl
- libraries/s3api/src/s3api/clients
- otlp/src/otlp/logs
- postgresql/src/storages/postgres/detail
- scripts
- docs/en/userver
- build
- tutorial
- gdb
- pretty_printers
- cmd/utask
- formats/json
- tests
- include/userver/gdb_tests
- src/cmd/utask
- testsuite/pytest_plugins/pytest_userver
- universal
- include/userver
- formats/json
- parser
- utils
- src
- formats/json
- parser
- logging
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
51 files changed
+2725
-131
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
21 | 32 | | |
22 | 33 | | |
23 | 34 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
21 | 32 | | |
22 | 33 | | |
23 | 34 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
51 | | - | |
| 50 | + | |
52 | 51 | | |
53 | 52 | | |
54 | 53 | | |
55 | 54 | | |
56 | | - | |
| 55 | + | |
57 | 56 | | |
58 | 57 | | |
59 | 58 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | | - | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
27 | 32 | | |
28 | 33 | | |
29 | 34 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
2 | 7 | | |
3 | 8 | | |
4 | 9 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
9 | 11 | | |
10 | 12 | | |
11 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
497 | 497 | | |
498 | 498 | | |
499 | 499 | | |
| 500 | + | |
500 | 501 | | |
501 | 502 | | |
502 | 503 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
211 | 212 | | |
212 | 213 | | |
213 | 214 | | |
| 215 | + | |
214 | 216 | | |
215 | 217 | | |
216 | 218 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
154 | 154 | | |
155 | 155 | | |
156 | 156 | | |
157 | | - | |
158 | | - | |
| 157 | + | |
| 158 | + | |
159 | 159 | | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
164 | 163 | | |
165 | 164 | | |
166 | 165 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
9 | 8 | | |
10 | 9 | | |
11 | 10 | | |
| |||
33 | 32 | | |
34 | 33 | | |
35 | 34 | | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | 35 | | |
40 | 36 | | |
41 | 37 | | |
| |||
0 commit comments