Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
afca668
Merge pull request #53101 from ydb-platform/merge-rightlib-260915-0109
ydbot Oct 1, 2026
3cffc46
YQ-5696 added timestamp value validation for kafka records (#53024)
GrigoriyPA Oct 1, 2026
58da3b6
Added `Float16` and `BFloat16` vector index types (#53242)
azevaykin Oct 1, 2026
f9bff6b
Added multilanguage support for snowball (#52748)
BlazingPhoenix Oct 1, 2026
eb5da5d
query client docstrings (#51054)
Shfdis Oct 1, 2026
fd807a6
YQ-5689 Add UDF service RPC and server implementation (#53376)
akulaad Oct 1, 2026
e0ea1b8
Merge pull request #53214 from ydb-platform/merge-rightlib-260916-0108
ydbot Oct 1, 2026
62cdc24
[PQ] Hide FNX clusters in DiscoverClusters unless :authority matches …
nshestakov Oct 1, 2026
8075e10
Add TopicService.ResetOffset to rewind a consumer on all partitions (…
nshestakov Oct 1, 2026
e61564a
Merge pull request #53706 from ydb-platform/merge-rightlib-260921-1454
ydbot Oct 1, 2026
76c2d5b
Merge pull request #53793 from ydb-platform/merge-rightlib-260922-1304
ydbot Oct 1, 2026
1e4b26a
Add SDK OIDC providers (#53178)
NewBediver Oct 1, 2026
0c21291
Move UDF compile state to per-platform artifacts (#53827)
akulaad Oct 1, 2026
4c622af
Add layout check on dstool commands and --ignore-layout-check (#53482)
mregrock Oct 1, 2026
626cf77
Add example (#54163)
NewBediver Oct 1, 2026
e5e9e88
Merge pull request #54208 from ydb-platform/merge-rightlib-260926-0107
ydbot Oct 1, 2026
3a007f2
Merge pull request #54235 from ydb-platform/merge-rightlib-260927-0116
ydbot Oct 1, 2026
33a4e20
Fix typos in documentation and READMEs (#52957)
toyeshhm Oct 1, 2026
bf668c5
[C++ SDK] Fix topic producer data race and read session leak (#53868)
nshestakov Oct 1, 2026
db4419d
[C++ SDK] Add TTopicClient::ResetOffset (#54149)
nshestakov Oct 1, 2026
7b2370f
S3 tree tiering (#53695)
xyliganSereja Oct 1, 2026
18ccf4e
YQ-5689 Add UDF C++ SDK and CLI commands (#53509)
akulaad Oct 1, 2026
540fb69
Fix Topic read session decompression accounting (#54012)
Shfdis Oct 1, 2026
5028239
Merge pull request #54403 from ydb-platform/merge-rightlib-260929-0114
ydbot Oct 1, 2026
d5eeaef
Merge pull request #54549 from ydb-platform/merge-rightlib-260930-0116
ydbot Oct 1, 2026
b4eccf1
Respect driver gRPC limits when batching topic writes (#53921)
Shfdis Oct 1, 2026
7aba2e1
Add C++ Embedding helper for FloatVector Bytes (#54531)
asmyasnikov Oct 1, 2026
8c8a288
Update import generation: 50
github-actions[bot] Oct 1, 2026
7fb30dd
Prepare YDB C++ SDK v3.24.0
Oct 1, 2026
7d93d98
Wire imported SDK sources and tests into standalone CMake
Oct 1, 2026
8d7ee93
Use standalone RapidJSON include paths
Oct 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/import_generation.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
50
51
2 changes: 1 addition & 1 deletion .github/last_commit.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4b757a14e7269921b351fec8dff5af2e088a89ae
c7fb4a28d8e03aaa9e42859b6f7c199c6e7ef203
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
## v3.24.0

* Added `NValueHelpers::Embedding` to create FloatVector `Bytes` query parameters from numeric ranges.

* Topic and PersQueue writers now respect the driver's outbound gRPC message size limit when batching writes.

* Added a draft UDF client (`client/draft/ydb_udf.h`) with manifest-based uploads, separate module type/code kind, per-platform compile state and optional timestamps, and incremental `UploadModuleFromFile` on a dedicated I/O executor. Upload futures include the final gRPC status.

* Added an optional S3 object key prefix to TTL eviction settings for column tables.

* Added `TTopicClient::ResetOffset` / `TResetOffsetSettings` to rewind a consumer's committed offsets on all topic partitions.

* Added OIDC/OAuth authentication via `NOidc::CreateOidcProviderFactory`, supporting static access tokens, Client Credentials Grant, and Device Authorization Grant, with token refresh and interfaces for token caching and interactive sign-in.

* Added `Float16` and `BFloat16` vector index types.

## v3.23.0

* Added optional `TRetryOperationSettings::StopToken` for cooperative cancellation between retry attempts.
Expand Down
93 changes: 93 additions & 0 deletions examples/auth/oidc/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
#include <ydb-cpp-sdk/client/query/client.h>
#include <ydb-cpp-sdk/client/types/credentials/oidc/credentials.h>

#include <util/system/mutex.h>

#include <iostream>

class TConsoleAcceptor final: public NYdb::NOidc::IAuthAcceptor {
public:
void Accept(const NYdb::NOidc::TDeviceAuthInfo& info) override;

private:
static void Print(const std::string& value);
};

class TMemoryTokenCacher final: public NYdb::NOidc::ITokenCacher {
public:
std::optional<NYdb::NOidc::TTokenCache> Read() const override;
void Write(const NYdb::NOidc::TTokenCache& tokens) override;

private:
mutable TMutex Mutex;
std::optional<NYdb::NOidc::TTokenCache> Tokens;
};

void TConsoleAcceptor::Accept(const NYdb::NOidc::TDeviceAuthInfo& info) {
static TMutex outputMutex;
with_lock (outputMutex) {
std::cerr << "Open ";
Print(info.VerificationUrl);
std::cerr << " and enter code ";
Print(info.UserCode);
std::cerr << std::endl;
if (info.VerificationUrlComplete.has_value()) {
std::cerr << "Or open ";
Print(*info.VerificationUrlComplete);
std::cerr << std::endl;
}
}
}

void TConsoleAcceptor::Print(const std::string& value) {
for (const unsigned char ch : value) {
std::cerr << (ch >= 0x20 && ch < 0x7f ? static_cast<char>(ch) : '?');
}
}

std::optional<NYdb::NOidc::TTokenCache> TMemoryTokenCacher::Read() const {
with_lock (Mutex) {
return Tokens;
}
}

void TMemoryTokenCacher::Write(const NYdb::NOidc::TTokenCache& tokens) {
with_lock (Mutex) {
Tokens = tokens;
}
}

int main(int argc, char** argv) {
if (argc != 5) {
std::cerr << "Usage: oidc <grpc[s]://endpoint:port> <database> <issuer> <client-id>" << std::endl;
return 1;
}
try {
NYdb::NOidc::TOidcConfig oidcConfig{
.Issuer = argv[3],
.FlowConfig = NYdb::NOidc::TDeviceOidcConfig{
.ClientId = argv[4],
.Scopes = {"openid", "user-context"},
},
};
oidcConfig
.Cacher(std::make_shared<TMemoryTokenCacher>())
.Acceptor(std::make_shared<TConsoleAcceptor>());

auto config = NYdb::TDriverConfig(argv[1])
.SetDatabase(argv[2])
.SetDiscoveryMode(NYdb::EDiscoveryMode::Async)
.SetCredentialsProviderFactory(NYdb::NOidc::CreateOidcProviderFactory(oidcConfig));
NYdb::TDriver driver(config);
NYdb::NQuery::TQueryClient client(driver);
auto result = client.ExecuteQuery("SELECT 1", NYdb::NQuery::TTxControl::NoTx()).ExtractValueSync();
if (!result.IsSuccess()) {
std::cerr << result.GetIssues().ToString() << std::endl;
return 1;
}
std::cout << "Query succeeded" << std::endl;
} catch (const std::exception& error) {
std::cerr << error.what() << std::endl;
return 1;
}
}
2 changes: 1 addition & 1 deletion examples/vector_index/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ It uses scalar quantization to speedup ANN search:

#### Create Flat Bit Index

It creates index table, with two columns: `primary_key` and `embedding`, `embedding` will be trasformed from `<table>` `<embedding>`
It creates index table, with two columns: `primary_key` and `embedding`, `embedding` will be transformed from `<table>` `<embedding>`

```
./vector_index --endpoint=<endpoint> --database=<database> --command=RecreateIndex --table=<table> --index_type=flat --index_quantizer=bit --primary_key=<primary_key> --embedding=<embedding> --distance=CosineDistance --rows=490000 --top_k=0 --data="" --target=""
Expand Down
Loading
Loading