Repository: ydb-platform/ydb
Pull request #17788: badge template without issue number
Author: login: asmyasnikov
Labels: name: documentation
description: Improvements or additions to documentation
name: changelog/f25-3
description: PR участвует в списке изменений
Created: 2025-04-28T06:49:34Z | Merged: 2025-04-28T17:29:41Z

### Changelog entry <!-- a user-readable short description of the changes that goes to CHANGELOG.md and Release Notes -->

...

### Changelog category <!-- remove all except one -->

* Documentation (changelog entry is not required)

### Description for reviewers <!-- (optional) description for those who read this PR -->

...



Diff:
diff --git a/ydb/docs/.yfm b/ydb/docs/.yfm
index fd75a6b6f3c9..4cead4a8b3ec 100644
--- a/ydb/docs/.yfm
+++ b/ydb/docs/.yfm
@@ -8,6 +8,7 @@ singlePage: true
 resources:
   style:
     - _assets/tags.css
+    - _assets/badge.css
   csp:
     - "img-src":
         - "https://github.ydb.tech"
diff --git a/ydb/docs/_assets/badge.css b/ydb/docs/_assets/badge.css
new file mode 100644
index 000000000000..9ff781e80a0c
--- /dev/null
+++ b/ydb/docs/_assets/badge.css
@@ -0,0 +1,3 @@
+.dc-doc-page .yfm img {
+    background-color: transparent;
+}
\ No newline at end of file
diff --git a/ydb/docs/en/core/reference/ydb-sdk/feature-parity.md b/ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
index b3b7c677c21a..b4b219a83c90 100644
--- a/ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
+++ b/ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
@@ -1,147 +1,159 @@
 # Comparison of SDK features
 
-| Feature                                                                                                                                                                   | C\+\+ | Python | Go | Java | NodeJS |  C#  | Rust |  PHP  |
-|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----:|:------:|:--:|:----:|:------:|:----:|:----:|:-----:|
-| SSL/TLS support (system certificates)                                                                                                                                     |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| SSL/TLS support (custom certificates)                                                                                                                                     |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |      |  \+   |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background)                                                                                          |  \+   |   \+   | \+ |  ?   |   \-   |  \-  |      |  \+   |
-| Regular SLO testing on the latest code version                                                                                                                            |  \+   |  \+/-  | \+ |  \+  |  \+/-  |  \-  |  \-  |  \-   |
-| Issue templates on GitHub                                                                                                                                                 |  \-   |   ?    | \+ |  \-  |   \+   |  \+  |      |  \+   |
-| **Client-side balancing**                                                                                                                                                 |       |        |    |      |        |      |      |       |
-| Load balancer initialization through Discovery/ListEndpoints                                                                                                              |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| Disable client-side load balancing (all requests to the initial Endpoint)                                                                                                 | \+/-  |   \-   | \+ |  \-  |   \-   |  \+  |      |  \+   |
-| Background Discovery/ListEndpoints (by default, once a minute)                                                                                                            |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \-   |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing)                                             |   ?   |   \+   | \+ |  ?   |   \-   |  ?   |  ?   |   ?   |
-| Node pessimization on transport errors                                                                                                                                    |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |       |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized                                                                                              |  \+   |   \+   | \+ |  \+  |   \-   |  \+  |  \+  |       |
-| Automatic detection of the nearest DC/availability zone by TCP pings                                                                                                      |  \-   |   \-   | \+ |  \-  |   \-   |  \-  |  \-  |       |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\*                                                                             |  \+   |   \+   | \- |  \-  |   \-   |  \-  |  \-  |       |
-| Uniform random selection of nodes (default)                                                                                                                               |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |       |
-| Load balancing across all nodes of all DCs (default)                                                                                                                      |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |       |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”)                                                                            |  \+   |   \+   | \+ |  ?   |   \-   |  \-  |  \-  |       |
-| Load balancing across all nodes of all local DCs                                                                                                                          |  \+   |   \+   | \+ |  ?   |   \-   |  \-  |  \-  |       |
-| **Credentials providers**                                                                                                                                                 |       |        |    |      |        |      |      |       |
-| Anonymous (default)                                                                                                                                                       |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| Static (user - password)                                                                                                                                                  |  \+   |   \+   | \+ |  \+  |   \-   |  \-  |  \+  |  \-   |
-| Token: IAM, Access token                                                                                                                                                  |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| Service account (Yandex.Cloud specific)                                                                                                                                   |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \-  |  \+   |
-| Metadata (Yandex.Cloud specific)                                                                                                                                          |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| **Working with Table service sessions**                                                                                                                                   |       |        |    |      |        |      |      |       |
-| Session pool                                                                                                                                                              |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| Limit the number of concurrent sessions on the client)                                                                                                                    |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |       |
-| Minimum number of sessions in the pool                                                                                                                                    |  \+   |   \+   | \+ |  \+  |   \-   |  \-  |  \-  |       |
-| Warm up the pool to the specified number of sessions when the pool is created                                                                                             |  \-   |   \+   | \- |  \-  |   \+   |  \-  |  \-  |       |
-| Background KeepAlive for idle sessions in the pool                                                                                                                        |  \+   |   \-   | \- |  \+  |   \+   |  \+  |  \+  |       |
-| Background closing of idle sessions in the pool (redundant sessions)                                                                                                      |  \+   |   \+   | \+ |  \+  |   \-   |  \-  |  \-  |       |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors                                                                                   |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |       | 
-| Storage of sessions for possible future reuse\~                                                                                                                           |  \+   |   \-   | \- |  \-  |   \-   |  \-  |  \-  |       |
-| Retryer on the session pool (a repeat object is a session)                                                                                                                |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |       |
-| Retryer on the session pool (a repeat object is a transaction within a session)                                                                                           |  \-   |   \-   | \+ |  \-  |   \-   |  \-  |  \+  |       |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again)                                     |  \+   |   \+   | \+ |  \+  |   \-   |  \-  |      |       |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) |  \+   |   \+   | \+ |  \-  |   \-   |  \-  |      |       |
-| **Support for YDB data types**                                                                                                                                            |       |        |    |      |        |      |      |       |
-| Int/Uint(8,16,32,64)                                                                                                                                                      |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| Int128, UInt128 (not available publicly?)                                                                                                                                 |  \-   |   \-   | \- |  \-  |   \-   |  \-  |  \-  |  \-   |
-| Float,Double                                                                                                                                                              |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| Bool                                                                                                                                                                      |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| String, Bytes                                                                                                                                                             |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  | \+/\- |
-| Utf8, Text                                                                                                                                                                |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| NULL,Optional,Void                                                                                                                                                        |  \+   |   \+   | \+ |  \+  |   \+   | \+/- |  \+  | \+/\- |
-| Struct                                                                                                                                                                    |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| List                                                                                                                                                                      |  \+   |   \+   | \+ |  \+  |   \+   | \+/- |  \+  |  \+   |
-| Set                                                                                                                                                                       |   ?   |   ?    | \- |  ?   |   ?    |  \-  |  ?   |   ?   |
-| Tuple                                                                                                                                                                     |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  ?\+  |
-| Variant\<Struct\>,Variant\<Tuple\>                                                                                                                                        |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |  \-  |  \-   |
-| Date,DateTime,Timestamp,Interval                                                                                                                                          |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \-   |
-| TzDate,TzDateTime,TzTimestamp                                                                                                                                             |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |  \-  |  \-   |
-| DyNumber                                                                                                                                                                  |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |  \-  |  \-   |
-| Decimal (120 bits)                                                                                                                                                        |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \-  |  \+   |
-| Json,JsonDocument,Yson                                                                                                                                                    |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  | \+/\- |
-| **Scheme client**                                                                                                                                                         |       |        |    |      |        |      |      |       |
-| MakeDirectory                                                                                                                                                             |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |      |  \+   |
-| RemoveDirectory                                                                                                                                                           |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |      |  \+   |
-| ListDirectory                                                                                                                                                             |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| ModifyPermissions                                                                                                                                                         |  \+   |   \+   | \+ |  \-  |   \+   |  \-  |      |  \+   |
-| DescribePath                                                                                                                                                              |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |      |  \+   |
-| **Table service**                                                                                                                                                         |       |        |    |      |        |      |      |       |
-| CreateSession                                                                                                                                                             |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| DeleteSession                                                                                                                                                             |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| KeepAlive                                                                                                                                                                 |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \-   |
-| CreateTable                                                                                                                                                               |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |      |  \+   |
-| DropTable                                                                                                                                                                 |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |      |  \+   |
-| AlterTable                                                                                                                                                                |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |      |  \+   |
-| CopyTable                                                                                                                                                                 |  \+   |   \+   | \+ |  \+  |   \-   |  \-  |      |  \+   |
-| CopyTables                                                                                                                                                                |  \+   |   \+   | \+ |  \-  |   \-   |  \-  |      |  \+   |
-| DescribeTable                                                                                                                                                             |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |      |  \+   |
-| ExplainDataQuery                                                                                                                                                          |  \+   |   \+   | \+ |  \+  |   \-   |  \-  |      |  \+   |
-| PrepareDataQuery                                                                                                                                                          |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |      |  \+   |
-| ExecuteDataQuery                                                                                                                                                          |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| \* By default, server cache for all parameter requests (KeepInCache)                                                                                                      |  \-   |   \+   | \+ |  \+  |   \+   |  \+  |      |  \+   |
-| \* A separate option to enable/disable server cache for a specific request                                                                                                |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |      |  \+   |
-| \* Truncated result as an error (by default)                                                                                                                              |  \-   |   \-   | \+ |  ?   |   \+   |  \-  |      |  \+   |
-| \* Truncated result as an error (as an opt-in, opt-out option)                                                                                                            |  \-   |   \-   | \+ |  ?   |   \+   |  \-  |      |  \-   |
-| ExecuteSchemeQuery                                                                                                                                                        |  \+   |   \+   | \+ |  \+  |   \-   |  \+  |  \+  |  \+   |
-| BeginTransaction                                                                                                                                                          |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |      |  \+   |
-| CommitTransaction                                                                                                                                                         |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |      |  \+   |
-| RollbackTransaction                                                                                                                                                       |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |      |  \+   |
-| DescribeTableOptions                                                                                                                                                      |  \+   |   \+   | \+ |  \-  |   \-   |  \-  |      |  \-   |
-| StreamExecuteScanQuery                                                                                                                                                    |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| StreamReadTable                                                                                                                                                           |  \+   |   \+   | \+ |  \+  |   \+   |  \+  |  \-  |  \+   |
-| BulkUpsert                                                                                                                                                                |  \+   |   \+   | \+ |  \+  |   \+   |  \-  |  \-  |  \+   |
-| **Operation**                                                                                                                                                             |       |        |    |      |        |      |      |       |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this)                                                                        |  \+   |   \+   | \- |  \+  |   \+   |  \-  |  \-  |  \-   |
-| Obtaining OperationId of the operation for a long-polling status of operation execution                                                                                   |  \+   |   \+   | \+ |  \-  |   \-   |  \+  |  \-  |  \-   |
-| **ScriptingYQL**                                                                                                                                                          |       |        |    |      |        |      |      |       |
-| ExecuteYql                                                                                                                                                                |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |      |  \+   |
-| ExplainYql                                                                                                                                                                |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |      |  \+   |
-| StreamExecuteYql                                                                                                                                                          |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |      |  \-   |
-| **Coordination service**                                                                                                                                                  |       |        |    |      |        |      |      |       |
-| CreateNode                                                                                                                                                                |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |      |  \-   |
-| AlterNode                                                                                                                                                                 |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |      |  \-   |
-| DropNode                                                                                                                                                                  |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |      |  \-   |
-| DescribeNode                                                                                                                                                              |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |      |  \-   |
-| Session (leader election, distributed lock)                                                                                                                               |  \+   |   ?    | \- |  \-  |   \-   |  \-  |      |  \-   |
-| **Topic service**                                                                                                                                                         |       |        |    |      |        |      |      |       |
-| CreateTopic                                                                                                                                                               |  \+   |   \+   | \+ |  \-  |   \-   |  \-  |  \-  |  \-   |
-| DescribeTopic                                                                                                                                                             |  \+   |   \+   | \+ |  \-  |   \-   |  \-  |  \-  |  \-   |
-| AlterTopic                                                                                                                                                                |  \+   |   \-   | \+ |  \-  |   \-   |  \-  |  \-  |  \-   |
-| DropTopic                                                                                                                                                                 |  \+   |   \+   | \+ |  \-  |   \-   |  \-  |  \-  |  \-   |
-| StreamWrite                                                                                                                                                               |  \+   |   \+   | \+ |  \-  |   \-   |  \-  |  \-  |  \-   |
-| StreamRead                                                                                                                                                                |  \+   |   \+   | \+ |  \-  |   \-   |  \-  |  \-  |  \-   |
-| **Ratelimiter service**                                                                                                                                                   |       |        |    |      |        |      |      |       |
-| CreateResource                                                                                                                                                            |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |  \-  |       |
-| AlterResource                                                                                                                                                             |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |  \-  |       |
-| DropResource                                                                                                                                                              |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |  \-  |       |
-| ListResources                                                                                                                                                             |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |  \-  |       |
-| DescribeResource                                                                                                                                                          |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |  \-  |       |
-| AcquireResource                                                                                                                                                           |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |  \-  |       |
-| **Monitoring** (sending SDK metrics to the monitoring system)                                                                                                             |       |        |    |      |        |      |      |       |
-| Solomon / Monitoring                                                                                                                                                      |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |  \-  |  \-   |
-| Prometheus                                                                                                                                                                |  \-   |   ?    | \+ |  \-  |   \-   |  \-  |  \-  |  \-   |
-| SDK event **logging**                                                                                                                                                     |  \-   |   ?    | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| SDK event **tracing**                                                                                                                                                     |       |        |    |      |        |      |      |       |
-| in OpenTelemetry                                                                                                                                                          |  \-   |   ?    | \- |  \-  |   \-   |  \-  |  \-  |  \-   |
-| in OpenTracing                                                                                                                                                            |  \-   |   ?    | \+ |  \-  |   \-   |  \-  |  \-  |  \-   |
-| **Examples**                                                                                                                                                              |       |        |    |      |        |      |      |       |
-| Auth                                                                                                                                                                      |       |        |    |      |        |      |      |       |
-| \* token                                                                                                                                                                  |   ?   |   ?    | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| \* anonymous                                                                                                                                                              |   ?   |   ?    | \+ |  \+  |   \+   |  \+  |      |  \+   |
-| \* environ                                                                                                                                                                |   ?   |   ?    | \+ |  \+  |   \+   |  \-  |      |  \+   |
-| \* metadata                                                                                                                                                               |   ?   |   ?    | \+ |  \+  |   \+   |  \+  |      |  \+   |
-| \* service_account                                                                                                                                                        |   ?   |   ?    | \+ |  \+  |   \+   |  \-  |      |  \+   |
-| \* static (username \+ password)                                                                                                                                          |   ?   |   ?    | \+ |  \+  |   \+   |  \+  |  \+  |  \-   |
-| Basic (series)                                                                                                                                                            |  \+   |   ?    | \+ |  \+  |   \+   |  \+  |  \+  |  \+   |
-| Bulk Upsert                                                                                                                                                               | \+/-  |   ?    | \+ |  \+  |   \+   |  \-  |      |  \-   |
-| Containers (Struct,Variant,List,Tuple)                                                                                                                                    |  \-   |   ?    | \+ |  \-  |   \-   |  \-  |      |  \-   |
-| Pagination                                                                                                                                                                |  \+   |   ?    | \+ |  \+  |   \-   |  \-  |      |  \-   |
-| Partition policies                                                                                                                                                        |  \-   |   ?    | \+ |  \-  |   \-   |  \-  |      |  \-   |
-| Read table                                                                                                                                                                |   ?   |   ?    | \+ |  \-  |   \+   |  \-  |      |  \+   |
-| Secondary index Workaround                                                                                                                                                |  \+   |   ?    | \- |  \+  |   \-   |  \-  |      |  \-   |
-| Secondary index builtin                                                                                                                                                   |  \+   |   ?    | \- |  \-  |   \-   |  \-  |      |  \-   |
-| TTL                                                                                                                                                                       |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |      |  \-   |
-| TTL Readtable                                                                                                                                                             |  \+   |   ?    | \+ |  \-  |   \-   |  \-  |      |  \-   |
-| URL Shortener (serverless yandex function)                                                                                                                                |   ?   |   ?    | \+ |  ?   |   \+   |  \-  |      |  \-   |
-| Topic reader                                                                                                                                                              |  \+   |   \+   | \- |  \-  |        |  \-  |      |  \-   |
-| Topic writer                                                                                                                                                              |  \-   |   \+   | \- |  \-  |        |  \-  |      |  \-   |
+This section allows you to compare the capabilities of the {{ ydb-short-name }} SDK, which are implemented for different programming languages.
+
+| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+|:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
+| SSL/TLS support (system certificates) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| SSL/TLS support (custom certificates) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | {{ sign_plus }} |
+| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | {{ sign_plus }} |
+| Regular SLO testing on the latest code version | {{ sign_plus }} | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | {{ sign_plus }} | {{ sign_plus }} | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | {{ sign_plus }} | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | {{ sign_plus }} | {{ sign_plus }} | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | {{ sign_plus }} |
+| **Client-side balancing** |||||||||
+| Load balancer initialization through Discovery/ListEndpoints | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| Disable client-side load balancing (all requests to the initial Endpoint) | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | {{ sign_plus }} | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | {{ sign_plus }} | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | {{ sign_plus }} |
+| Background Discovery/ListEndpoints (by default, once a minute) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record, Endpoint DNS record, some of which may not be available (DNS load balancing) | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | {{ sign_plus }} | {{ sign_plus }} | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Connection pessimization on transport errors | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | {{ sign_plus }} | {{ sign_plus }} | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | {{ sign_plus }} | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | {{ sign_plus }} | {{ sign_plus }} | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| **Credentials providers** |||||||||
+| Anonymous (default) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| Static (user - password) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | {{ sign_plus }} | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM, Access token | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| Service account (Yandex.Cloud specific) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | {{ sign_plus }} |
+| Metadata (Yandex.Cloud specific) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| **Working with Table service sessions** |||||||||
+| Session pool | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| Limit the number of concurrent sessions on the client | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | {{ sign_plus }} | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | {{ sign_plus }} | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | {{ sign_plus }} | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool (redundant sessions) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | {{ sign_plus }} | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | {{ sign_plus }} | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | {{ sign_plus }} | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
+| **Support for YDB data types** |||||||||
+| Int/Uint(8,16,32,64) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| Int128, UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float, Double | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| Bool | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| String, Bytes | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8, Text | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| NULL, Optional, Void | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | {{ sign_plus }} | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| List | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | {{ sign_plus }} | {{ sign_plus }} |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant\<Struct>,Variant\<Tuple\> | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date, DateTime, Timestamp, Interval | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate, TzDateTime, TzTimestamp | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | {{ sign_plus }} |
+| Json, JsonDocument, Yson | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
+| **Query service client** |||||||||
+| \* CreateSession | [![issue 479 status](https://github.ydb.tech/issues/ydb-cpp-sdk/479)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/479) | [![issue 639 status](https://github.ydb.tech/issues/ydb-python-sdk/639)](https://github\.com/ydb-platform/ydb-python-sdk/issues/639) | [![issue 1760 status](https://github.ydb.tech/issues/ydb-go-sdk/1760)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1760) | [![issue 448 status](https://github.ydb.tech/issues/ydb-java-sdk/448)](https://github\.com/ydb-platform/ydb-java-sdk/issues/448) | [![issue 502 status](https://github.ydb.tech/issues/ydb-js-sdk/502)](https://github\.com/ydb-platform/ydb-js-sdk/issues/502) | [![issue 390 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/390)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/390) | [![issue 320 status](https://github.ydb.tech/issues/ydb-rs-sdk/320)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/320) | [![issue 227 status](https://github.ydb.tech/issues/ydb-php-sdk/227)](https://github\.com/ydb-platform/ydb-php-sdk/issues/227) |
+| \* DeleteSession | [![issue 480 status](https://github.ydb.tech/issues/ydb-cpp-sdk/480)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/480) | [![issue 640 status](https://github.ydb.tech/issues/ydb-python-sdk/640)](https://github\.com/ydb-platform/ydb-python-sdk/issues/640) | [![issue 1761 status](https://github.ydb.tech/issues/ydb-go-sdk/1761)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1761) | [![issue 449 status](https://github.ydb.tech/issues/ydb-java-sdk/449)](https://github\.com/ydb-platform/ydb-java-sdk/issues/449) | [![issue 503 status](https://github.ydb.tech/issues/ydb-js-sdk/503)](https://github\.com/ydb-platform/ydb-js-sdk/issues/503) | [![issue 391 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/391)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/391) | [![issue 321 status](https://github.ydb.tech/issues/ydb-rs-sdk/321)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/321) | [![issue 228 status](https://github.ydb.tech/issues/ydb-php-sdk/228)](https://github\.com/ydb-platform/ydb-php-sdk/issues/228) |
+| \* AttachSession | [![issue 481 status](https://github.ydb.tech/issues/ydb-cpp-sdk/481)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/481) | [![issue 641 status](https://github.ydb.tech/issues/ydb-python-sdk/641)](https://github\.com/ydb-platform/ydb-python-sdk/issues/641) | [![issue 1762 status](https://github.ydb.tech/issues/ydb-go-sdk/1762)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1762) | [![issue 450 status](https://github.ydb.tech/issues/ydb-java-sdk/450)](https://github\.com/ydb-platform/ydb-java-sdk/issues/450) | [![issue 504 status](https://github.ydb.tech/issues/ydb-js-sdk/504)](https://github\.com/ydb-platform/ydb-js-sdk/issues/504) | [![issue 392 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/392)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/392) | [![issue 322 status](https://github.ydb.tech/issues/ydb-rs-sdk/322)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/322) | [![issue 229 status](https://github.ydb.tech/issues/ydb-php-sdk/229)](https://github\.com/ydb-platform/ydb-php-sdk/issues/229) |
+| \* CommitTransaction | [![issue 482 status](https://github.ydb.tech/issues/ydb-cpp-sdk/482)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/482) | [![issue 642 status](https://github.ydb.tech/issues/ydb-python-sdk/642)](https://github\.com/ydb-platform/ydb-python-sdk/issues/642) | [![issue 1763 status](https://github.ydb.tech/issues/ydb-go-sdk/1763)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1763) | [![issue 451 status](https://github.ydb.tech/issues/ydb-java-sdk/451)](https://github\.com/ydb-platform/ydb-java-sdk/issues/451) | [![issue 505 status](https://github.ydb.tech/issues/ydb-js-sdk/505)](https://github\.com/ydb-platform/ydb-js-sdk/issues/505) | [![issue 393 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/393)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/393) | [![issue 323 status](https://github.ydb.tech/issues/ydb-rs-sdk/323)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/323) | [![issue 230 status](https://github.ydb.tech/issues/ydb-php-sdk/230)](https://github\.com/ydb-platform/ydb-php-sdk/issues/230) |
+| \* BeginTransaction | [![issue 483 status](https://github.ydb.tech/issues/ydb-cpp-sdk/483)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/483) | [![issue 643 status](https://github.ydb.tech/issues/ydb-python-sdk/643)](https://github\.com/ydb-platform/ydb-python-sdk/issues/643) | [![issue 1764 status](https://github.ydb.tech/issues/ydb-go-sdk/1764)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1764) | [![issue 452 status](https://github.ydb.tech/issues/ydb-java-sdk/452)](https://github\.com/ydb-platform/ydb-java-sdk/issues/452) | [![issue 506 status](https://github.ydb.tech/issues/ydb-js-sdk/506)](https://github\.com/ydb-platform/ydb-js-sdk/issues/506) | [![issue 394 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/394)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/394) | [![issue 324 status](https://github.ydb.tech/issues/ydb-rs-sdk/324)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/324) | [![issue 231 status](https://github.ydb.tech/issues/ydb-php-sdk/231)](https://github\.com/ydb-platform/ydb-php-sdk/issues/231) |
+| \* RollbackTransaction | [![issue 484 status](https://github.ydb.tech/issues/ydb-cpp-sdk/484)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/484) | [![issue 644 status](https://github.ydb.tech/issues/ydb-python-sdk/644)](https://github\.com/ydb-platform/ydb-python-sdk/issues/644) | [![issue 1765 status](https://github.ydb.tech/issues/ydb-go-sdk/1765)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1765) | [![issue 453 status](https://github.ydb.tech/issues/ydb-java-sdk/453)](https://github\.com/ydb-platform/ydb-java-sdk/issues/453) | [![issue 507 status](https://github.ydb.tech/issues/ydb-js-sdk/507)](https://github\.com/ydb-platform/ydb-js-sdk/issues/507) | [![issue 395 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/395)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/395) | [![issue 325 status](https://github.ydb.tech/issues/ydb-rs-sdk/325)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/325) | [![issue 232 status](https://github.ydb.tech/issues/ydb-php-sdk/232)](https://github\.com/ydb-platform/ydb-php-sdk/issues/232) |
+| \* ExecuteQuery | [![issue 485 status](https://github.ydb.tech/issues/ydb-cpp-sdk/485)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/485) | [![issue 645 status](https://github.ydb.tech/issues/ydb-python-sdk/645)](https://github\.com/ydb-platform/ydb-python-sdk/issues/645) | [![issue 1766 status](https://github.ydb.tech/issues/ydb-go-sdk/1766)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1766) | [![issue 454 status](https://github.ydb.tech/issues/ydb-java-sdk/454)](https://github\.com/ydb-platform/ydb-java-sdk/issues/454) | [![issue 508 status](https://github.ydb.tech/issues/ydb-js-sdk/508)](https://github\.com/ydb-platform/ydb-js-sdk/issues/508) | [![issue 396 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/396)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/396) | [![issue 326 status](https://github.ydb.tech/issues/ydb-rs-sdk/326)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/326) | [![issue 233 status](https://github.ydb.tech/issues/ydb-php-sdk/233)](https://github\.com/ydb-platform/ydb-php-sdk/issues/233) |
+| \* ExecuteScript | [![issue 486 status](https://github.ydb.tech/issues/ydb-cpp-sdk/486)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/486) | [![issue 646 status](https://github.ydb.tech/issues/ydb-python-sdk/646)](https://github\.com/ydb-platform/ydb-python-sdk/issues/646) | [![issue 1767 status](https://github.ydb.tech/issues/ydb-go-sdk/1767)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1767) | [![issue 455 status](https://github.ydb.tech/issues/ydb-java-sdk/455)](https://github\.com/ydb-platform/ydb-java-sdk/issues/455) | [![issue 509 status](https://github.ydb.tech/issues/ydb-js-sdk/509)](https://github\.com/ydb-platform/ydb-js-sdk/issues/509) | [![issue 397 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/397)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/397) | [![issue 327 status](https://github.ydb.tech/issues/ydb-rs-sdk/327)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/327) | [![issue 234 status](https://github.ydb.tech/issues/ydb-php-sdk/234)](https://github\.com/ydb-platform/ydb-php-sdk/issues/234) |
+| \* FetchScriptResults | [![issue 487 status](https://github.ydb.tech/issues/ydb-cpp-sdk/487)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/487) | [![issue 647 status](https://github.ydb.tech/issues/ydb-python-sdk/647)](https://github\.com/ydb-platform/ydb-python-sdk/issues/647) | [![issue 1768 status](https://github.ydb.tech/issues/ydb-go-sdk/1768)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1768) | [![issue 456 status](https://github.ydb.tech/issues/ydb-java-sdk/456)](https://github\.com/ydb-platform/ydb-java-sdk/issues/456) | [![issue 510 status](https://github.ydb.tech/issues/ydb-js-sdk/510)](https://github\.com/ydb-platform/ydb-js-sdk/issues/510) | [![issue 398 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/398)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/398) | [![issue 328 status](https://github.ydb.tech/issues/ydb-rs-sdk/328)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/328) | [![issue 235 status](https://github.ydb.tech/issues/ydb-php-sdk/235)](https://github\.com/ydb-platform/ydb-php-sdk/issues/235) |
+| **Scheme service client** |||||||||
+| MakeDirectory | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | {{ sign_plus }} |
+| RemoveDirectory | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | {{ sign_plus }} |
+| ListDirectory | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| ModifyPermissions | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | {{ sign_plus }} | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | {{ sign_plus }} |
+| DescribePath | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | {{ sign_plus }} |
+| **Table service client** |||||||||
+| CreateSession | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| DeleteSession | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| KeepAlive | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | {{ sign_plus }} |
+| DropTable | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | {{ sign_plus }} |
+| AlterTable | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | {{ sign_plus }} |
+| CopyTable | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | {{ sign_plus }} |
+| CopyTables | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | {{ sign_plus }} |
+| DescribeTable | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | {{ sign_plus }} |
+| ExplainDataQuery | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | {{ sign_plus }} |
+| PrepareDataQuery | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | {{ sign_plus }} |
+| ExecuteDataQuery | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| \* By default, server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | {{ sign_plus }} |
+| \* A separate option to enable/disable server cache for a specific request | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | {{ sign_plus }} |
+| \* Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | {{ sign_plus }} | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | {{ sign_plus }} | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | {{ sign_plus }} |
+| \* Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | {{ sign_plus }} | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | {{ sign_plus }} | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| BeginTransaction | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | {{ sign_plus }} |
+| CommitTransaction | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | {{ sign_plus }} |
+| RollbackTransaction | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | {{ sign_plus }} |
+| DescribeTableOptions | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| StreamReadTable | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | {{ sign_plus }} |
+| BulkUpsert | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | {{ sign_plus }} |
+| **Operation service client** |||||||||
+| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | {{ sign_plus }} | {{ sign_plus }} | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | {{ sign_plus }} | {{ sign_plus }} | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | {{ sign_plus }} | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| **ScriptingYQL service client** |||||||||
+| ExecuteYql | {{ sign_plus }} | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | {{ sign_plus }} | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | {{ sign_plus }} |
+| ExplainYql | {{ sign_plus }} | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | {{ sign_plus }} | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | {{ sign_plus }} |
+| StreamExecuteYql | {{ sign_plus }} | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | {{ sign_plus }} | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
+| **Coordination service client** |||||||||
+| CreateNode | {{ sign_plus }} | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | {{ sign_plus }} | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | {{ sign_plus }} | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | {{ sign_plus }} | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | {{ sign_plus }} | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | {{ sign_plus }} | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | {{ sign_plus }} | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | {{ sign_plus }} | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election, distributed lock) | {{ sign_plus }} | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
+| **Topic service client** |||||||||
+| CreateTopic | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
+| DescribeTopic | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 416 status](https://github.ydb.tech/issues/ydb-java-sdk/416)](https://github\.com/ydb-platform/ydb-java-sdk/issues/416) | [![issue 477 status](https://github.ydb.tech/issues/ydb-js-sdk/477)](https://github\.com/ydb-platform/ydb-js-sdk/issues/477) | [![issue 361 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/361)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/361) | [![issue 255 status](https://github.ydb.tech/issues/ydb-rs-sdk/255)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/255) | [![issue 175 status](https://github.ydb.tech/issues/ydb-php-sdk/175)](https://github\.com/ydb-platform/ydb-php-sdk/issues/175) |
+| AlterTopic | {{ sign_plus }} | [![issue 599 status](https://github.ydb.tech/issues/ydb-python-sdk/599)](https://github\.com/ydb-platform/ydb-python-sdk/issues/599) | {{ sign_plus }} | [![issue 417 status](https://github.ydb.tech/issues/ydb-java-sdk/417)](https://github\.com/ydb-platform/ydb-java-sdk/issues/417) | [![issue 478 status](https://github.ydb.tech/issues/ydb-js-sdk/478)](https://github\.com/ydb-platform/ydb-js-sdk/issues/478) | [![issue 362 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/362)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/362) | [![issue 256 status](https://github.ydb.tech/issues/ydb-rs-sdk/256)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/256) | [![issue 176 status](https://github.ydb.tech/issues/ydb-php-sdk/176)](https://github\.com/ydb-platform/ydb-php-sdk/issues/176) |
+| DropTopic | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 418 status](https://github.ydb.tech/issues/ydb-java-sdk/418)](https://github\.com/ydb-platform/ydb-java-sdk/issues/418) | [![issue 479 status](https://github.ydb.tech/issues/ydb-js-sdk/479)](https://github\.com/ydb-platform/ydb-js-sdk/issues/479) | [![issue 363 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/363)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/363) | [![issue 257 status](https://github.ydb.tech/issues/ydb-rs-sdk/257)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/257) | [![issue 177 status](https://github.ydb.tech/issues/ydb-php-sdk/177)](https://github\.com/ydb-platform/ydb-php-sdk/issues/177) |
+| StreamWrite | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 419 status](https://github.ydb.tech/issues/ydb-java-sdk/419)](https://github\.com/ydb-platform/ydb-java-sdk/issues/419) | [![issue 480 status](https://github.ydb.tech/issues/ydb-js-sdk/480)](https://github\.com/ydb-platform/ydb-js-sdk/issues/480) | [![issue 364 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/364)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/364) | [![issue 258 status](https://github.ydb.tech/issues/ydb-rs-sdk/258)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/258) | [![issue 178 status](https://github.ydb.tech/issues/ydb-php-sdk/178)](https://github\.com/ydb-platform/ydb-php-sdk/issues/178) |
+| StreamRead | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 420 status](https://github.ydb.tech/issues/ydb-java-sdk/420)](https://github\.com/ydb-platform/ydb-java-sdk/issues/420) | [![issue 481 status](https://github.ydb.tech/issues/ydb-js-sdk/481)](https://github\.com/ydb-platform/ydb-js-sdk/issues/481) | [![issue 365 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/365)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/365) | [![issue 259 status](https://github.ydb.tech/issues/ydb-rs-sdk/259)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/259) | [![issue 179 status](https://github.ydb.tech/issues/ydb-php-sdk/179)](https://github\.com/ydb-platform/ydb-php-sdk/issues/179) |
+| **Ratelimiter service client** |||||||||
+| CreateResource | {{ sign_plus }} | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | {{ sign_plus }} | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
+| AlterResource | {{ sign_plus }} | [![issue 612 status](https://github.ydb.tech/issues/ydb-python-sdk/612)](https://github\.com/ydb-platform/ydb-python-sdk/issues/612) | {{ sign_plus }} | [![issue 422 status](https://github.ydb.tech/issues/ydb-java-sdk/422)](https://github\.com/ydb-platform/ydb-java-sdk/issues/422) | [![issue 483 status](https://github.ydb.tech/issues/ydb-js-sdk/483)](https://github\.com/ydb-platform/ydb-js-sdk/issues/483) | [![issue 367 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/367)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/367) | [![issue 261 status](https://github.ydb.tech/issues/ydb-rs-sdk/261)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/261) | [![issue 222 status](https://github.ydb.tech/issues/ydb-php-sdk/222)](https://github\.com/ydb-platform/ydb-php-sdk/issues/222) |
+| DropResource | {{ sign_plus }} | [![issue 613 status](https://github.ydb.tech/issues/ydb-python-sdk/613)](https://github\.com/ydb-platform/ydb-python-sdk/issues/613) | {{ sign_plus }} | [![issue 423 status](https://github.ydb.tech/issues/ydb-java-sdk/423)](https://github\.com/ydb-platform/ydb-java-sdk/issues/423) | [![issue 484 status](https://github.ydb.tech/issues/ydb-js-sdk/484)](https://github\.com/ydb-platform/ydb-js-sdk/issues/484) | [![issue 368 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/368)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/368) | [![issue 262 status](https://github.ydb.tech/issues/ydb-rs-sdk/262)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/262) | [![issue 223 status](https://github.ydb.tech/issues/ydb-php-sdk/223)](https://github\.com/ydb-platform/ydb-php-sdk/issues/223) |
+| ListResources | {{ sign_plus }} | [![issue 614 status](https://github.ydb.tech/issues/ydb-python-sdk/614)](https://github\.com/ydb-platform/ydb-python-sdk/issues/614) | {{ sign_plus }} | [![issue 424 status](https://github.ydb.tech/issues/ydb-java-sdk/424)](https://github\.com/ydb-platform/ydb-java-sdk/issues/424) | [![issue 485 status](https://github.ydb.tech/issues/ydb-js-sdk/485)](https://github\.com/ydb-platform/ydb-js-sdk/issues/485) | [![issue 369 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/369)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/369) | [![issue 263 status](https://github.ydb.tech/issues/ydb-rs-sdk/263)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/263) | [![issue 224 status](https://github.ydb.tech/issues/ydb-php-sdk/224)](https://github\.com/ydb-platform/ydb-php-sdk/issues/224) |
+| DescribeResource | {{ sign_plus }} | [![issue 615 status](https://github.ydb.tech/issues/ydb-python-sdk/615)](https://github\.com/ydb-platform/ydb-python-sdk/issues/615) | {{ sign_plus }} | [![issue 425 status](https://github.ydb.tech/issues/ydb-java-sdk/425)](https://github\.com/ydb-platform/ydb-java-sdk/issues/425) | [![issue 486 status](https://github.ydb.tech/issues/ydb-js-sdk/486)](https://github\.com/ydb-platform/ydb-js-sdk/issues/486) | [![issue 370 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/370)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/370) | [![issue 264 status](https://github.ydb.tech/issues/ydb-rs-sdk/264)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/264) | [![issue 225 status](https://github.ydb.tech/issues/ydb-php-sdk/225)](https://github\.com/ydb-platform/ydb-php-sdk/issues/225) |
+| AcquireResource | {{ sign_plus }} | [![issue 616 status](https://github.ydb.tech/issues/ydb-python-sdk/616)](https://github\.com/ydb-platform/ydb-python-sdk/issues/616) | {{ sign_plus }} | [![issue 426 status](https://github.ydb.tech/issues/ydb-java-sdk/426)](https://github\.com/ydb-platform/ydb-java-sdk/issues/426) | [![issue 487 status](https://github.ydb.tech/issues/ydb-js-sdk/487)](https://github\.com/ydb-platform/ydb-js-sdk/issues/487) | [![issue 371 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/371)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/371) | [![issue 265 status](https://github.ydb.tech/issues/ydb-rs-sdk/265)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/265) | [![issue 226 status](https://github.ydb.tech/issues/ydb-php-sdk/226)](https://github\.com/ydb-platform/ydb-php-sdk/issues/226) |
+| **Monitoring** (sending SDK metrics to the monitoring system) |
+| Solomon / Monitoring | {{ sign_plus }} | [![issue 617 status](https://github.ydb.tech/issues/ydb-python-sdk/617)](https://github\.com/ydb-platform/ydb-python-sdk/issues/617) | {{ sign_plus }} | [![issue 427 status](https://github.ydb.tech/issues/ydb-java-sdk/427)](https://github\.com/ydb-platform/ydb-java-sdk/issues/427) | [![issue 488 status](https://github.ydb.tech/issues/ydb-js-sdk/488)](https://github\.com/ydb-platform/ydb-js-sdk/issues/488) | [![issue 372 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/372)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/372) | [![issue 266 status](https://github.ydb.tech/issues/ydb-rs-sdk/266)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/266) | [![issue 180 status](https://github.ydb.tech/issues/ydb-php-sdk/180)](https://github\.com/ydb-platform/ydb-php-sdk/issues/180) |
+| Prometheus | [![issue 460 status](https://github.ydb.tech/issues/ydb-cpp-sdk/460)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/460) | [![issue 618 status](https://github.ydb.tech/issues/ydb-python-sdk/618)](https://github\.com/ydb-platform/ydb-python-sdk/issues/618) | {{ sign_plus }} | [![issue 428 status](https://github.ydb.tech/issues/ydb-java-sdk/428)](https://github\.com/ydb-platform/ydb-java-sdk/issues/428) | [![issue 489 status](https://github.ydb.tech/issues/ydb-js-sdk/489)](https://github\.com/ydb-platform/ydb-js-sdk/issues/489) | [![issue 373 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/373)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/373) | [![issue 267 status](https://github.ydb.tech/issues/ydb-rs-sdk/267)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/267) | [![issue 181 status](https://github.ydb.tech/issues/ydb-php-sdk/181)](https://github\.com/ydb-platform/ydb-php-sdk/issues/181) |
+| SDK event **logging** ||||||||| [![issue 461 status](https://github.ydb.tech/issues/ydb-cpp-sdk/461)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/461) | [![issue 619 status](https://github.ydb.tech/issues/ydb-python-sdk/619)](https://github\.com/ydb-platform/ydb-python-sdk/issues/619) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| SDK event **tracing** |||||||||
+| in OpenTelemetry | [![issue 462 status](https://github.ydb.tech/issues/ydb-cpp-sdk/462)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/462) | [![issue 620 status](https://github.ydb.tech/issues/ydb-python-sdk/620)](https://github\.com/ydb-platform/ydb-python-sdk/issues/620) | [![issue 1754 status](https://github.ydb.tech/issues/ydb-go-sdk/1754)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1754) | [![issue 429 status](https://github.ydb.tech/issues/ydb-java-sdk/429)](https://github\.com/ydb-platform/ydb-java-sdk/issues/429) | [![issue 490 status](https://github.ydb.tech/issues/ydb-js-sdk/490)](https://github\.com/ydb-platform/ydb-js-sdk/issues/490) | [![issue 374 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/374)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/374) | [![issue 268 status](https://github.ydb.tech/issues/ydb-rs-sdk/268)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/268) | [![issue 182 status](https://github.ydb.tech/issues/ydb-php-sdk/182)](https://github\.com/ydb-platform/ydb-php-sdk/issues/182) |
+| in OpenTracing | [![issue 463 status](https://github.ydb.tech/issues/ydb-cpp-sdk/463)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/463) | [![issue 621 status](https://github.ydb.tech/issues/ydb-python-sdk/621)](https://github\.com/ydb-platform/ydb-python-sdk/issues/621) | {{ sign_plus }} | [![issue 430 status](https://github.ydb.tech/issues/ydb-java-sdk/430)](https://github\.com/ydb-platform/ydb-java-sdk/issues/430) | [![issue 491 status](https://github.ydb.tech/issues/ydb-js-sdk/491)](https://github\.com/ydb-platform/ydb-js-sdk/issues/491) | [![issue 375 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/375)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/375) | [![issue 269 status](https://github.ydb.tech/issues/ydb-rs-sdk/269)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/269) | [![issue 183 status](https://github.ydb.tech/issues/ydb-php-sdk/183)](https://github\.com/ydb-platform/ydb-php-sdk/issues/183) |
+| **Examples** |||||||||
+| Auth |
+| \* token | [![issue 471 status](https://github.ydb.tech/issues/ydb-cpp-sdk/471)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/471) | [![issue 622 status](https://github.ydb.tech/issues/ydb-python-sdk/622)](https://github\.com/ydb-platform/ydb-python-sdk/issues/622) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| \* anonymous | [![issue 472 status](https://github.ydb.tech/issues/ydb-cpp-sdk/472)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/472) | [![issue 623 status](https://github.ydb.tech/issues/ydb-python-sdk/623)](https://github\.com/ydb-platform/ydb-python-sdk/issues/623) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 304 status](https://github.ydb.tech/issues/ydb-rs-sdk/304)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/304) | {{ sign_plus }} |
+| \* environ | [![issue 473 status](https://github.ydb.tech/issues/ydb-cpp-sdk/473)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/473) | [![issue 624 status](https://github.ydb.tech/issues/ydb-python-sdk/624)](https://github\.com/ydb-platform/ydb-python-sdk/issues/624) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 376 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/376)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/376) | [![issue 305 status](https://github.ydb.tech/issues/ydb-rs-sdk/305)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/305) | {{ sign_plus }} |
+| \* metadata | [![issue 474 status](https://github.ydb.tech/issues/ydb-cpp-sdk/474)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/474) | [![issue 625 status](https://github.ydb.tech/issues/ydb-python-sdk/625)](https://github\.com/ydb-platform/ydb-python-sdk/issues/625) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 306 status](https://github.ydb.tech/issues/ydb-rs-sdk/306)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/306) | {{ sign_plus }} |
+| \* service_account | [![issue 475 status](https://github.ydb.tech/issues/ydb-cpp-sdk/475)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/475) | [![issue 626 status](https://github.ydb.tech/issues/ydb-python-sdk/626)](https://github\.com/ydb-platform/ydb-python-sdk/issues/626) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 377 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/377)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/377) | [![issue 307 status](https://github.ydb.tech/issues/ydb-rs-sdk/307)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/307) | {{ sign_plus }} |
+| \* static (username \+ password) | [![issue 476 status](https://github.ydb.tech/issues/ydb-cpp-sdk/476)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/476) | [![issue 627 status](https://github.ydb.tech/issues/ydb-python-sdk/627)](https://github\.com/ydb-platform/ydb-python-sdk/issues/627) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 184 status](https://github.ydb.tech/issues/ydb-php-sdk/184)](https://github\.com/ydb-platform/ydb-php-sdk/issues/184) |
+| Basic (series) | {{ sign_plus }} | [![issue 628 status](https://github.ydb.tech/issues/ydb-python-sdk/628)](https://github\.com/ydb-platform/ydb-python-sdk/issues/628) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| Bulk Upsert | [![issue 468 status](https://github.ydb.tech/issues/ydb-cpp-sdk/468)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/468) | [![issue 629 status](https://github.ydb.tech/issues/ydb-python-sdk/629)](https://github\.com/ydb-platform/ydb-python-sdk/issues/629) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 378 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/378)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/378) | [![issue 308 status](https://github.ydb.tech/issues/ydb-rs-sdk/308)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/308) | [![issue 185 status](https://github.ydb.tech/issues/ydb-php-sdk/185)](https://github\.com/ydb-platform/ydb-php-sdk/issues/185) |
+| Containers (Struct, Variant, List, Tuple) | [![issue 464 status](https://github.ydb.tech/issues/ydb-cpp-sdk/464)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/464) | [![issue 630 status](https://github.ydb.tech/issues/ydb-python-sdk/630)](https://github\.com/ydb-platform/ydb-python-sdk/issues/630) | {{ sign_plus }} | [![issue 431 status](https://github.ydb.tech/issues/ydb-java-sdk/431)](https://github\.com/ydb-platform/ydb-java-sdk/issues/431) | [![issue 492 status](https://github.ydb.tech/issues/ydb-js-sdk/492)](https://github\.com/ydb-platform/ydb-js-sdk/issues/492) | [![issue 379 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/379)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/379) | [![issue 309 status](https://github.ydb.tech/issues/ydb-rs-sdk/309)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/309) | [![issue 186 status](https://github.ydb.tech/issues/ydb-php-sdk/186)](https://github\.com/ydb-platform/ydb-php-sdk/issues/186) |
+| Pagination | {{ sign_plus }} | [![issue 631 status](https://github.ydb.tech/issues/ydb-python-sdk/631)](https://github\.com/ydb-platform/ydb-python-sdk/issues/631) | {{ sign_plus }} | {{ sign_plus }} | [![issue 493 status](https://github.ydb.tech/issues/ydb-js-sdk/493)](https://github\.com/ydb-platform/ydb-js-sdk/issues/493) | [![issue 380 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/380)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/380) | [![issue 310 status](https://github.ydb.tech/issues/ydb-rs-sdk/310)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/310) | [![issue 187 status](https://github.ydb.tech/issues/ydb-php-sdk/187)](https://github\.com/ydb-platform/ydb-php-sdk/issues/187) |
+| Partition policies | [![issue 465 status](https://github.ydb.tech/issues/ydb-cpp-sdk/465)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/465) | [![issue 632 status](https://github.ydb.tech/issues/ydb-python-sdk/632)](https://github\.com/ydb-platform/ydb-python-sdk/issues/632) | {{ sign_plus }} | [![issue 432 status](https://github.ydb.tech/issues/ydb-java-sdk/432)](https://github\.com/ydb-platform/ydb-java-sdk/issues/432) | [![issue 494 status](https://github.ydb.tech/issues/ydb-js-sdk/494)](https://github\.com/ydb-platform/ydb-js-sdk/issues/494) | [![issue 381 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/381)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/381) | [![issue 311 status](https://github.ydb.tech/issues/ydb-rs-sdk/311)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/311) | [![issue 188 status](https://github.ydb.tech/issues/ydb-php-sdk/188)](https://github\.com/ydb-platform/ydb-php-sdk/issues/188) |
+| Read table | [![issue 477 status](https://github.ydb.tech/issues/ydb-cpp-sdk/477)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/477) | [![issue 633 status](https://github.ydb.tech/issues/ydb-python-sdk/633)](https://github\.com/ydb-platform/ydb-python-sdk/issues/633) | {{ sign_plus }} | [![issue 433 status](https://github.ydb.tech/issues/ydb-java-sdk/433)](https://github\.com/ydb-platform/ydb-java-sdk/issues/433) | {{ sign_plus }} | [![issue 382 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/382)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/382) | [![issue 312 status](https://github.ydb.tech/issues/ydb-rs-sdk/312)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/312) | {{ sign_plus }} |
+| Secondary index Workaround | {{ sign_plus }} | [![issue 634 status](https://github.ydb.tech/issues/ydb-python-sdk/634)](https://github\.com/ydb-platform/ydb-python-sdk/issues/634) | [![issue 1755 status](https://github.ydb.tech/issues/ydb-go-sdk/1755)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1755) | {{ sign_plus }} | [![issue 495 status](https://github.ydb.tech/issues/ydb-js-sdk/495)](https://github\.com/ydb-platform/ydb-js-sdk/issues/495) | [![issue 383 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/383)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/383) | [![issue 313 status](https://github.ydb.tech/issues/ydb-rs-sdk/313)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/313) | [![issue 189 status](https://github.ydb.tech/issues/ydb-php-sdk/189)](https://github\.com/ydb-platform/ydb-php-sdk/issues/189) |
+| Secondary index builtin | {{ sign_plus }} | [![issue 635 status](https://github.ydb.tech/issues/ydb-python-sdk/635)](https://github\.com/ydb-platform/ydb-python-sdk/issues/635) | [![issue 1756 status](https://github.ydb.tech/issues/ydb-go-sdk/1756)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1756) | [![issue 434 status](https://github.ydb.tech/issues/ydb-java-sdk/434)](https://github\.com/ydb-platform/ydb-java-sdk/issues/434) | [![issue 496 status](https://github.ydb.tech/issues/ydb-js-sdk/496)](https://github\.com/ydb-platform/ydb-js-sdk/issues/496) | [![issue 384 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/384)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/384) | [![issue 314 status](https://github.ydb.tech/issues/ydb-rs-sdk/314)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/314) | [![issue 190 status](https://github.ydb.tech/issues/ydb-php-sdk/190)](https://github\.com/ydb-platform/ydb-php-sdk/issues/190) |
+| TTL | {{ sign_plus }} | [![issue 636 status](https://github.ydb.tech/issues/ydb-python-sdk/636)](https://github\.com/ydb-platform/ydb-python-sdk/issues/636) | {{ sign_plus }} | [![issue 435 status](https://github.ydb.tech/issues/ydb-java-sdk/435)](https://github\.com/ydb-platform/ydb-java-sdk/issues/435) | [![issue 497 status](https://github.ydb.tech/issues/ydb-js-sdk/497)](https://github\.com/ydb-platform/ydb-js-sdk/issues/497) | [![issue 385 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/385)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/385) | [![issue 315 status](https://github.ydb.tech/issues/ydb-rs-sdk/315)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/315) | [![issue 191 status](https://github.ydb.tech/issues/ydb-php-sdk/191)](https://github\.com/ydb-platform/ydb-php-sdk/issues/191) |
+| TTL Readtable | {{ sign_plus }} | [![issue 637 status](https://github.ydb.tech/issues/ydb-python-sdk/637)](https://github\.com/ydb-platform/ydb-python-sdk/issues/637) | {{ sign_plus }} | [![issue 436 status](https://github.ydb.tech/issues/ydb-java-sdk/436)](https://github\.com/ydb-platform/ydb-java-sdk/issues/436) | [![issue 498 status](https://github.ydb.tech/issues/ydb-js-sdk/498)](https://github\.com/ydb-platform/ydb-js-sdk/issues/498) | [![issue 386 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/386)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/386) | [![issue 316 status](https://github.ydb.tech/issues/ydb-rs-sdk/316)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/316) | [![issue 192 status](https://github.ydb.tech/issues/ydb-php-sdk/192)](https://github\.com/ydb-platform/ydb-php-sdk/issues/192) |
+| URL Shortener (serverless yandex function) | [![issue 478 status](https://github.ydb.tech/issues/ydb-cpp-sdk/478)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/478) | [![issue 638 status](https://github.ydb.tech/issues/ydb-python-sdk/638)](https://github\.com/ydb-platform/ydb-python-sdk/issues/638) | {{ sign_plus }} | [![issue 446 status](https://github.ydb.tech/issues/ydb-java-sdk/446)](https://github\.com/ydb-platform/ydb-java-sdk/issues/446) | {{ sign_plus }} | [![issue 387 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/387)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/387) | [![issue 317 status](https://github.ydb.tech/issues/ydb-rs-sdk/317)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/317) | [![issue 193 status](https://github.ydb.tech/issues/ydb-php-sdk/193)](https://github\.com/ydb-platform/ydb-php-sdk/issues/193) |
+| Topic reader | {{ sign_plus }} | {{ sign_plus }} | [![issue 1757 status](https://github.ydb.tech/issues/ydb-go-sdk/1757)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1757) | [![issue 437 status](https://github.ydb.tech/issues/ydb-java-sdk/437)](https://github\.com/ydb-platform/ydb-java-sdk/issues/437) | [![issue 500 status](https://github.ydb.tech/issues/ydb-js-sdk/500)](https://github\.com/ydb-platform/ydb-js-sdk/issues/500) | [![issue 388 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/388)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/388) | [![issue 318 status](https://github.ydb.tech/issues/ydb-rs-sdk/318)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/318) | [![issue 194 status](https://github.ydb.tech/issues/ydb-php-sdk/194)](https://github\.com/ydb-platform/ydb-php-sdk/issues/194) |
+| Topic writer | [![issue 466 status](https://github.ydb.tech/issues/ydb-cpp-sdk/466)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/466) | {{ sign_plus }} | [![issue 1758 status](https://github.ydb.tech/issues/ydb-go-sdk/1758)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1758) | [![issue 438 status](https://github.ydb.tech/issues/ydb-java-sdk/438)](https://github\.com/ydb-platform/ydb-java-sdk/issues/438) | [![issue 501 status](https://github.ydb.tech/issues/ydb-js-sdk/501)](https://github\.com/ydb-platform/ydb-js-sdk/issues/501) | [![issue 389 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/389)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/389) | [![issue 319 status](https://github.ydb.tech/issues/ydb-rs-sdk/319)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/319) | [![issue 195 status](https://github.ydb.tech/issues/ydb-php-sdk/195)](https://github\.com/ydb-platform/ydb-php-sdk/issues/195) |
 
 {wide-content}
diff --git a/ydb/docs/presets.yaml b/ydb/docs/presets.yaml
index 8b74025ea530..879328b8fb92 100644
--- a/ydb/docs/presets.yaml
+++ b/ydb/docs/presets.yaml
@@ -51,6 +51,7 @@ default:
   feature_temp_tables: true
   has_create_table_link: true
   ydb_non_deterministic_functions: true
+  sign_plus: <?xml version="1.0" encoding="UTF-8"?><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="11" y="5" width="2" height="14" rx="1" fill="#4caf50"/><rect x="5" y="11" width="14" height="2" rx="1" fill="#4caf50"/></svg>
 
   ydb-doc-repo: https://github.com/ydb-platform/ydb/tree/main/ydb/docs
 
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/feature-parity.md b/ydb/docs/ru/core/reference/ydb-sdk/feature-parity.md
index 287e35bd55bf..b9214d2463c0 100644
--- a/ydb/docs/ru/core/reference/ydb-sdk/feature-parity.md
+++ b/ydb/docs/ru/core/reference/ydb-sdk/feature-parity.md
@@ -2,148 +2,158 @@
 
 Данный раздел позволяет сравнить возможности {{ ydb-short-name  }} SDK, которые реализованы для разных языков программирования.
 
-|Feature|C\+\+|Python|Go|Java|NodeJS|C#|Rust|PHP|
+| Функционал | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-|Поддержка SSL/TLS (системные сертификаты)|\+|\+|\+|\+|\+|\+|\+|\+|
-|Поддержка SSL/TLS (кастомные сертификаты)|\+|\+|\+|\+|\+|\-|\-|\+|
-|Возможность настроить/включить GRPC KeepAlive (фоновое поддержание живости соединения)|\+|\+|\+|?||\-|\-|\-|
-|Регулярный прогон тестов SLO на последней версии кода|\+|\+/-|\+|\+|\+/-|\-|\-|\-|
-|Шаблоны Issue в GitHub|\-|?|\+|\-|\+|\+|\-|\+|
-|**Клиентская балансировка**|||||||||
-|Инициализация балансировщика через Discovery/ListEndpoints|\+|\+|\+|\+|\+|\+|\+|\+|
-|Отключение клиентской балансировки (все запросы в начальный Endpoint)|\+/-|\-|\+|\-|\-|\+|\+|\+|
-|Фоновый Discovery/ListEndpoints (раз в минуту по умолчанию)|\+|\+|\+|\+|\+|\+|\+|\-|
-|Поддержка множества IP адресов в DNS-записи начального Endpoint, часть из которых может быть недоступна (DNS балансировка)|?|\+|\+|?|\-|?|?|?|
-|Пессимизация нод на транспортных ошибках|\+|\+|\+|\+|\+|\+|\+||
-|Принудительный Discovery/ListEndpoints если пессимизировано более половины нод|\+|\+|\+|\+|\-|\+|\+||
-|Автоматическое определение ближайшего ДЦ / зоны доступности по TCP-пингам|\-|\-|\+|\-|\-|\-|\-||
-|Aвтоматическое определение ближайшего ДЦ / зоны доступности по ответу Discovery/ListEndpoints\*|\+|\+|\-|\-|\-|\-|\-||
-|Равномерный случайный выбор нод (по умолчанию)|\+|\+|\+|\+|\+|\+|\+||
-|Балансировка среди всех нод всех ДЦ (по умолчанию)|\+|\+|\+|\+|\+|\+|\+||
-|Балансировка среди всех нод конкретного ДЦ / зоны доступности (например, “a”, “vla”)|\+|\+|\+|?|\-|\-|\-||
-|Балансировка среди всех нод всех локального ДЦ|\+|\+|\+|?|\-|\-|\-||
-|**Credentials providers**|||||||||
-|Anonymous (по умолчанию)|\+|\+|\+|\+|\+|\+|\+|\+|
-|Static (user - password)|\+|\+|\+|\+|\-|\-|\+|\+|
-|Token: IAM, Access token|\+|\+|\+|\+|\+|\+|\+|\+|
-|Service account (Yandex.Cloud specific)|\+|\+|\+|\+|\+|\+|\-|\+|
-|Metadata (Yandex.Cloud specific)|\+|\+|\+|\+|\+|\+|\+|\+|
-|**Работа с сессиями Table-сервиса**|||||||||
-|Пул сессий|\+|\+|\+|\+|\+|\+|\+|\+|
-|Ограничение количества одновременных сессий на клиенте|\+|\+|\+|\+|\+|\+|\+||
-|Несгораемый остаток сессий в пуле|\+|\+|\+|\+|\-|\-|\-||
-|Прогрев пула до указанного значения количества сессий при создании пула|\-|\+|\-|\-|\+|\-|\-||
-|Фоновый KeepAlive для простаивающих сессий в пуле|\+|\-|\-|\+|\+|\+|\+||
-|Фоновое закрытие простаивающих сессий в пуле (лишние сессии)|\+|\+|\+|\+|\-|\-|\-||
-|Автоматическое выбрасывание сессии из пула при получении ошибок BAD_SESSION / SESSION_BUSY|\+|\+|\+|\+|\+|\+|\+|\+|
-|Отстойник сессий для возможного переиспользования в будущем\~|\+|\-|\-|\-|\-|\-|\-||
-|Ретраер на пуле сессий (объект для повторов - сессия)|\+|\+|\+|\+|\+|\+|\+|\+|
-|Ретраер на пуле сессий (объект для повторов - транзакция на сессии)|\-|\-|\+|\-|\-|\-|\+|\+|
-|Поддержка graceful shutdown сессий ("session-close" в metadata "x-ydb-server-hints" - означает надо "забыть" сессию и больше ее не использовать)|\+|\+|\+||\+|\-|\-||
-|Поддержка серверной балансировки сессий (запрос CreateSession должен содержать в metadata-заголовке "x-ydb-client-capabilities" значение "session-balancer")|\+|\+|\+||\-|\-|\-||
-|**Поддержка типов данных YDB**|||||||||
-|Int/Uint(8,16,32,64)|\+|\+|\+|\+|\+|\+|\+|\+|
-|Int128, UInt128 (в паблике нету?)|\-|\-|\-|\-|\-|\-|\-|\-|
-|Float,Double|\+|\+|\+|\+|\+|\+|\+|\+|
-|Bool|\+|\+|\+|\+|\+|\+|\+|\+|
-|String, Bytes|\+|\+|\+|\+|\+|\+|\+|\+/\-|
-|Utf8, Text|\+|\+|\+|\+|\+|\+|\+|\+|
-|NULL,Optional,Void|\+|\+|\+|\+|\+|\+/-|\+|\+/\-|
-|Struct|\+|\+|\+|\+|\+|\+|\+|+|
-|List|\+|\+|\+|\+|\+|\+/-|\+|+|
-|Set|?|?|\-|?|?|\-|?|?|
-|Tuple|\+|\+|\+|\+|\+|\+|\+|?+|
-|Variant\<Struct\>,Variant\<Tuple\>|\+|\+|\+|\+|\+|\+|\-|\-|
-|Date,DateTime,Timestamp,Interval|\+|\+|\+|\+|\+|\+|\+|\-|
-|TzDate,TzDateTime,TzTimestamp|\+|\+|\+|\+|\+|\-|\-|\-|
-|DyNumber|\+|\+|\+|\+|\+|\-|\-|\-|
-|Decimal (120 бит)|\+|\+|\+|\+|\+|\+|\-|\+|
-|Json,JsonDocument,Yson|\+|\+|\+|\+|\+|\+|\+|\+/\-|
-|**Scheme клиент**|||||||||
-|MakeDirectory|\+|\+|\+|\+|\+|\-|\+|\+|
-|RemoveDirectory|\+|\+|\+|\+|\+|\-|\+|\+|
-|ListDirectory|\+|\+|\+|\+|\+|\+|\+|\+|
-|ModifyPermissions|\+|\+|\+|\-|\+|\-|\-|\+|
-|DescribePath|\+|\+|\+|\+|\+|\-|\-|\+|
-|**Table-сервис**|||||||||
-|CreateSession|\+|\+|\+|\+|\+|\+|\+|\+|
-|DeleteSession|\+|\+|\+|\+|\+|\+|\+|\+|
-|KeepAlive|\+|\+|\+|\+|\+|\+|\+|\-|
-|CreateTable|\+|\+|\+|\+|\+|\-|\-|\+|
-|DropTable|\+|\+|\+|\+|\+|\-|\-|\+|
-|AlterTable|\+|\+|\+|\+|\+|\-|\-|\+|
-|CopyTable|\+|\+|\+|\+|\-|\-|\-|\+|
-|CopyTables|\+|\+|\+|\-|\-|\-|\-|\+|
-|DescribeTable|\+|\+|\+|\+|\+|\-|\-|\+|
-|ExplainDataQuery|\+|\+|\+|\+|\-|\-|\-|\+|
-|PrepareDataQuery|\+|\+|\+|\+|\+|\-|\-|\+|
-|ExecuteDataQuery|\+|\+|\+|\+|\+|\+|\+|\+|
-|\* Серверный кэш по умолчанию для всех запросов с параметрами (KeepInCache)|\-|\+|\+|\+|\+|\+|\-|\+|
-|\* Отдельная опция для включения/выключения серверного кэша для конкретного запроса|\+|\+|\+|\+|\+|\+|\-|\+|
-|\* Truncated result как ошибка (по дефолту)|\-|\-|\+|?|\+|\-|\-|\+|
-|\* Truncated result как ошибка (как опция opt-in, opt-out)|\-|\-|\+|?|\+|\-|\+|\-|
-|ExecuteSchemeQuery|\+|\+|\+|\+|\-|\+|\+|\+|
-|BeginTransaction|\+|\+|\+|\+|\+|\-|\-|\+|
-|CommitTransaction|\+|\+|\+|\+|\+|\-|\+|\+|
-|RollbackTransaction|\+|\+|\+|\+|\+|\-|\+|\+|
-|DescribeTableOptions|\+|\+|\+|\-|\-|\-|\-|\-|
-|StreamExecuteScanQuery|\+|\+|\+|\+|\+|\+|\+|\+|
-|StreamReadTable|\+|\+|\+|\+|\+|\+|\-|\+|
-|BulkUpsert|\+|\+|\+|\+|\+|\-|\-|\+|
-|**Operation**|||||||||
-|Consumed Units из метаданных ответа на grpc-запрос (чтобы пользователь мог получить это)|\+|\+|\-|\+|\+|\-|\-|\-|
-|Получение OperationId операции для long-polling статуса выполнения операции|\+|\+|\+|\-|\-|\+|\-|\-|
-|**ScriptingYQL**|||||||||
-|ExecuteYql|\+|?|\+|\-|\-|\-|\-|\+|
-|ExplainYql|\+|?|\+|\-|\-|\-|\-|\+|
-|StreamExecuteYql|\+|?|\+|\-|\-|\-|\-|\-|
-|**Coordination service**|||||||||
-|CreateNode|\+|?|\+|\-|\-|\-|\-|\-|
-|AlterNode|\+|?|\+|\-|\-|\-|\-|\-|
-|DropNode|\+|?|\+|\-|\-|\-|\-|\-|
-|DescribeNode|\+|?|\+|\-|\-|\-|\-|\-|
-|Session (leader election, распределенный лок)|\+|?|\-|\-|\-|\-|\-|\-|
-|**Topic service**|||||||||
-|CreateTopic|\+|\+|\+|\-|\-|\-|\-|\-|
-|DescribeTopic|\+|\+|\+|\-|\-|\-|\-|\-|
-|AlterTopic|\+|\-|\+|\-|\-|\-|\-|\-|
-|DropTopic|\+|\+|\+|\-|\-|\-|\-|\-|
-|StreamWrite|\+|\+|\+|\-|\-|\-|\-|\-|
-|StreamRead|\+|\+|\+|\-|\-|\-|\-|\-|
-|**Ratelimiter service**|||||||||
-|CreateResource|\+|?|\+|\-|\-|\-|\-|\-|
-|AlterResource|\+|?|\+|\-|\-|\-|\-|\-|
-|DropResource|\+|?|\+|\-|\-|\-|\-|\-|
-|ListResources|\+|?|\+|\-|\-|\-|\-|\-|
-|DescribeResource|\+|?|\+|\-|\-|\-|\-|\-|
-|AcquireResource|\+|?|\+|\-|\-|\-|\-|\-|
-|**Monitoring** (отправка метрик SDK в систему мониторинга)|||||||||
-|Solomon / Monitoring|\+|?|\+|\-|\-|\-|\-|\-|
-|Prometheus|\-|?|\+|\-|\-|\-|\-|\-|
-|**Логирование** событий SDK|\-|?|\+|\+|\+|\+|\+|\+|
-|**Трассировка** событий SDK|||||||||
-|в OpenTelemetry|\-|?|\-|\-|\-|\-|\-|\-|
-|в OpenTracing|\-|?|\+|\-|\-|\-|\-|\-|
-|**Examples**|||||||||
-|Auth|||||||||
-|\* token|?|?|\+|\+|\+|\+|\+|\+|
-|\* anonymous|?|?|\+|\+|\+|\+|\+|\+|
-|\* environ|?|?|\+|\+|\+|\-|\-|\+|
-|\* metadata|?|?|\+|\+|\+|\+|\+|\+|
-|\* service_account|?|?|\+|\+|\+|\-|\-|\+|
-|\* static (username \+ password)|?|?|\+|\+|\+|\+|\+|\+|
-|Basic (series)|\+|?|\+|\+|\+|\+|\+|\+|
-|Bulk Upsert|\+/-|?|\+|\+|\+|\-|\-|\+|
-|Containers (Struct,Variant,List,Tuple)|\-|?|\+|\-|\-|\-|\+|\-|
-|Pagination|\+|?|\+|\+|\-|\-|\-|\-|
-|Partition policies|\-|?|\+|\-|\-|\-|\-|\-|
-|Read table|?|?|\+|\-|\+|\-|\-|\+|
-|Secondary index Workaround|\+|?|\-|\+|\-|\-|\-|\-|
-|Secondary index builtin|\+|?|\-|\-|\-|\-|\-|\-|
-|TTL|\+|?|\+|\-|\-|\-|\-|\-|
-|TTL Readtable|\+|?|\+|\-|\-|\-|\-|\-|
-|URL Shortener (serverless yandex function)|?|?|\+|?|\+|\-|\-|\-|
-|Topic reader|\+||\+||\-|\-|\-|\-|
-|Topic writer|\-||\+||\-|\-|\-|\-|
+| Поддержка SSL/TLS (системные сертификаты) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| Поддержка SSL/TLS (кастомные сертификаты) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | {{ sign_plus }} |
+| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | {{ sign_plus }} |
+| Регулярный прогон тестов SLO на последней версии кода | {{ sign_plus }} | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | {{ sign_plus }} | {{ sign_plus }} | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Шаблоны Issue в GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | {{ sign_plus }} | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | {{ sign_plus }} | {{ sign_plus }} | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | {{ sign_plus }} |
+| **Клиентская балансировка** |||||||||
+| Инициализация балансировщика через Discovery/ListEndpoints | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| Отключение клиентской балансировки (все запросы в начальный Endpoint) | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | {{ sign_plus }} | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | {{ sign_plus }} | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | {{ sign_plus }} |
+| Фоновый Discovery/ListEndpoints (раз в минуту по умолчанию) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Поддержка множества IP адресов в DNS-записи начального Endpoint, часть из которых может быть недоступна (DNS балансировка) | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | {{ sign_plus }} | {{ sign_plus }} | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Пессимизация соединений на транспортных ошибках | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Принудительный Discovery/ListEndpoints если пессимизировано более половины нод | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | {{ sign_plus }} | {{ sign_plus }} | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Автоматическое определение ближайшего ДЦ / зоны доступности по TCP-пингам | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | {{ sign_plus }} | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Aвтоматическое определение ближайшего ДЦ / зоны доступности по ответу Discovery/ListEndpoints | {{ sign_plus }} | {{ sign_plus }} | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Равномерный случайный выбор нод (по умолчанию) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Балансировка среди всех нод всех ДЦ (по умолчанию) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Балансировка среди всех нод конкретного ДЦ / зоны доступности (например, “a”, “vla”) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Балансировка среди всех нод всех локального ДЦ | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| **Credentials providers** |||||||||
+| Anonymous (по умолчанию) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| Static (user - password) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | {{ sign_plus }} | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM, Access token | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| Service account (Yandex.Cloud specific) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | {{ sign_plus }} |
+| Metadata (Yandex.Cloud specific) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| **Работа с сессиями Table-сервиса** |||||||||
+| Пул сессий | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| Ограничение количества одновременных сессий на клиенте | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Несгораемый остаток сессий в пуле | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Прогрев пула до указанного значения количества сессий при создании пула | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | {{ sign_plus }} | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | {{ sign_plus }} | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Фоновый KeepAlive для простаивающих сессий в пуле | {{ sign_plus }} | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Фоновое закрытие простаивающих сессий в пуле (лишние сессии) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Автоматическое выбрасывание сессии из пула при получении ошибок BAD_SESSION / SESSION_BUSY | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Отстойник сессий для возможного переиспользования в будущем | {{ sign_plus }} | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Ретраер на пуле сессий (объект для повторов - сессия) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Ретраер на пуле сессий (объект для повторов - транзакция на сессии) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | {{ sign_plus }} | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | {{ sign_plus }} | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Поддержка graceful shutdown сессий ("session-close" в metadata "x-ydb-server-hints" - означает надо "забыть" сессию и больше ее не использовать) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Поддержка серверной балансировки сессий (запрос CreateSession должен содержать в metadata-заголовке "x-ydb-client-capabilities" значение "session-balancer") | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
+| **Поддержка типов данных YDB*** |||||||||
+| Int/Uint(8,16,32,64) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| Int128, UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float, Double | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| Bool | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| String, Bytes | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8, Text | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| NULL, Optional, Void | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | {{ sign_plus }} | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| List | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | {{ sign_plus }} | {{ sign_plus }} |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant\<Struct>,Variant\<Tuple\> | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date, DateTime, Timestamp, Interval | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate, TzDateTime, TzTimestamp | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | {{ sign_plus }} |
+| Json, JsonDocument, Yson | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
+| **Клиент Query-сервиса** |||||||||
+| \* CreateSession | [![issue 479 status](https://github.ydb.tech/issues/ydb-cpp-sdk/479)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/479) | [![issue 639 status](https://github.ydb.tech/issues/ydb-python-sdk/639)](https://github\.com/ydb-platform/ydb-python-sdk/issues/639) | [![issue 1760 status](https://github.ydb.tech/issues/ydb-go-sdk/1760)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1760) | [![issue 448 status](https://github.ydb.tech/issues/ydb-java-sdk/448)](https://github\.com/ydb-platform/ydb-java-sdk/issues/448) | [![issue 502 status](https://github.ydb.tech/issues/ydb-js-sdk/502)](https://github\.com/ydb-platform/ydb-js-sdk/issues/502) | [![issue 390 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/390)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/390) | [![issue 320 status](https://github.ydb.tech/issues/ydb-rs-sdk/320)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/320) | [![issue 227 status](https://github.ydb.tech/issues/ydb-php-sdk/227)](https://github\.com/ydb-platform/ydb-php-sdk/issues/227) |
+| \* DeleteSession | [![issue 480 status](https://github.ydb.tech/issues/ydb-cpp-sdk/480)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/480) | [![issue 640 status](https://github.ydb.tech/issues/ydb-python-sdk/640)](https://github\.com/ydb-platform/ydb-python-sdk/issues/640) | [![issue 1761 status](https://github.ydb.tech/issues/ydb-go-sdk/1761)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1761) | [![issue 449 status](https://github.ydb.tech/issues/ydb-java-sdk/449)](https://github\.com/ydb-platform/ydb-java-sdk/issues/449) | [![issue 503 status](https://github.ydb.tech/issues/ydb-js-sdk/503)](https://github\.com/ydb-platform/ydb-js-sdk/issues/503) | [![issue 391 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/391)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/391) | [![issue 321 status](https://github.ydb.tech/issues/ydb-rs-sdk/321)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/321) | [![issue 228 status](https://github.ydb.tech/issues/ydb-php-sdk/228)](https://github\.com/ydb-platform/ydb-php-sdk/issues/228) |
+| \* AttachSession | [![issue 481 status](https://github.ydb.tech/issues/ydb-cpp-sdk/481)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/481) | [![issue 641 status](https://github.ydb.tech/issues/ydb-python-sdk/641)](https://github\.com/ydb-platform/ydb-python-sdk/issues/641) | [![issue 1762 status](https://github.ydb.tech/issues/ydb-go-sdk/1762)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1762) | [![issue 450 status](https://github.ydb.tech/issues/ydb-java-sdk/450)](https://github\.com/ydb-platform/ydb-java-sdk/issues/450) | [![issue 504 status](https://github.ydb.tech/issues/ydb-js-sdk/504)](https://github\.com/ydb-platform/ydb-js-sdk/issues/504) | [![issue 392 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/392)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/392) | [![issue 322 status](https://github.ydb.tech/issues/ydb-rs-sdk/322)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/322) | [![issue 229 status](https://github.ydb.tech/issues/ydb-php-sdk/229)](https://github\.com/ydb-platform/ydb-php-sdk/issues/229) |
+| \* CommitTransaction | [![issue 482 status](https://github.ydb.tech/issues/ydb-cpp-sdk/482)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/482) | [![issue 642 status](https://github.ydb.tech/issues/ydb-python-sdk/642)](https://github\.com/ydb-platform/ydb-python-sdk/issues/642) | [![issue 1763 status](https://github.ydb.tech/issues/ydb-go-sdk/1763)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1763) | [![issue 451 status](https://github.ydb.tech/issues/ydb-java-sdk/451)](https://github\.com/ydb-platform/ydb-java-sdk/issues/451) | [![issue 505 status](https://github.ydb.tech/issues/ydb-js-sdk/505)](https://github\.com/ydb-platform/ydb-js-sdk/issues/505) | [![issue 393 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/393)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/393) | [![issue 323 status](https://github.ydb.tech/issues/ydb-rs-sdk/323)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/323) | [![issue 230 status](https://github.ydb.tech/issues/ydb-php-sdk/230)](https://github\.com/ydb-platform/ydb-php-sdk/issues/230) |
+| \* BeginTransaction | [![issue 483 status](https://github.ydb.tech/issues/ydb-cpp-sdk/483)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/483) | [![issue 643 status](https://github.ydb.tech/issues/ydb-python-sdk/643)](https://github\.com/ydb-platform/ydb-python-sdk/issues/643) | [![issue 1764 status](https://github.ydb.tech/issues/ydb-go-sdk/1764)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1764) | [![issue 452 status](https://github.ydb.tech/issues/ydb-java-sdk/452)](https://github\.com/ydb-platform/ydb-java-sdk/issues/452) | [![issue 506 status](https://github.ydb.tech/issues/ydb-js-sdk/506)](https://github\.com/ydb-platform/ydb-js-sdk/issues/506) | [![issue 394 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/394)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/394) | [![issue 324 status](https://github.ydb.tech/issues/ydb-rs-sdk/324)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/324) | [![issue 231 status](https://github.ydb.tech/issues/ydb-php-sdk/231)](https://github\.com/ydb-platform/ydb-php-sdk/issues/231) |
+| \* RollbackTransaction | [![issue 484 status](https://github.ydb.tech/issues/ydb-cpp-sdk/484)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/484) | [![issue 644 status](https://github.ydb.tech/issues/ydb-python-sdk/644)](https://github\.com/ydb-platform/ydb-python-sdk/issues/644) | [![issue 1765 status](https://github.ydb.tech/issues/ydb-go-sdk/1765)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1765) | [![issue 453 status](https://github.ydb.tech/issues/ydb-java-sdk/453)](https://github\.com/ydb-platform/ydb-java-sdk/issues/453) | [![issue 507 status](https://github.ydb.tech/issues/ydb-js-sdk/507)](https://github\.com/ydb-platform/ydb-js-sdk/issues/507) | [![issue 395 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/395)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/395) | [![issue 325 status](https://github.ydb.tech/issues/ydb-rs-sdk/325)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/325) | [![issue 232 status](https://github.ydb.tech/issues/ydb-php-sdk/232)](https://github\.com/ydb-platform/ydb-php-sdk/issues/232) |
+| \* ExecuteQuery | [![issue 485 status](https://github.ydb.tech/issues/ydb-cpp-sdk/485)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/485) | [![issue 645 status](https://github.ydb.tech/issues/ydb-python-sdk/645)](https://github\.com/ydb-platform/ydb-python-sdk/issues/645) | [![issue 1766 status](https://github.ydb.tech/issues/ydb-go-sdk/1766)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1766) | [![issue 454 status](https://github.ydb.tech/issues/ydb-java-sdk/454)](https://github\.com/ydb-platform/ydb-java-sdk/issues/454) | [![issue 508 status](https://github.ydb.tech/issues/ydb-js-sdk/508)](https://github\.com/ydb-platform/ydb-js-sdk/issues/508) | [![issue 396 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/396)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/396) | [![issue 326 status](https://github.ydb.tech/issues/ydb-rs-sdk/326)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/326) | [![issue 233 status](https://github.ydb.tech/issues/ydb-php-sdk/233)](https://github\.com/ydb-platform/ydb-php-sdk/issues/233) |
+| \* ExecuteScript | [![issue 486 status](https://github.ydb.tech/issues/ydb-cpp-sdk/486)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/486) | [![issue 646 status](https://github.ydb.tech/issues/ydb-python-sdk/646)](https://github\.com/ydb-platform/ydb-python-sdk/issues/646) | [![issue 1767 status](https://github.ydb.tech/issues/ydb-go-sdk/1767)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1767) | [![issue 455 status](https://github.ydb.tech/issues/ydb-java-sdk/455)](https://github\.com/ydb-platform/ydb-java-sdk/issues/455) | [![issue 509 status](https://github.ydb.tech/issues/ydb-js-sdk/509)](https://github\.com/ydb-platform/ydb-js-sdk/issues/509) | [![issue 397 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/397)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/397) | [![issue 327 status](https://github.ydb.tech/issues/ydb-rs-sdk/327)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/327) | [![issue 234 status](https://github.ydb.tech/issues/ydb-php-sdk/234)](https://github\.com/ydb-platform/ydb-php-sdk/issues/234) |
+| \* FetchScriptResults | [![issue 487 status](https://github.ydb.tech/issues/ydb-cpp-sdk/487)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/487) | [![issue 647 status](https://github.ydb.tech/issues/ydb-python-sdk/647)](https://github\.com/ydb-platform/ydb-python-sdk/issues/647) | [![issue 1768 status](https://github.ydb.tech/issues/ydb-go-sdk/1768)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1768) | [![issue 456 status](https://github.ydb.tech/issues/ydb-java-sdk/456)](https://github\.com/ydb-platform/ydb-java-sdk/issues/456) | [![issue 510 status](https://github.ydb.tech/issues/ydb-js-sdk/510)](https://github\.com/ydb-platform/ydb-js-sdk/issues/510) | [![issue 398 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/398)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/398) | [![issue 328 status](https://github.ydb.tech/issues/ydb-rs-sdk/328)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/328) | [![issue 235 status](https://github.ydb.tech/issues/ydb-php-sdk/235)](https://github\.com/ydb-platform/ydb-php-sdk/issues/235) |
+| **Клиент Scheme-сервиса** |||||||||
+| MakeDirectory | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | {{ sign_plus }} |
+| RemoveDirectory | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | {{ sign_plus }} |
+| ListDirectory | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| ModifyPermissions | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | {{ sign_plus }} | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | {{ sign_plus }} |
+| DescribePath | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | {{ sign_plus }} |
+| **Клиент Table-сервиса** |||||||||
+| CreateSession | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| DeleteSession | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| KeepAlive | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | {{ sign_plus }} |
+| DropTable | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | {{ sign_plus }} |
+| AlterTable | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | {{ sign_plus }} |
+| CopyTable | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | {{ sign_plus }} |
+| CopyTables | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | {{ sign_plus }} |
+| DescribeTable | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | {{ sign_plus }} |
+| ExplainDataQuery | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | {{ sign_plus }} |
+| PrepareDataQuery | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | {{ sign_plus }} |
+| ExecuteDataQuery | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| \* Серверный кэш по умолчанию для всех запросов с параметрами (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | {{ sign_plus }} |
+| \* Отдельная опция для включения/выключения серверного кэша для конкретного запроса | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | {{ sign_plus }} |
+| \* Truncated result как ошибка (по дефолту) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | {{ sign_plus }} | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | {{ sign_plus }} | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | {{ sign_plus }} |
+| \* Truncated result как ошибка (как опция opt-in, opt-out) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | {{ sign_plus }} | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | {{ sign_plus }} | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| BeginTransaction | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | {{ sign_plus }} |
+| CommitTransaction | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | {{ sign_plus }} |
+| RollbackTransaction | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | {{ sign_plus }} |
+| DescribeTableOptions | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| StreamReadTable | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | {{ sign_plus }} |
+| BulkUpsert | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | {{ sign_plus }} |
+| **Клиент Operation-сервиса** |||||||||
+| Consumed Units из метаданных ответа на grpc-запрос (чтобы пользователь мог получить это) | {{ sign_plus }} | {{ sign_plus }} | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | {{ sign_plus }} | {{ sign_plus }} | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Получение OperationId операции для long-polling статуса выполнения операции | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | {{ sign_plus }} | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| **Клиент ScriptingYQL-сервиса** |||||||||
+| ExecuteYql | {{ sign_plus }} | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | {{ sign_plus }} | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | {{ sign_plus }} |
+| ExplainYql | {{ sign_plus }} | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | {{ sign_plus }} | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | {{ sign_plus }} |
+| StreamExecuteYql | {{ sign_plus }} | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | {{ sign_plus }} | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
+| **Клиент Coordination-сервиса** |||||||||
+| CreateNode | {{ sign_plus }} | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | {{ sign_plus }} | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | {{ sign_plus }} | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | {{ sign_plus }} | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | {{ sign_plus }} | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | {{ sign_plus }} | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | {{ sign_plus }} | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | {{ sign_plus }} | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election, распределенный лок) | {{ sign_plus }} | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
+| **Клиент Topic-сервиса** |||||||||
+| CreateTopic | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
+| DescribeTopic | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 416 status](https://github.ydb.tech/issues/ydb-java-sdk/416)](https://github\.com/ydb-platform/ydb-java-sdk/issues/416) | [![issue 477 status](https://github.ydb.tech/issues/ydb-js-sdk/477)](https://github\.com/ydb-platform/ydb-js-sdk/issues/477) | [![issue 361 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/361)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/361) | [![issue 255 status](https://github.ydb.tech/issues/ydb-rs-sdk/255)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/255) | [![issue 175 status](https://github.ydb.tech/issues/ydb-php-sdk/175)](https://github\.com/ydb-platform/ydb-php-sdk/issues/175) |
+| AlterTopic | {{ sign_plus }} | [![issue 599 status](https://github.ydb.tech/issues/ydb-python-sdk/599)](https://github\.com/ydb-platform/ydb-python-sdk/issues/599) | {{ sign_plus }} | [![issue 417 status](https://github.ydb.tech/issues/ydb-java-sdk/417)](https://github\.com/ydb-platform/ydb-java-sdk/issues/417) | [![issue 478 status](https://github.ydb.tech/issues/ydb-js-sdk/478)](https://github\.com/ydb-platform/ydb-js-sdk/issues/478) | [![issue 362 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/362)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/362) | [![issue 256 status](https://github.ydb.tech/issues/ydb-rs-sdk/256)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/256) | [![issue 176 status](https://github.ydb.tech/issues/ydb-php-sdk/176)](https://github\.com/ydb-platform/ydb-php-sdk/issues/176) |
+| DropTopic | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 418 status](https://github.ydb.tech/issues/ydb-java-sdk/418)](https://github\.com/ydb-platform/ydb-java-sdk/issues/418) | [![issue 479 status](https://github.ydb.tech/issues/ydb-js-sdk/479)](https://github\.com/ydb-platform/ydb-js-sdk/issues/479) | [![issue 363 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/363)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/363) | [![issue 257 status](https://github.ydb.tech/issues/ydb-rs-sdk/257)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/257) | [![issue 177 status](https://github.ydb.tech/issues/ydb-php-sdk/177)](https://github\.com/ydb-platform/ydb-php-sdk/issues/177) |
+| StreamWrite | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 419 status](https://github.ydb.tech/issues/ydb-java-sdk/419)](https://github\.com/ydb-platform/ydb-java-sdk/issues/419) | [![issue 480 status](https://github.ydb.tech/issues/ydb-js-sdk/480)](https://github\.com/ydb-platform/ydb-js-sdk/issues/480) | [![issue 364 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/364)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/364) | [![issue 258 status](https://github.ydb.tech/issues/ydb-rs-sdk/258)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/258) | [![issue 178 status](https://github.ydb.tech/issues/ydb-php-sdk/178)](https://github\.com/ydb-platform/ydb-php-sdk/issues/178) |
+| StreamRead | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 420 status](https://github.ydb.tech/issues/ydb-java-sdk/420)](https://github\.com/ydb-platform/ydb-java-sdk/issues/420) | [![issue 481 status](https://github.ydb.tech/issues/ydb-js-sdk/481)](https://github\.com/ydb-platform/ydb-js-sdk/issues/481) | [![issue 365 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/365)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/365) | [![issue 259 status](https://github.ydb.tech/issues/ydb-rs-sdk/259)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/259) | [![issue 179 status](https://github.ydb.tech/issues/ydb-php-sdk/179)](https://github\.com/ydb-platform/ydb-php-sdk/issues/179) |
+| **Клиент Ratelimiter-сервиса** |||||||||
+| CreateResource | {{ sign_plus }} | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | {{ sign_plus }} | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
+| AlterResource | {{ sign_plus }} | [![issue 612 status](https://github.ydb.tech/issues/ydb-python-sdk/612)](https://github\.com/ydb-platform/ydb-python-sdk/issues/612) | {{ sign_plus }} | [![issue 422 status](https://github.ydb.tech/issues/ydb-java-sdk/422)](https://github\.com/ydb-platform/ydb-java-sdk/issues/422) | [![issue 483 status](https://github.ydb.tech/issues/ydb-js-sdk/483)](https://github\.com/ydb-platform/ydb-js-sdk/issues/483) | [![issue 367 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/367)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/367) | [![issue 261 status](https://github.ydb.tech/issues/ydb-rs-sdk/261)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/261) | [![issue 222 status](https://github.ydb.tech/issues/ydb-php-sdk/222)](https://github\.com/ydb-platform/ydb-php-sdk/issues/222) |
+| DropResource | {{ sign_plus }} | [![issue 613 status](https://github.ydb.tech/issues/ydb-python-sdk/613)](https://github\.com/ydb-platform/ydb-python-sdk/issues/613) | {{ sign_plus }} | [![issue 423 status](https://github.ydb.tech/issues/ydb-java-sdk/423)](https://github\.com/ydb-platform/ydb-java-sdk/issues/423) | [![issue 484 status](https://github.ydb.tech/issues/ydb-js-sdk/484)](https://github\.com/ydb-platform/ydb-js-sdk/issues/484) | [![issue 368 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/368)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/368) | [![issue 262 status](https://github.ydb.tech/issues/ydb-rs-sdk/262)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/262) | [![issue 223 status](https://github.ydb.tech/issues/ydb-php-sdk/223)](https://github\.com/ydb-platform/ydb-php-sdk/issues/223) |
+| ListResources | {{ sign_plus }} | [![issue 614 status](https://github.ydb.tech/issues/ydb-python-sdk/614)](https://github\.com/ydb-platform/ydb-python-sdk/issues/614) | {{ sign_plus }} | [![issue 424 status](https://github.ydb.tech/issues/ydb-java-sdk/424)](https://github\.com/ydb-platform/ydb-java-sdk/issues/424) | [![issue 485 status](https://github.ydb.tech/issues/ydb-js-sdk/485)](https://github\.com/ydb-platform/ydb-js-sdk/issues/485) | [![issue 369 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/369)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/369) | [![issue 263 status](https://github.ydb.tech/issues/ydb-rs-sdk/263)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/263) | [![issue 224 status](https://github.ydb.tech/issues/ydb-php-sdk/224)](https://github\.com/ydb-platform/ydb-php-sdk/issues/224) |
+| DescribeResource | {{ sign_plus }} | [![issue 615 status](https://github.ydb.tech/issues/ydb-python-sdk/615)](https://github\.com/ydb-platform/ydb-python-sdk/issues/615) | {{ sign_plus }} | [![issue 425 status](https://github.ydb.tech/issues/ydb-java-sdk/425)](https://github\.com/ydb-platform/ydb-java-sdk/issues/425) | [![issue 486 status](https://github.ydb.tech/issues/ydb-js-sdk/486)](https://github\.com/ydb-platform/ydb-js-sdk/issues/486) | [![issue 370 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/370)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/370) | [![issue 264 status](https://github.ydb.tech/issues/ydb-rs-sdk/264)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/264) | [![issue 225 status](https://github.ydb.tech/issues/ydb-php-sdk/225)](https://github\.com/ydb-platform/ydb-php-sdk/issues/225) |
+| AcquireResource | {{ sign_plus }} | [![issue 616 status](https://github.ydb.tech/issues/ydb-python-sdk/616)](https://github\.com/ydb-platform/ydb-python-sdk/issues/616) | {{ sign_plus }} | [![issue 426 status](https://github.ydb.tech/issues/ydb-java-sdk/426)](https://github\.com/ydb-platform/ydb-java-sdk/issues/426) | [![issue 487 status](https://github.ydb.tech/issues/ydb-js-sdk/487)](https://github\.com/ydb-platform/ydb-js-sdk/issues/487) | [![issue 371 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/371)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/371) | [![issue 265 status](https://github.ydb.tech/issues/ydb-rs-sdk/265)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/265) | [![issue 226 status](https://github.ydb.tech/issues/ydb-php-sdk/226)](https://github\.com/ydb-platform/ydb-php-sdk/issues/226) |
+| **Monitoring** (отправка метрик SDK в систему мониторинга) |
+| Solomon / Monitoring | {{ sign_plus }} | [![issue 617 status](https://github.ydb.tech/issues/ydb-python-sdk/617)](https://github\.com/ydb-platform/ydb-python-sdk/issues/617) | {{ sign_plus }} | [![issue 427 status](https://github.ydb.tech/issues/ydb-java-sdk/427)](https://github\.com/ydb-platform/ydb-java-sdk/issues/427) | [![issue 488 status](https://github.ydb.tech/issues/ydb-js-sdk/488)](https://github\.com/ydb-platform/ydb-js-sdk/issues/488) | [![issue 372 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/372)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/372) | [![issue 266 status](https://github.ydb.tech/issues/ydb-rs-sdk/266)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/266) | [![issue 180 status](https://github.ydb.tech/issues/ydb-php-sdk/180)](https://github\.com/ydb-platform/ydb-php-sdk/issues/180) |
+| Prometheus | [![issue 460 status](https://github.ydb.tech/issues/ydb-cpp-sdk/460)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/460) | [![issue 618 status](https://github.ydb.tech/issues/ydb-python-sdk/618)](https://github\.com/ydb-platform/ydb-python-sdk/issues/618) | {{ sign_plus }} | [![issue 428 status](https://github.ydb.tech/issues/ydb-java-sdk/428)](https://github\.com/ydb-platform/ydb-java-sdk/issues/428) | [![issue 489 status](https://github.ydb.tech/issues/ydb-js-sdk/489)](https://github\.com/ydb-platform/ydb-js-sdk/issues/489) | [![issue 373 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/373)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/373) | [![issue 267 status](https://github.ydb.tech/issues/ydb-rs-sdk/267)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/267) | [![issue 181 status](https://github.ydb.tech/issues/ydb-php-sdk/181)](https://github\.com/ydb-platform/ydb-php-sdk/issues/181) |
+| **Логирование** событий SDK | [![issue 461 status](https://github.ydb.tech/issues/ydb-cpp-sdk/461)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/461) | [![issue 619 status](https://github.ydb.tech/issues/ydb-python-sdk/619)](https://github\.com/ydb-platform/ydb-python-sdk/issues/619) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| **Трассировка** событий SDK |
+| \* в OpenTelemetry | [![issue 462 status](https://github.ydb.tech/issues/ydb-cpp-sdk/462)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/462) | [![issue 620 status](https://github.ydb.tech/issues/ydb-python-sdk/620)](https://github\.com/ydb-platform/ydb-python-sdk/issues/620) | [![issue 1754 status](https://github.ydb.tech/issues/ydb-go-sdk/1754)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1754) | [![issue 429 status](https://github.ydb.tech/issues/ydb-java-sdk/429)](https://github\.com/ydb-platform/ydb-java-sdk/issues/429) | [![issue 490 status](https://github.ydb.tech/issues/ydb-js-sdk/490)](https://github\.com/ydb-platform/ydb-js-sdk/issues/490) | [![issue 374 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/374)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/374) | [![issue 268 status](https://github.ydb.tech/issues/ydb-rs-sdk/268)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/268) | [![issue 182 status](https://github.ydb.tech/issues/ydb-php-sdk/182)](https://github\.com/ydb-platform/ydb-php-sdk/issues/182) |
+| \* в OpenTracing | [![issue 463 status](https://github.ydb.tech/issues/ydb-cpp-sdk/463)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/463) | [![issue 621 status](https://github.ydb.tech/issues/ydb-python-sdk/621)](https://github\.com/ydb-platform/ydb-python-sdk/issues/621) | {{ sign_plus }} | [![issue 430 status](https://github.ydb.tech/issues/ydb-java-sdk/430)](https://github\.com/ydb-platform/ydb-java-sdk/issues/430) | [![issue 491 status](https://github.ydb.tech/issues/ydb-js-sdk/491)](https://github\.com/ydb-platform/ydb-js-sdk/issues/491) | [![issue 375 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/375)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/375) | [![issue 269 status](https://github.ydb.tech/issues/ydb-rs-sdk/269)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/269) | [![issue 183 status](https://github.ydb.tech/issues/ydb-php-sdk/183)](https://github\.com/ydb-platform/ydb-php-sdk/issues/183) |
+| **Примеры приложений** |||||||||
+| Auth |
+| \* token | [![issue 471 status](https://github.ydb.tech/issues/ydb-cpp-sdk/471)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/471) | [![issue 622 status](https://github.ydb.tech/issues/ydb-python-sdk/622)](https://github\.com/ydb-platform/ydb-python-sdk/issues/622) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| \* anonymous | [![issue 472 status](https://github.ydb.tech/issues/ydb-cpp-sdk/472)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/472) | [![issue 623 status](https://github.ydb.tech/issues/ydb-python-sdk/623)](https://github\.com/ydb-platform/ydb-python-sdk/issues/623) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 304 status](https://github.ydb.tech/issues/ydb-rs-sdk/304)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/304) | {{ sign_plus }} |
+| \* environ | [![issue 473 status](https://github.ydb.tech/issues/ydb-cpp-sdk/473)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/473) | [![issue 624 status](https://github.ydb.tech/issues/ydb-python-sdk/624)](https://github\.com/ydb-platform/ydb-python-sdk/issues/624) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 376 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/376)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/376) | [![issue 305 status](https://github.ydb.tech/issues/ydb-rs-sdk/305)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/305) | {{ sign_plus }} |
+| \* metadata | [![issue 474 status](https://github.ydb.tech/issues/ydb-cpp-sdk/474)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/474) | [![issue 625 status](https://github.ydb.tech/issues/ydb-python-sdk/625)](https://github\.com/ydb-platform/ydb-python-sdk/issues/625) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 306 status](https://github.ydb.tech/issues/ydb-rs-sdk/306)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/306) | {{ sign_plus }} |
+| \* service_account | [![issue 475 status](https://github.ydb.tech/issues/ydb-cpp-sdk/475)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/475) | [![issue 626 status](https://github.ydb.tech/issues/ydb-python-sdk/626)](https://github\.com/ydb-platform/ydb-python-sdk/issues/626) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 377 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/377)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/377) | [![issue 307 status](https://github.ydb.tech/issues/ydb-rs-sdk/307)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/307) | {{ sign_plus }} |
+| \* static (username \+ password) | [![issue 476 status](https://github.ydb.tech/issues/ydb-cpp-sdk/476)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/476) | [![issue 627 status](https://github.ydb.tech/issues/ydb-python-sdk/627)](https://github\.com/ydb-platform/ydb-python-sdk/issues/627) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 184 status](https://github.ydb.tech/issues/ydb-php-sdk/184)](https://github\.com/ydb-platform/ydb-php-sdk/issues/184) |
+| Basic (series) | {{ sign_plus }} | [![issue 628 status](https://github.ydb.tech/issues/ydb-python-sdk/628)](https://github\.com/ydb-platform/ydb-python-sdk/issues/628) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} |
+| Bulk Upsert | [![issue 468 status](https://github.ydb.tech/issues/ydb-cpp-sdk/468)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/468) | [![issue 629 status](https://github.ydb.tech/issues/ydb-python-sdk/629)](https://github\.com/ydb-platform/ydb-python-sdk/issues/629) | {{ sign_plus }} | {{ sign_plus }} | {{ sign_plus }} | [![issue 378 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/378)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/378) | [![issue 308 status](https://github.ydb.tech/issues/ydb-rs-sdk/308)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/308) | [![issue 185 status](https://github.ydb.tech/issues/ydb-php-sdk/185)](https://github\.com/ydb-platform/ydb-php-sdk/issues/185) |
+| Containers (Struct, Variant, List, Tuple) | [![issue 464 status](https://github.ydb.tech/issues/ydb-cpp-sdk/464)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/464) | [![issue 630 status](https://github.ydb.tech/issues/ydb-python-sdk/630)](https://github\.com/ydb-platform/ydb-python-sdk/issues/630) | {{ sign_plus }} | [![issue 431 status](https://github.ydb.tech/issues/ydb-java-sdk/431)](https://github\.com/ydb-platform/ydb-java-sdk/issues/431) | [![issue 492 status](https://github.ydb.tech/issues/ydb-js-sdk/492)](https://github\.com/ydb-platform/ydb-js-sdk/issues/492) | [![issue 379 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/379)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/379) | [![issue 309 status](https://github.ydb.tech/issues/ydb-rs-sdk/309)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/309) | [![issue 186 status](https://github.ydb.tech/issues/ydb-php-sdk/186)](https://github\.com/ydb-platform/ydb-php-sdk/issues/186) |
+| Pagination | {{ sign_plus }} | [![issue 631 status](https://github.ydb.tech/issues/ydb-python-sdk/631)](https://github\.com/ydb-platform/ydb-python-sdk/issues/631) | {{ sign_plus }} | {{ sign_plus }} | [![issue 493 status](https://github.ydb.tech/issues/ydb-js-sdk/493)](https://github\.com/ydb-platform/ydb-js-sdk/issues/493) | [![issue 380 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/380)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/380) | [![issue 310 status](https://github.ydb.tech/issues/ydb-rs-sdk/310)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/310) | [![issue 187 status](https://github.ydb.tech/issues/ydb-php-sdk/187)](https://github\.com/ydb-platform/ydb-php-sdk/issues/187) |
+| Partition policies | [![issue 465 status](https://github.ydb.tech/issues/ydb-cpp-sdk/465)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/465) | [![issue 632 status](https://github.ydb.tech/issues/ydb-python-sdk/632)](https://github\.com/ydb-platform/ydb-python-sdk/issues/632) | {{ sign_plus }} | [![issue 432 status](https://github.ydb.tech/issues/ydb-java-sdk/432)](https://github\.com/ydb-platform/ydb-java-sdk/issues/432) | [![issue 494 status](https://github.ydb.tech/issues/ydb-js-sdk/494)](https://github\.com/ydb-platform/ydb-js-sdk/issues/494) | [![issue 381 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/381)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/381) | [![issue 311 status](https://github.ydb.tech/issues/ydb-rs-sdk/311)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/311) | [![issue 188 status](https://github.ydb.tech/issues/ydb-php-sdk/188)](https://github\.com/ydb-platform/ydb-php-sdk/issues/188) |
+| Read table | [![issue 477 status](https://github.ydb.tech/issues/ydb-cpp-sdk/477)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/477) | [![issue 633 status](https://github.ydb.tech/issues/ydb-python-sdk/633)](https://github\.com/ydb-platform/ydb-python-sdk/issues/633) | {{ sign_plus }} | [![issue 433 status](https://github.ydb.tech/issues/ydb-java-sdk/433)](https://github\.com/ydb-platform/ydb-java-sdk/issues/433) | {{ sign_plus }} | [![issue 382 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/382)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/382) | [![issue 312 status](https://github.ydb.tech/issues/ydb-rs-sdk/312)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/312) | {{ sign_plus }} |
+| Secondary index Workaround | {{ sign_plus }} | [![issue 634 status](https://github.ydb.tech/issues/ydb-python-sdk/634)](https://github\.com/ydb-platform/ydb-python-sdk/issues/634) | [![issue 1755 status](https://github.ydb.tech/issues/ydb-go-sdk/1755)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1755) | {{ sign_plus }} | [![issue 495 status](https://github.ydb.tech/issues/ydb-js-sdk/495)](https://github\.com/ydb-platform/ydb-js-sdk/issues/495) | [![issue 383 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/383)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/383) | [![issue 313 status](https://github.ydb.tech/issues/ydb-rs-sdk/313)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/313) | [![issue 189 status](https://github.ydb.tech/issues/ydb-php-sdk/189)](https://github\.com/ydb-platform/ydb-php-sdk/issues/189) |
+| Secondary index builtin | {{ sign_plus }} | [![issue 635 status](https://github.ydb.tech/issues/ydb-python-sdk/635)](https://github\.com/ydb-platform/ydb-python-sdk/issues/635) | [![issue 1756 status](https://github.ydb.tech/issues/ydb-go-sdk/1756)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1756) | [![issue 434 status](https://github.ydb.tech/issues/ydb-java-sdk/434)](https://github\.com/ydb-platform/ydb-java-sdk/issues/434) | [![issue 496 status](https://github.ydb.tech/issues/ydb-js-sdk/496)](https://github\.com/ydb-platform/ydb-js-sdk/issues/496) | [![issue 384 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/384)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/384) | [![issue 314 status](https://github.ydb.tech/issues/ydb-rs-sdk/314)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/314) | [![issue 190 status](https://github.ydb.tech/issues/ydb-php-sdk/190)](https://github\.com/ydb-platform/ydb-php-sdk/issues/190) |
+| TTL | {{ sign_plus }} | [![issue 636 status](https://github.ydb.tech/issues/ydb-python-sdk/636)](https://github\.com/ydb-platform/ydb-python-sdk/issues/636) | {{ sign_plus }} | [![issue 435 status](https://github.ydb.tech/issues/ydb-java-sdk/435)](https://github\.com/ydb-platform/ydb-java-sdk/issues/435) | [![issue 497 status](https://github.ydb.tech/issues/ydb-js-sdk/497)](https://github\.com/ydb-platform/ydb-js-sdk/issues/497) | [![issue 385 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/385)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/385) | [![issue 315 status](https://github.ydb.tech/issues/ydb-rs-sdk/315)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/315) | [![issue 191 status](https://github.ydb.tech/issues/ydb-php-sdk/191)](https://github\.com/ydb-platform/ydb-php-sdk/issues/191) |
+| TTL Readtable | {{ sign_plus }} | [![issue 637 status](https://github.ydb.tech/issues/ydb-python-sdk/637)](https://github\.com/ydb-platform/ydb-python-sdk/issues/637) | {{ sign_plus }} | [![issue 436 status](https://github.ydb.tech/issues/ydb-java-sdk/436)](https://github\.com/ydb-platform/ydb-java-sdk/issues/436) | [![issue 498 status](https://github.ydb.tech/issues/ydb-js-sdk/498)](https://github\.com/ydb-platform/ydb-js-sdk/issues/498) | [![issue 386 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/386)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/386) | [![issue 316 status](https://github.ydb.tech/issues/ydb-rs-sdk/316)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/316) | [![issue 192 status](https://github.ydb.tech/issues/ydb-php-sdk/192)](https://github\.com/ydb-platform/ydb-php-sdk/issues/192) |
+| URL Shortener (serverless yandex function) | [![issue 478 status](https://github.ydb.tech/issues/ydb-cpp-sdk/478)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/478) | [![issue 638 status](https://github.ydb.tech/issues/ydb-python-sdk/638)](https://github\.com/ydb-platform/ydb-python-sdk/issues/638) | {{ sign_plus }} | [![issue 446 status](https://github.ydb.tech/issues/ydb-java-sdk/446)](https://github\.com/ydb-platform/ydb-java-sdk/issues/446) | {{ sign_plus }} | [![issue 387 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/387)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/387) | [![issue 317 status](https://github.ydb.tech/issues/ydb-rs-sdk/317)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/317) | [![issue 193 status](https://github.ydb.tech/issues/ydb-php-sdk/193)](https://github\.com/ydb-platform/ydb-php-sdk/issues/193) |
+| Topic reader | {{ sign_plus }} | {{ sign_plus }} | [![issue 1757 status](https://github.ydb.tech/issues/ydb-go-sdk/1757)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1757) | [![issue 437 status](https://github.ydb.tech/issues/ydb-java-sdk/437)](https://github\.com/ydb-platform/ydb-java-sdk/issues/437) | [![issue 500 status](https://github.ydb.tech/issues/ydb-js-sdk/500)](https://github\.com/ydb-platform/ydb-js-sdk/issues/500) | [![issue 388 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/388)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/388) | [![issue 318 status](https://github.ydb.tech/issues/ydb-rs-sdk/318)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/318) | [![issue 194 status](https://github.ydb.tech/issues/ydb-php-sdk/194)](https://github\.com/ydb-platform/ydb-php-sdk/issues/194) |
+| Topic writer | [![issue 466 status](https://github.ydb.tech/issues/ydb-cpp-sdk/466)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/466) | {{ sign_plus }} | [![issue 1758 status](https://github.ydb.tech/issues/ydb-go-sdk/1758)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1758) | [![issue 438 status](https://github.ydb.tech/issues/ydb-java-sdk/438)](https://github\.com/ydb-platform/ydb-java-sdk/issues/438) | [![issue 501 status](https://github.ydb.tech/issues/ydb-js-sdk/501)](https://github\.com/ydb-platform/ydb-js-sdk/issues/501) | [![issue 389 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/389)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/389) | [![issue 319 status](https://github.ydb.tech/issues/ydb-rs-sdk/319)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/319) | [![issue 195 status](https://github.ydb.tech/issues/ydb-php-sdk/195)](https://github\.com/ydb-platform/ydb-php-sdk/issues/195) |
 
 {wide-content}


Reviews:
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:50:24Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:51:12Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:51:44Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:52:30Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:52:52Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:53:19Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:54:06Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:54:26Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:54:42Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:54:58Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:55:14Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:55:32Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:55:54Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:56:17Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:57:00Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T06:57:37Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:40:21Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:41:02Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:41:39Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:42:33Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:42:50Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:43:26Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:43:46Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:44:05Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:44:26Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:44:46Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:45:10Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:45:41Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:46:10Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:47:37Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:48:07Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:48:28Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:48:53Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:49:20Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:49:38Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:49:52Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:50:19Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:50:40Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:50:58Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:51:31Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:51:56Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:52:06Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:52:16Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:52:28Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:52:41Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:52:58Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:53:11Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:53:23Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:53:39Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:54:12Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:54:27Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:54:37Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:54:48Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:55:17Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:55:36Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:56:08Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:56:18Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:56:28Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:56:38Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:57:48Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:58:05Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:58:21Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:59:04Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T09:59:39Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T10:00:15Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T10:00:20Z
user: login: asmyasnikov
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-28T10:01:11Z
user: login: fomichev3000
state: APPROVED
author_association: MEMBER
submitted_at: 2025-04-28T17:29:39Z

Review comments:
diff_hunk: @@ -1,147 +1,132 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
-| **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/312 | https://github.com/ydb-platform/ydb-rs-sdk/issues/270 | + |
+| Configure/enable GRPC KeepAlive | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/439 | https://github.com/ydb-platform/ydb-js-sdk/issues/499 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/313 | https://github.com/ydb-platform/ydb-rs-sdk/issues/271 | + |
+| Regular SLO testing on the latest code version | + | https://github.com/ydb-platform/ydb-python-sdk/issues/600 | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/446 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/314 | https://github.com/ydb-platform/ydb-rs-sdk/issues/235 | https://github.com/ydb-platform/ydb-php-sdk/issues/155 |
+| Issue templates on GitHub | https://github.com/ydb-platform/ydb-cpp-sdk/issues/452 | https://github.com/ydb-platform/ydb-python-sdk/issues/601 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/394 | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/272 | + |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Client-side balancing** |
| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
```
created_at: 2025-04-28T06:50:24Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,133 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/312 | https://github.com/ydb-platform/ydb-rs-sdk/issues/270 | + |
+| Configure/enable GRPC KeepAlive | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/439 | https://github.com/ydb-platform/ydb-js-sdk/issues/499 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/313 | https://github.com/ydb-platform/ydb-rs-sdk/issues/271 | + |
+| Regular SLO testing on the latest code version | + | https://github.com/ydb-platform/ydb-python-sdk/issues/600 | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/446 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/314 | https://github.com/ydb-platform/ydb-rs-sdk/issues/235 | https://github.com/ydb-platform/ydb-php-sdk/issues/155 |
+| Issue templates on GitHub | https://github.com/ydb-platform/ydb-cpp-sdk/issues/452 | https://github.com/ydb-platform/ydb-python-sdk/issues/601 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/394 | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/272 | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | https://github.com/ydb-platform/ydb-cpp-sdk/issues/467 | https://github.com/ydb-platform/ydb-python-sdk/issues/591 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/395 | https://github.com/ydb-platform/ydb-js-sdk/issues/447 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/273 | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/156 |
+| Support for multiple IP addresses in the initial Endpoint DNS record | https://github.com/ydb-platform/ydb-cpp-sdk/issues/469 | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/440 | https://github.com/ydb-platform/ydb-js-sdk/issues/448 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/311 | https://github.com/ydb-platform/ydb-rs-sdk/issues/233 | https://github.com/ydb-platform/ydb-php-sdk/issues/196 |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/201 |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/449 | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/202 |
+| Automatic detection of the nearest DC/availability zone by TCP pings | https://github.com/ydb-platform/ydb-cpp-sdk/issues/453 | https://github.com/ydb-platform/ydb-python-sdk/issues/592 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/396 | https://github.com/ydb-platform/ydb-js-sdk/issues/450 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/315 | https://github.com/ydb-platform/ydb-rs-sdk/issues/236 | https://github.com/ydb-platform/ydb-php-sdk/issues/203 |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1746 | https://github.com/ydb-platform/ydb-java-sdk/issues/397 | https://github.com/ydb-platform/ydb-js-sdk/issues/451 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/316 | https://github.com/ydb-platform/ydb-rs-sdk/issues/237 | https://github.com/ydb-platform/ydb-php-sdk/issues/204 |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/205 |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/206 |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/441 | https://github.com/ydb-platform/ydb-js-sdk/issues/452 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/317 | https://github.com/ydb-platform/ydb-rs-sdk/issues/238 | https://github.com/ydb-platform/ydb-php-sdk/issues/207 |
+| Load balancing across all nodes of all local DCs | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/442 | https://github.com/ydb-platform/ydb-js-sdk/issues/453 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/318 | https://github.com/ydb-platform/ydb-rs-sdk/issues/239 | https://github.com/ydb-platform/ydb-php-sdk/issues/208 |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Credentials providers** |
| Anonymous (default) | + | + | + | + | + | + | + | + |
```
created_at: 2025-04-28T06:51:11Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,134 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/312 | https://github.com/ydb-platform/ydb-rs-sdk/issues/270 | + |
+| Configure/enable GRPC KeepAlive | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/439 | https://github.com/ydb-platform/ydb-js-sdk/issues/499 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/313 | https://github.com/ydb-platform/ydb-rs-sdk/issues/271 | + |
+| Regular SLO testing on the latest code version | + | https://github.com/ydb-platform/ydb-python-sdk/issues/600 | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/446 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/314 | https://github.com/ydb-platform/ydb-rs-sdk/issues/235 | https://github.com/ydb-platform/ydb-php-sdk/issues/155 |
+| Issue templates on GitHub | https://github.com/ydb-platform/ydb-cpp-sdk/issues/452 | https://github.com/ydb-platform/ydb-python-sdk/issues/601 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/394 | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/272 | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | https://github.com/ydb-platform/ydb-cpp-sdk/issues/467 | https://github.com/ydb-platform/ydb-python-sdk/issues/591 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/395 | https://github.com/ydb-platform/ydb-js-sdk/issues/447 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/273 | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/156 |
+| Support for multiple IP addresses in the initial Endpoint DNS record | https://github.com/ydb-platform/ydb-cpp-sdk/issues/469 | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/440 | https://github.com/ydb-platform/ydb-js-sdk/issues/448 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/311 | https://github.com/ydb-platform/ydb-rs-sdk/issues/233 | https://github.com/ydb-platform/ydb-php-sdk/issues/196 |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/201 |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/449 | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/202 |
+| Automatic detection of the nearest DC/availability zone by TCP pings | https://github.com/ydb-platform/ydb-cpp-sdk/issues/453 | https://github.com/ydb-platform/ydb-python-sdk/issues/592 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/396 | https://github.com/ydb-platform/ydb-js-sdk/issues/450 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/315 | https://github.com/ydb-platform/ydb-rs-sdk/issues/236 | https://github.com/ydb-platform/ydb-php-sdk/issues/203 |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1746 | https://github.com/ydb-platform/ydb-java-sdk/issues/397 | https://github.com/ydb-platform/ydb-js-sdk/issues/451 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/316 | https://github.com/ydb-platform/ydb-rs-sdk/issues/237 | https://github.com/ydb-platform/ydb-php-sdk/issues/204 |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/205 |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/206 |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/441 | https://github.com/ydb-platform/ydb-js-sdk/issues/452 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/317 | https://github.com/ydb-platform/ydb-rs-sdk/issues/238 | https://github.com/ydb-platform/ydb-php-sdk/issues/207 |
+| Load balancing across all nodes of all local DCs | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/442 | https://github.com/ydb-platform/ydb-js-sdk/issues/453 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/318 | https://github.com/ydb-platform/ydb-rs-sdk/issues/239 | https://github.com/ydb-platform/ydb-php-sdk/issues/208 |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/454 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/319 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/157 |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/240 | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
+| Session pool | + | + | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Working with Table service sessions** |
| Session pool | + | + | + | + | + | + | + | + |
```
created_at: 2025-04-28T06:51:43Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,135 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/312 | https://github.com/ydb-platform/ydb-rs-sdk/issues/270 | + |
+| Configure/enable GRPC KeepAlive | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/439 | https://github.com/ydb-platform/ydb-js-sdk/issues/499 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/313 | https://github.com/ydb-platform/ydb-rs-sdk/issues/271 | + |
+| Regular SLO testing on the latest code version | + | https://github.com/ydb-platform/ydb-python-sdk/issues/600 | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/446 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/314 | https://github.com/ydb-platform/ydb-rs-sdk/issues/235 | https://github.com/ydb-platform/ydb-php-sdk/issues/155 |
+| Issue templates on GitHub | https://github.com/ydb-platform/ydb-cpp-sdk/issues/452 | https://github.com/ydb-platform/ydb-python-sdk/issues/601 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/394 | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/272 | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | https://github.com/ydb-platform/ydb-cpp-sdk/issues/467 | https://github.com/ydb-platform/ydb-python-sdk/issues/591 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/395 | https://github.com/ydb-platform/ydb-js-sdk/issues/447 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/273 | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/156 |
+| Support for multiple IP addresses in the initial Endpoint DNS record | https://github.com/ydb-platform/ydb-cpp-sdk/issues/469 | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/440 | https://github.com/ydb-platform/ydb-js-sdk/issues/448 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/311 | https://github.com/ydb-platform/ydb-rs-sdk/issues/233 | https://github.com/ydb-platform/ydb-php-sdk/issues/196 |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/201 |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/449 | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/202 |
+| Automatic detection of the nearest DC/availability zone by TCP pings | https://github.com/ydb-platform/ydb-cpp-sdk/issues/453 | https://github.com/ydb-platform/ydb-python-sdk/issues/592 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/396 | https://github.com/ydb-platform/ydb-js-sdk/issues/450 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/315 | https://github.com/ydb-platform/ydb-rs-sdk/issues/236 | https://github.com/ydb-platform/ydb-php-sdk/issues/203 |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1746 | https://github.com/ydb-platform/ydb-java-sdk/issues/397 | https://github.com/ydb-platform/ydb-js-sdk/issues/451 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/316 | https://github.com/ydb-platform/ydb-rs-sdk/issues/237 | https://github.com/ydb-platform/ydb-php-sdk/issues/204 |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/205 |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/206 |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/441 | https://github.com/ydb-platform/ydb-js-sdk/issues/452 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/317 | https://github.com/ydb-platform/ydb-rs-sdk/issues/238 | https://github.com/ydb-platform/ydb-php-sdk/issues/207 |
+| Load balancing across all nodes of all local DCs | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/442 | https://github.com/ydb-platform/ydb-js-sdk/issues/453 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/318 | https://github.com/ydb-platform/ydb-rs-sdk/issues/239 | https://github.com/ydb-platform/ydb-php-sdk/issues/208 |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/454 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/319 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/157 |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/240 | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/209 |
+| Minimum number of sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/455 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/320 | https://github.com/ydb-platform/ydb-rs-sdk/issues/241 | https://github.com/ydb-platform/ydb-php-sdk/issues/210 |
+| Warm up the pool to the specified number of sessions when the pool is created | https://github.com/ydb-platform/ydb-cpp-sdk/issues/454 | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1747 | https://github.com/ydb-platform/ydb-java-sdk/issues/398 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/321 | https://github.com/ydb-platform/ydb-rs-sdk/issues/242 | https://github.com/ydb-platform/ydb-php-sdk/issues/211 |
+| Background KeepAlive for idle sessions in the pool | + | https://github.com/ydb-platform/ydb-python-sdk/issues/593 | https://github.com/ydb-platform/ydb-go-sdk/issues/1748 | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/212 |
+| Background closing of idle sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/456 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/322 | https://github.com/ydb-platform/ydb-rs-sdk/issues/243 | https://github.com/ydb-platform/ydb-php-sdk/issues/213 |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/214 |
+| Storage of sessions for possible future reuse | + | https://github.com/ydb-platform/ydb-python-sdk/issues/594 | https://github.com/ydb-platform/ydb-go-sdk/issues/1749 | https://github.com/ydb-platform/ydb-java-sdk/issues/399 | https://github.com/ydb-platform/ydb-js-sdk/issues/457 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/323 | https://github.com/ydb-platform/ydb-rs-sdk/issues/244 | https://github.com/ydb-platform/ydb-php-sdk/issues/215 |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/216 |
+| Retryer on the session pool (a repeat object is a transaction within a session) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/455 | https://github.com/ydb-platform/ydb-python-sdk/issues/595 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/400 | https://github.com/ydb-platform/ydb-js-sdk/issues/458 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/324 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/217 |
+| Graceful session shutdown support | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/459 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/325 | https://github.com/ydb-platform/ydb-rs-sdk/issues/274 | https://github.com/ydb-platform/ydb-php-sdk/issues/218 |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/459 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/325 | https://github.com/ydb-platform/ydb-rs-sdk/issues/274 | https://github.com/ydb-platform/ydb-php-sdk/issues/218 |
```
created_at: 2025-04-28T06:52:30Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,135 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/312 | https://github.com/ydb-platform/ydb-rs-sdk/issues/270 | + |
+| Configure/enable GRPC KeepAlive | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/439 | https://github.com/ydb-platform/ydb-js-sdk/issues/499 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/313 | https://github.com/ydb-platform/ydb-rs-sdk/issues/271 | + |
+| Regular SLO testing on the latest code version | + | https://github.com/ydb-platform/ydb-python-sdk/issues/600 | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/446 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/314 | https://github.com/ydb-platform/ydb-rs-sdk/issues/235 | https://github.com/ydb-platform/ydb-php-sdk/issues/155 |
+| Issue templates on GitHub | https://github.com/ydb-platform/ydb-cpp-sdk/issues/452 | https://github.com/ydb-platform/ydb-python-sdk/issues/601 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/394 | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/272 | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | https://github.com/ydb-platform/ydb-cpp-sdk/issues/467 | https://github.com/ydb-platform/ydb-python-sdk/issues/591 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/395 | https://github.com/ydb-platform/ydb-js-sdk/issues/447 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/273 | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/156 |
+| Support for multiple IP addresses in the initial Endpoint DNS record | https://github.com/ydb-platform/ydb-cpp-sdk/issues/469 | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/440 | https://github.com/ydb-platform/ydb-js-sdk/issues/448 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/311 | https://github.com/ydb-platform/ydb-rs-sdk/issues/233 | https://github.com/ydb-platform/ydb-php-sdk/issues/196 |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/201 |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/449 | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/202 |
+| Automatic detection of the nearest DC/availability zone by TCP pings | https://github.com/ydb-platform/ydb-cpp-sdk/issues/453 | https://github.com/ydb-platform/ydb-python-sdk/issues/592 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/396 | https://github.com/ydb-platform/ydb-js-sdk/issues/450 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/315 | https://github.com/ydb-platform/ydb-rs-sdk/issues/236 | https://github.com/ydb-platform/ydb-php-sdk/issues/203 |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1746 | https://github.com/ydb-platform/ydb-java-sdk/issues/397 | https://github.com/ydb-platform/ydb-js-sdk/issues/451 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/316 | https://github.com/ydb-platform/ydb-rs-sdk/issues/237 | https://github.com/ydb-platform/ydb-php-sdk/issues/204 |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/205 |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/206 |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/441 | https://github.com/ydb-platform/ydb-js-sdk/issues/452 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/317 | https://github.com/ydb-platform/ydb-rs-sdk/issues/238 | https://github.com/ydb-platform/ydb-php-sdk/issues/207 |
+| Load balancing across all nodes of all local DCs | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/442 | https://github.com/ydb-platform/ydb-js-sdk/issues/453 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/318 | https://github.com/ydb-platform/ydb-rs-sdk/issues/239 | https://github.com/ydb-platform/ydb-php-sdk/issues/208 |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/454 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/319 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/157 |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/240 | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/209 |
+| Minimum number of sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/455 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/320 | https://github.com/ydb-platform/ydb-rs-sdk/issues/241 | https://github.com/ydb-platform/ydb-php-sdk/issues/210 |
+| Warm up the pool to the specified number of sessions when the pool is created | https://github.com/ydb-platform/ydb-cpp-sdk/issues/454 | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1747 | https://github.com/ydb-platform/ydb-java-sdk/issues/398 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/321 | https://github.com/ydb-platform/ydb-rs-sdk/issues/242 | https://github.com/ydb-platform/ydb-php-sdk/issues/211 |
+| Background KeepAlive for idle sessions in the pool | + | https://github.com/ydb-platform/ydb-python-sdk/issues/593 | https://github.com/ydb-platform/ydb-go-sdk/issues/1748 | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/212 |
+| Background closing of idle sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/456 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/322 | https://github.com/ydb-platform/ydb-rs-sdk/issues/243 | https://github.com/ydb-platform/ydb-php-sdk/issues/213 |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/214 |
+| Storage of sessions for possible future reuse | + | https://github.com/ydb-platform/ydb-python-sdk/issues/594 | https://github.com/ydb-platform/ydb-go-sdk/issues/1749 | https://github.com/ydb-platform/ydb-java-sdk/issues/399 | https://github.com/ydb-platform/ydb-js-sdk/issues/457 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/323 | https://github.com/ydb-platform/ydb-rs-sdk/issues/244 | https://github.com/ydb-platform/ydb-php-sdk/issues/215 |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/216 |
+| Retryer on the session pool (a repeat object is a transaction within a session) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/455 | https://github.com/ydb-platform/ydb-python-sdk/issues/595 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/400 | https://github.com/ydb-platform/ydb-js-sdk/issues/458 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/324 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/217 |
+| Graceful session shutdown support | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/459 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/325 | https://github.com/ydb-platform/ydb-rs-sdk/issues/274 | https://github.com/ydb-platform/ydb-php-sdk/issues/218 |
+| Support for server-side load balancing of sessions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/401 | https://github.com/ydb-platform/ydb-js-sdk/issues/460 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/326 | https://github.com/ydb-platform/ydb-rs-sdk/issues/275 | https://github.com/ydb-platform/ydb-php-sdk/issues/219 |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Support for YDB data types** |
| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
```
created_at: 2025-04-28T06:52:52Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,135 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/312 | https://github.com/ydb-platform/ydb-rs-sdk/issues/270 | + |
+| Configure/enable GRPC KeepAlive | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/439 | https://github.com/ydb-platform/ydb-js-sdk/issues/499 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/313 | https://github.com/ydb-platform/ydb-rs-sdk/issues/271 | + |
+| Regular SLO testing on the latest code version | + | https://github.com/ydb-platform/ydb-python-sdk/issues/600 | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/446 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/314 | https://github.com/ydb-platform/ydb-rs-sdk/issues/235 | https://github.com/ydb-platform/ydb-php-sdk/issues/155 |
+| Issue templates on GitHub | https://github.com/ydb-platform/ydb-cpp-sdk/issues/452 | https://github.com/ydb-platform/ydb-python-sdk/issues/601 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/394 | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/272 | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | https://github.com/ydb-platform/ydb-cpp-sdk/issues/467 | https://github.com/ydb-platform/ydb-python-sdk/issues/591 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/395 | https://github.com/ydb-platform/ydb-js-sdk/issues/447 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/273 | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/156 |
+| Support for multiple IP addresses in the initial Endpoint DNS record | https://github.com/ydb-platform/ydb-cpp-sdk/issues/469 | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/440 | https://github.com/ydb-platform/ydb-js-sdk/issues/448 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/311 | https://github.com/ydb-platform/ydb-rs-sdk/issues/233 | https://github.com/ydb-platform/ydb-php-sdk/issues/196 |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/201 |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/449 | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/202 |
+| Automatic detection of the nearest DC/availability zone by TCP pings | https://github.com/ydb-platform/ydb-cpp-sdk/issues/453 | https://github.com/ydb-platform/ydb-python-sdk/issues/592 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/396 | https://github.com/ydb-platform/ydb-js-sdk/issues/450 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/315 | https://github.com/ydb-platform/ydb-rs-sdk/issues/236 | https://github.com/ydb-platform/ydb-php-sdk/issues/203 |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1746 | https://github.com/ydb-platform/ydb-java-sdk/issues/397 | https://github.com/ydb-platform/ydb-js-sdk/issues/451 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/316 | https://github.com/ydb-platform/ydb-rs-sdk/issues/237 | https://github.com/ydb-platform/ydb-php-sdk/issues/204 |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/205 |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/206 |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/441 | https://github.com/ydb-platform/ydb-js-sdk/issues/452 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/317 | https://github.com/ydb-platform/ydb-rs-sdk/issues/238 | https://github.com/ydb-platform/ydb-php-sdk/issues/207 |
+| Load balancing across all nodes of all local DCs | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/442 | https://github.com/ydb-platform/ydb-js-sdk/issues/453 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/318 | https://github.com/ydb-platform/ydb-rs-sdk/issues/239 | https://github.com/ydb-platform/ydb-php-sdk/issues/208 |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/454 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/319 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/157 |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/240 | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/209 |
+| Minimum number of sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/455 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/320 | https://github.com/ydb-platform/ydb-rs-sdk/issues/241 | https://github.com/ydb-platform/ydb-php-sdk/issues/210 |
+| Warm up the pool to the specified number of sessions when the pool is created | https://github.com/ydb-platform/ydb-cpp-sdk/issues/454 | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1747 | https://github.com/ydb-platform/ydb-java-sdk/issues/398 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/321 | https://github.com/ydb-platform/ydb-rs-sdk/issues/242 | https://github.com/ydb-platform/ydb-php-sdk/issues/211 |
+| Background KeepAlive for idle sessions in the pool | + | https://github.com/ydb-platform/ydb-python-sdk/issues/593 | https://github.com/ydb-platform/ydb-go-sdk/issues/1748 | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/212 |
+| Background closing of idle sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/456 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/322 | https://github.com/ydb-platform/ydb-rs-sdk/issues/243 | https://github.com/ydb-platform/ydb-php-sdk/issues/213 |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/214 |
+| Storage of sessions for possible future reuse | + | https://github.com/ydb-platform/ydb-python-sdk/issues/594 | https://github.com/ydb-platform/ydb-go-sdk/issues/1749 | https://github.com/ydb-platform/ydb-java-sdk/issues/399 | https://github.com/ydb-platform/ydb-js-sdk/issues/457 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/323 | https://github.com/ydb-platform/ydb-rs-sdk/issues/244 | https://github.com/ydb-platform/ydb-php-sdk/issues/215 |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/216 |
+| Retryer on the session pool (a repeat object is a transaction within a session) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/455 | https://github.com/ydb-platform/ydb-python-sdk/issues/595 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/400 | https://github.com/ydb-platform/ydb-js-sdk/issues/458 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/324 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/217 |
+| Graceful session shutdown support | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/459 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/325 | https://github.com/ydb-platform/ydb-rs-sdk/issues/274 | https://github.com/ydb-platform/ydb-php-sdk/issues/218 |
+| Support for server-side load balancing of sessions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/401 | https://github.com/ydb-platform/ydb-js-sdk/issues/460 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/326 | https://github.com/ydb-platform/ydb-rs-sdk/issues/275 | https://github.com/ydb-platform/ydb-php-sdk/issues/219 |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | https://github.com/ydb-platform/ydb-cpp-sdk/issues/456 | https://github.com/ydb-platform/ydb-python-sdk/issues/596 | https://github.com/ydb-platform/ydb-go-sdk/issues/1750 | https://github.com/ydb-platform/ydb-java-sdk/issues/402 | https://github.com/ydb-platform/ydb-js-sdk/issues/461 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/327 | https://github.com/ydb-platform/ydb-rs-sdk/issues/245 | https://github.com/ydb-platform/ydb-php-sdk/issues/158 |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/198 |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/309 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/199 |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/310 | + | + |
+| Set | https://github.com/ydb-platform/ydb-cpp-sdk/issues/470 | https://github.com/ydb-platform/ydb-python-sdk/issues/602 | https://github.com/ydb-platform/ydb-go-sdk/issues/1751 | https://github.com/ydb-platform/ydb-java-sdk/issues/443 | https://github.com/ydb-platform/ydb-js-sdk/issues/445 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/328 | https://github.com/ydb-platform/ydb-rs-sdk/issues/234 | https://github.com/ydb-platform/ydb-php-sdk/issues/197 |
+| Tuple | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/220 |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/329 | https://github.com/ydb-platform/ydb-rs-sdk/issues/246 | https://github.com/ydb-platform/ydb-php-sdk/issues/159 |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/160 |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/330 | https://github.com/ydb-platform/ydb-rs-sdk/issues/247 | https://github.com/ydb-platform/ydb-php-sdk/issues/161 |
+| DyNumber | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/331 | https://github.com/ydb-platform/ydb-rs-sdk/issues/248 | https://github.com/ydb-platform/ydb-php-sdk/issues/162 |
+| Decimal (120 bits) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/249 | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/200 |
+| MakeDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/332 | https://github.com/ydb-platform/ydb-rs-sdk/issues/276 | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Scheme client** |
| MakeDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/332 | https://github.com/ydb-platform/ydb-rs-sdk/issues/276 | + |
```
created_at: 2025-04-28T06:53:19Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,137 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/312 | https://github.com/ydb-platform/ydb-rs-sdk/issues/270 | + |
+| Configure/enable GRPC KeepAlive | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/439 | https://github.com/ydb-platform/ydb-js-sdk/issues/499 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/313 | https://github.com/ydb-platform/ydb-rs-sdk/issues/271 | + |
+| Regular SLO testing on the latest code version | + | https://github.com/ydb-platform/ydb-python-sdk/issues/600 | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/446 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/314 | https://github.com/ydb-platform/ydb-rs-sdk/issues/235 | https://github.com/ydb-platform/ydb-php-sdk/issues/155 |
+| Issue templates on GitHub | https://github.com/ydb-platform/ydb-cpp-sdk/issues/452 | https://github.com/ydb-platform/ydb-python-sdk/issues/601 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/394 | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/272 | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | https://github.com/ydb-platform/ydb-cpp-sdk/issues/467 | https://github.com/ydb-platform/ydb-python-sdk/issues/591 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/395 | https://github.com/ydb-platform/ydb-js-sdk/issues/447 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/273 | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/156 |
+| Support for multiple IP addresses in the initial Endpoint DNS record | https://github.com/ydb-platform/ydb-cpp-sdk/issues/469 | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/440 | https://github.com/ydb-platform/ydb-js-sdk/issues/448 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/311 | https://github.com/ydb-platform/ydb-rs-sdk/issues/233 | https://github.com/ydb-platform/ydb-php-sdk/issues/196 |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/201 |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/449 | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/202 |
+| Automatic detection of the nearest DC/availability zone by TCP pings | https://github.com/ydb-platform/ydb-cpp-sdk/issues/453 | https://github.com/ydb-platform/ydb-python-sdk/issues/592 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/396 | https://github.com/ydb-platform/ydb-js-sdk/issues/450 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/315 | https://github.com/ydb-platform/ydb-rs-sdk/issues/236 | https://github.com/ydb-platform/ydb-php-sdk/issues/203 |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1746 | https://github.com/ydb-platform/ydb-java-sdk/issues/397 | https://github.com/ydb-platform/ydb-js-sdk/issues/451 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/316 | https://github.com/ydb-platform/ydb-rs-sdk/issues/237 | https://github.com/ydb-platform/ydb-php-sdk/issues/204 |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/205 |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/206 |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/441 | https://github.com/ydb-platform/ydb-js-sdk/issues/452 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/317 | https://github.com/ydb-platform/ydb-rs-sdk/issues/238 | https://github.com/ydb-platform/ydb-php-sdk/issues/207 |
+| Load balancing across all nodes of all local DCs | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/442 | https://github.com/ydb-platform/ydb-js-sdk/issues/453 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/318 | https://github.com/ydb-platform/ydb-rs-sdk/issues/239 | https://github.com/ydb-platform/ydb-php-sdk/issues/208 |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/454 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/319 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/157 |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/240 | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/209 |
+| Minimum number of sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/455 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/320 | https://github.com/ydb-platform/ydb-rs-sdk/issues/241 | https://github.com/ydb-platform/ydb-php-sdk/issues/210 |
+| Warm up the pool to the specified number of sessions when the pool is created | https://github.com/ydb-platform/ydb-cpp-sdk/issues/454 | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1747 | https://github.com/ydb-platform/ydb-java-sdk/issues/398 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/321 | https://github.com/ydb-platform/ydb-rs-sdk/issues/242 | https://github.com/ydb-platform/ydb-php-sdk/issues/211 |
+| Background KeepAlive for idle sessions in the pool | + | https://github.com/ydb-platform/ydb-python-sdk/issues/593 | https://github.com/ydb-platform/ydb-go-sdk/issues/1748 | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/212 |
+| Background closing of idle sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/456 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/322 | https://github.com/ydb-platform/ydb-rs-sdk/issues/243 | https://github.com/ydb-platform/ydb-php-sdk/issues/213 |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/214 |
+| Storage of sessions for possible future reuse | + | https://github.com/ydb-platform/ydb-python-sdk/issues/594 | https://github.com/ydb-platform/ydb-go-sdk/issues/1749 | https://github.com/ydb-platform/ydb-java-sdk/issues/399 | https://github.com/ydb-platform/ydb-js-sdk/issues/457 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/323 | https://github.com/ydb-platform/ydb-rs-sdk/issues/244 | https://github.com/ydb-platform/ydb-php-sdk/issues/215 |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/216 |
+| Retryer on the session pool (a repeat object is a transaction within a session) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/455 | https://github.com/ydb-platform/ydb-python-sdk/issues/595 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/400 | https://github.com/ydb-platform/ydb-js-sdk/issues/458 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/324 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/217 |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/459 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/325 | https://github.com/ydb-platform/ydb-rs-sdk/issues/274 | https://github.com/ydb-platform/ydb-php-sdk/issues/218 |
+| Support for server-side load balancing of sessions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/401 | https://github.com/ydb-platform/ydb-js-sdk/issues/460 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/326 | https://github.com/ydb-platform/ydb-rs-sdk/issues/275 | https://github.com/ydb-platform/ydb-php-sdk/issues/219 |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | https://github.com/ydb-platform/ydb-cpp-sdk/issues/456 | https://github.com/ydb-platform/ydb-python-sdk/issues/596 | https://github.com/ydb-platform/ydb-go-sdk/issues/1750 | https://github.com/ydb-platform/ydb-java-sdk/issues/402 | https://github.com/ydb-platform/ydb-js-sdk/issues/461 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/327 | https://github.com/ydb-platform/ydb-rs-sdk/issues/245 | https://github.com/ydb-platform/ydb-php-sdk/issues/158 |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/198 |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/309 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/199 |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/310 | + | + |
+| Set | https://github.com/ydb-platform/ydb-cpp-sdk/issues/470 | https://github.com/ydb-platform/ydb-python-sdk/issues/602 | https://github.com/ydb-platform/ydb-go-sdk/issues/1751 | https://github.com/ydb-platform/ydb-java-sdk/issues/443 | https://github.com/ydb-platform/ydb-js-sdk/issues/445 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/328 | https://github.com/ydb-platform/ydb-rs-sdk/issues/234 | https://github.com/ydb-platform/ydb-php-sdk/issues/197 |
+| Tuple | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/220 |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/329 | https://github.com/ydb-platform/ydb-rs-sdk/issues/246 | https://github.com/ydb-platform/ydb-php-sdk/issues/159 |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/160 |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/330 | https://github.com/ydb-platform/ydb-rs-sdk/issues/247 | https://github.com/ydb-platform/ydb-php-sdk/issues/161 |
+| DyNumber | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/331 | https://github.com/ydb-platform/ydb-rs-sdk/issues/248 | https://github.com/ydb-platform/ydb-php-sdk/issues/162 |
+| Decimal (120 bits) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/249 | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/200 |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| MakeDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/332 | https://github.com/ydb-platform/ydb-rs-sdk/issues/276 | + |
+| RemoveDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/333 | https://github.com/ydb-platform/ydb-rs-sdk/issues/277 | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/403 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/334 | https://github.com/ydb-platform/ydb-rs-sdk/issues/278 | + |
+| DescribePath | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/335 | https://github.com/ydb-platform/ydb-rs-sdk/issues/279 | + |
+| CreateSession | + | + | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Table service** |
| CreateSession | + | + | + | + | + | + | + | + |
```
created_at: 2025-04-28T06:54:05Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,137 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/312 | https://github.com/ydb-platform/ydb-rs-sdk/issues/270 | + |
+| Configure/enable GRPC KeepAlive | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/439 | https://github.com/ydb-platform/ydb-js-sdk/issues/499 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/313 | https://github.com/ydb-platform/ydb-rs-sdk/issues/271 | + |
+| Regular SLO testing on the latest code version | + | https://github.com/ydb-platform/ydb-python-sdk/issues/600 | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/446 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/314 | https://github.com/ydb-platform/ydb-rs-sdk/issues/235 | https://github.com/ydb-platform/ydb-php-sdk/issues/155 |
+| Issue templates on GitHub | https://github.com/ydb-platform/ydb-cpp-sdk/issues/452 | https://github.com/ydb-platform/ydb-python-sdk/issues/601 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/394 | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/272 | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | https://github.com/ydb-platform/ydb-cpp-sdk/issues/467 | https://github.com/ydb-platform/ydb-python-sdk/issues/591 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/395 | https://github.com/ydb-platform/ydb-js-sdk/issues/447 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/273 | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/156 |
+| Support for multiple IP addresses in the initial Endpoint DNS record | https://github.com/ydb-platform/ydb-cpp-sdk/issues/469 | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/440 | https://github.com/ydb-platform/ydb-js-sdk/issues/448 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/311 | https://github.com/ydb-platform/ydb-rs-sdk/issues/233 | https://github.com/ydb-platform/ydb-php-sdk/issues/196 |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/201 |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/449 | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/202 |
+| Automatic detection of the nearest DC/availability zone by TCP pings | https://github.com/ydb-platform/ydb-cpp-sdk/issues/453 | https://github.com/ydb-platform/ydb-python-sdk/issues/592 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/396 | https://github.com/ydb-platform/ydb-js-sdk/issues/450 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/315 | https://github.com/ydb-platform/ydb-rs-sdk/issues/236 | https://github.com/ydb-platform/ydb-php-sdk/issues/203 |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1746 | https://github.com/ydb-platform/ydb-java-sdk/issues/397 | https://github.com/ydb-platform/ydb-js-sdk/issues/451 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/316 | https://github.com/ydb-platform/ydb-rs-sdk/issues/237 | https://github.com/ydb-platform/ydb-php-sdk/issues/204 |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/205 |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/206 |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/441 | https://github.com/ydb-platform/ydb-js-sdk/issues/452 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/317 | https://github.com/ydb-platform/ydb-rs-sdk/issues/238 | https://github.com/ydb-platform/ydb-php-sdk/issues/207 |
+| Load balancing across all nodes of all local DCs | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/442 | https://github.com/ydb-platform/ydb-js-sdk/issues/453 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/318 | https://github.com/ydb-platform/ydb-rs-sdk/issues/239 | https://github.com/ydb-platform/ydb-php-sdk/issues/208 |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/454 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/319 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/157 |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/240 | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/209 |
+| Minimum number of sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/455 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/320 | https://github.com/ydb-platform/ydb-rs-sdk/issues/241 | https://github.com/ydb-platform/ydb-php-sdk/issues/210 |
+| Warm up the pool to the specified number of sessions when the pool is created | https://github.com/ydb-platform/ydb-cpp-sdk/issues/454 | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1747 | https://github.com/ydb-platform/ydb-java-sdk/issues/398 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/321 | https://github.com/ydb-platform/ydb-rs-sdk/issues/242 | https://github.com/ydb-platform/ydb-php-sdk/issues/211 |
+| Background KeepAlive for idle sessions in the pool | + | https://github.com/ydb-platform/ydb-python-sdk/issues/593 | https://github.com/ydb-platform/ydb-go-sdk/issues/1748 | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/212 |
+| Background closing of idle sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/456 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/322 | https://github.com/ydb-platform/ydb-rs-sdk/issues/243 | https://github.com/ydb-platform/ydb-php-sdk/issues/213 |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/214 |
+| Storage of sessions for possible future reuse | + | https://github.com/ydb-platform/ydb-python-sdk/issues/594 | https://github.com/ydb-platform/ydb-go-sdk/issues/1749 | https://github.com/ydb-platform/ydb-java-sdk/issues/399 | https://github.com/ydb-platform/ydb-js-sdk/issues/457 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/323 | https://github.com/ydb-platform/ydb-rs-sdk/issues/244 | https://github.com/ydb-platform/ydb-php-sdk/issues/215 |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/216 |
+| Retryer on the session pool (a repeat object is a transaction within a session) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/455 | https://github.com/ydb-platform/ydb-python-sdk/issues/595 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/400 | https://github.com/ydb-platform/ydb-js-sdk/issues/458 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/324 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/217 |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/459 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/325 | https://github.com/ydb-platform/ydb-rs-sdk/issues/274 | https://github.com/ydb-platform/ydb-php-sdk/issues/218 |
+| Support for server-side load balancing of sessions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/401 | https://github.com/ydb-platform/ydb-js-sdk/issues/460 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/326 | https://github.com/ydb-platform/ydb-rs-sdk/issues/275 | https://github.com/ydb-platform/ydb-php-sdk/issues/219 |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | https://github.com/ydb-platform/ydb-cpp-sdk/issues/456 | https://github.com/ydb-platform/ydb-python-sdk/issues/596 | https://github.com/ydb-platform/ydb-go-sdk/issues/1750 | https://github.com/ydb-platform/ydb-java-sdk/issues/402 | https://github.com/ydb-platform/ydb-js-sdk/issues/461 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/327 | https://github.com/ydb-platform/ydb-rs-sdk/issues/245 | https://github.com/ydb-platform/ydb-php-sdk/issues/158 |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/198 |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/309 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/199 |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/310 | + | + |
+| Set | https://github.com/ydb-platform/ydb-cpp-sdk/issues/470 | https://github.com/ydb-platform/ydb-python-sdk/issues/602 | https://github.com/ydb-platform/ydb-go-sdk/issues/1751 | https://github.com/ydb-platform/ydb-java-sdk/issues/443 | https://github.com/ydb-platform/ydb-js-sdk/issues/445 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/328 | https://github.com/ydb-platform/ydb-rs-sdk/issues/234 | https://github.com/ydb-platform/ydb-php-sdk/issues/197 |
+| Tuple | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/220 |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/329 | https://github.com/ydb-platform/ydb-rs-sdk/issues/246 | https://github.com/ydb-platform/ydb-php-sdk/issues/159 |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/160 |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/330 | https://github.com/ydb-platform/ydb-rs-sdk/issues/247 | https://github.com/ydb-platform/ydb-php-sdk/issues/161 |
+| DyNumber | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/331 | https://github.com/ydb-platform/ydb-rs-sdk/issues/248 | https://github.com/ydb-platform/ydb-php-sdk/issues/162 |
+| Decimal (120 bits) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/249 | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/200 |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| MakeDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/332 | https://github.com/ydb-platform/ydb-rs-sdk/issues/276 | + |
+| RemoveDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/333 | https://github.com/ydb-platform/ydb-rs-sdk/issues/277 | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/403 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/334 | https://github.com/ydb-platform/ydb-rs-sdk/issues/278 | + |
+| DescribePath | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/335 | https://github.com/ydb-platform/ydb-rs-sdk/issues/279 | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/163 |
+| CreateTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/336 | https://github.com/ydb-platform/ydb-rs-sdk/issues/280 | + |
+| DropTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/337 | https://github.com/ydb-platform/ydb-rs-sdk/issues/281 | + |
+| AlterTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/338 | https://github.com/ydb-platform/ydb-rs-sdk/issues/282 | + |
+| CopyTable | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/462 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/339 | https://github.com/ydb-platform/ydb-rs-sdk/issues/283 | + |
+| CopyTables | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/404 | https://github.com/ydb-platform/ydb-js-sdk/issues/463 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/340 | https://github.com/ydb-platform/ydb-rs-sdk/issues/284 | + |
+| DescribeTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/341 | https://github.com/ydb-platform/ydb-rs-sdk/issues/285 | + |
+| ExplainDataQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/464 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/342 | https://github.com/ydb-platform/ydb-rs-sdk/issues/286 | + |
+| PrepareDataQuery | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/343 | https://github.com/ydb-platform/ydb-rs-sdk/issues/287 | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/457 | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/288 | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/289 | + |
+| Truncated result as an error (by default) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/458 | https://github.com/ydb-platform/ydb-python-sdk/issues/597 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/444 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/344 | https://github.com/ydb-platform/ydb-rs-sdk/issues/290 | + |
+| Truncated result as an error (as an opt-in opt-out option) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/459 | https://github.com/ydb-platform/ydb-python-sdk/issues/598 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/445 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/345 | https://github.com/ydb-platform/ydb-rs-sdk/issues/291 | https://github.com/ydb-platform/ydb-php-sdk/issues/164 |
+| ExecuteSchemeQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/465 | + | + | + |
+| BeginTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/346 | https://github.com/ydb-platform/ydb-rs-sdk/issues/292 | + |
+| CommitTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/347 | https://github.com/ydb-platform/ydb-rs-sdk/issues/293 | + |
+| RollbackTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/348 | https://github.com/ydb-platform/ydb-rs-sdk/issues/294 | + |
+| DescribeTableOptions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/405 | https://github.com/ydb-platform/ydb-js-sdk/issues/466 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/349 | https://github.com/ydb-platform/ydb-rs-sdk/issues/295 | https://github.com/ydb-platform/ydb-php-sdk/issues/165 |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/250 | + |
+| BulkUpsert | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/350 | https://github.com/ydb-platform/ydb-rs-sdk/issues/251 | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1752 | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/351 | https://github.com/ydb-platform/ydb-rs-sdk/issues/252 | https://github.com/ydb-platform/ydb-php-sdk/issues/166 |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Operation** |
| Consumed Units from metadata of a response to a grpc-request request | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1752 | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/351 | https://github.com/ydb-platform/ydb-rs-sdk/issues/252 | https://github.com/ydb-platform/ydb-php-sdk/issues/166 |
```
created_at: 2025-04-28T06:54:25Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,137 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/312 | https://github.com/ydb-platform/ydb-rs-sdk/issues/270 | + |
+| Configure/enable GRPC KeepAlive | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/439 | https://github.com/ydb-platform/ydb-js-sdk/issues/499 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/313 | https://github.com/ydb-platform/ydb-rs-sdk/issues/271 | + |
+| Regular SLO testing on the latest code version | + | https://github.com/ydb-platform/ydb-python-sdk/issues/600 | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/446 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/314 | https://github.com/ydb-platform/ydb-rs-sdk/issues/235 | https://github.com/ydb-platform/ydb-php-sdk/issues/155 |
+| Issue templates on GitHub | https://github.com/ydb-platform/ydb-cpp-sdk/issues/452 | https://github.com/ydb-platform/ydb-python-sdk/issues/601 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/394 | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/272 | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | https://github.com/ydb-platform/ydb-cpp-sdk/issues/467 | https://github.com/ydb-platform/ydb-python-sdk/issues/591 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/395 | https://github.com/ydb-platform/ydb-js-sdk/issues/447 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/273 | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/156 |
+| Support for multiple IP addresses in the initial Endpoint DNS record | https://github.com/ydb-platform/ydb-cpp-sdk/issues/469 | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/440 | https://github.com/ydb-platform/ydb-js-sdk/issues/448 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/311 | https://github.com/ydb-platform/ydb-rs-sdk/issues/233 | https://github.com/ydb-platform/ydb-php-sdk/issues/196 |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/201 |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/449 | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/202 |
+| Automatic detection of the nearest DC/availability zone by TCP pings | https://github.com/ydb-platform/ydb-cpp-sdk/issues/453 | https://github.com/ydb-platform/ydb-python-sdk/issues/592 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/396 | https://github.com/ydb-platform/ydb-js-sdk/issues/450 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/315 | https://github.com/ydb-platform/ydb-rs-sdk/issues/236 | https://github.com/ydb-platform/ydb-php-sdk/issues/203 |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1746 | https://github.com/ydb-platform/ydb-java-sdk/issues/397 | https://github.com/ydb-platform/ydb-js-sdk/issues/451 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/316 | https://github.com/ydb-platform/ydb-rs-sdk/issues/237 | https://github.com/ydb-platform/ydb-php-sdk/issues/204 |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/205 |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/206 |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/441 | https://github.com/ydb-platform/ydb-js-sdk/issues/452 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/317 | https://github.com/ydb-platform/ydb-rs-sdk/issues/238 | https://github.com/ydb-platform/ydb-php-sdk/issues/207 |
+| Load balancing across all nodes of all local DCs | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/442 | https://github.com/ydb-platform/ydb-js-sdk/issues/453 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/318 | https://github.com/ydb-platform/ydb-rs-sdk/issues/239 | https://github.com/ydb-platform/ydb-php-sdk/issues/208 |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/454 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/319 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/157 |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/240 | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/209 |
+| Minimum number of sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/455 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/320 | https://github.com/ydb-platform/ydb-rs-sdk/issues/241 | https://github.com/ydb-platform/ydb-php-sdk/issues/210 |
+| Warm up the pool to the specified number of sessions when the pool is created | https://github.com/ydb-platform/ydb-cpp-sdk/issues/454 | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1747 | https://github.com/ydb-platform/ydb-java-sdk/issues/398 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/321 | https://github.com/ydb-platform/ydb-rs-sdk/issues/242 | https://github.com/ydb-platform/ydb-php-sdk/issues/211 |
+| Background KeepAlive for idle sessions in the pool | + | https://github.com/ydb-platform/ydb-python-sdk/issues/593 | https://github.com/ydb-platform/ydb-go-sdk/issues/1748 | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/212 |
+| Background closing of idle sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/456 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/322 | https://github.com/ydb-platform/ydb-rs-sdk/issues/243 | https://github.com/ydb-platform/ydb-php-sdk/issues/213 |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/214 |
+| Storage of sessions for possible future reuse | + | https://github.com/ydb-platform/ydb-python-sdk/issues/594 | https://github.com/ydb-platform/ydb-go-sdk/issues/1749 | https://github.com/ydb-platform/ydb-java-sdk/issues/399 | https://github.com/ydb-platform/ydb-js-sdk/issues/457 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/323 | https://github.com/ydb-platform/ydb-rs-sdk/issues/244 | https://github.com/ydb-platform/ydb-php-sdk/issues/215 |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/216 |
+| Retryer on the session pool (a repeat object is a transaction within a session) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/455 | https://github.com/ydb-platform/ydb-python-sdk/issues/595 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/400 | https://github.com/ydb-platform/ydb-js-sdk/issues/458 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/324 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/217 |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/459 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/325 | https://github.com/ydb-platform/ydb-rs-sdk/issues/274 | https://github.com/ydb-platform/ydb-php-sdk/issues/218 |
+| Support for server-side load balancing of sessions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/401 | https://github.com/ydb-platform/ydb-js-sdk/issues/460 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/326 | https://github.com/ydb-platform/ydb-rs-sdk/issues/275 | https://github.com/ydb-platform/ydb-php-sdk/issues/219 |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | https://github.com/ydb-platform/ydb-cpp-sdk/issues/456 | https://github.com/ydb-platform/ydb-python-sdk/issues/596 | https://github.com/ydb-platform/ydb-go-sdk/issues/1750 | https://github.com/ydb-platform/ydb-java-sdk/issues/402 | https://github.com/ydb-platform/ydb-js-sdk/issues/461 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/327 | https://github.com/ydb-platform/ydb-rs-sdk/issues/245 | https://github.com/ydb-platform/ydb-php-sdk/issues/158 |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/198 |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/309 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/199 |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/310 | + | + |
+| Set | https://github.com/ydb-platform/ydb-cpp-sdk/issues/470 | https://github.com/ydb-platform/ydb-python-sdk/issues/602 | https://github.com/ydb-platform/ydb-go-sdk/issues/1751 | https://github.com/ydb-platform/ydb-java-sdk/issues/443 | https://github.com/ydb-platform/ydb-js-sdk/issues/445 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/328 | https://github.com/ydb-platform/ydb-rs-sdk/issues/234 | https://github.com/ydb-platform/ydb-php-sdk/issues/197 |
+| Tuple | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/220 |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/329 | https://github.com/ydb-platform/ydb-rs-sdk/issues/246 | https://github.com/ydb-platform/ydb-php-sdk/issues/159 |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/160 |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/330 | https://github.com/ydb-platform/ydb-rs-sdk/issues/247 | https://github.com/ydb-platform/ydb-php-sdk/issues/161 |
+| DyNumber | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/331 | https://github.com/ydb-platform/ydb-rs-sdk/issues/248 | https://github.com/ydb-platform/ydb-php-sdk/issues/162 |
+| Decimal (120 bits) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/249 | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/200 |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| MakeDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/332 | https://github.com/ydb-platform/ydb-rs-sdk/issues/276 | + |
+| RemoveDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/333 | https://github.com/ydb-platform/ydb-rs-sdk/issues/277 | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/403 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/334 | https://github.com/ydb-platform/ydb-rs-sdk/issues/278 | + |
+| DescribePath | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/335 | https://github.com/ydb-platform/ydb-rs-sdk/issues/279 | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/163 |
+| CreateTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/336 | https://github.com/ydb-platform/ydb-rs-sdk/issues/280 | + |
+| DropTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/337 | https://github.com/ydb-platform/ydb-rs-sdk/issues/281 | + |
+| AlterTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/338 | https://github.com/ydb-platform/ydb-rs-sdk/issues/282 | + |
+| CopyTable | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/462 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/339 | https://github.com/ydb-platform/ydb-rs-sdk/issues/283 | + |
+| CopyTables | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/404 | https://github.com/ydb-platform/ydb-js-sdk/issues/463 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/340 | https://github.com/ydb-platform/ydb-rs-sdk/issues/284 | + |
+| DescribeTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/341 | https://github.com/ydb-platform/ydb-rs-sdk/issues/285 | + |
+| ExplainDataQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/464 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/342 | https://github.com/ydb-platform/ydb-rs-sdk/issues/286 | + |
+| PrepareDataQuery | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/343 | https://github.com/ydb-platform/ydb-rs-sdk/issues/287 | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/457 | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/288 | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/289 | + |
+| Truncated result as an error (by default) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/458 | https://github.com/ydb-platform/ydb-python-sdk/issues/597 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/444 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/344 | https://github.com/ydb-platform/ydb-rs-sdk/issues/290 | + |
+| Truncated result as an error (as an opt-in opt-out option) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/459 | https://github.com/ydb-platform/ydb-python-sdk/issues/598 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/445 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/345 | https://github.com/ydb-platform/ydb-rs-sdk/issues/291 | https://github.com/ydb-platform/ydb-php-sdk/issues/164 |
+| ExecuteSchemeQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/465 | + | + | + |
+| BeginTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/346 | https://github.com/ydb-platform/ydb-rs-sdk/issues/292 | + |
+| CommitTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/347 | https://github.com/ydb-platform/ydb-rs-sdk/issues/293 | + |
+| RollbackTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/348 | https://github.com/ydb-platform/ydb-rs-sdk/issues/294 | + |
+| DescribeTableOptions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/405 | https://github.com/ydb-platform/ydb-js-sdk/issues/466 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/349 | https://github.com/ydb-platform/ydb-rs-sdk/issues/295 | https://github.com/ydb-platform/ydb-php-sdk/issues/165 |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/250 | + |
+| BulkUpsert | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/350 | https://github.com/ydb-platform/ydb-rs-sdk/issues/251 | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1752 | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/351 | https://github.com/ydb-platform/ydb-rs-sdk/issues/252 | https://github.com/ydb-platform/ydb-php-sdk/issues/166 |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/406 | https://github.com/ydb-platform/ydb-js-sdk/issues/467 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/253 | https://github.com/ydb-platform/ydb-php-sdk/issues/167 |
+| ExecuteYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/603 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/407 | https://github.com/ydb-platform/ydb-js-sdk/issues/468 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/352 | https://github.com/ydb-platform/ydb-rs-sdk/issues/296 | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **ScriptingYQL** |
| ExecuteYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/603 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/407 | https://github.com/ydb-platform/ydb-js-sdk/issues/468 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/352 | https://github.com/ydb-platform/ydb-rs-sdk/issues/296 | + |
```
created_at: 2025-04-28T06:54:41Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,137 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/312 | https://github.com/ydb-platform/ydb-rs-sdk/issues/270 | + |
+| Configure/enable GRPC KeepAlive | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/439 | https://github.com/ydb-platform/ydb-js-sdk/issues/499 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/313 | https://github.com/ydb-platform/ydb-rs-sdk/issues/271 | + |
+| Regular SLO testing on the latest code version | + | https://github.com/ydb-platform/ydb-python-sdk/issues/600 | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/446 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/314 | https://github.com/ydb-platform/ydb-rs-sdk/issues/235 | https://github.com/ydb-platform/ydb-php-sdk/issues/155 |
+| Issue templates on GitHub | https://github.com/ydb-platform/ydb-cpp-sdk/issues/452 | https://github.com/ydb-platform/ydb-python-sdk/issues/601 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/394 | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/272 | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | https://github.com/ydb-platform/ydb-cpp-sdk/issues/467 | https://github.com/ydb-platform/ydb-python-sdk/issues/591 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/395 | https://github.com/ydb-platform/ydb-js-sdk/issues/447 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/273 | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/156 |
+| Support for multiple IP addresses in the initial Endpoint DNS record | https://github.com/ydb-platform/ydb-cpp-sdk/issues/469 | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/440 | https://github.com/ydb-platform/ydb-js-sdk/issues/448 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/311 | https://github.com/ydb-platform/ydb-rs-sdk/issues/233 | https://github.com/ydb-platform/ydb-php-sdk/issues/196 |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/201 |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/449 | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/202 |
+| Automatic detection of the nearest DC/availability zone by TCP pings | https://github.com/ydb-platform/ydb-cpp-sdk/issues/453 | https://github.com/ydb-platform/ydb-python-sdk/issues/592 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/396 | https://github.com/ydb-platform/ydb-js-sdk/issues/450 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/315 | https://github.com/ydb-platform/ydb-rs-sdk/issues/236 | https://github.com/ydb-platform/ydb-php-sdk/issues/203 |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1746 | https://github.com/ydb-platform/ydb-java-sdk/issues/397 | https://github.com/ydb-platform/ydb-js-sdk/issues/451 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/316 | https://github.com/ydb-platform/ydb-rs-sdk/issues/237 | https://github.com/ydb-platform/ydb-php-sdk/issues/204 |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/205 |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/206 |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/441 | https://github.com/ydb-platform/ydb-js-sdk/issues/452 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/317 | https://github.com/ydb-platform/ydb-rs-sdk/issues/238 | https://github.com/ydb-platform/ydb-php-sdk/issues/207 |
+| Load balancing across all nodes of all local DCs | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/442 | https://github.com/ydb-platform/ydb-js-sdk/issues/453 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/318 | https://github.com/ydb-platform/ydb-rs-sdk/issues/239 | https://github.com/ydb-platform/ydb-php-sdk/issues/208 |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/454 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/319 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/157 |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/240 | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/209 |
+| Minimum number of sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/455 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/320 | https://github.com/ydb-platform/ydb-rs-sdk/issues/241 | https://github.com/ydb-platform/ydb-php-sdk/issues/210 |
+| Warm up the pool to the specified number of sessions when the pool is created | https://github.com/ydb-platform/ydb-cpp-sdk/issues/454 | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1747 | https://github.com/ydb-platform/ydb-java-sdk/issues/398 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/321 | https://github.com/ydb-platform/ydb-rs-sdk/issues/242 | https://github.com/ydb-platform/ydb-php-sdk/issues/211 |
+| Background KeepAlive for idle sessions in the pool | + | https://github.com/ydb-platform/ydb-python-sdk/issues/593 | https://github.com/ydb-platform/ydb-go-sdk/issues/1748 | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/212 |
+| Background closing of idle sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/456 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/322 | https://github.com/ydb-platform/ydb-rs-sdk/issues/243 | https://github.com/ydb-platform/ydb-php-sdk/issues/213 |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/214 |
+| Storage of sessions for possible future reuse | + | https://github.com/ydb-platform/ydb-python-sdk/issues/594 | https://github.com/ydb-platform/ydb-go-sdk/issues/1749 | https://github.com/ydb-platform/ydb-java-sdk/issues/399 | https://github.com/ydb-platform/ydb-js-sdk/issues/457 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/323 | https://github.com/ydb-platform/ydb-rs-sdk/issues/244 | https://github.com/ydb-platform/ydb-php-sdk/issues/215 |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/216 |
+| Retryer on the session pool (a repeat object is a transaction within a session) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/455 | https://github.com/ydb-platform/ydb-python-sdk/issues/595 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/400 | https://github.com/ydb-platform/ydb-js-sdk/issues/458 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/324 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/217 |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/459 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/325 | https://github.com/ydb-platform/ydb-rs-sdk/issues/274 | https://github.com/ydb-platform/ydb-php-sdk/issues/218 |
+| Support for server-side load balancing of sessions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/401 | https://github.com/ydb-platform/ydb-js-sdk/issues/460 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/326 | https://github.com/ydb-platform/ydb-rs-sdk/issues/275 | https://github.com/ydb-platform/ydb-php-sdk/issues/219 |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | https://github.com/ydb-platform/ydb-cpp-sdk/issues/456 | https://github.com/ydb-platform/ydb-python-sdk/issues/596 | https://github.com/ydb-platform/ydb-go-sdk/issues/1750 | https://github.com/ydb-platform/ydb-java-sdk/issues/402 | https://github.com/ydb-platform/ydb-js-sdk/issues/461 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/327 | https://github.com/ydb-platform/ydb-rs-sdk/issues/245 | https://github.com/ydb-platform/ydb-php-sdk/issues/158 |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/198 |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/309 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/199 |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/310 | + | + |
+| Set | https://github.com/ydb-platform/ydb-cpp-sdk/issues/470 | https://github.com/ydb-platform/ydb-python-sdk/issues/602 | https://github.com/ydb-platform/ydb-go-sdk/issues/1751 | https://github.com/ydb-platform/ydb-java-sdk/issues/443 | https://github.com/ydb-platform/ydb-js-sdk/issues/445 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/328 | https://github.com/ydb-platform/ydb-rs-sdk/issues/234 | https://github.com/ydb-platform/ydb-php-sdk/issues/197 |
+| Tuple | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/220 |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/329 | https://github.com/ydb-platform/ydb-rs-sdk/issues/246 | https://github.com/ydb-platform/ydb-php-sdk/issues/159 |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/160 |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/330 | https://github.com/ydb-platform/ydb-rs-sdk/issues/247 | https://github.com/ydb-platform/ydb-php-sdk/issues/161 |
+| DyNumber | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/331 | https://github.com/ydb-platform/ydb-rs-sdk/issues/248 | https://github.com/ydb-platform/ydb-php-sdk/issues/162 |
+| Decimal (120 bits) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/249 | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/200 |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| MakeDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/332 | https://github.com/ydb-platform/ydb-rs-sdk/issues/276 | + |
+| RemoveDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/333 | https://github.com/ydb-platform/ydb-rs-sdk/issues/277 | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/403 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/334 | https://github.com/ydb-platform/ydb-rs-sdk/issues/278 | + |
+| DescribePath | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/335 | https://github.com/ydb-platform/ydb-rs-sdk/issues/279 | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/163 |
+| CreateTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/336 | https://github.com/ydb-platform/ydb-rs-sdk/issues/280 | + |
+| DropTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/337 | https://github.com/ydb-platform/ydb-rs-sdk/issues/281 | + |
+| AlterTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/338 | https://github.com/ydb-platform/ydb-rs-sdk/issues/282 | + |
+| CopyTable | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/462 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/339 | https://github.com/ydb-platform/ydb-rs-sdk/issues/283 | + |
+| CopyTables | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/404 | https://github.com/ydb-platform/ydb-js-sdk/issues/463 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/340 | https://github.com/ydb-platform/ydb-rs-sdk/issues/284 | + |
+| DescribeTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/341 | https://github.com/ydb-platform/ydb-rs-sdk/issues/285 | + |
+| ExplainDataQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/464 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/342 | https://github.com/ydb-platform/ydb-rs-sdk/issues/286 | + |
+| PrepareDataQuery | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/343 | https://github.com/ydb-platform/ydb-rs-sdk/issues/287 | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/457 | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/288 | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/289 | + |
+| Truncated result as an error (by default) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/458 | https://github.com/ydb-platform/ydb-python-sdk/issues/597 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/444 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/344 | https://github.com/ydb-platform/ydb-rs-sdk/issues/290 | + |
+| Truncated result as an error (as an opt-in opt-out option) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/459 | https://github.com/ydb-platform/ydb-python-sdk/issues/598 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/445 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/345 | https://github.com/ydb-platform/ydb-rs-sdk/issues/291 | https://github.com/ydb-platform/ydb-php-sdk/issues/164 |
+| ExecuteSchemeQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/465 | + | + | + |
+| BeginTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/346 | https://github.com/ydb-platform/ydb-rs-sdk/issues/292 | + |
+| CommitTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/347 | https://github.com/ydb-platform/ydb-rs-sdk/issues/293 | + |
+| RollbackTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/348 | https://github.com/ydb-platform/ydb-rs-sdk/issues/294 | + |
+| DescribeTableOptions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/405 | https://github.com/ydb-platform/ydb-js-sdk/issues/466 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/349 | https://github.com/ydb-platform/ydb-rs-sdk/issues/295 | https://github.com/ydb-platform/ydb-php-sdk/issues/165 |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/250 | + |
+| BulkUpsert | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/350 | https://github.com/ydb-platform/ydb-rs-sdk/issues/251 | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1752 | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/351 | https://github.com/ydb-platform/ydb-rs-sdk/issues/252 | https://github.com/ydb-platform/ydb-php-sdk/issues/166 |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/406 | https://github.com/ydb-platform/ydb-js-sdk/issues/467 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/253 | https://github.com/ydb-platform/ydb-php-sdk/issues/167 |
+| ExecuteYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/603 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/407 | https://github.com/ydb-platform/ydb-js-sdk/issues/468 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/352 | https://github.com/ydb-platform/ydb-rs-sdk/issues/296 | + |
+| ExplainYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/604 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/408 | https://github.com/ydb-platform/ydb-js-sdk/issues/469 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/353 | https://github.com/ydb-platform/ydb-rs-sdk/issues/297 | + |
+| StreamExecuteYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/605 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/409 | https://github.com/ydb-platform/ydb-js-sdk/issues/470 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/354 | https://github.com/ydb-platform/ydb-rs-sdk/issues/298 | https://github.com/ydb-platform/ydb-php-sdk/issues/168 |
+| CreateNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/606 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/410 | https://github.com/ydb-platform/ydb-js-sdk/issues/471 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/355 | https://github.com/ydb-platform/ydb-rs-sdk/issues/299 | https://github.com/ydb-platform/ydb-php-sdk/issues/169 |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Coordination service** |
| CreateNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/606 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/410 | https://github.com/ydb-platform/ydb-js-sdk/issues/471 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/355 | https://github.com/ydb-platform/ydb-rs-sdk/issues/299 | https://github.com/ydb-platform/ydb-php-sdk/issues/169 |
```
created_at: 2025-04-28T06:54:57Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,137 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/312 | https://github.com/ydb-platform/ydb-rs-sdk/issues/270 | + |
+| Configure/enable GRPC KeepAlive | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/439 | https://github.com/ydb-platform/ydb-js-sdk/issues/499 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/313 | https://github.com/ydb-platform/ydb-rs-sdk/issues/271 | + |
+| Regular SLO testing on the latest code version | + | https://github.com/ydb-platform/ydb-python-sdk/issues/600 | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/446 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/314 | https://github.com/ydb-platform/ydb-rs-sdk/issues/235 | https://github.com/ydb-platform/ydb-php-sdk/issues/155 |
+| Issue templates on GitHub | https://github.com/ydb-platform/ydb-cpp-sdk/issues/452 | https://github.com/ydb-platform/ydb-python-sdk/issues/601 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/394 | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/272 | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | https://github.com/ydb-platform/ydb-cpp-sdk/issues/467 | https://github.com/ydb-platform/ydb-python-sdk/issues/591 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/395 | https://github.com/ydb-platform/ydb-js-sdk/issues/447 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/273 | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/156 |
+| Support for multiple IP addresses in the initial Endpoint DNS record | https://github.com/ydb-platform/ydb-cpp-sdk/issues/469 | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/440 | https://github.com/ydb-platform/ydb-js-sdk/issues/448 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/311 | https://github.com/ydb-platform/ydb-rs-sdk/issues/233 | https://github.com/ydb-platform/ydb-php-sdk/issues/196 |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/201 |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/449 | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/202 |
+| Automatic detection of the nearest DC/availability zone by TCP pings | https://github.com/ydb-platform/ydb-cpp-sdk/issues/453 | https://github.com/ydb-platform/ydb-python-sdk/issues/592 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/396 | https://github.com/ydb-platform/ydb-js-sdk/issues/450 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/315 | https://github.com/ydb-platform/ydb-rs-sdk/issues/236 | https://github.com/ydb-platform/ydb-php-sdk/issues/203 |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1746 | https://github.com/ydb-platform/ydb-java-sdk/issues/397 | https://github.com/ydb-platform/ydb-js-sdk/issues/451 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/316 | https://github.com/ydb-platform/ydb-rs-sdk/issues/237 | https://github.com/ydb-platform/ydb-php-sdk/issues/204 |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/205 |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/206 |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/441 | https://github.com/ydb-platform/ydb-js-sdk/issues/452 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/317 | https://github.com/ydb-platform/ydb-rs-sdk/issues/238 | https://github.com/ydb-platform/ydb-php-sdk/issues/207 |
+| Load balancing across all nodes of all local DCs | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/442 | https://github.com/ydb-platform/ydb-js-sdk/issues/453 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/318 | https://github.com/ydb-platform/ydb-rs-sdk/issues/239 | https://github.com/ydb-platform/ydb-php-sdk/issues/208 |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/454 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/319 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/157 |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/240 | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/209 |
+| Minimum number of sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/455 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/320 | https://github.com/ydb-platform/ydb-rs-sdk/issues/241 | https://github.com/ydb-platform/ydb-php-sdk/issues/210 |
+| Warm up the pool to the specified number of sessions when the pool is created | https://github.com/ydb-platform/ydb-cpp-sdk/issues/454 | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1747 | https://github.com/ydb-platform/ydb-java-sdk/issues/398 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/321 | https://github.com/ydb-platform/ydb-rs-sdk/issues/242 | https://github.com/ydb-platform/ydb-php-sdk/issues/211 |
+| Background KeepAlive for idle sessions in the pool | + | https://github.com/ydb-platform/ydb-python-sdk/issues/593 | https://github.com/ydb-platform/ydb-go-sdk/issues/1748 | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/212 |
+| Background closing of idle sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/456 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/322 | https://github.com/ydb-platform/ydb-rs-sdk/issues/243 | https://github.com/ydb-platform/ydb-php-sdk/issues/213 |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/214 |
+| Storage of sessions for possible future reuse | + | https://github.com/ydb-platform/ydb-python-sdk/issues/594 | https://github.com/ydb-platform/ydb-go-sdk/issues/1749 | https://github.com/ydb-platform/ydb-java-sdk/issues/399 | https://github.com/ydb-platform/ydb-js-sdk/issues/457 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/323 | https://github.com/ydb-platform/ydb-rs-sdk/issues/244 | https://github.com/ydb-platform/ydb-php-sdk/issues/215 |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/216 |
+| Retryer on the session pool (a repeat object is a transaction within a session) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/455 | https://github.com/ydb-platform/ydb-python-sdk/issues/595 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/400 | https://github.com/ydb-platform/ydb-js-sdk/issues/458 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/324 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/217 |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/459 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/325 | https://github.com/ydb-platform/ydb-rs-sdk/issues/274 | https://github.com/ydb-platform/ydb-php-sdk/issues/218 |
+| Support for server-side load balancing of sessions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/401 | https://github.com/ydb-platform/ydb-js-sdk/issues/460 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/326 | https://github.com/ydb-platform/ydb-rs-sdk/issues/275 | https://github.com/ydb-platform/ydb-php-sdk/issues/219 |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | https://github.com/ydb-platform/ydb-cpp-sdk/issues/456 | https://github.com/ydb-platform/ydb-python-sdk/issues/596 | https://github.com/ydb-platform/ydb-go-sdk/issues/1750 | https://github.com/ydb-platform/ydb-java-sdk/issues/402 | https://github.com/ydb-platform/ydb-js-sdk/issues/461 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/327 | https://github.com/ydb-platform/ydb-rs-sdk/issues/245 | https://github.com/ydb-platform/ydb-php-sdk/issues/158 |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/198 |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/309 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/199 |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/310 | + | + |
+| Set | https://github.com/ydb-platform/ydb-cpp-sdk/issues/470 | https://github.com/ydb-platform/ydb-python-sdk/issues/602 | https://github.com/ydb-platform/ydb-go-sdk/issues/1751 | https://github.com/ydb-platform/ydb-java-sdk/issues/443 | https://github.com/ydb-platform/ydb-js-sdk/issues/445 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/328 | https://github.com/ydb-platform/ydb-rs-sdk/issues/234 | https://github.com/ydb-platform/ydb-php-sdk/issues/197 |
+| Tuple | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/220 |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/329 | https://github.com/ydb-platform/ydb-rs-sdk/issues/246 | https://github.com/ydb-platform/ydb-php-sdk/issues/159 |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/160 |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/330 | https://github.com/ydb-platform/ydb-rs-sdk/issues/247 | https://github.com/ydb-platform/ydb-php-sdk/issues/161 |
+| DyNumber | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/331 | https://github.com/ydb-platform/ydb-rs-sdk/issues/248 | https://github.com/ydb-platform/ydb-php-sdk/issues/162 |
+| Decimal (120 bits) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/249 | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/200 |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| MakeDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/332 | https://github.com/ydb-platform/ydb-rs-sdk/issues/276 | + |
+| RemoveDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/333 | https://github.com/ydb-platform/ydb-rs-sdk/issues/277 | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/403 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/334 | https://github.com/ydb-platform/ydb-rs-sdk/issues/278 | + |
+| DescribePath | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/335 | https://github.com/ydb-platform/ydb-rs-sdk/issues/279 | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/163 |
+| CreateTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/336 | https://github.com/ydb-platform/ydb-rs-sdk/issues/280 | + |
+| DropTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/337 | https://github.com/ydb-platform/ydb-rs-sdk/issues/281 | + |
+| AlterTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/338 | https://github.com/ydb-platform/ydb-rs-sdk/issues/282 | + |
+| CopyTable | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/462 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/339 | https://github.com/ydb-platform/ydb-rs-sdk/issues/283 | + |
+| CopyTables | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/404 | https://github.com/ydb-platform/ydb-js-sdk/issues/463 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/340 | https://github.com/ydb-platform/ydb-rs-sdk/issues/284 | + |
+| DescribeTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/341 | https://github.com/ydb-platform/ydb-rs-sdk/issues/285 | + |
+| ExplainDataQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/464 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/342 | https://github.com/ydb-platform/ydb-rs-sdk/issues/286 | + |
+| PrepareDataQuery | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/343 | https://github.com/ydb-platform/ydb-rs-sdk/issues/287 | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/457 | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/288 | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/289 | + |
+| Truncated result as an error (by default) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/458 | https://github.com/ydb-platform/ydb-python-sdk/issues/597 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/444 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/344 | https://github.com/ydb-platform/ydb-rs-sdk/issues/290 | + |
+| Truncated result as an error (as an opt-in opt-out option) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/459 | https://github.com/ydb-platform/ydb-python-sdk/issues/598 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/445 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/345 | https://github.com/ydb-platform/ydb-rs-sdk/issues/291 | https://github.com/ydb-platform/ydb-php-sdk/issues/164 |
+| ExecuteSchemeQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/465 | + | + | + |
+| BeginTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/346 | https://github.com/ydb-platform/ydb-rs-sdk/issues/292 | + |
+| CommitTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/347 | https://github.com/ydb-platform/ydb-rs-sdk/issues/293 | + |
+| RollbackTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/348 | https://github.com/ydb-platform/ydb-rs-sdk/issues/294 | + |
+| DescribeTableOptions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/405 | https://github.com/ydb-platform/ydb-js-sdk/issues/466 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/349 | https://github.com/ydb-platform/ydb-rs-sdk/issues/295 | https://github.com/ydb-platform/ydb-php-sdk/issues/165 |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/250 | + |
+| BulkUpsert | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/350 | https://github.com/ydb-platform/ydb-rs-sdk/issues/251 | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1752 | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/351 | https://github.com/ydb-platform/ydb-rs-sdk/issues/252 | https://github.com/ydb-platform/ydb-php-sdk/issues/166 |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/406 | https://github.com/ydb-platform/ydb-js-sdk/issues/467 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/253 | https://github.com/ydb-platform/ydb-php-sdk/issues/167 |
+| ExecuteYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/603 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/407 | https://github.com/ydb-platform/ydb-js-sdk/issues/468 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/352 | https://github.com/ydb-platform/ydb-rs-sdk/issues/296 | + |
+| ExplainYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/604 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/408 | https://github.com/ydb-platform/ydb-js-sdk/issues/469 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/353 | https://github.com/ydb-platform/ydb-rs-sdk/issues/297 | + |
+| StreamExecuteYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/605 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/409 | https://github.com/ydb-platform/ydb-js-sdk/issues/470 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/354 | https://github.com/ydb-platform/ydb-rs-sdk/issues/298 | https://github.com/ydb-platform/ydb-php-sdk/issues/168 |
+| CreateNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/606 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/410 | https://github.com/ydb-platform/ydb-js-sdk/issues/471 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/355 | https://github.com/ydb-platform/ydb-rs-sdk/issues/299 | https://github.com/ydb-platform/ydb-php-sdk/issues/169 |
+| AlterNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/607 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/411 | https://github.com/ydb-platform/ydb-js-sdk/issues/472 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/356 | https://github.com/ydb-platform/ydb-rs-sdk/issues/300 | https://github.com/ydb-platform/ydb-php-sdk/issues/170 |
+| DropNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/608 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/412 | https://github.com/ydb-platform/ydb-js-sdk/issues/473 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/357 | https://github.com/ydb-platform/ydb-rs-sdk/issues/301 | https://github.com/ydb-platform/ydb-php-sdk/issues/171 |
+| DescribeNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/609 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/413 | https://github.com/ydb-platform/ydb-js-sdk/issues/474 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/358 | https://github.com/ydb-platform/ydb-rs-sdk/issues/302 | https://github.com/ydb-platform/ydb-php-sdk/issues/172 |
+| Session (leader election distributed lock) | + | https://github.com/ydb-platform/ydb-python-sdk/issues/610 | https://github.com/ydb-platform/ydb-go-sdk/issues/1753 | https://github.com/ydb-platform/ydb-java-sdk/issues/414 | https://github.com/ydb-platform/ydb-js-sdk/issues/475 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/359 | https://github.com/ydb-platform/ydb-rs-sdk/issues/303 | https://github.com/ydb-platform/ydb-php-sdk/issues/173 |
+| CreateTopic | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/415 | https://github.com/ydb-platform/ydb-js-sdk/issues/476 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/360 | https://github.com/ydb-platform/ydb-rs-sdk/issues/254 | https://github.com/ydb-platform/ydb-php-sdk/issues/174 |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Topic service** |
| CreateTopic | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/415 | https://github.com/ydb-platform/ydb-js-sdk/issues/476 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/360 | https://github.com/ydb-platform/ydb-rs-sdk/issues/254 | https://github.com/ydb-platform/ydb-php-sdk/issues/174 |
```
created_at: 2025-04-28T06:55:14Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,137 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/312 | https://github.com/ydb-platform/ydb-rs-sdk/issues/270 | + |
+| Configure/enable GRPC KeepAlive | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/439 | https://github.com/ydb-platform/ydb-js-sdk/issues/499 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/313 | https://github.com/ydb-platform/ydb-rs-sdk/issues/271 | + |
+| Regular SLO testing on the latest code version | + | https://github.com/ydb-platform/ydb-python-sdk/issues/600 | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/446 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/314 | https://github.com/ydb-platform/ydb-rs-sdk/issues/235 | https://github.com/ydb-platform/ydb-php-sdk/issues/155 |
+| Issue templates on GitHub | https://github.com/ydb-platform/ydb-cpp-sdk/issues/452 | https://github.com/ydb-platform/ydb-python-sdk/issues/601 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/394 | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/272 | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | https://github.com/ydb-platform/ydb-cpp-sdk/issues/467 | https://github.com/ydb-platform/ydb-python-sdk/issues/591 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/395 | https://github.com/ydb-platform/ydb-js-sdk/issues/447 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/273 | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/156 |
+| Support for multiple IP addresses in the initial Endpoint DNS record | https://github.com/ydb-platform/ydb-cpp-sdk/issues/469 | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/440 | https://github.com/ydb-platform/ydb-js-sdk/issues/448 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/311 | https://github.com/ydb-platform/ydb-rs-sdk/issues/233 | https://github.com/ydb-platform/ydb-php-sdk/issues/196 |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/201 |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/449 | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/202 |
+| Automatic detection of the nearest DC/availability zone by TCP pings | https://github.com/ydb-platform/ydb-cpp-sdk/issues/453 | https://github.com/ydb-platform/ydb-python-sdk/issues/592 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/396 | https://github.com/ydb-platform/ydb-js-sdk/issues/450 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/315 | https://github.com/ydb-platform/ydb-rs-sdk/issues/236 | https://github.com/ydb-platform/ydb-php-sdk/issues/203 |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1746 | https://github.com/ydb-platform/ydb-java-sdk/issues/397 | https://github.com/ydb-platform/ydb-js-sdk/issues/451 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/316 | https://github.com/ydb-platform/ydb-rs-sdk/issues/237 | https://github.com/ydb-platform/ydb-php-sdk/issues/204 |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/205 |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/206 |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/441 | https://github.com/ydb-platform/ydb-js-sdk/issues/452 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/317 | https://github.com/ydb-platform/ydb-rs-sdk/issues/238 | https://github.com/ydb-platform/ydb-php-sdk/issues/207 |
+| Load balancing across all nodes of all local DCs | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/442 | https://github.com/ydb-platform/ydb-js-sdk/issues/453 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/318 | https://github.com/ydb-platform/ydb-rs-sdk/issues/239 | https://github.com/ydb-platform/ydb-php-sdk/issues/208 |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/454 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/319 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/157 |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/240 | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/209 |
+| Minimum number of sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/455 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/320 | https://github.com/ydb-platform/ydb-rs-sdk/issues/241 | https://github.com/ydb-platform/ydb-php-sdk/issues/210 |
+| Warm up the pool to the specified number of sessions when the pool is created | https://github.com/ydb-platform/ydb-cpp-sdk/issues/454 | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1747 | https://github.com/ydb-platform/ydb-java-sdk/issues/398 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/321 | https://github.com/ydb-platform/ydb-rs-sdk/issues/242 | https://github.com/ydb-platform/ydb-php-sdk/issues/211 |
+| Background KeepAlive for idle sessions in the pool | + | https://github.com/ydb-platform/ydb-python-sdk/issues/593 | https://github.com/ydb-platform/ydb-go-sdk/issues/1748 | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/212 |
+| Background closing of idle sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/456 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/322 | https://github.com/ydb-platform/ydb-rs-sdk/issues/243 | https://github.com/ydb-platform/ydb-php-sdk/issues/213 |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/214 |
+| Storage of sessions for possible future reuse | + | https://github.com/ydb-platform/ydb-python-sdk/issues/594 | https://github.com/ydb-platform/ydb-go-sdk/issues/1749 | https://github.com/ydb-platform/ydb-java-sdk/issues/399 | https://github.com/ydb-platform/ydb-js-sdk/issues/457 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/323 | https://github.com/ydb-platform/ydb-rs-sdk/issues/244 | https://github.com/ydb-platform/ydb-php-sdk/issues/215 |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/216 |
+| Retryer on the session pool (a repeat object is a transaction within a session) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/455 | https://github.com/ydb-platform/ydb-python-sdk/issues/595 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/400 | https://github.com/ydb-platform/ydb-js-sdk/issues/458 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/324 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/217 |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/459 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/325 | https://github.com/ydb-platform/ydb-rs-sdk/issues/274 | https://github.com/ydb-platform/ydb-php-sdk/issues/218 |
+| Support for server-side load balancing of sessions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/401 | https://github.com/ydb-platform/ydb-js-sdk/issues/460 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/326 | https://github.com/ydb-platform/ydb-rs-sdk/issues/275 | https://github.com/ydb-platform/ydb-php-sdk/issues/219 |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | https://github.com/ydb-platform/ydb-cpp-sdk/issues/456 | https://github.com/ydb-platform/ydb-python-sdk/issues/596 | https://github.com/ydb-platform/ydb-go-sdk/issues/1750 | https://github.com/ydb-platform/ydb-java-sdk/issues/402 | https://github.com/ydb-platform/ydb-js-sdk/issues/461 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/327 | https://github.com/ydb-platform/ydb-rs-sdk/issues/245 | https://github.com/ydb-platform/ydb-php-sdk/issues/158 |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/198 |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/309 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/199 |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/310 | + | + |
+| Set | https://github.com/ydb-platform/ydb-cpp-sdk/issues/470 | https://github.com/ydb-platform/ydb-python-sdk/issues/602 | https://github.com/ydb-platform/ydb-go-sdk/issues/1751 | https://github.com/ydb-platform/ydb-java-sdk/issues/443 | https://github.com/ydb-platform/ydb-js-sdk/issues/445 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/328 | https://github.com/ydb-platform/ydb-rs-sdk/issues/234 | https://github.com/ydb-platform/ydb-php-sdk/issues/197 |
+| Tuple | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/220 |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/329 | https://github.com/ydb-platform/ydb-rs-sdk/issues/246 | https://github.com/ydb-platform/ydb-php-sdk/issues/159 |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/160 |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/330 | https://github.com/ydb-platform/ydb-rs-sdk/issues/247 | https://github.com/ydb-platform/ydb-php-sdk/issues/161 |
+| DyNumber | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/331 | https://github.com/ydb-platform/ydb-rs-sdk/issues/248 | https://github.com/ydb-platform/ydb-php-sdk/issues/162 |
+| Decimal (120 bits) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/249 | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/200 |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| MakeDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/332 | https://github.com/ydb-platform/ydb-rs-sdk/issues/276 | + |
+| RemoveDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/333 | https://github.com/ydb-platform/ydb-rs-sdk/issues/277 | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/403 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/334 | https://github.com/ydb-platform/ydb-rs-sdk/issues/278 | + |
+| DescribePath | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/335 | https://github.com/ydb-platform/ydb-rs-sdk/issues/279 | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/163 |
+| CreateTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/336 | https://github.com/ydb-platform/ydb-rs-sdk/issues/280 | + |
+| DropTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/337 | https://github.com/ydb-platform/ydb-rs-sdk/issues/281 | + |
+| AlterTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/338 | https://github.com/ydb-platform/ydb-rs-sdk/issues/282 | + |
+| CopyTable | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/462 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/339 | https://github.com/ydb-platform/ydb-rs-sdk/issues/283 | + |
+| CopyTables | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/404 | https://github.com/ydb-platform/ydb-js-sdk/issues/463 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/340 | https://github.com/ydb-platform/ydb-rs-sdk/issues/284 | + |
+| DescribeTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/341 | https://github.com/ydb-platform/ydb-rs-sdk/issues/285 | + |
+| ExplainDataQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/464 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/342 | https://github.com/ydb-platform/ydb-rs-sdk/issues/286 | + |
+| PrepareDataQuery | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/343 | https://github.com/ydb-platform/ydb-rs-sdk/issues/287 | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/457 | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/288 | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/289 | + |
+| Truncated result as an error (by default) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/458 | https://github.com/ydb-platform/ydb-python-sdk/issues/597 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/444 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/344 | https://github.com/ydb-platform/ydb-rs-sdk/issues/290 | + |
+| Truncated result as an error (as an opt-in opt-out option) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/459 | https://github.com/ydb-platform/ydb-python-sdk/issues/598 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/445 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/345 | https://github.com/ydb-platform/ydb-rs-sdk/issues/291 | https://github.com/ydb-platform/ydb-php-sdk/issues/164 |
+| ExecuteSchemeQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/465 | + | + | + |
+| BeginTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/346 | https://github.com/ydb-platform/ydb-rs-sdk/issues/292 | + |
+| CommitTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/347 | https://github.com/ydb-platform/ydb-rs-sdk/issues/293 | + |
+| RollbackTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/348 | https://github.com/ydb-platform/ydb-rs-sdk/issues/294 | + |
+| DescribeTableOptions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/405 | https://github.com/ydb-platform/ydb-js-sdk/issues/466 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/349 | https://github.com/ydb-platform/ydb-rs-sdk/issues/295 | https://github.com/ydb-platform/ydb-php-sdk/issues/165 |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/250 | + |
+| BulkUpsert | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/350 | https://github.com/ydb-platform/ydb-rs-sdk/issues/251 | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1752 | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/351 | https://github.com/ydb-platform/ydb-rs-sdk/issues/252 | https://github.com/ydb-platform/ydb-php-sdk/issues/166 |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/406 | https://github.com/ydb-platform/ydb-js-sdk/issues/467 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/253 | https://github.com/ydb-platform/ydb-php-sdk/issues/167 |
+| ExecuteYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/603 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/407 | https://github.com/ydb-platform/ydb-js-sdk/issues/468 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/352 | https://github.com/ydb-platform/ydb-rs-sdk/issues/296 | + |
+| ExplainYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/604 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/408 | https://github.com/ydb-platform/ydb-js-sdk/issues/469 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/353 | https://github.com/ydb-platform/ydb-rs-sdk/issues/297 | + |
+| StreamExecuteYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/605 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/409 | https://github.com/ydb-platform/ydb-js-sdk/issues/470 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/354 | https://github.com/ydb-platform/ydb-rs-sdk/issues/298 | https://github.com/ydb-platform/ydb-php-sdk/issues/168 |
+| CreateNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/606 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/410 | https://github.com/ydb-platform/ydb-js-sdk/issues/471 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/355 | https://github.com/ydb-platform/ydb-rs-sdk/issues/299 | https://github.com/ydb-platform/ydb-php-sdk/issues/169 |
+| AlterNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/607 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/411 | https://github.com/ydb-platform/ydb-js-sdk/issues/472 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/356 | https://github.com/ydb-platform/ydb-rs-sdk/issues/300 | https://github.com/ydb-platform/ydb-php-sdk/issues/170 |
+| DropNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/608 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/412 | https://github.com/ydb-platform/ydb-js-sdk/issues/473 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/357 | https://github.com/ydb-platform/ydb-rs-sdk/issues/301 | https://github.com/ydb-platform/ydb-php-sdk/issues/171 |
+| DescribeNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/609 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/413 | https://github.com/ydb-platform/ydb-js-sdk/issues/474 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/358 | https://github.com/ydb-platform/ydb-rs-sdk/issues/302 | https://github.com/ydb-platform/ydb-php-sdk/issues/172 |
+| Session (leader election distributed lock) | + | https://github.com/ydb-platform/ydb-python-sdk/issues/610 | https://github.com/ydb-platform/ydb-go-sdk/issues/1753 | https://github.com/ydb-platform/ydb-java-sdk/issues/414 | https://github.com/ydb-platform/ydb-js-sdk/issues/475 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/359 | https://github.com/ydb-platform/ydb-rs-sdk/issues/303 | https://github.com/ydb-platform/ydb-php-sdk/issues/173 |
+| CreateTopic | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/415 | https://github.com/ydb-platform/ydb-js-sdk/issues/476 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/360 | https://github.com/ydb-platform/ydb-rs-sdk/issues/254 | https://github.com/ydb-platform/ydb-php-sdk/issues/174 |
+| DescribeTopic | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/416 | https://github.com/ydb-platform/ydb-js-sdk/issues/477 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/361 | https://github.com/ydb-platform/ydb-rs-sdk/issues/255 | https://github.com/ydb-platform/ydb-php-sdk/issues/175 |
+| AlterTopic | + | https://github.com/ydb-platform/ydb-python-sdk/issues/599 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/417 | https://github.com/ydb-platform/ydb-js-sdk/issues/478 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/362 | https://github.com/ydb-platform/ydb-rs-sdk/issues/256 | https://github.com/ydb-platform/ydb-php-sdk/issues/176 |
+| DropTopic | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/418 | https://github.com/ydb-platform/ydb-js-sdk/issues/479 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/363 | https://github.com/ydb-platform/ydb-rs-sdk/issues/257 | https://github.com/ydb-platform/ydb-php-sdk/issues/177 |
+| StreamWrite | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/419 | https://github.com/ydb-platform/ydb-js-sdk/issues/480 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/364 | https://github.com/ydb-platform/ydb-rs-sdk/issues/258 | https://github.com/ydb-platform/ydb-php-sdk/issues/178 |
+| StreamRead | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/420 | https://github.com/ydb-platform/ydb-js-sdk/issues/481 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/365 | https://github.com/ydb-platform/ydb-rs-sdk/issues/259 | https://github.com/ydb-platform/ydb-php-sdk/issues/179 |
+| CreateResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/611 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/421 | https://github.com/ydb-platform/ydb-js-sdk/issues/482 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/366 | https://github.com/ydb-platform/ydb-rs-sdk/issues/260 | https://github.com/ydb-platform/ydb-php-sdk/issues/221 |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Ratelimiter service** |
| CreateResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/611 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/421 | https://github.com/ydb-platform/ydb-js-sdk/issues/482 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/366 | https://github.com/ydb-platform/ydb-rs-sdk/issues/260 | https://github.com/ydb-platform/ydb-php-sdk/issues/221 |
```
created_at: 2025-04-28T06:55:31Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,137 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/312 | https://github.com/ydb-platform/ydb-rs-sdk/issues/270 | + |
+| Configure/enable GRPC KeepAlive | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/439 | https://github.com/ydb-platform/ydb-js-sdk/issues/499 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/313 | https://github.com/ydb-platform/ydb-rs-sdk/issues/271 | + |
+| Regular SLO testing on the latest code version | + | https://github.com/ydb-platform/ydb-python-sdk/issues/600 | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/446 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/314 | https://github.com/ydb-platform/ydb-rs-sdk/issues/235 | https://github.com/ydb-platform/ydb-php-sdk/issues/155 |
+| Issue templates on GitHub | https://github.com/ydb-platform/ydb-cpp-sdk/issues/452 | https://github.com/ydb-platform/ydb-python-sdk/issues/601 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/394 | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/272 | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | https://github.com/ydb-platform/ydb-cpp-sdk/issues/467 | https://github.com/ydb-platform/ydb-python-sdk/issues/591 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/395 | https://github.com/ydb-platform/ydb-js-sdk/issues/447 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/273 | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/156 |
+| Support for multiple IP addresses in the initial Endpoint DNS record | https://github.com/ydb-platform/ydb-cpp-sdk/issues/469 | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/440 | https://github.com/ydb-platform/ydb-js-sdk/issues/448 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/311 | https://github.com/ydb-platform/ydb-rs-sdk/issues/233 | https://github.com/ydb-platform/ydb-php-sdk/issues/196 |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/201 |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/449 | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/202 |
+| Automatic detection of the nearest DC/availability zone by TCP pings | https://github.com/ydb-platform/ydb-cpp-sdk/issues/453 | https://github.com/ydb-platform/ydb-python-sdk/issues/592 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/396 | https://github.com/ydb-platform/ydb-js-sdk/issues/450 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/315 | https://github.com/ydb-platform/ydb-rs-sdk/issues/236 | https://github.com/ydb-platform/ydb-php-sdk/issues/203 |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1746 | https://github.com/ydb-platform/ydb-java-sdk/issues/397 | https://github.com/ydb-platform/ydb-js-sdk/issues/451 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/316 | https://github.com/ydb-platform/ydb-rs-sdk/issues/237 | https://github.com/ydb-platform/ydb-php-sdk/issues/204 |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/205 |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/206 |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/441 | https://github.com/ydb-platform/ydb-js-sdk/issues/452 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/317 | https://github.com/ydb-platform/ydb-rs-sdk/issues/238 | https://github.com/ydb-platform/ydb-php-sdk/issues/207 |
+| Load balancing across all nodes of all local DCs | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/442 | https://github.com/ydb-platform/ydb-js-sdk/issues/453 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/318 | https://github.com/ydb-platform/ydb-rs-sdk/issues/239 | https://github.com/ydb-platform/ydb-php-sdk/issues/208 |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/454 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/319 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/157 |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/240 | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/209 |
+| Minimum number of sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/455 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/320 | https://github.com/ydb-platform/ydb-rs-sdk/issues/241 | https://github.com/ydb-platform/ydb-php-sdk/issues/210 |
+| Warm up the pool to the specified number of sessions when the pool is created | https://github.com/ydb-platform/ydb-cpp-sdk/issues/454 | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1747 | https://github.com/ydb-platform/ydb-java-sdk/issues/398 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/321 | https://github.com/ydb-platform/ydb-rs-sdk/issues/242 | https://github.com/ydb-platform/ydb-php-sdk/issues/211 |
+| Background KeepAlive for idle sessions in the pool | + | https://github.com/ydb-platform/ydb-python-sdk/issues/593 | https://github.com/ydb-platform/ydb-go-sdk/issues/1748 | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/212 |
+| Background closing of idle sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/456 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/322 | https://github.com/ydb-platform/ydb-rs-sdk/issues/243 | https://github.com/ydb-platform/ydb-php-sdk/issues/213 |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/214 |
+| Storage of sessions for possible future reuse | + | https://github.com/ydb-platform/ydb-python-sdk/issues/594 | https://github.com/ydb-platform/ydb-go-sdk/issues/1749 | https://github.com/ydb-platform/ydb-java-sdk/issues/399 | https://github.com/ydb-platform/ydb-js-sdk/issues/457 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/323 | https://github.com/ydb-platform/ydb-rs-sdk/issues/244 | https://github.com/ydb-platform/ydb-php-sdk/issues/215 |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/216 |
+| Retryer on the session pool (a repeat object is a transaction within a session) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/455 | https://github.com/ydb-platform/ydb-python-sdk/issues/595 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/400 | https://github.com/ydb-platform/ydb-js-sdk/issues/458 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/324 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/217 |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/459 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/325 | https://github.com/ydb-platform/ydb-rs-sdk/issues/274 | https://github.com/ydb-platform/ydb-php-sdk/issues/218 |
+| Support for server-side load balancing of sessions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/401 | https://github.com/ydb-platform/ydb-js-sdk/issues/460 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/326 | https://github.com/ydb-platform/ydb-rs-sdk/issues/275 | https://github.com/ydb-platform/ydb-php-sdk/issues/219 |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | https://github.com/ydb-platform/ydb-cpp-sdk/issues/456 | https://github.com/ydb-platform/ydb-python-sdk/issues/596 | https://github.com/ydb-platform/ydb-go-sdk/issues/1750 | https://github.com/ydb-platform/ydb-java-sdk/issues/402 | https://github.com/ydb-platform/ydb-js-sdk/issues/461 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/327 | https://github.com/ydb-platform/ydb-rs-sdk/issues/245 | https://github.com/ydb-platform/ydb-php-sdk/issues/158 |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/198 |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/309 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/199 |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/310 | + | + |
+| Set | https://github.com/ydb-platform/ydb-cpp-sdk/issues/470 | https://github.com/ydb-platform/ydb-python-sdk/issues/602 | https://github.com/ydb-platform/ydb-go-sdk/issues/1751 | https://github.com/ydb-platform/ydb-java-sdk/issues/443 | https://github.com/ydb-platform/ydb-js-sdk/issues/445 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/328 | https://github.com/ydb-platform/ydb-rs-sdk/issues/234 | https://github.com/ydb-platform/ydb-php-sdk/issues/197 |
+| Tuple | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/220 |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/329 | https://github.com/ydb-platform/ydb-rs-sdk/issues/246 | https://github.com/ydb-platform/ydb-php-sdk/issues/159 |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/160 |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/330 | https://github.com/ydb-platform/ydb-rs-sdk/issues/247 | https://github.com/ydb-platform/ydb-php-sdk/issues/161 |
+| DyNumber | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/331 | https://github.com/ydb-platform/ydb-rs-sdk/issues/248 | https://github.com/ydb-platform/ydb-php-sdk/issues/162 |
+| Decimal (120 bits) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/249 | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/200 |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| MakeDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/332 | https://github.com/ydb-platform/ydb-rs-sdk/issues/276 | + |
+| RemoveDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/333 | https://github.com/ydb-platform/ydb-rs-sdk/issues/277 | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/403 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/334 | https://github.com/ydb-platform/ydb-rs-sdk/issues/278 | + |
+| DescribePath | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/335 | https://github.com/ydb-platform/ydb-rs-sdk/issues/279 | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/163 |
+| CreateTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/336 | https://github.com/ydb-platform/ydb-rs-sdk/issues/280 | + |
+| DropTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/337 | https://github.com/ydb-platform/ydb-rs-sdk/issues/281 | + |
+| AlterTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/338 | https://github.com/ydb-platform/ydb-rs-sdk/issues/282 | + |
+| CopyTable | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/462 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/339 | https://github.com/ydb-platform/ydb-rs-sdk/issues/283 | + |
+| CopyTables | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/404 | https://github.com/ydb-platform/ydb-js-sdk/issues/463 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/340 | https://github.com/ydb-platform/ydb-rs-sdk/issues/284 | + |
+| DescribeTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/341 | https://github.com/ydb-platform/ydb-rs-sdk/issues/285 | + |
+| ExplainDataQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/464 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/342 | https://github.com/ydb-platform/ydb-rs-sdk/issues/286 | + |
+| PrepareDataQuery | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/343 | https://github.com/ydb-platform/ydb-rs-sdk/issues/287 | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/457 | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/288 | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/289 | + |
+| Truncated result as an error (by default) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/458 | https://github.com/ydb-platform/ydb-python-sdk/issues/597 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/444 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/344 | https://github.com/ydb-platform/ydb-rs-sdk/issues/290 | + |
+| Truncated result as an error (as an opt-in opt-out option) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/459 | https://github.com/ydb-platform/ydb-python-sdk/issues/598 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/445 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/345 | https://github.com/ydb-platform/ydb-rs-sdk/issues/291 | https://github.com/ydb-platform/ydb-php-sdk/issues/164 |
+| ExecuteSchemeQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/465 | + | + | + |
+| BeginTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/346 | https://github.com/ydb-platform/ydb-rs-sdk/issues/292 | + |
+| CommitTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/347 | https://github.com/ydb-platform/ydb-rs-sdk/issues/293 | + |
+| RollbackTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/348 | https://github.com/ydb-platform/ydb-rs-sdk/issues/294 | + |
+| DescribeTableOptions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/405 | https://github.com/ydb-platform/ydb-js-sdk/issues/466 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/349 | https://github.com/ydb-platform/ydb-rs-sdk/issues/295 | https://github.com/ydb-platform/ydb-php-sdk/issues/165 |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/250 | + |
+| BulkUpsert | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/350 | https://github.com/ydb-platform/ydb-rs-sdk/issues/251 | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1752 | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/351 | https://github.com/ydb-platform/ydb-rs-sdk/issues/252 | https://github.com/ydb-platform/ydb-php-sdk/issues/166 |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/406 | https://github.com/ydb-platform/ydb-js-sdk/issues/467 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/253 | https://github.com/ydb-platform/ydb-php-sdk/issues/167 |
+| ExecuteYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/603 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/407 | https://github.com/ydb-platform/ydb-js-sdk/issues/468 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/352 | https://github.com/ydb-platform/ydb-rs-sdk/issues/296 | + |
+| ExplainYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/604 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/408 | https://github.com/ydb-platform/ydb-js-sdk/issues/469 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/353 | https://github.com/ydb-platform/ydb-rs-sdk/issues/297 | + |
+| StreamExecuteYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/605 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/409 | https://github.com/ydb-platform/ydb-js-sdk/issues/470 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/354 | https://github.com/ydb-platform/ydb-rs-sdk/issues/298 | https://github.com/ydb-platform/ydb-php-sdk/issues/168 |
+| CreateNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/606 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/410 | https://github.com/ydb-platform/ydb-js-sdk/issues/471 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/355 | https://github.com/ydb-platform/ydb-rs-sdk/issues/299 | https://github.com/ydb-platform/ydb-php-sdk/issues/169 |
+| AlterNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/607 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/411 | https://github.com/ydb-platform/ydb-js-sdk/issues/472 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/356 | https://github.com/ydb-platform/ydb-rs-sdk/issues/300 | https://github.com/ydb-platform/ydb-php-sdk/issues/170 |
+| DropNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/608 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/412 | https://github.com/ydb-platform/ydb-js-sdk/issues/473 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/357 | https://github.com/ydb-platform/ydb-rs-sdk/issues/301 | https://github.com/ydb-platform/ydb-php-sdk/issues/171 |
+| DescribeNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/609 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/413 | https://github.com/ydb-platform/ydb-js-sdk/issues/474 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/358 | https://github.com/ydb-platform/ydb-rs-sdk/issues/302 | https://github.com/ydb-platform/ydb-php-sdk/issues/172 |
+| Session (leader election distributed lock) | + | https://github.com/ydb-platform/ydb-python-sdk/issues/610 | https://github.com/ydb-platform/ydb-go-sdk/issues/1753 | https://github.com/ydb-platform/ydb-java-sdk/issues/414 | https://github.com/ydb-platform/ydb-js-sdk/issues/475 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/359 | https://github.com/ydb-platform/ydb-rs-sdk/issues/303 | https://github.com/ydb-platform/ydb-php-sdk/issues/173 |
+| CreateTopic | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/415 | https://github.com/ydb-platform/ydb-js-sdk/issues/476 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/360 | https://github.com/ydb-platform/ydb-rs-sdk/issues/254 | https://github.com/ydb-platform/ydb-php-sdk/issues/174 |
+| DescribeTopic | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/416 | https://github.com/ydb-platform/ydb-js-sdk/issues/477 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/361 | https://github.com/ydb-platform/ydb-rs-sdk/issues/255 | https://github.com/ydb-platform/ydb-php-sdk/issues/175 |
+| AlterTopic | + | https://github.com/ydb-platform/ydb-python-sdk/issues/599 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/417 | https://github.com/ydb-platform/ydb-js-sdk/issues/478 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/362 | https://github.com/ydb-platform/ydb-rs-sdk/issues/256 | https://github.com/ydb-platform/ydb-php-sdk/issues/176 |
+| DropTopic | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/418 | https://github.com/ydb-platform/ydb-js-sdk/issues/479 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/363 | https://github.com/ydb-platform/ydb-rs-sdk/issues/257 | https://github.com/ydb-platform/ydb-php-sdk/issues/177 |
+| StreamWrite | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/419 | https://github.com/ydb-platform/ydb-js-sdk/issues/480 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/364 | https://github.com/ydb-platform/ydb-rs-sdk/issues/258 | https://github.com/ydb-platform/ydb-php-sdk/issues/178 |
+| StreamRead | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/420 | https://github.com/ydb-platform/ydb-js-sdk/issues/481 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/365 | https://github.com/ydb-platform/ydb-rs-sdk/issues/259 | https://github.com/ydb-platform/ydb-php-sdk/issues/179 |
+| CreateResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/611 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/421 | https://github.com/ydb-platform/ydb-js-sdk/issues/482 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/366 | https://github.com/ydb-platform/ydb-rs-sdk/issues/260 | https://github.com/ydb-platform/ydb-php-sdk/issues/221 |
+| AlterResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/612 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/422 | https://github.com/ydb-platform/ydb-js-sdk/issues/483 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/367 | https://github.com/ydb-platform/ydb-rs-sdk/issues/261 | https://github.com/ydb-platform/ydb-php-sdk/issues/222 |
+| DropResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/613 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/423 | https://github.com/ydb-platform/ydb-js-sdk/issues/484 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/368 | https://github.com/ydb-platform/ydb-rs-sdk/issues/262 | https://github.com/ydb-platform/ydb-php-sdk/issues/223 |
+| ListResources | + | https://github.com/ydb-platform/ydb-python-sdk/issues/614 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/424 | https://github.com/ydb-platform/ydb-js-sdk/issues/485 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/369 | https://github.com/ydb-platform/ydb-rs-sdk/issues/263 | https://github.com/ydb-platform/ydb-php-sdk/issues/224 |
+| DescribeResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/615 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/425 | https://github.com/ydb-platform/ydb-js-sdk/issues/486 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/370 | https://github.com/ydb-platform/ydb-rs-sdk/issues/264 | https://github.com/ydb-platform/ydb-php-sdk/issues/225 |
+| AcquireResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/616 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/426 | https://github.com/ydb-platform/ydb-js-sdk/issues/487 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/371 | https://github.com/ydb-platform/ydb-rs-sdk/issues/265 | https://github.com/ydb-platform/ydb-php-sdk/issues/226 |
+| Solomon / Monitoring | + | https://github.com/ydb-platform/ydb-python-sdk/issues/617 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/427 | https://github.com/ydb-platform/ydb-js-sdk/issues/488 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/372 | https://github.com/ydb-platform/ydb-rs-sdk/issues/266 | https://github.com/ydb-platform/ydb-php-sdk/issues/180 |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Monitoring** (sending SDK metrics to the monitoring system) |
| Solomon / Monitoring | + | https://github.com/ydb-platform/ydb-python-sdk/issues/617 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/427 | https://github.com/ydb-platform/ydb-js-sdk/issues/488 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/372 | https://github.com/ydb-platform/ydb-rs-sdk/issues/266 | https://github.com/ydb-platform/ydb-php-sdk/issues/180 |
```
created_at: 2025-04-28T06:55:53Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,137 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/312 | https://github.com/ydb-platform/ydb-rs-sdk/issues/270 | + |
+| Configure/enable GRPC KeepAlive | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/439 | https://github.com/ydb-platform/ydb-js-sdk/issues/499 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/313 | https://github.com/ydb-platform/ydb-rs-sdk/issues/271 | + |
+| Regular SLO testing on the latest code version | + | https://github.com/ydb-platform/ydb-python-sdk/issues/600 | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/446 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/314 | https://github.com/ydb-platform/ydb-rs-sdk/issues/235 | https://github.com/ydb-platform/ydb-php-sdk/issues/155 |
+| Issue templates on GitHub | https://github.com/ydb-platform/ydb-cpp-sdk/issues/452 | https://github.com/ydb-platform/ydb-python-sdk/issues/601 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/394 | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/272 | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | https://github.com/ydb-platform/ydb-cpp-sdk/issues/467 | https://github.com/ydb-platform/ydb-python-sdk/issues/591 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/395 | https://github.com/ydb-platform/ydb-js-sdk/issues/447 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/273 | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/156 |
+| Support for multiple IP addresses in the initial Endpoint DNS record | https://github.com/ydb-platform/ydb-cpp-sdk/issues/469 | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/440 | https://github.com/ydb-platform/ydb-js-sdk/issues/448 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/311 | https://github.com/ydb-platform/ydb-rs-sdk/issues/233 | https://github.com/ydb-platform/ydb-php-sdk/issues/196 |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/201 |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/449 | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/202 |
+| Automatic detection of the nearest DC/availability zone by TCP pings | https://github.com/ydb-platform/ydb-cpp-sdk/issues/453 | https://github.com/ydb-platform/ydb-python-sdk/issues/592 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/396 | https://github.com/ydb-platform/ydb-js-sdk/issues/450 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/315 | https://github.com/ydb-platform/ydb-rs-sdk/issues/236 | https://github.com/ydb-platform/ydb-php-sdk/issues/203 |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1746 | https://github.com/ydb-platform/ydb-java-sdk/issues/397 | https://github.com/ydb-platform/ydb-js-sdk/issues/451 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/316 | https://github.com/ydb-platform/ydb-rs-sdk/issues/237 | https://github.com/ydb-platform/ydb-php-sdk/issues/204 |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/205 |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/206 |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/441 | https://github.com/ydb-platform/ydb-js-sdk/issues/452 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/317 | https://github.com/ydb-platform/ydb-rs-sdk/issues/238 | https://github.com/ydb-platform/ydb-php-sdk/issues/207 |
+| Load balancing across all nodes of all local DCs | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/442 | https://github.com/ydb-platform/ydb-js-sdk/issues/453 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/318 | https://github.com/ydb-platform/ydb-rs-sdk/issues/239 | https://github.com/ydb-platform/ydb-php-sdk/issues/208 |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/454 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/319 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/157 |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/240 | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/209 |
+| Minimum number of sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/455 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/320 | https://github.com/ydb-platform/ydb-rs-sdk/issues/241 | https://github.com/ydb-platform/ydb-php-sdk/issues/210 |
+| Warm up the pool to the specified number of sessions when the pool is created | https://github.com/ydb-platform/ydb-cpp-sdk/issues/454 | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1747 | https://github.com/ydb-platform/ydb-java-sdk/issues/398 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/321 | https://github.com/ydb-platform/ydb-rs-sdk/issues/242 | https://github.com/ydb-platform/ydb-php-sdk/issues/211 |
+| Background KeepAlive for idle sessions in the pool | + | https://github.com/ydb-platform/ydb-python-sdk/issues/593 | https://github.com/ydb-platform/ydb-go-sdk/issues/1748 | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/212 |
+| Background closing of idle sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/456 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/322 | https://github.com/ydb-platform/ydb-rs-sdk/issues/243 | https://github.com/ydb-platform/ydb-php-sdk/issues/213 |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/214 |
+| Storage of sessions for possible future reuse | + | https://github.com/ydb-platform/ydb-python-sdk/issues/594 | https://github.com/ydb-platform/ydb-go-sdk/issues/1749 | https://github.com/ydb-platform/ydb-java-sdk/issues/399 | https://github.com/ydb-platform/ydb-js-sdk/issues/457 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/323 | https://github.com/ydb-platform/ydb-rs-sdk/issues/244 | https://github.com/ydb-platform/ydb-php-sdk/issues/215 |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/216 |
+| Retryer on the session pool (a repeat object is a transaction within a session) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/455 | https://github.com/ydb-platform/ydb-python-sdk/issues/595 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/400 | https://github.com/ydb-platform/ydb-js-sdk/issues/458 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/324 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/217 |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/459 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/325 | https://github.com/ydb-platform/ydb-rs-sdk/issues/274 | https://github.com/ydb-platform/ydb-php-sdk/issues/218 |
+| Support for server-side load balancing of sessions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/401 | https://github.com/ydb-platform/ydb-js-sdk/issues/460 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/326 | https://github.com/ydb-platform/ydb-rs-sdk/issues/275 | https://github.com/ydb-platform/ydb-php-sdk/issues/219 |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | https://github.com/ydb-platform/ydb-cpp-sdk/issues/456 | https://github.com/ydb-platform/ydb-python-sdk/issues/596 | https://github.com/ydb-platform/ydb-go-sdk/issues/1750 | https://github.com/ydb-platform/ydb-java-sdk/issues/402 | https://github.com/ydb-platform/ydb-js-sdk/issues/461 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/327 | https://github.com/ydb-platform/ydb-rs-sdk/issues/245 | https://github.com/ydb-platform/ydb-php-sdk/issues/158 |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/198 |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/309 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/199 |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/310 | + | + |
+| Set | https://github.com/ydb-platform/ydb-cpp-sdk/issues/470 | https://github.com/ydb-platform/ydb-python-sdk/issues/602 | https://github.com/ydb-platform/ydb-go-sdk/issues/1751 | https://github.com/ydb-platform/ydb-java-sdk/issues/443 | https://github.com/ydb-platform/ydb-js-sdk/issues/445 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/328 | https://github.com/ydb-platform/ydb-rs-sdk/issues/234 | https://github.com/ydb-platform/ydb-php-sdk/issues/197 |
+| Tuple | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/220 |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/329 | https://github.com/ydb-platform/ydb-rs-sdk/issues/246 | https://github.com/ydb-platform/ydb-php-sdk/issues/159 |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/160 |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/330 | https://github.com/ydb-platform/ydb-rs-sdk/issues/247 | https://github.com/ydb-platform/ydb-php-sdk/issues/161 |
+| DyNumber | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/331 | https://github.com/ydb-platform/ydb-rs-sdk/issues/248 | https://github.com/ydb-platform/ydb-php-sdk/issues/162 |
+| Decimal (120 bits) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/249 | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/200 |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| MakeDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/332 | https://github.com/ydb-platform/ydb-rs-sdk/issues/276 | + |
+| RemoveDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/333 | https://github.com/ydb-platform/ydb-rs-sdk/issues/277 | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/403 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/334 | https://github.com/ydb-platform/ydb-rs-sdk/issues/278 | + |
+| DescribePath | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/335 | https://github.com/ydb-platform/ydb-rs-sdk/issues/279 | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/163 |
+| CreateTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/336 | https://github.com/ydb-platform/ydb-rs-sdk/issues/280 | + |
+| DropTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/337 | https://github.com/ydb-platform/ydb-rs-sdk/issues/281 | + |
+| AlterTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/338 | https://github.com/ydb-platform/ydb-rs-sdk/issues/282 | + |
+| CopyTable | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/462 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/339 | https://github.com/ydb-platform/ydb-rs-sdk/issues/283 | + |
+| CopyTables | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/404 | https://github.com/ydb-platform/ydb-js-sdk/issues/463 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/340 | https://github.com/ydb-platform/ydb-rs-sdk/issues/284 | + |
+| DescribeTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/341 | https://github.com/ydb-platform/ydb-rs-sdk/issues/285 | + |
+| ExplainDataQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/464 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/342 | https://github.com/ydb-platform/ydb-rs-sdk/issues/286 | + |
+| PrepareDataQuery | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/343 | https://github.com/ydb-platform/ydb-rs-sdk/issues/287 | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/457 | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/288 | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/289 | + |
+| Truncated result as an error (by default) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/458 | https://github.com/ydb-platform/ydb-python-sdk/issues/597 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/444 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/344 | https://github.com/ydb-platform/ydb-rs-sdk/issues/290 | + |
+| Truncated result as an error (as an opt-in opt-out option) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/459 | https://github.com/ydb-platform/ydb-python-sdk/issues/598 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/445 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/345 | https://github.com/ydb-platform/ydb-rs-sdk/issues/291 | https://github.com/ydb-platform/ydb-php-sdk/issues/164 |
+| ExecuteSchemeQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/465 | + | + | + |
+| BeginTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/346 | https://github.com/ydb-platform/ydb-rs-sdk/issues/292 | + |
+| CommitTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/347 | https://github.com/ydb-platform/ydb-rs-sdk/issues/293 | + |
+| RollbackTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/348 | https://github.com/ydb-platform/ydb-rs-sdk/issues/294 | + |
+| DescribeTableOptions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/405 | https://github.com/ydb-platform/ydb-js-sdk/issues/466 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/349 | https://github.com/ydb-platform/ydb-rs-sdk/issues/295 | https://github.com/ydb-platform/ydb-php-sdk/issues/165 |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/250 | + |
+| BulkUpsert | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/350 | https://github.com/ydb-platform/ydb-rs-sdk/issues/251 | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1752 | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/351 | https://github.com/ydb-platform/ydb-rs-sdk/issues/252 | https://github.com/ydb-platform/ydb-php-sdk/issues/166 |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/406 | https://github.com/ydb-platform/ydb-js-sdk/issues/467 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/253 | https://github.com/ydb-platform/ydb-php-sdk/issues/167 |
+| ExecuteYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/603 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/407 | https://github.com/ydb-platform/ydb-js-sdk/issues/468 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/352 | https://github.com/ydb-platform/ydb-rs-sdk/issues/296 | + |
+| ExplainYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/604 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/408 | https://github.com/ydb-platform/ydb-js-sdk/issues/469 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/353 | https://github.com/ydb-platform/ydb-rs-sdk/issues/297 | + |
+| StreamExecuteYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/605 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/409 | https://github.com/ydb-platform/ydb-js-sdk/issues/470 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/354 | https://github.com/ydb-platform/ydb-rs-sdk/issues/298 | https://github.com/ydb-platform/ydb-php-sdk/issues/168 |
+| CreateNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/606 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/410 | https://github.com/ydb-platform/ydb-js-sdk/issues/471 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/355 | https://github.com/ydb-platform/ydb-rs-sdk/issues/299 | https://github.com/ydb-platform/ydb-php-sdk/issues/169 |
+| AlterNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/607 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/411 | https://github.com/ydb-platform/ydb-js-sdk/issues/472 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/356 | https://github.com/ydb-platform/ydb-rs-sdk/issues/300 | https://github.com/ydb-platform/ydb-php-sdk/issues/170 |
+| DropNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/608 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/412 | https://github.com/ydb-platform/ydb-js-sdk/issues/473 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/357 | https://github.com/ydb-platform/ydb-rs-sdk/issues/301 | https://github.com/ydb-platform/ydb-php-sdk/issues/171 |
+| DescribeNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/609 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/413 | https://github.com/ydb-platform/ydb-js-sdk/issues/474 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/358 | https://github.com/ydb-platform/ydb-rs-sdk/issues/302 | https://github.com/ydb-platform/ydb-php-sdk/issues/172 |
+| Session (leader election distributed lock) | + | https://github.com/ydb-platform/ydb-python-sdk/issues/610 | https://github.com/ydb-platform/ydb-go-sdk/issues/1753 | https://github.com/ydb-platform/ydb-java-sdk/issues/414 | https://github.com/ydb-platform/ydb-js-sdk/issues/475 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/359 | https://github.com/ydb-platform/ydb-rs-sdk/issues/303 | https://github.com/ydb-platform/ydb-php-sdk/issues/173 |
+| CreateTopic | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/415 | https://github.com/ydb-platform/ydb-js-sdk/issues/476 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/360 | https://github.com/ydb-platform/ydb-rs-sdk/issues/254 | https://github.com/ydb-platform/ydb-php-sdk/issues/174 |
+| DescribeTopic | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/416 | https://github.com/ydb-platform/ydb-js-sdk/issues/477 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/361 | https://github.com/ydb-platform/ydb-rs-sdk/issues/255 | https://github.com/ydb-platform/ydb-php-sdk/issues/175 |
+| AlterTopic | + | https://github.com/ydb-platform/ydb-python-sdk/issues/599 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/417 | https://github.com/ydb-platform/ydb-js-sdk/issues/478 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/362 | https://github.com/ydb-platform/ydb-rs-sdk/issues/256 | https://github.com/ydb-platform/ydb-php-sdk/issues/176 |
+| DropTopic | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/418 | https://github.com/ydb-platform/ydb-js-sdk/issues/479 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/363 | https://github.com/ydb-platform/ydb-rs-sdk/issues/257 | https://github.com/ydb-platform/ydb-php-sdk/issues/177 |
+| StreamWrite | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/419 | https://github.com/ydb-platform/ydb-js-sdk/issues/480 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/364 | https://github.com/ydb-platform/ydb-rs-sdk/issues/258 | https://github.com/ydb-platform/ydb-php-sdk/issues/178 |
+| StreamRead | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/420 | https://github.com/ydb-platform/ydb-js-sdk/issues/481 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/365 | https://github.com/ydb-platform/ydb-rs-sdk/issues/259 | https://github.com/ydb-platform/ydb-php-sdk/issues/179 |
+| CreateResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/611 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/421 | https://github.com/ydb-platform/ydb-js-sdk/issues/482 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/366 | https://github.com/ydb-platform/ydb-rs-sdk/issues/260 | https://github.com/ydb-platform/ydb-php-sdk/issues/221 |
+| AlterResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/612 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/422 | https://github.com/ydb-platform/ydb-js-sdk/issues/483 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/367 | https://github.com/ydb-platform/ydb-rs-sdk/issues/261 | https://github.com/ydb-platform/ydb-php-sdk/issues/222 |
+| DropResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/613 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/423 | https://github.com/ydb-platform/ydb-js-sdk/issues/484 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/368 | https://github.com/ydb-platform/ydb-rs-sdk/issues/262 | https://github.com/ydb-platform/ydb-php-sdk/issues/223 |
+| ListResources | + | https://github.com/ydb-platform/ydb-python-sdk/issues/614 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/424 | https://github.com/ydb-platform/ydb-js-sdk/issues/485 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/369 | https://github.com/ydb-platform/ydb-rs-sdk/issues/263 | https://github.com/ydb-platform/ydb-php-sdk/issues/224 |
+| DescribeResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/615 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/425 | https://github.com/ydb-platform/ydb-js-sdk/issues/486 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/370 | https://github.com/ydb-platform/ydb-rs-sdk/issues/264 | https://github.com/ydb-platform/ydb-php-sdk/issues/225 |
+| AcquireResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/616 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/426 | https://github.com/ydb-platform/ydb-js-sdk/issues/487 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/371 | https://github.com/ydb-platform/ydb-rs-sdk/issues/265 | https://github.com/ydb-platform/ydb-php-sdk/issues/226 |
+| Solomon / Monitoring | + | https://github.com/ydb-platform/ydb-python-sdk/issues/617 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/427 | https://github.com/ydb-platform/ydb-js-sdk/issues/488 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/372 | https://github.com/ydb-platform/ydb-rs-sdk/issues/266 | https://github.com/ydb-platform/ydb-php-sdk/issues/180 |
+| Prometheus | https://github.com/ydb-platform/ydb-cpp-sdk/issues/460 | https://github.com/ydb-platform/ydb-python-sdk/issues/618 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/428 | https://github.com/ydb-platform/ydb-js-sdk/issues/489 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/373 | https://github.com/ydb-platform/ydb-rs-sdk/issues/267 | https://github.com/ydb-platform/ydb-php-sdk/issues/181 |
+| SDK event logging | https://github.com/ydb-platform/ydb-cpp-sdk/issues/461 | https://github.com/ydb-platform/ydb-python-sdk/issues/619 | + | + | + | + | + | + |
+| in OpenTelemetry | https://github.com/ydb-platform/ydb-cpp-sdk/issues/462 | https://github.com/ydb-platform/ydb-python-sdk/issues/620 | https://github.com/ydb-platform/ydb-go-sdk/issues/1754 | https://github.com/ydb-platform/ydb-java-sdk/issues/429 | https://github.com/ydb-platform/ydb-js-sdk/issues/490 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/374 | https://github.com/ydb-platform/ydb-rs-sdk/issues/268 | https://github.com/ydb-platform/ydb-php-sdk/issues/182 |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| SDK event **tracing** |
| in OpenTelemetry | https://github.com/ydb-platform/ydb-cpp-sdk/issues/462 | https://github.com/ydb-platform/ydb-python-sdk/issues/620 | https://github.com/ydb-platform/ydb-go-sdk/issues/1754 | https://github.com/ydb-platform/ydb-java-sdk/issues/429 | https://github.com/ydb-platform/ydb-js-sdk/issues/490 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/374 | https://github.com/ydb-platform/ydb-rs-sdk/issues/268 | https://github.com/ydb-platform/ydb-php-sdk/issues/182 |
```
created_at: 2025-04-28T06:56:16Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,137 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/312 | https://github.com/ydb-platform/ydb-rs-sdk/issues/270 | + |
+| Configure/enable GRPC KeepAlive | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/439 | https://github.com/ydb-platform/ydb-js-sdk/issues/499 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/313 | https://github.com/ydb-platform/ydb-rs-sdk/issues/271 | + |
+| Regular SLO testing on the latest code version | + | https://github.com/ydb-platform/ydb-python-sdk/issues/600 | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/446 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/314 | https://github.com/ydb-platform/ydb-rs-sdk/issues/235 | https://github.com/ydb-platform/ydb-php-sdk/issues/155 |
+| Issue templates on GitHub | https://github.com/ydb-platform/ydb-cpp-sdk/issues/452 | https://github.com/ydb-platform/ydb-python-sdk/issues/601 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/394 | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/272 | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | https://github.com/ydb-platform/ydb-cpp-sdk/issues/467 | https://github.com/ydb-platform/ydb-python-sdk/issues/591 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/395 | https://github.com/ydb-platform/ydb-js-sdk/issues/447 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/273 | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/156 |
+| Support for multiple IP addresses in the initial Endpoint DNS record | https://github.com/ydb-platform/ydb-cpp-sdk/issues/469 | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/440 | https://github.com/ydb-platform/ydb-js-sdk/issues/448 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/311 | https://github.com/ydb-platform/ydb-rs-sdk/issues/233 | https://github.com/ydb-platform/ydb-php-sdk/issues/196 |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/201 |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/449 | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/202 |
+| Automatic detection of the nearest DC/availability zone by TCP pings | https://github.com/ydb-platform/ydb-cpp-sdk/issues/453 | https://github.com/ydb-platform/ydb-python-sdk/issues/592 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/396 | https://github.com/ydb-platform/ydb-js-sdk/issues/450 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/315 | https://github.com/ydb-platform/ydb-rs-sdk/issues/236 | https://github.com/ydb-platform/ydb-php-sdk/issues/203 |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1746 | https://github.com/ydb-platform/ydb-java-sdk/issues/397 | https://github.com/ydb-platform/ydb-js-sdk/issues/451 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/316 | https://github.com/ydb-platform/ydb-rs-sdk/issues/237 | https://github.com/ydb-platform/ydb-php-sdk/issues/204 |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/205 |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/206 |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/441 | https://github.com/ydb-platform/ydb-js-sdk/issues/452 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/317 | https://github.com/ydb-platform/ydb-rs-sdk/issues/238 | https://github.com/ydb-platform/ydb-php-sdk/issues/207 |
+| Load balancing across all nodes of all local DCs | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/442 | https://github.com/ydb-platform/ydb-js-sdk/issues/453 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/318 | https://github.com/ydb-platform/ydb-rs-sdk/issues/239 | https://github.com/ydb-platform/ydb-php-sdk/issues/208 |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/454 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/319 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/157 |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/240 | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/209 |
+| Minimum number of sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/455 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/320 | https://github.com/ydb-platform/ydb-rs-sdk/issues/241 | https://github.com/ydb-platform/ydb-php-sdk/issues/210 |
+| Warm up the pool to the specified number of sessions when the pool is created | https://github.com/ydb-platform/ydb-cpp-sdk/issues/454 | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1747 | https://github.com/ydb-platform/ydb-java-sdk/issues/398 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/321 | https://github.com/ydb-platform/ydb-rs-sdk/issues/242 | https://github.com/ydb-platform/ydb-php-sdk/issues/211 |
+| Background KeepAlive for idle sessions in the pool | + | https://github.com/ydb-platform/ydb-python-sdk/issues/593 | https://github.com/ydb-platform/ydb-go-sdk/issues/1748 | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/212 |
+| Background closing of idle sessions in the pool | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/456 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/322 | https://github.com/ydb-platform/ydb-rs-sdk/issues/243 | https://github.com/ydb-platform/ydb-php-sdk/issues/213 |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/214 |
+| Storage of sessions for possible future reuse | + | https://github.com/ydb-platform/ydb-python-sdk/issues/594 | https://github.com/ydb-platform/ydb-go-sdk/issues/1749 | https://github.com/ydb-platform/ydb-java-sdk/issues/399 | https://github.com/ydb-platform/ydb-js-sdk/issues/457 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/323 | https://github.com/ydb-platform/ydb-rs-sdk/issues/244 | https://github.com/ydb-platform/ydb-php-sdk/issues/215 |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/216 |
+| Retryer on the session pool (a repeat object is a transaction within a session) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/455 | https://github.com/ydb-platform/ydb-python-sdk/issues/595 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/400 | https://github.com/ydb-platform/ydb-js-sdk/issues/458 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/324 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/217 |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/459 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/325 | https://github.com/ydb-platform/ydb-rs-sdk/issues/274 | https://github.com/ydb-platform/ydb-php-sdk/issues/218 |
+| Support for server-side load balancing of sessions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/401 | https://github.com/ydb-platform/ydb-js-sdk/issues/460 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/326 | https://github.com/ydb-platform/ydb-rs-sdk/issues/275 | https://github.com/ydb-platform/ydb-php-sdk/issues/219 |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | https://github.com/ydb-platform/ydb-cpp-sdk/issues/456 | https://github.com/ydb-platform/ydb-python-sdk/issues/596 | https://github.com/ydb-platform/ydb-go-sdk/issues/1750 | https://github.com/ydb-platform/ydb-java-sdk/issues/402 | https://github.com/ydb-platform/ydb-js-sdk/issues/461 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/327 | https://github.com/ydb-platform/ydb-rs-sdk/issues/245 | https://github.com/ydb-platform/ydb-php-sdk/issues/158 |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/198 |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/309 | + | https://github.com/ydb-platform/ydb-php-sdk/issues/199 |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/310 | + | + |
+| Set | https://github.com/ydb-platform/ydb-cpp-sdk/issues/470 | https://github.com/ydb-platform/ydb-python-sdk/issues/602 | https://github.com/ydb-platform/ydb-go-sdk/issues/1751 | https://github.com/ydb-platform/ydb-java-sdk/issues/443 | https://github.com/ydb-platform/ydb-js-sdk/issues/445 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/328 | https://github.com/ydb-platform/ydb-rs-sdk/issues/234 | https://github.com/ydb-platform/ydb-php-sdk/issues/197 |
+| Tuple | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/220 |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/329 | https://github.com/ydb-platform/ydb-rs-sdk/issues/246 | https://github.com/ydb-platform/ydb-php-sdk/issues/159 |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/160 |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/330 | https://github.com/ydb-platform/ydb-rs-sdk/issues/247 | https://github.com/ydb-platform/ydb-php-sdk/issues/161 |
+| DyNumber | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/331 | https://github.com/ydb-platform/ydb-rs-sdk/issues/248 | https://github.com/ydb-platform/ydb-php-sdk/issues/162 |
+| Decimal (120 bits) | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/249 | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/200 |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| MakeDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/332 | https://github.com/ydb-platform/ydb-rs-sdk/issues/276 | + |
+| RemoveDirectory | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/333 | https://github.com/ydb-platform/ydb-rs-sdk/issues/277 | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/403 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/334 | https://github.com/ydb-platform/ydb-rs-sdk/issues/278 | + |
+| DescribePath | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/335 | https://github.com/ydb-platform/ydb-rs-sdk/issues/279 | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-php-sdk/issues/163 |
+| CreateTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/336 | https://github.com/ydb-platform/ydb-rs-sdk/issues/280 | + |
+| DropTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/337 | https://github.com/ydb-platform/ydb-rs-sdk/issues/281 | + |
+| AlterTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/338 | https://github.com/ydb-platform/ydb-rs-sdk/issues/282 | + |
+| CopyTable | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/462 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/339 | https://github.com/ydb-platform/ydb-rs-sdk/issues/283 | + |
+| CopyTables | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/404 | https://github.com/ydb-platform/ydb-js-sdk/issues/463 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/340 | https://github.com/ydb-platform/ydb-rs-sdk/issues/284 | + |
+| DescribeTable | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/341 | https://github.com/ydb-platform/ydb-rs-sdk/issues/285 | + |
+| ExplainDataQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/464 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/342 | https://github.com/ydb-platform/ydb-rs-sdk/issues/286 | + |
+| PrepareDataQuery | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/343 | https://github.com/ydb-platform/ydb-rs-sdk/issues/287 | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/457 | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/288 | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/289 | + |
+| Truncated result as an error (by default) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/458 | https://github.com/ydb-platform/ydb-python-sdk/issues/597 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/444 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/344 | https://github.com/ydb-platform/ydb-rs-sdk/issues/290 | + |
+| Truncated result as an error (as an opt-in opt-out option) | https://github.com/ydb-platform/ydb-cpp-sdk/issues/459 | https://github.com/ydb-platform/ydb-python-sdk/issues/598 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/445 | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/345 | https://github.com/ydb-platform/ydb-rs-sdk/issues/291 | https://github.com/ydb-platform/ydb-php-sdk/issues/164 |
+| ExecuteSchemeQuery | + | + | + | + | https://github.com/ydb-platform/ydb-js-sdk/issues/465 | + | + | + |
+| BeginTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/346 | https://github.com/ydb-platform/ydb-rs-sdk/issues/292 | + |
+| CommitTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/347 | https://github.com/ydb-platform/ydb-rs-sdk/issues/293 | + |
+| RollbackTransaction | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/348 | https://github.com/ydb-platform/ydb-rs-sdk/issues/294 | + |
+| DescribeTableOptions | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/405 | https://github.com/ydb-platform/ydb-js-sdk/issues/466 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/349 | https://github.com/ydb-platform/ydb-rs-sdk/issues/295 | https://github.com/ydb-platform/ydb-php-sdk/issues/165 |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/250 | + |
+| BulkUpsert | + | + | + | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/350 | https://github.com/ydb-platform/ydb-rs-sdk/issues/251 | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | https://github.com/ydb-platform/ydb-go-sdk/issues/1752 | + | + | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/351 | https://github.com/ydb-platform/ydb-rs-sdk/issues/252 | https://github.com/ydb-platform/ydb-php-sdk/issues/166 |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/406 | https://github.com/ydb-platform/ydb-js-sdk/issues/467 | + | https://github.com/ydb-platform/ydb-rs-sdk/issues/253 | https://github.com/ydb-platform/ydb-php-sdk/issues/167 |
+| ExecuteYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/603 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/407 | https://github.com/ydb-platform/ydb-js-sdk/issues/468 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/352 | https://github.com/ydb-platform/ydb-rs-sdk/issues/296 | + |
+| ExplainYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/604 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/408 | https://github.com/ydb-platform/ydb-js-sdk/issues/469 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/353 | https://github.com/ydb-platform/ydb-rs-sdk/issues/297 | + |
+| StreamExecuteYql | + | https://github.com/ydb-platform/ydb-python-sdk/issues/605 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/409 | https://github.com/ydb-platform/ydb-js-sdk/issues/470 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/354 | https://github.com/ydb-platform/ydb-rs-sdk/issues/298 | https://github.com/ydb-platform/ydb-php-sdk/issues/168 |
+| CreateNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/606 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/410 | https://github.com/ydb-platform/ydb-js-sdk/issues/471 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/355 | https://github.com/ydb-platform/ydb-rs-sdk/issues/299 | https://github.com/ydb-platform/ydb-php-sdk/issues/169 |
+| AlterNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/607 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/411 | https://github.com/ydb-platform/ydb-js-sdk/issues/472 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/356 | https://github.com/ydb-platform/ydb-rs-sdk/issues/300 | https://github.com/ydb-platform/ydb-php-sdk/issues/170 |
+| DropNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/608 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/412 | https://github.com/ydb-platform/ydb-js-sdk/issues/473 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/357 | https://github.com/ydb-platform/ydb-rs-sdk/issues/301 | https://github.com/ydb-platform/ydb-php-sdk/issues/171 |
+| DescribeNode | + | https://github.com/ydb-platform/ydb-python-sdk/issues/609 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/413 | https://github.com/ydb-platform/ydb-js-sdk/issues/474 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/358 | https://github.com/ydb-platform/ydb-rs-sdk/issues/302 | https://github.com/ydb-platform/ydb-php-sdk/issues/172 |
+| Session (leader election distributed lock) | + | https://github.com/ydb-platform/ydb-python-sdk/issues/610 | https://github.com/ydb-platform/ydb-go-sdk/issues/1753 | https://github.com/ydb-platform/ydb-java-sdk/issues/414 | https://github.com/ydb-platform/ydb-js-sdk/issues/475 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/359 | https://github.com/ydb-platform/ydb-rs-sdk/issues/303 | https://github.com/ydb-platform/ydb-php-sdk/issues/173 |
+| CreateTopic | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/415 | https://github.com/ydb-platform/ydb-js-sdk/issues/476 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/360 | https://github.com/ydb-platform/ydb-rs-sdk/issues/254 | https://github.com/ydb-platform/ydb-php-sdk/issues/174 |
+| DescribeTopic | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/416 | https://github.com/ydb-platform/ydb-js-sdk/issues/477 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/361 | https://github.com/ydb-platform/ydb-rs-sdk/issues/255 | https://github.com/ydb-platform/ydb-php-sdk/issues/175 |
+| AlterTopic | + | https://github.com/ydb-platform/ydb-python-sdk/issues/599 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/417 | https://github.com/ydb-platform/ydb-js-sdk/issues/478 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/362 | https://github.com/ydb-platform/ydb-rs-sdk/issues/256 | https://github.com/ydb-platform/ydb-php-sdk/issues/176 |
+| DropTopic | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/418 | https://github.com/ydb-platform/ydb-js-sdk/issues/479 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/363 | https://github.com/ydb-platform/ydb-rs-sdk/issues/257 | https://github.com/ydb-platform/ydb-php-sdk/issues/177 |
+| StreamWrite | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/419 | https://github.com/ydb-platform/ydb-js-sdk/issues/480 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/364 | https://github.com/ydb-platform/ydb-rs-sdk/issues/258 | https://github.com/ydb-platform/ydb-php-sdk/issues/178 |
+| StreamRead | + | + | + | https://github.com/ydb-platform/ydb-java-sdk/issues/420 | https://github.com/ydb-platform/ydb-js-sdk/issues/481 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/365 | https://github.com/ydb-platform/ydb-rs-sdk/issues/259 | https://github.com/ydb-platform/ydb-php-sdk/issues/179 |
+| CreateResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/611 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/421 | https://github.com/ydb-platform/ydb-js-sdk/issues/482 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/366 | https://github.com/ydb-platform/ydb-rs-sdk/issues/260 | https://github.com/ydb-platform/ydb-php-sdk/issues/221 |
+| AlterResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/612 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/422 | https://github.com/ydb-platform/ydb-js-sdk/issues/483 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/367 | https://github.com/ydb-platform/ydb-rs-sdk/issues/261 | https://github.com/ydb-platform/ydb-php-sdk/issues/222 |
+| DropResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/613 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/423 | https://github.com/ydb-platform/ydb-js-sdk/issues/484 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/368 | https://github.com/ydb-platform/ydb-rs-sdk/issues/262 | https://github.com/ydb-platform/ydb-php-sdk/issues/223 |
+| ListResources | + | https://github.com/ydb-platform/ydb-python-sdk/issues/614 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/424 | https://github.com/ydb-platform/ydb-js-sdk/issues/485 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/369 | https://github.com/ydb-platform/ydb-rs-sdk/issues/263 | https://github.com/ydb-platform/ydb-php-sdk/issues/224 |
+| DescribeResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/615 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/425 | https://github.com/ydb-platform/ydb-js-sdk/issues/486 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/370 | https://github.com/ydb-platform/ydb-rs-sdk/issues/264 | https://github.com/ydb-platform/ydb-php-sdk/issues/225 |
+| AcquireResource | + | https://github.com/ydb-platform/ydb-python-sdk/issues/616 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/426 | https://github.com/ydb-platform/ydb-js-sdk/issues/487 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/371 | https://github.com/ydb-platform/ydb-rs-sdk/issues/265 | https://github.com/ydb-platform/ydb-php-sdk/issues/226 |
+| Solomon / Monitoring | + | https://github.com/ydb-platform/ydb-python-sdk/issues/617 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/427 | https://github.com/ydb-platform/ydb-js-sdk/issues/488 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/372 | https://github.com/ydb-platform/ydb-rs-sdk/issues/266 | https://github.com/ydb-platform/ydb-php-sdk/issues/180 |
+| Prometheus | https://github.com/ydb-platform/ydb-cpp-sdk/issues/460 | https://github.com/ydb-platform/ydb-python-sdk/issues/618 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/428 | https://github.com/ydb-platform/ydb-js-sdk/issues/489 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/373 | https://github.com/ydb-platform/ydb-rs-sdk/issues/267 | https://github.com/ydb-platform/ydb-php-sdk/issues/181 |
+| SDK event logging | https://github.com/ydb-platform/ydb-cpp-sdk/issues/461 | https://github.com/ydb-platform/ydb-python-sdk/issues/619 | + | + | + | + | + | + |
+| in OpenTelemetry | https://github.com/ydb-platform/ydb-cpp-sdk/issues/462 | https://github.com/ydb-platform/ydb-python-sdk/issues/620 | https://github.com/ydb-platform/ydb-go-sdk/issues/1754 | https://github.com/ydb-platform/ydb-java-sdk/issues/429 | https://github.com/ydb-platform/ydb-js-sdk/issues/490 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/374 | https://github.com/ydb-platform/ydb-rs-sdk/issues/268 | https://github.com/ydb-platform/ydb-php-sdk/issues/182 |
+| in OpenTracing | https://github.com/ydb-platform/ydb-cpp-sdk/issues/463 | https://github.com/ydb-platform/ydb-python-sdk/issues/621 | + | https://github.com/ydb-platform/ydb-java-sdk/issues/430 | https://github.com/ydb-platform/ydb-js-sdk/issues/491 | https://github.com/ydb-platform/ydb-dotnet-sdk/issues/375 | https://github.com/ydb-platform/ydb-rs-sdk/issues/269 | https://github.com/ydb-platform/ydb-php-sdk/issues/183 |
+| token | https://github.com/ydb-platform/ydb-cpp-sdk/issues/471 | https://github.com/ydb-platform/ydb-python-sdk/issues/622 | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Examples** |
| Auth |
| token | https://github.com/ydb-platform/ydb-cpp-sdk/issues/471 | https://github.com/ydb-platform/ydb-python-sdk/issues/622 | + | + | + | + | + | + |
```
created_at: 2025-04-28T06:56:59Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,147 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
```
created_at: 2025-04-28T06:57:37Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,132 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
-| **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Client-side balancing** |
| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
```
created_at: 2025-04-28T09:40:20Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,132 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
-| **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
```
created_at: 2025-04-28T09:41:01Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,132 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
-| **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Support for YDB data types** |
| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
```
created_at: 2025-04-28T09:41:37Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,132 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
-| **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Scheme client** |
| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
```
created_at: 2025-04-28T09:42:33Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,132 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
-| **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
+| CreateSession | + | + | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Table service** |
| CreateSession | + | + | + | + | + | + | + | + |
```
created_at: 2025-04-28T09:42:50Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,132 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
-| **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Operation service** |
| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
```
created_at: 2025-04-28T09:43:26Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,132 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
-| **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **ScriptingYQL service** |
| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
```
created_at: 2025-04-28T09:43:46Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,132 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
-| **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Coordination service** |
| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
```
created_at: 2025-04-28T09:44:05Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,132 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
-| **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | + | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | + | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | + | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | + | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | + | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | + | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
+| CreateTopic | + | + | + | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Topic service** |
| CreateTopic | + | + | + | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
```
created_at: 2025-04-28T09:44:25Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,132 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
-| **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | + | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | + | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | + | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | + | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | + | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | + | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
+| CreateTopic | + | + | + | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
+| DescribeTopic | + | + | + | [![issue 416 status](https://github.ydb.tech/issues/ydb-java-sdk/416)](https://github\.com/ydb-platform/ydb-java-sdk/issues/416) | [![issue 477 status](https://github.ydb.tech/issues/ydb-js-sdk/477)](https://github\.com/ydb-platform/ydb-js-sdk/issues/477) | [![issue 361 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/361)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/361) | [![issue 255 status](https://github.ydb.tech/issues/ydb-rs-sdk/255)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/255) | [![issue 175 status](https://github.ydb.tech/issues/ydb-php-sdk/175)](https://github\.com/ydb-platform/ydb-php-sdk/issues/175) |
+| AlterTopic | + | [![issue 599 status](https://github.ydb.tech/issues/ydb-python-sdk/599)](https://github\.com/ydb-platform/ydb-python-sdk/issues/599) | + | [![issue 417 status](https://github.ydb.tech/issues/ydb-java-sdk/417)](https://github\.com/ydb-platform/ydb-java-sdk/issues/417) | [![issue 478 status](https://github.ydb.tech/issues/ydb-js-sdk/478)](https://github\.com/ydb-platform/ydb-js-sdk/issues/478) | [![issue 362 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/362)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/362) | [![issue 256 status](https://github.ydb.tech/issues/ydb-rs-sdk/256)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/256) | [![issue 176 status](https://github.ydb.tech/issues/ydb-php-sdk/176)](https://github\.com/ydb-platform/ydb-php-sdk/issues/176) |
+| DropTopic | + | + | + | [![issue 418 status](https://github.ydb.tech/issues/ydb-java-sdk/418)](https://github\.com/ydb-platform/ydb-java-sdk/issues/418) | [![issue 479 status](https://github.ydb.tech/issues/ydb-js-sdk/479)](https://github\.com/ydb-platform/ydb-js-sdk/issues/479) | [![issue 363 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/363)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/363) | [![issue 257 status](https://github.ydb.tech/issues/ydb-rs-sdk/257)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/257) | [![issue 177 status](https://github.ydb.tech/issues/ydb-php-sdk/177)](https://github\.com/ydb-platform/ydb-php-sdk/issues/177) |
+| StreamWrite | + | + | + | [![issue 419 status](https://github.ydb.tech/issues/ydb-java-sdk/419)](https://github\.com/ydb-platform/ydb-java-sdk/issues/419) | [![issue 480 status](https://github.ydb.tech/issues/ydb-js-sdk/480)](https://github\.com/ydb-platform/ydb-js-sdk/issues/480) | [![issue 364 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/364)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/364) | [![issue 258 status](https://github.ydb.tech/issues/ydb-rs-sdk/258)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/258) | [![issue 178 status](https://github.ydb.tech/issues/ydb-php-sdk/178)](https://github\.com/ydb-platform/ydb-php-sdk/issues/178) |
+| StreamRead | + | + | + | [![issue 420 status](https://github.ydb.tech/issues/ydb-java-sdk/420)](https://github\.com/ydb-platform/ydb-java-sdk/issues/420) | [![issue 481 status](https://github.ydb.tech/issues/ydb-js-sdk/481)](https://github\.com/ydb-platform/ydb-js-sdk/issues/481) | [![issue 365 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/365)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/365) | [![issue 259 status](https://github.ydb.tech/issues/ydb-rs-sdk/259)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/259) | [![issue 179 status](https://github.ydb.tech/issues/ydb-php-sdk/179)](https://github\.com/ydb-platform/ydb-php-sdk/issues/179) |
+| CreateResource | + | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | + | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Ratelimiter service** |
| CreateResource | + | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | + | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
```
created_at: 2025-04-28T09:44:46Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,132 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
-| **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | + | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | + | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | + | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | + | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | + | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | + | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
+| CreateTopic | + | + | + | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
+| DescribeTopic | + | + | + | [![issue 416 status](https://github.ydb.tech/issues/ydb-java-sdk/416)](https://github\.com/ydb-platform/ydb-java-sdk/issues/416) | [![issue 477 status](https://github.ydb.tech/issues/ydb-js-sdk/477)](https://github\.com/ydb-platform/ydb-js-sdk/issues/477) | [![issue 361 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/361)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/361) | [![issue 255 status](https://github.ydb.tech/issues/ydb-rs-sdk/255)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/255) | [![issue 175 status](https://github.ydb.tech/issues/ydb-php-sdk/175)](https://github\.com/ydb-platform/ydb-php-sdk/issues/175) |
+| AlterTopic | + | [![issue 599 status](https://github.ydb.tech/issues/ydb-python-sdk/599)](https://github\.com/ydb-platform/ydb-python-sdk/issues/599) | + | [![issue 417 status](https://github.ydb.tech/issues/ydb-java-sdk/417)](https://github\.com/ydb-platform/ydb-java-sdk/issues/417) | [![issue 478 status](https://github.ydb.tech/issues/ydb-js-sdk/478)](https://github\.com/ydb-platform/ydb-js-sdk/issues/478) | [![issue 362 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/362)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/362) | [![issue 256 status](https://github.ydb.tech/issues/ydb-rs-sdk/256)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/256) | [![issue 176 status](https://github.ydb.tech/issues/ydb-php-sdk/176)](https://github\.com/ydb-platform/ydb-php-sdk/issues/176) |
+| DropTopic | + | + | + | [![issue 418 status](https://github.ydb.tech/issues/ydb-java-sdk/418)](https://github\.com/ydb-platform/ydb-java-sdk/issues/418) | [![issue 479 status](https://github.ydb.tech/issues/ydb-js-sdk/479)](https://github\.com/ydb-platform/ydb-js-sdk/issues/479) | [![issue 363 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/363)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/363) | [![issue 257 status](https://github.ydb.tech/issues/ydb-rs-sdk/257)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/257) | [![issue 177 status](https://github.ydb.tech/issues/ydb-php-sdk/177)](https://github\.com/ydb-platform/ydb-php-sdk/issues/177) |
+| StreamWrite | + | + | + | [![issue 419 status](https://github.ydb.tech/issues/ydb-java-sdk/419)](https://github\.com/ydb-platform/ydb-java-sdk/issues/419) | [![issue 480 status](https://github.ydb.tech/issues/ydb-js-sdk/480)](https://github\.com/ydb-platform/ydb-js-sdk/issues/480) | [![issue 364 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/364)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/364) | [![issue 258 status](https://github.ydb.tech/issues/ydb-rs-sdk/258)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/258) | [![issue 178 status](https://github.ydb.tech/issues/ydb-php-sdk/178)](https://github\.com/ydb-platform/ydb-php-sdk/issues/178) |
+| StreamRead | + | + | + | [![issue 420 status](https://github.ydb.tech/issues/ydb-java-sdk/420)](https://github\.com/ydb-platform/ydb-java-sdk/issues/420) | [![issue 481 status](https://github.ydb.tech/issues/ydb-js-sdk/481)](https://github\.com/ydb-platform/ydb-js-sdk/issues/481) | [![issue 365 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/365)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/365) | [![issue 259 status](https://github.ydb.tech/issues/ydb-rs-sdk/259)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/259) | [![issue 179 status](https://github.ydb.tech/issues/ydb-php-sdk/179)](https://github\.com/ydb-platform/ydb-php-sdk/issues/179) |
+| CreateResource | + | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | + | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
+| AlterResource | + | [![issue 612 status](https://github.ydb.tech/issues/ydb-python-sdk/612)](https://github\.com/ydb-platform/ydb-python-sdk/issues/612) | + | [![issue 422 status](https://github.ydb.tech/issues/ydb-java-sdk/422)](https://github\.com/ydb-platform/ydb-java-sdk/issues/422) | [![issue 483 status](https://github.ydb.tech/issues/ydb-js-sdk/483)](https://github\.com/ydb-platform/ydb-js-sdk/issues/483) | [![issue 367 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/367)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/367) | [![issue 261 status](https://github.ydb.tech/issues/ydb-rs-sdk/261)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/261) | [![issue 222 status](https://github.ydb.tech/issues/ydb-php-sdk/222)](https://github\.com/ydb-platform/ydb-php-sdk/issues/222) |
+| DropResource | + | [![issue 613 status](https://github.ydb.tech/issues/ydb-python-sdk/613)](https://github\.com/ydb-platform/ydb-python-sdk/issues/613) | + | [![issue 423 status](https://github.ydb.tech/issues/ydb-java-sdk/423)](https://github\.com/ydb-platform/ydb-java-sdk/issues/423) | [![issue 484 status](https://github.ydb.tech/issues/ydb-js-sdk/484)](https://github\.com/ydb-platform/ydb-js-sdk/issues/484) | [![issue 368 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/368)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/368) | [![issue 262 status](https://github.ydb.tech/issues/ydb-rs-sdk/262)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/262) | [![issue 223 status](https://github.ydb.tech/issues/ydb-php-sdk/223)](https://github\.com/ydb-platform/ydb-php-sdk/issues/223) |
+| ListResources | + | [![issue 614 status](https://github.ydb.tech/issues/ydb-python-sdk/614)](https://github\.com/ydb-platform/ydb-python-sdk/issues/614) | + | [![issue 424 status](https://github.ydb.tech/issues/ydb-java-sdk/424)](https://github\.com/ydb-platform/ydb-java-sdk/issues/424) | [![issue 485 status](https://github.ydb.tech/issues/ydb-js-sdk/485)](https://github\.com/ydb-platform/ydb-js-sdk/issues/485) | [![issue 369 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/369)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/369) | [![issue 263 status](https://github.ydb.tech/issues/ydb-rs-sdk/263)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/263) | [![issue 224 status](https://github.ydb.tech/issues/ydb-php-sdk/224)](https://github\.com/ydb-platform/ydb-php-sdk/issues/224) |
+| DescribeResource | + | [![issue 615 status](https://github.ydb.tech/issues/ydb-python-sdk/615)](https://github\.com/ydb-platform/ydb-python-sdk/issues/615) | + | [![issue 425 status](https://github.ydb.tech/issues/ydb-java-sdk/425)](https://github\.com/ydb-platform/ydb-java-sdk/issues/425) | [![issue 486 status](https://github.ydb.tech/issues/ydb-js-sdk/486)](https://github\.com/ydb-platform/ydb-js-sdk/issues/486) | [![issue 370 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/370)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/370) | [![issue 264 status](https://github.ydb.tech/issues/ydb-rs-sdk/264)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/264) | [![issue 225 status](https://github.ydb.tech/issues/ydb-php-sdk/225)](https://github\.com/ydb-platform/ydb-php-sdk/issues/225) |
+| AcquireResource | + | [![issue 616 status](https://github.ydb.tech/issues/ydb-python-sdk/616)](https://github\.com/ydb-platform/ydb-python-sdk/issues/616) | + | [![issue 426 status](https://github.ydb.tech/issues/ydb-java-sdk/426)](https://github\.com/ydb-platform/ydb-java-sdk/issues/426) | [![issue 487 status](https://github.ydb.tech/issues/ydb-js-sdk/487)](https://github\.com/ydb-platform/ydb-js-sdk/issues/487) | [![issue 371 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/371)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/371) | [![issue 265 status](https://github.ydb.tech/issues/ydb-rs-sdk/265)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/265) | [![issue 226 status](https://github.ydb.tech/issues/ydb-php-sdk/226)](https://github\.com/ydb-platform/ydb-php-sdk/issues/226) |
+| Solomon / Monitoring | + | [![issue 617 status](https://github.ydb.tech/issues/ydb-python-sdk/617)](https://github\.com/ydb-platform/ydb-python-sdk/issues/617) | + | [![issue 427 status](https://github.ydb.tech/issues/ydb-java-sdk/427)](https://github\.com/ydb-platform/ydb-java-sdk/issues/427) | [![issue 488 status](https://github.ydb.tech/issues/ydb-js-sdk/488)](https://github\.com/ydb-platform/ydb-js-sdk/issues/488) | [![issue 372 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/372)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/372) | [![issue 266 status](https://github.ydb.tech/issues/ydb-rs-sdk/266)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/266) | [![issue 180 status](https://github.ydb.tech/issues/ydb-php-sdk/180)](https://github\.com/ydb-platform/ydb-php-sdk/issues/180) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Monitoring** (sending SDK metrics to the monitoring system) |
| Solomon / Monitoring | + | [![issue 617 status](https://github.ydb.tech/issues/ydb-python-sdk/617)](https://github\.com/ydb-platform/ydb-python-sdk/issues/617) | + | [![issue 427 status](https://github.ydb.tech/issues/ydb-java-sdk/427)](https://github\.com/ydb-platform/ydb-java-sdk/issues/427) | [![issue 488 status](https://github.ydb.tech/issues/ydb-js-sdk/488)](https://github\.com/ydb-platform/ydb-js-sdk/issues/488) | [![issue 372 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/372)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/372) | [![issue 266 status](https://github.ydb.tech/issues/ydb-rs-sdk/266)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/266) | [![issue 180 status](https://github.ydb.tech/issues/ydb-php-sdk/180)](https://github\.com/ydb-platform/ydb-php-sdk/issues/180) |
```
created_at: 2025-04-28T09:45:09Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,132 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
-| **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | + | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | + | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | + | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | + | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | + | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | + | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
+| CreateTopic | + | + | + | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
+| DescribeTopic | + | + | + | [![issue 416 status](https://github.ydb.tech/issues/ydb-java-sdk/416)](https://github\.com/ydb-platform/ydb-java-sdk/issues/416) | [![issue 477 status](https://github.ydb.tech/issues/ydb-js-sdk/477)](https://github\.com/ydb-platform/ydb-js-sdk/issues/477) | [![issue 361 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/361)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/361) | [![issue 255 status](https://github.ydb.tech/issues/ydb-rs-sdk/255)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/255) | [![issue 175 status](https://github.ydb.tech/issues/ydb-php-sdk/175)](https://github\.com/ydb-platform/ydb-php-sdk/issues/175) |
+| AlterTopic | + | [![issue 599 status](https://github.ydb.tech/issues/ydb-python-sdk/599)](https://github\.com/ydb-platform/ydb-python-sdk/issues/599) | + | [![issue 417 status](https://github.ydb.tech/issues/ydb-java-sdk/417)](https://github\.com/ydb-platform/ydb-java-sdk/issues/417) | [![issue 478 status](https://github.ydb.tech/issues/ydb-js-sdk/478)](https://github\.com/ydb-platform/ydb-js-sdk/issues/478) | [![issue 362 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/362)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/362) | [![issue 256 status](https://github.ydb.tech/issues/ydb-rs-sdk/256)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/256) | [![issue 176 status](https://github.ydb.tech/issues/ydb-php-sdk/176)](https://github\.com/ydb-platform/ydb-php-sdk/issues/176) |
+| DropTopic | + | + | + | [![issue 418 status](https://github.ydb.tech/issues/ydb-java-sdk/418)](https://github\.com/ydb-platform/ydb-java-sdk/issues/418) | [![issue 479 status](https://github.ydb.tech/issues/ydb-js-sdk/479)](https://github\.com/ydb-platform/ydb-js-sdk/issues/479) | [![issue 363 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/363)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/363) | [![issue 257 status](https://github.ydb.tech/issues/ydb-rs-sdk/257)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/257) | [![issue 177 status](https://github.ydb.tech/issues/ydb-php-sdk/177)](https://github\.com/ydb-platform/ydb-php-sdk/issues/177) |
+| StreamWrite | + | + | + | [![issue 419 status](https://github.ydb.tech/issues/ydb-java-sdk/419)](https://github\.com/ydb-platform/ydb-java-sdk/issues/419) | [![issue 480 status](https://github.ydb.tech/issues/ydb-js-sdk/480)](https://github\.com/ydb-platform/ydb-js-sdk/issues/480) | [![issue 364 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/364)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/364) | [![issue 258 status](https://github.ydb.tech/issues/ydb-rs-sdk/258)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/258) | [![issue 178 status](https://github.ydb.tech/issues/ydb-php-sdk/178)](https://github\.com/ydb-platform/ydb-php-sdk/issues/178) |
+| StreamRead | + | + | + | [![issue 420 status](https://github.ydb.tech/issues/ydb-java-sdk/420)](https://github\.com/ydb-platform/ydb-java-sdk/issues/420) | [![issue 481 status](https://github.ydb.tech/issues/ydb-js-sdk/481)](https://github\.com/ydb-platform/ydb-js-sdk/issues/481) | [![issue 365 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/365)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/365) | [![issue 259 status](https://github.ydb.tech/issues/ydb-rs-sdk/259)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/259) | [![issue 179 status](https://github.ydb.tech/issues/ydb-php-sdk/179)](https://github\.com/ydb-platform/ydb-php-sdk/issues/179) |
+| CreateResource | + | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | + | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
+| AlterResource | + | [![issue 612 status](https://github.ydb.tech/issues/ydb-python-sdk/612)](https://github\.com/ydb-platform/ydb-python-sdk/issues/612) | + | [![issue 422 status](https://github.ydb.tech/issues/ydb-java-sdk/422)](https://github\.com/ydb-platform/ydb-java-sdk/issues/422) | [![issue 483 status](https://github.ydb.tech/issues/ydb-js-sdk/483)](https://github\.com/ydb-platform/ydb-js-sdk/issues/483) | [![issue 367 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/367)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/367) | [![issue 261 status](https://github.ydb.tech/issues/ydb-rs-sdk/261)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/261) | [![issue 222 status](https://github.ydb.tech/issues/ydb-php-sdk/222)](https://github\.com/ydb-platform/ydb-php-sdk/issues/222) |
+| DropResource | + | [![issue 613 status](https://github.ydb.tech/issues/ydb-python-sdk/613)](https://github\.com/ydb-platform/ydb-python-sdk/issues/613) | + | [![issue 423 status](https://github.ydb.tech/issues/ydb-java-sdk/423)](https://github\.com/ydb-platform/ydb-java-sdk/issues/423) | [![issue 484 status](https://github.ydb.tech/issues/ydb-js-sdk/484)](https://github\.com/ydb-platform/ydb-js-sdk/issues/484) | [![issue 368 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/368)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/368) | [![issue 262 status](https://github.ydb.tech/issues/ydb-rs-sdk/262)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/262) | [![issue 223 status](https://github.ydb.tech/issues/ydb-php-sdk/223)](https://github\.com/ydb-platform/ydb-php-sdk/issues/223) |
+| ListResources | + | [![issue 614 status](https://github.ydb.tech/issues/ydb-python-sdk/614)](https://github\.com/ydb-platform/ydb-python-sdk/issues/614) | + | [![issue 424 status](https://github.ydb.tech/issues/ydb-java-sdk/424)](https://github\.com/ydb-platform/ydb-java-sdk/issues/424) | [![issue 485 status](https://github.ydb.tech/issues/ydb-js-sdk/485)](https://github\.com/ydb-platform/ydb-js-sdk/issues/485) | [![issue 369 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/369)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/369) | [![issue 263 status](https://github.ydb.tech/issues/ydb-rs-sdk/263)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/263) | [![issue 224 status](https://github.ydb.tech/issues/ydb-php-sdk/224)](https://github\.com/ydb-platform/ydb-php-sdk/issues/224) |
+| DescribeResource | + | [![issue 615 status](https://github.ydb.tech/issues/ydb-python-sdk/615)](https://github\.com/ydb-platform/ydb-python-sdk/issues/615) | + | [![issue 425 status](https://github.ydb.tech/issues/ydb-java-sdk/425)](https://github\.com/ydb-platform/ydb-java-sdk/issues/425) | [![issue 486 status](https://github.ydb.tech/issues/ydb-js-sdk/486)](https://github\.com/ydb-platform/ydb-js-sdk/issues/486) | [![issue 370 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/370)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/370) | [![issue 264 status](https://github.ydb.tech/issues/ydb-rs-sdk/264)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/264) | [![issue 225 status](https://github.ydb.tech/issues/ydb-php-sdk/225)](https://github\.com/ydb-platform/ydb-php-sdk/issues/225) |
+| AcquireResource | + | [![issue 616 status](https://github.ydb.tech/issues/ydb-python-sdk/616)](https://github\.com/ydb-platform/ydb-python-sdk/issues/616) | + | [![issue 426 status](https://github.ydb.tech/issues/ydb-java-sdk/426)](https://github\.com/ydb-platform/ydb-java-sdk/issues/426) | [![issue 487 status](https://github.ydb.tech/issues/ydb-js-sdk/487)](https://github\.com/ydb-platform/ydb-js-sdk/issues/487) | [![issue 371 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/371)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/371) | [![issue 265 status](https://github.ydb.tech/issues/ydb-rs-sdk/265)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/265) | [![issue 226 status](https://github.ydb.tech/issues/ydb-php-sdk/226)](https://github\.com/ydb-platform/ydb-php-sdk/issues/226) |
+| Solomon / Monitoring | + | [![issue 617 status](https://github.ydb.tech/issues/ydb-python-sdk/617)](https://github\.com/ydb-platform/ydb-python-sdk/issues/617) | + | [![issue 427 status](https://github.ydb.tech/issues/ydb-java-sdk/427)](https://github\.com/ydb-platform/ydb-java-sdk/issues/427) | [![issue 488 status](https://github.ydb.tech/issues/ydb-js-sdk/488)](https://github\.com/ydb-platform/ydb-js-sdk/issues/488) | [![issue 372 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/372)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/372) | [![issue 266 status](https://github.ydb.tech/issues/ydb-rs-sdk/266)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/266) | [![issue 180 status](https://github.ydb.tech/issues/ydb-php-sdk/180)](https://github\.com/ydb-platform/ydb-php-sdk/issues/180) |
+| Prometheus | [![issue 460 status](https://github.ydb.tech/issues/ydb-cpp-sdk/460)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/460) | [![issue 618 status](https://github.ydb.tech/issues/ydb-python-sdk/618)](https://github\.com/ydb-platform/ydb-python-sdk/issues/618) | + | [![issue 428 status](https://github.ydb.tech/issues/ydb-java-sdk/428)](https://github\.com/ydb-platform/ydb-java-sdk/issues/428) | [![issue 489 status](https://github.ydb.tech/issues/ydb-js-sdk/489)](https://github\.com/ydb-platform/ydb-js-sdk/issues/489) | [![issue 373 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/373)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/373) | [![issue 267 status](https://github.ydb.tech/issues/ydb-rs-sdk/267)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/267) | [![issue 181 status](https://github.ydb.tech/issues/ydb-php-sdk/181)](https://github\.com/ydb-platform/ydb-php-sdk/issues/181) |
+| SDK event logging | [![issue 461 status](https://github.ydb.tech/issues/ydb-cpp-sdk/461)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/461) | [![issue 619 status](https://github.ydb.tech/issues/ydb-python-sdk/619)](https://github\.com/ydb-platform/ydb-python-sdk/issues/619) | + | + | + | + | + | + |
+| in OpenTelemetry | [![issue 462 status](https://github.ydb.tech/issues/ydb-cpp-sdk/462)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/462) | [![issue 620 status](https://github.ydb.tech/issues/ydb-python-sdk/620)](https://github\.com/ydb-platform/ydb-python-sdk/issues/620) | [![issue 1754 status](https://github.ydb.tech/issues/ydb-go-sdk/1754)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1754) | [![issue 429 status](https://github.ydb.tech/issues/ydb-java-sdk/429)](https://github\.com/ydb-platform/ydb-java-sdk/issues/429) | [![issue 490 status](https://github.ydb.tech/issues/ydb-js-sdk/490)](https://github\.com/ydb-platform/ydb-js-sdk/issues/490) | [![issue 374 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/374)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/374) | [![issue 268 status](https://github.ydb.tech/issues/ydb-rs-sdk/268)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/268) | [![issue 182 status](https://github.ydb.tech/issues/ydb-php-sdk/182)](https://github\.com/ydb-platform/ydb-php-sdk/issues/182) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| SDK event **tracing** |
| in OpenTelemetry | [![issue 462 status](https://github.ydb.tech/issues/ydb-cpp-sdk/462)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/462) | [![issue 620 status](https://github.ydb.tech/issues/ydb-python-sdk/620)](https://github\.com/ydb-platform/ydb-python-sdk/issues/620) | [![issue 1754 status](https://github.ydb.tech/issues/ydb-go-sdk/1754)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1754) | [![issue 429 status](https://github.ydb.tech/issues/ydb-java-sdk/429)](https://github\.com/ydb-platform/ydb-java-sdk/issues/429) | [![issue 490 status](https://github.ydb.tech/issues/ydb-js-sdk/490)](https://github\.com/ydb-platform/ydb-js-sdk/issues/490) | [![issue 374 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/374)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/374) | [![issue 268 status](https://github.ydb.tech/issues/ydb-rs-sdk/268)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/268) | [![issue 182 status](https://github.ydb.tech/issues/ydb-php-sdk/182)](https://github\.com/ydb-platform/ydb-php-sdk/issues/182) |
```
created_at: 2025-04-28T09:45:40Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,132 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
-| **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
-| **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
-| **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
-| **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
-| **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
-| **Examples** |
-| Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | + | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | + | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | + | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | + | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | + | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | + | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
+| CreateTopic | + | + | + | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
+| DescribeTopic | + | + | + | [![issue 416 status](https://github.ydb.tech/issues/ydb-java-sdk/416)](https://github\.com/ydb-platform/ydb-java-sdk/issues/416) | [![issue 477 status](https://github.ydb.tech/issues/ydb-js-sdk/477)](https://github\.com/ydb-platform/ydb-js-sdk/issues/477) | [![issue 361 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/361)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/361) | [![issue 255 status](https://github.ydb.tech/issues/ydb-rs-sdk/255)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/255) | [![issue 175 status](https://github.ydb.tech/issues/ydb-php-sdk/175)](https://github\.com/ydb-platform/ydb-php-sdk/issues/175) |
+| AlterTopic | + | [![issue 599 status](https://github.ydb.tech/issues/ydb-python-sdk/599)](https://github\.com/ydb-platform/ydb-python-sdk/issues/599) | + | [![issue 417 status](https://github.ydb.tech/issues/ydb-java-sdk/417)](https://github\.com/ydb-platform/ydb-java-sdk/issues/417) | [![issue 478 status](https://github.ydb.tech/issues/ydb-js-sdk/478)](https://github\.com/ydb-platform/ydb-js-sdk/issues/478) | [![issue 362 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/362)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/362) | [![issue 256 status](https://github.ydb.tech/issues/ydb-rs-sdk/256)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/256) | [![issue 176 status](https://github.ydb.tech/issues/ydb-php-sdk/176)](https://github\.com/ydb-platform/ydb-php-sdk/issues/176) |
+| DropTopic | + | + | + | [![issue 418 status](https://github.ydb.tech/issues/ydb-java-sdk/418)](https://github\.com/ydb-platform/ydb-java-sdk/issues/418) | [![issue 479 status](https://github.ydb.tech/issues/ydb-js-sdk/479)](https://github\.com/ydb-platform/ydb-js-sdk/issues/479) | [![issue 363 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/363)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/363) | [![issue 257 status](https://github.ydb.tech/issues/ydb-rs-sdk/257)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/257) | [![issue 177 status](https://github.ydb.tech/issues/ydb-php-sdk/177)](https://github\.com/ydb-platform/ydb-php-sdk/issues/177) |
+| StreamWrite | + | + | + | [![issue 419 status](https://github.ydb.tech/issues/ydb-java-sdk/419)](https://github\.com/ydb-platform/ydb-java-sdk/issues/419) | [![issue 480 status](https://github.ydb.tech/issues/ydb-js-sdk/480)](https://github\.com/ydb-platform/ydb-js-sdk/issues/480) | [![issue 364 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/364)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/364) | [![issue 258 status](https://github.ydb.tech/issues/ydb-rs-sdk/258)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/258) | [![issue 178 status](https://github.ydb.tech/issues/ydb-php-sdk/178)](https://github\.com/ydb-platform/ydb-php-sdk/issues/178) |
+| StreamRead | + | + | + | [![issue 420 status](https://github.ydb.tech/issues/ydb-java-sdk/420)](https://github\.com/ydb-platform/ydb-java-sdk/issues/420) | [![issue 481 status](https://github.ydb.tech/issues/ydb-js-sdk/481)](https://github\.com/ydb-platform/ydb-js-sdk/issues/481) | [![issue 365 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/365)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/365) | [![issue 259 status](https://github.ydb.tech/issues/ydb-rs-sdk/259)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/259) | [![issue 179 status](https://github.ydb.tech/issues/ydb-php-sdk/179)](https://github\.com/ydb-platform/ydb-php-sdk/issues/179) |
+| CreateResource | + | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | + | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
+| AlterResource | + | [![issue 612 status](https://github.ydb.tech/issues/ydb-python-sdk/612)](https://github\.com/ydb-platform/ydb-python-sdk/issues/612) | + | [![issue 422 status](https://github.ydb.tech/issues/ydb-java-sdk/422)](https://github\.com/ydb-platform/ydb-java-sdk/issues/422) | [![issue 483 status](https://github.ydb.tech/issues/ydb-js-sdk/483)](https://github\.com/ydb-platform/ydb-js-sdk/issues/483) | [![issue 367 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/367)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/367) | [![issue 261 status](https://github.ydb.tech/issues/ydb-rs-sdk/261)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/261) | [![issue 222 status](https://github.ydb.tech/issues/ydb-php-sdk/222)](https://github\.com/ydb-platform/ydb-php-sdk/issues/222) |
+| DropResource | + | [![issue 613 status](https://github.ydb.tech/issues/ydb-python-sdk/613)](https://github\.com/ydb-platform/ydb-python-sdk/issues/613) | + | [![issue 423 status](https://github.ydb.tech/issues/ydb-java-sdk/423)](https://github\.com/ydb-platform/ydb-java-sdk/issues/423) | [![issue 484 status](https://github.ydb.tech/issues/ydb-js-sdk/484)](https://github\.com/ydb-platform/ydb-js-sdk/issues/484) | [![issue 368 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/368)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/368) | [![issue 262 status](https://github.ydb.tech/issues/ydb-rs-sdk/262)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/262) | [![issue 223 status](https://github.ydb.tech/issues/ydb-php-sdk/223)](https://github\.com/ydb-platform/ydb-php-sdk/issues/223) |
+| ListResources | + | [![issue 614 status](https://github.ydb.tech/issues/ydb-python-sdk/614)](https://github\.com/ydb-platform/ydb-python-sdk/issues/614) | + | [![issue 424 status](https://github.ydb.tech/issues/ydb-java-sdk/424)](https://github\.com/ydb-platform/ydb-java-sdk/issues/424) | [![issue 485 status](https://github.ydb.tech/issues/ydb-js-sdk/485)](https://github\.com/ydb-platform/ydb-js-sdk/issues/485) | [![issue 369 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/369)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/369) | [![issue 263 status](https://github.ydb.tech/issues/ydb-rs-sdk/263)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/263) | [![issue 224 status](https://github.ydb.tech/issues/ydb-php-sdk/224)](https://github\.com/ydb-platform/ydb-php-sdk/issues/224) |
+| DescribeResource | + | [![issue 615 status](https://github.ydb.tech/issues/ydb-python-sdk/615)](https://github\.com/ydb-platform/ydb-python-sdk/issues/615) | + | [![issue 425 status](https://github.ydb.tech/issues/ydb-java-sdk/425)](https://github\.com/ydb-platform/ydb-java-sdk/issues/425) | [![issue 486 status](https://github.ydb.tech/issues/ydb-js-sdk/486)](https://github\.com/ydb-platform/ydb-js-sdk/issues/486) | [![issue 370 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/370)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/370) | [![issue 264 status](https://github.ydb.tech/issues/ydb-rs-sdk/264)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/264) | [![issue 225 status](https://github.ydb.tech/issues/ydb-php-sdk/225)](https://github\.com/ydb-platform/ydb-php-sdk/issues/225) |
+| AcquireResource | + | [![issue 616 status](https://github.ydb.tech/issues/ydb-python-sdk/616)](https://github\.com/ydb-platform/ydb-python-sdk/issues/616) | + | [![issue 426 status](https://github.ydb.tech/issues/ydb-java-sdk/426)](https://github\.com/ydb-platform/ydb-java-sdk/issues/426) | [![issue 487 status](https://github.ydb.tech/issues/ydb-js-sdk/487)](https://github\.com/ydb-platform/ydb-js-sdk/issues/487) | [![issue 371 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/371)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/371) | [![issue 265 status](https://github.ydb.tech/issues/ydb-rs-sdk/265)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/265) | [![issue 226 status](https://github.ydb.tech/issues/ydb-php-sdk/226)](https://github\.com/ydb-platform/ydb-php-sdk/issues/226) |
+| Solomon / Monitoring | + | [![issue 617 status](https://github.ydb.tech/issues/ydb-python-sdk/617)](https://github\.com/ydb-platform/ydb-python-sdk/issues/617) | + | [![issue 427 status](https://github.ydb.tech/issues/ydb-java-sdk/427)](https://github\.com/ydb-platform/ydb-java-sdk/issues/427) | [![issue 488 status](https://github.ydb.tech/issues/ydb-js-sdk/488)](https://github\.com/ydb-platform/ydb-js-sdk/issues/488) | [![issue 372 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/372)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/372) | [![issue 266 status](https://github.ydb.tech/issues/ydb-rs-sdk/266)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/266) | [![issue 180 status](https://github.ydb.tech/issues/ydb-php-sdk/180)](https://github\.com/ydb-platform/ydb-php-sdk/issues/180) |
+| Prometheus | [![issue 460 status](https://github.ydb.tech/issues/ydb-cpp-sdk/460)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/460) | [![issue 618 status](https://github.ydb.tech/issues/ydb-python-sdk/618)](https://github\.com/ydb-platform/ydb-python-sdk/issues/618) | + | [![issue 428 status](https://github.ydb.tech/issues/ydb-java-sdk/428)](https://github\.com/ydb-platform/ydb-java-sdk/issues/428) | [![issue 489 status](https://github.ydb.tech/issues/ydb-js-sdk/489)](https://github\.com/ydb-platform/ydb-js-sdk/issues/489) | [![issue 373 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/373)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/373) | [![issue 267 status](https://github.ydb.tech/issues/ydb-rs-sdk/267)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/267) | [![issue 181 status](https://github.ydb.tech/issues/ydb-php-sdk/181)](https://github\.com/ydb-platform/ydb-php-sdk/issues/181) |
+| SDK event logging | [![issue 461 status](https://github.ydb.tech/issues/ydb-cpp-sdk/461)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/461) | [![issue 619 status](https://github.ydb.tech/issues/ydb-python-sdk/619)](https://github\.com/ydb-platform/ydb-python-sdk/issues/619) | + | + | + | + | + | + |
+| in OpenTelemetry | [![issue 462 status](https://github.ydb.tech/issues/ydb-cpp-sdk/462)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/462) | [![issue 620 status](https://github.ydb.tech/issues/ydb-python-sdk/620)](https://github\.com/ydb-platform/ydb-python-sdk/issues/620) | [![issue 1754 status](https://github.ydb.tech/issues/ydb-go-sdk/1754)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1754) | [![issue 429 status](https://github.ydb.tech/issues/ydb-java-sdk/429)](https://github\.com/ydb-platform/ydb-java-sdk/issues/429) | [![issue 490 status](https://github.ydb.tech/issues/ydb-js-sdk/490)](https://github\.com/ydb-platform/ydb-js-sdk/issues/490) | [![issue 374 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/374)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/374) | [![issue 268 status](https://github.ydb.tech/issues/ydb-rs-sdk/268)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/268) | [![issue 182 status](https://github.ydb.tech/issues/ydb-php-sdk/182)](https://github\.com/ydb-platform/ydb-php-sdk/issues/182) |
+| in OpenTracing | [![issue 463 status](https://github.ydb.tech/issues/ydb-cpp-sdk/463)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/463) | [![issue 621 status](https://github.ydb.tech/issues/ydb-python-sdk/621)](https://github\.com/ydb-platform/ydb-python-sdk/issues/621) | + | [![issue 430 status](https://github.ydb.tech/issues/ydb-java-sdk/430)](https://github\.com/ydb-platform/ydb-java-sdk/issues/430) | [![issue 491 status](https://github.ydb.tech/issues/ydb-js-sdk/491)](https://github\.com/ydb-platform/ydb-js-sdk/issues/491) | [![issue 375 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/375)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/375) | [![issue 269 status](https://github.ydb.tech/issues/ydb-rs-sdk/269)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/269) | [![issue 183 status](https://github.ydb.tech/issues/ydb-php-sdk/183)](https://github\.com/ydb-platform/ydb-php-sdk/issues/183) |
+| token | [![issue 471 status](https://github.ydb.tech/issues/ydb-cpp-sdk/471)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/471) | [![issue 622 status](https://github.ydb.tech/issues/ydb-python-sdk/622)](https://github\.com/ydb-platform/ydb-python-sdk/issues/622) | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Examples** |
| Auth |
| token | [![issue 471 status](https://github.ydb.tech/issues/ydb-cpp-sdk/471)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/471) | [![issue 622 status](https://github.ydb.tech/issues/ydb-python-sdk/622)](https://github\.com/ydb-platform/ydb-python-sdk/issues/622) | + | + | + | + | + | + |
```
created_at: 2025-04-28T09:46:10Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,145 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
```
created_at: 2025-04-28T09:47:36Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,145 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Credentials providers** |
| Anonymous (default) | + | + | + | + | + | + | + | + |
```
created_at: 2025-04-28T09:48:07Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,145 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
-| **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
+| Session pool | + | + | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| **Working with Table service sessions** |
| Session pool | + | + | + | + | + | + | + | + |
```
created_at: 2025-04-28T09:48:28Z
author_association: MEMBER
diff_hunk: @@ -1,147 +1,147 @@
 # Comparison of SDK features
 
-| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
+| Feature | ydb-cpp-sdk | ydb-python-sdk | ydb-go-sdk | ydb-java-sdk | ydb-js-sdk | ydb-dotnet-sdk | ydb-rs-sdk | ydb-php-sdk |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
```
created_at: 2025-04-28T09:48:52Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
```
created_at: 2025-04-28T09:49:20Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Disable client-side load balancing (all requests to the initial Endpoint) | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
```
created_at: 2025-04-28T09:49:38Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Background Discovery/ListEndpoints (by default, once a minute) | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
```
created_at: 2025-04-28T09:49:52Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Support for multiple IP addresses in the initial Endpoint DNS record, Endpoint DNS record, some of which may not be available (DNS load balancing) | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
```
created_at: 2025-04-28T09:50:19Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Background closing of idle sessions in the pool (redundant sessions) | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
```
created_at: 2025-04-28T09:50:40Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
```
created_at: 2025-04-28T09:50:57Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Int/Uint(8,16,32,64) | + | + | + | + | + | + | + | + |
```
created_at: 2025-04-28T09:51:31Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Int128, UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
```
created_at: 2025-04-28T09:51:55Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Float, Double | + | + | + | + | + | + | + | + |
```
created_at: 2025-04-28T09:52:06Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| String, Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
```
created_at: 2025-04-28T09:52:16Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Utf8, Text | + | + | + | + | + | + | + | + |
```
created_at: 2025-04-28T09:52:27Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| NULL, Optional, Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
```
created_at: 2025-04-28T09:52:41Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Variant<Struct>, Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
```
created_at: 2025-04-28T09:52:58Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Date, DateTime, Timestamp, Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
```
created_at: 2025-04-28T09:53:11Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| TzDate, TzDateTime, TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
```
created_at: 2025-04-28T09:53:23Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Json, JsonDocument, Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
```
created_at: 2025-04-28T09:53:39Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
 | **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| \* By default, server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
```
created_at: 2025-04-28T09:54:11Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
 | **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| \* A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
```
created_at: 2025-04-28T09:54:26Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
 | **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| \* Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
```
created_at: 2025-04-28T09:54:37Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
 | **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| \* Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
```
created_at: 2025-04-28T09:54:48Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
 | **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| **Operation service** |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
```
created_at: 2025-04-28T09:55:16Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
 | **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| **Operation service** |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| **ScriptingYQL service** |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
 | **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | + | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | + | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | + | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | + | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | + | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | + | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Session (leader election, distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
```
created_at: 2025-04-28T09:55:36Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
 | **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| **Operation service** |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| **ScriptingYQL service** |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
 | **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | + | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | + | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | + | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | + | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | + | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | + | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
 | **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
+| CreateTopic | + | + | + | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
+| DescribeTopic | + | + | + | [![issue 416 status](https://github.ydb.tech/issues/ydb-java-sdk/416)](https://github\.com/ydb-platform/ydb-java-sdk/issues/416) | [![issue 477 status](https://github.ydb.tech/issues/ydb-js-sdk/477)](https://github\.com/ydb-platform/ydb-js-sdk/issues/477) | [![issue 361 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/361)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/361) | [![issue 255 status](https://github.ydb.tech/issues/ydb-rs-sdk/255)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/255) | [![issue 175 status](https://github.ydb.tech/issues/ydb-php-sdk/175)](https://github\.com/ydb-platform/ydb-php-sdk/issues/175) |
+| AlterTopic | + | [![issue 599 status](https://github.ydb.tech/issues/ydb-python-sdk/599)](https://github\.com/ydb-platform/ydb-python-sdk/issues/599) | + | [![issue 417 status](https://github.ydb.tech/issues/ydb-java-sdk/417)](https://github\.com/ydb-platform/ydb-java-sdk/issues/417) | [![issue 478 status](https://github.ydb.tech/issues/ydb-js-sdk/478)](https://github\.com/ydb-platform/ydb-js-sdk/issues/478) | [![issue 362 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/362)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/362) | [![issue 256 status](https://github.ydb.tech/issues/ydb-rs-sdk/256)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/256) | [![issue 176 status](https://github.ydb.tech/issues/ydb-php-sdk/176)](https://github\.com/ydb-platform/ydb-php-sdk/issues/176) |
+| DropTopic | + | + | + | [![issue 418 status](https://github.ydb.tech/issues/ydb-java-sdk/418)](https://github\.com/ydb-platform/ydb-java-sdk/issues/418) | [![issue 479 status](https://github.ydb.tech/issues/ydb-js-sdk/479)](https://github\.com/ydb-platform/ydb-js-sdk/issues/479) | [![issue 363 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/363)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/363) | [![issue 257 status](https://github.ydb.tech/issues/ydb-rs-sdk/257)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/257) | [![issue 177 status](https://github.ydb.tech/issues/ydb-php-sdk/177)](https://github\.com/ydb-platform/ydb-php-sdk/issues/177) |
+| StreamWrite | + | + | + | [![issue 419 status](https://github.ydb.tech/issues/ydb-java-sdk/419)](https://github\.com/ydb-platform/ydb-java-sdk/issues/419) | [![issue 480 status](https://github.ydb.tech/issues/ydb-js-sdk/480)](https://github\.com/ydb-platform/ydb-js-sdk/issues/480) | [![issue 364 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/364)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/364) | [![issue 258 status](https://github.ydb.tech/issues/ydb-rs-sdk/258)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/258) | [![issue 178 status](https://github.ydb.tech/issues/ydb-php-sdk/178)](https://github\.com/ydb-platform/ydb-php-sdk/issues/178) |
+| StreamRead | + | + | + | [![issue 420 status](https://github.ydb.tech/issues/ydb-java-sdk/420)](https://github\.com/ydb-platform/ydb-java-sdk/issues/420) | [![issue 481 status](https://github.ydb.tech/issues/ydb-js-sdk/481)](https://github\.com/ydb-platform/ydb-js-sdk/issues/481) | [![issue 365 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/365)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/365) | [![issue 259 status](https://github.ydb.tech/issues/ydb-rs-sdk/259)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/259) | [![issue 179 status](https://github.ydb.tech/issues/ydb-php-sdk/179)](https://github\.com/ydb-platform/ydb-php-sdk/issues/179) |
 | **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
+| CreateResource | + | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | + | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
+| AlterResource | + | [![issue 612 status](https://github.ydb.tech/issues/ydb-python-sdk/612)](https://github\.com/ydb-platform/ydb-python-sdk/issues/612) | + | [![issue 422 status](https://github.ydb.tech/issues/ydb-java-sdk/422)](https://github\.com/ydb-platform/ydb-java-sdk/issues/422) | [![issue 483 status](https://github.ydb.tech/issues/ydb-js-sdk/483)](https://github\.com/ydb-platform/ydb-js-sdk/issues/483) | [![issue 367 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/367)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/367) | [![issue 261 status](https://github.ydb.tech/issues/ydb-rs-sdk/261)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/261) | [![issue 222 status](https://github.ydb.tech/issues/ydb-php-sdk/222)](https://github\.com/ydb-platform/ydb-php-sdk/issues/222) |
+| DropResource | + | [![issue 613 status](https://github.ydb.tech/issues/ydb-python-sdk/613)](https://github\.com/ydb-platform/ydb-python-sdk/issues/613) | + | [![issue 423 status](https://github.ydb.tech/issues/ydb-java-sdk/423)](https://github\.com/ydb-platform/ydb-java-sdk/issues/423) | [![issue 484 status](https://github.ydb.tech/issues/ydb-js-sdk/484)](https://github\.com/ydb-platform/ydb-js-sdk/issues/484) | [![issue 368 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/368)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/368) | [![issue 262 status](https://github.ydb.tech/issues/ydb-rs-sdk/262)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/262) | [![issue 223 status](https://github.ydb.tech/issues/ydb-php-sdk/223)](https://github\.com/ydb-platform/ydb-php-sdk/issues/223) |
+| ListResources | + | [![issue 614 status](https://github.ydb.tech/issues/ydb-python-sdk/614)](https://github\.com/ydb-platform/ydb-python-sdk/issues/614) | + | [![issue 424 status](https://github.ydb.tech/issues/ydb-java-sdk/424)](https://github\.com/ydb-platform/ydb-java-sdk/issues/424) | [![issue 485 status](https://github.ydb.tech/issues/ydb-js-sdk/485)](https://github\.com/ydb-platform/ydb-js-sdk/issues/485) | [![issue 369 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/369)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/369) | [![issue 263 status](https://github.ydb.tech/issues/ydb-rs-sdk/263)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/263) | [![issue 224 status](https://github.ydb.tech/issues/ydb-php-sdk/224)](https://github\.com/ydb-platform/ydb-php-sdk/issues/224) |
+| DescribeResource | + | [![issue 615 status](https://github.ydb.tech/issues/ydb-python-sdk/615)](https://github\.com/ydb-platform/ydb-python-sdk/issues/615) | + | [![issue 425 status](https://github.ydb.tech/issues/ydb-java-sdk/425)](https://github\.com/ydb-platform/ydb-java-sdk/issues/425) | [![issue 486 status](https://github.ydb.tech/issues/ydb-js-sdk/486)](https://github\.com/ydb-platform/ydb-js-sdk/issues/486) | [![issue 370 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/370)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/370) | [![issue 264 status](https://github.ydb.tech/issues/ydb-rs-sdk/264)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/264) | [![issue 225 status](https://github.ydb.tech/issues/ydb-php-sdk/225)](https://github\.com/ydb-platform/ydb-php-sdk/issues/225) |
+| AcquireResource | + | [![issue 616 status](https://github.ydb.tech/issues/ydb-python-sdk/616)](https://github\.com/ydb-platform/ydb-python-sdk/issues/616) | + | [![issue 426 status](https://github.ydb.tech/issues/ydb-java-sdk/426)](https://github\.com/ydb-platform/ydb-java-sdk/issues/426) | [![issue 487 status](https://github.ydb.tech/issues/ydb-js-sdk/487)](https://github\.com/ydb-platform/ydb-js-sdk/issues/487) | [![issue 371 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/371)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/371) | [![issue 265 status](https://github.ydb.tech/issues/ydb-rs-sdk/265)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/265) | [![issue 226 status](https://github.ydb.tech/issues/ydb-php-sdk/226)](https://github\.com/ydb-platform/ydb-php-sdk/issues/226) |
 | **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
+| Solomon / Monitoring | + | [![issue 617 status](https://github.ydb.tech/issues/ydb-python-sdk/617)](https://github\.com/ydb-platform/ydb-python-sdk/issues/617) | + | [![issue 427 status](https://github.ydb.tech/issues/ydb-java-sdk/427)](https://github\.com/ydb-platform/ydb-java-sdk/issues/427) | [![issue 488 status](https://github.ydb.tech/issues/ydb-js-sdk/488)](https://github\.com/ydb-platform/ydb-js-sdk/issues/488) | [![issue 372 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/372)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/372) | [![issue 266 status](https://github.ydb.tech/issues/ydb-rs-sdk/266)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/266) | [![issue 180 status](https://github.ydb.tech/issues/ydb-php-sdk/180)](https://github\.com/ydb-platform/ydb-php-sdk/issues/180) |
+| Prometheus | [![issue 460 status](https://github.ydb.tech/issues/ydb-cpp-sdk/460)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/460) | [![issue 618 status](https://github.ydb.tech/issues/ydb-python-sdk/618)](https://github\.com/ydb-platform/ydb-python-sdk/issues/618) | + | [![issue 428 status](https://github.ydb.tech/issues/ydb-java-sdk/428)](https://github\.com/ydb-platform/ydb-java-sdk/issues/428) | [![issue 489 status](https://github.ydb.tech/issues/ydb-js-sdk/489)](https://github\.com/ydb-platform/ydb-js-sdk/issues/489) | [![issue 373 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/373)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/373) | [![issue 267 status](https://github.ydb.tech/issues/ydb-rs-sdk/267)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/267) | [![issue 181 status](https://github.ydb.tech/issues/ydb-php-sdk/181)](https://github\.com/ydb-platform/ydb-php-sdk/issues/181) |
+| SDK event logging | [![issue 461 status](https://github.ydb.tech/issues/ydb-cpp-sdk/461)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/461) | [![issue 619 status](https://github.ydb.tech/issues/ydb-python-sdk/619)](https://github\.com/ydb-platform/ydb-python-sdk/issues/619) | + | + | + | + | + | + |
 | SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
+| in OpenTelemetry | [![issue 462 status](https://github.ydb.tech/issues/ydb-cpp-sdk/462)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/462) | [![issue 620 status](https://github.ydb.tech/issues/ydb-python-sdk/620)](https://github\.com/ydb-platform/ydb-python-sdk/issues/620) | [![issue 1754 status](https://github.ydb.tech/issues/ydb-go-sdk/1754)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1754) | [![issue 429 status](https://github.ydb.tech/issues/ydb-java-sdk/429)](https://github\.com/ydb-platform/ydb-java-sdk/issues/429) | [![issue 490 status](https://github.ydb.tech/issues/ydb-js-sdk/490)](https://github\.com/ydb-platform/ydb-js-sdk/issues/490) | [![issue 374 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/374)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/374) | [![issue 268 status](https://github.ydb.tech/issues/ydb-rs-sdk/268)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/268) | [![issue 182 status](https://github.ydb.tech/issues/ydb-php-sdk/182)](https://github\.com/ydb-platform/ydb-php-sdk/issues/182) |
+| in OpenTracing | [![issue 463 status](https://github.ydb.tech/issues/ydb-cpp-sdk/463)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/463) | [![issue 621 status](https://github.ydb.tech/issues/ydb-python-sdk/621)](https://github\.com/ydb-platform/ydb-python-sdk/issues/621) | + | [![issue 430 status](https://github.ydb.tech/issues/ydb-java-sdk/430)](https://github\.com/ydb-platform/ydb-java-sdk/issues/430) | [![issue 491 status](https://github.ydb.tech/issues/ydb-js-sdk/491)](https://github\.com/ydb-platform/ydb-js-sdk/issues/491) | [![issue 375 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/375)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/375) | [![issue 269 status](https://github.ydb.tech/issues/ydb-rs-sdk/269)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/269) | [![issue 183 status](https://github.ydb.tech/issues/ydb-php-sdk/183)](https://github\.com/ydb-platform/ydb-php-sdk/issues/183) |
 | **Examples** |
 | Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| token | [![issue 471 status](https://github.ydb.tech/issues/ydb-cpp-sdk/471)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/471) | [![issue 622 status](https://github.ydb.tech/issues/ydb-python-sdk/622)](https://github\.com/ydb-platform/ydb-python-sdk/issues/622) | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| \* token | [![issue 471 status](https://github.ydb.tech/issues/ydb-cpp-sdk/471)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/471) | [![issue 622 status](https://github.ydb.tech/issues/ydb-python-sdk/622)](https://github\.com/ydb-platform/ydb-python-sdk/issues/622) | + | + | + | + | + | + |
```
created_at: 2025-04-28T09:56:08Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
 | **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| **Operation service** |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| **ScriptingYQL service** |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
 | **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | + | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | + | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | + | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | + | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | + | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | + | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
 | **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
+| CreateTopic | + | + | + | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
+| DescribeTopic | + | + | + | [![issue 416 status](https://github.ydb.tech/issues/ydb-java-sdk/416)](https://github\.com/ydb-platform/ydb-java-sdk/issues/416) | [![issue 477 status](https://github.ydb.tech/issues/ydb-js-sdk/477)](https://github\.com/ydb-platform/ydb-js-sdk/issues/477) | [![issue 361 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/361)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/361) | [![issue 255 status](https://github.ydb.tech/issues/ydb-rs-sdk/255)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/255) | [![issue 175 status](https://github.ydb.tech/issues/ydb-php-sdk/175)](https://github\.com/ydb-platform/ydb-php-sdk/issues/175) |
+| AlterTopic | + | [![issue 599 status](https://github.ydb.tech/issues/ydb-python-sdk/599)](https://github\.com/ydb-platform/ydb-python-sdk/issues/599) | + | [![issue 417 status](https://github.ydb.tech/issues/ydb-java-sdk/417)](https://github\.com/ydb-platform/ydb-java-sdk/issues/417) | [![issue 478 status](https://github.ydb.tech/issues/ydb-js-sdk/478)](https://github\.com/ydb-platform/ydb-js-sdk/issues/478) | [![issue 362 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/362)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/362) | [![issue 256 status](https://github.ydb.tech/issues/ydb-rs-sdk/256)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/256) | [![issue 176 status](https://github.ydb.tech/issues/ydb-php-sdk/176)](https://github\.com/ydb-platform/ydb-php-sdk/issues/176) |
+| DropTopic | + | + | + | [![issue 418 status](https://github.ydb.tech/issues/ydb-java-sdk/418)](https://github\.com/ydb-platform/ydb-java-sdk/issues/418) | [![issue 479 status](https://github.ydb.tech/issues/ydb-js-sdk/479)](https://github\.com/ydb-platform/ydb-js-sdk/issues/479) | [![issue 363 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/363)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/363) | [![issue 257 status](https://github.ydb.tech/issues/ydb-rs-sdk/257)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/257) | [![issue 177 status](https://github.ydb.tech/issues/ydb-php-sdk/177)](https://github\.com/ydb-platform/ydb-php-sdk/issues/177) |
+| StreamWrite | + | + | + | [![issue 419 status](https://github.ydb.tech/issues/ydb-java-sdk/419)](https://github\.com/ydb-platform/ydb-java-sdk/issues/419) | [![issue 480 status](https://github.ydb.tech/issues/ydb-js-sdk/480)](https://github\.com/ydb-platform/ydb-js-sdk/issues/480) | [![issue 364 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/364)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/364) | [![issue 258 status](https://github.ydb.tech/issues/ydb-rs-sdk/258)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/258) | [![issue 178 status](https://github.ydb.tech/issues/ydb-php-sdk/178)](https://github\.com/ydb-platform/ydb-php-sdk/issues/178) |
+| StreamRead | + | + | + | [![issue 420 status](https://github.ydb.tech/issues/ydb-java-sdk/420)](https://github\.com/ydb-platform/ydb-java-sdk/issues/420) | [![issue 481 status](https://github.ydb.tech/issues/ydb-js-sdk/481)](https://github\.com/ydb-platform/ydb-js-sdk/issues/481) | [![issue 365 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/365)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/365) | [![issue 259 status](https://github.ydb.tech/issues/ydb-rs-sdk/259)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/259) | [![issue 179 status](https://github.ydb.tech/issues/ydb-php-sdk/179)](https://github\.com/ydb-platform/ydb-php-sdk/issues/179) |
 | **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
+| CreateResource | + | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | + | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
+| AlterResource | + | [![issue 612 status](https://github.ydb.tech/issues/ydb-python-sdk/612)](https://github\.com/ydb-platform/ydb-python-sdk/issues/612) | + | [![issue 422 status](https://github.ydb.tech/issues/ydb-java-sdk/422)](https://github\.com/ydb-platform/ydb-java-sdk/issues/422) | [![issue 483 status](https://github.ydb.tech/issues/ydb-js-sdk/483)](https://github\.com/ydb-platform/ydb-js-sdk/issues/483) | [![issue 367 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/367)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/367) | [![issue 261 status](https://github.ydb.tech/issues/ydb-rs-sdk/261)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/261) | [![issue 222 status](https://github.ydb.tech/issues/ydb-php-sdk/222)](https://github\.com/ydb-platform/ydb-php-sdk/issues/222) |
+| DropResource | + | [![issue 613 status](https://github.ydb.tech/issues/ydb-python-sdk/613)](https://github\.com/ydb-platform/ydb-python-sdk/issues/613) | + | [![issue 423 status](https://github.ydb.tech/issues/ydb-java-sdk/423)](https://github\.com/ydb-platform/ydb-java-sdk/issues/423) | [![issue 484 status](https://github.ydb.tech/issues/ydb-js-sdk/484)](https://github\.com/ydb-platform/ydb-js-sdk/issues/484) | [![issue 368 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/368)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/368) | [![issue 262 status](https://github.ydb.tech/issues/ydb-rs-sdk/262)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/262) | [![issue 223 status](https://github.ydb.tech/issues/ydb-php-sdk/223)](https://github\.com/ydb-platform/ydb-php-sdk/issues/223) |
+| ListResources | + | [![issue 614 status](https://github.ydb.tech/issues/ydb-python-sdk/614)](https://github\.com/ydb-platform/ydb-python-sdk/issues/614) | + | [![issue 424 status](https://github.ydb.tech/issues/ydb-java-sdk/424)](https://github\.com/ydb-platform/ydb-java-sdk/issues/424) | [![issue 485 status](https://github.ydb.tech/issues/ydb-js-sdk/485)](https://github\.com/ydb-platform/ydb-js-sdk/issues/485) | [![issue 369 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/369)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/369) | [![issue 263 status](https://github.ydb.tech/issues/ydb-rs-sdk/263)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/263) | [![issue 224 status](https://github.ydb.tech/issues/ydb-php-sdk/224)](https://github\.com/ydb-platform/ydb-php-sdk/issues/224) |
+| DescribeResource | + | [![issue 615 status](https://github.ydb.tech/issues/ydb-python-sdk/615)](https://github\.com/ydb-platform/ydb-python-sdk/issues/615) | + | [![issue 425 status](https://github.ydb.tech/issues/ydb-java-sdk/425)](https://github\.com/ydb-platform/ydb-java-sdk/issues/425) | [![issue 486 status](https://github.ydb.tech/issues/ydb-js-sdk/486)](https://github\.com/ydb-platform/ydb-js-sdk/issues/486) | [![issue 370 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/370)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/370) | [![issue 264 status](https://github.ydb.tech/issues/ydb-rs-sdk/264)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/264) | [![issue 225 status](https://github.ydb.tech/issues/ydb-php-sdk/225)](https://github\.com/ydb-platform/ydb-php-sdk/issues/225) |
+| AcquireResource | + | [![issue 616 status](https://github.ydb.tech/issues/ydb-python-sdk/616)](https://github\.com/ydb-platform/ydb-python-sdk/issues/616) | + | [![issue 426 status](https://github.ydb.tech/issues/ydb-java-sdk/426)](https://github\.com/ydb-platform/ydb-java-sdk/issues/426) | [![issue 487 status](https://github.ydb.tech/issues/ydb-js-sdk/487)](https://github\.com/ydb-platform/ydb-js-sdk/issues/487) | [![issue 371 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/371)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/371) | [![issue 265 status](https://github.ydb.tech/issues/ydb-rs-sdk/265)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/265) | [![issue 226 status](https://github.ydb.tech/issues/ydb-php-sdk/226)](https://github\.com/ydb-platform/ydb-php-sdk/issues/226) |
 | **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
+| Solomon / Monitoring | + | [![issue 617 status](https://github.ydb.tech/issues/ydb-python-sdk/617)](https://github\.com/ydb-platform/ydb-python-sdk/issues/617) | + | [![issue 427 status](https://github.ydb.tech/issues/ydb-java-sdk/427)](https://github\.com/ydb-platform/ydb-java-sdk/issues/427) | [![issue 488 status](https://github.ydb.tech/issues/ydb-js-sdk/488)](https://github\.com/ydb-platform/ydb-js-sdk/issues/488) | [![issue 372 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/372)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/372) | [![issue 266 status](https://github.ydb.tech/issues/ydb-rs-sdk/266)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/266) | [![issue 180 status](https://github.ydb.tech/issues/ydb-php-sdk/180)](https://github\.com/ydb-platform/ydb-php-sdk/issues/180) |
+| Prometheus | [![issue 460 status](https://github.ydb.tech/issues/ydb-cpp-sdk/460)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/460) | [![issue 618 status](https://github.ydb.tech/issues/ydb-python-sdk/618)](https://github\.com/ydb-platform/ydb-python-sdk/issues/618) | + | [![issue 428 status](https://github.ydb.tech/issues/ydb-java-sdk/428)](https://github\.com/ydb-platform/ydb-java-sdk/issues/428) | [![issue 489 status](https://github.ydb.tech/issues/ydb-js-sdk/489)](https://github\.com/ydb-platform/ydb-js-sdk/issues/489) | [![issue 373 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/373)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/373) | [![issue 267 status](https://github.ydb.tech/issues/ydb-rs-sdk/267)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/267) | [![issue 181 status](https://github.ydb.tech/issues/ydb-php-sdk/181)](https://github\.com/ydb-platform/ydb-php-sdk/issues/181) |
+| SDK event logging | [![issue 461 status](https://github.ydb.tech/issues/ydb-cpp-sdk/461)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/461) | [![issue 619 status](https://github.ydb.tech/issues/ydb-python-sdk/619)](https://github\.com/ydb-platform/ydb-python-sdk/issues/619) | + | + | + | + | + | + |
 | SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
+| in OpenTelemetry | [![issue 462 status](https://github.ydb.tech/issues/ydb-cpp-sdk/462)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/462) | [![issue 620 status](https://github.ydb.tech/issues/ydb-python-sdk/620)](https://github\.com/ydb-platform/ydb-python-sdk/issues/620) | [![issue 1754 status](https://github.ydb.tech/issues/ydb-go-sdk/1754)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1754) | [![issue 429 status](https://github.ydb.tech/issues/ydb-java-sdk/429)](https://github\.com/ydb-platform/ydb-java-sdk/issues/429) | [![issue 490 status](https://github.ydb.tech/issues/ydb-js-sdk/490)](https://github\.com/ydb-platform/ydb-js-sdk/issues/490) | [![issue 374 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/374)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/374) | [![issue 268 status](https://github.ydb.tech/issues/ydb-rs-sdk/268)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/268) | [![issue 182 status](https://github.ydb.tech/issues/ydb-php-sdk/182)](https://github\.com/ydb-platform/ydb-php-sdk/issues/182) |
+| in OpenTracing | [![issue 463 status](https://github.ydb.tech/issues/ydb-cpp-sdk/463)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/463) | [![issue 621 status](https://github.ydb.tech/issues/ydb-python-sdk/621)](https://github\.com/ydb-platform/ydb-python-sdk/issues/621) | + | [![issue 430 status](https://github.ydb.tech/issues/ydb-java-sdk/430)](https://github\.com/ydb-platform/ydb-java-sdk/issues/430) | [![issue 491 status](https://github.ydb.tech/issues/ydb-js-sdk/491)](https://github\.com/ydb-platform/ydb-js-sdk/issues/491) | [![issue 375 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/375)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/375) | [![issue 269 status](https://github.ydb.tech/issues/ydb-rs-sdk/269)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/269) | [![issue 183 status](https://github.ydb.tech/issues/ydb-php-sdk/183)](https://github\.com/ydb-platform/ydb-php-sdk/issues/183) |
 | **Examples** |
 | Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| token | [![issue 471 status](https://github.ydb.tech/issues/ydb-cpp-sdk/471)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/471) | [![issue 622 status](https://github.ydb.tech/issues/ydb-python-sdk/622)](https://github\.com/ydb-platform/ydb-python-sdk/issues/622) | + | + | + | + | + | + |
+| anonymous | [![issue 472 status](https://github.ydb.tech/issues/ydb-cpp-sdk/472)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/472) | [![issue 623 status](https://github.ydb.tech/issues/ydb-python-sdk/623)](https://github\.com/ydb-platform/ydb-python-sdk/issues/623) | + | + | + | + | [![issue 304 status](https://github.ydb.tech/issues/ydb-rs-sdk/304)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/304) | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| \* anonymous | [![issue 472 status](https://github.ydb.tech/issues/ydb-cpp-sdk/472)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/472) | [![issue 623 status](https://github.ydb.tech/issues/ydb-python-sdk/623)](https://github\.com/ydb-platform/ydb-python-sdk/issues/623) | + | + | + | + | [![issue 304 status](https://github.ydb.tech/issues/ydb-rs-sdk/304)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/304) | + |
```
created_at: 2025-04-28T09:56:18Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
 | **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| **Operation service** |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| **ScriptingYQL service** |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
 | **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | + | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | + | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | + | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | + | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | + | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | + | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
 | **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
+| CreateTopic | + | + | + | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
+| DescribeTopic | + | + | + | [![issue 416 status](https://github.ydb.tech/issues/ydb-java-sdk/416)](https://github\.com/ydb-platform/ydb-java-sdk/issues/416) | [![issue 477 status](https://github.ydb.tech/issues/ydb-js-sdk/477)](https://github\.com/ydb-platform/ydb-js-sdk/issues/477) | [![issue 361 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/361)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/361) | [![issue 255 status](https://github.ydb.tech/issues/ydb-rs-sdk/255)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/255) | [![issue 175 status](https://github.ydb.tech/issues/ydb-php-sdk/175)](https://github\.com/ydb-platform/ydb-php-sdk/issues/175) |
+| AlterTopic | + | [![issue 599 status](https://github.ydb.tech/issues/ydb-python-sdk/599)](https://github\.com/ydb-platform/ydb-python-sdk/issues/599) | + | [![issue 417 status](https://github.ydb.tech/issues/ydb-java-sdk/417)](https://github\.com/ydb-platform/ydb-java-sdk/issues/417) | [![issue 478 status](https://github.ydb.tech/issues/ydb-js-sdk/478)](https://github\.com/ydb-platform/ydb-js-sdk/issues/478) | [![issue 362 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/362)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/362) | [![issue 256 status](https://github.ydb.tech/issues/ydb-rs-sdk/256)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/256) | [![issue 176 status](https://github.ydb.tech/issues/ydb-php-sdk/176)](https://github\.com/ydb-platform/ydb-php-sdk/issues/176) |
+| DropTopic | + | + | + | [![issue 418 status](https://github.ydb.tech/issues/ydb-java-sdk/418)](https://github\.com/ydb-platform/ydb-java-sdk/issues/418) | [![issue 479 status](https://github.ydb.tech/issues/ydb-js-sdk/479)](https://github\.com/ydb-platform/ydb-js-sdk/issues/479) | [![issue 363 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/363)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/363) | [![issue 257 status](https://github.ydb.tech/issues/ydb-rs-sdk/257)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/257) | [![issue 177 status](https://github.ydb.tech/issues/ydb-php-sdk/177)](https://github\.com/ydb-platform/ydb-php-sdk/issues/177) |
+| StreamWrite | + | + | + | [![issue 419 status](https://github.ydb.tech/issues/ydb-java-sdk/419)](https://github\.com/ydb-platform/ydb-java-sdk/issues/419) | [![issue 480 status](https://github.ydb.tech/issues/ydb-js-sdk/480)](https://github\.com/ydb-platform/ydb-js-sdk/issues/480) | [![issue 364 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/364)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/364) | [![issue 258 status](https://github.ydb.tech/issues/ydb-rs-sdk/258)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/258) | [![issue 178 status](https://github.ydb.tech/issues/ydb-php-sdk/178)](https://github\.com/ydb-platform/ydb-php-sdk/issues/178) |
+| StreamRead | + | + | + | [![issue 420 status](https://github.ydb.tech/issues/ydb-java-sdk/420)](https://github\.com/ydb-platform/ydb-java-sdk/issues/420) | [![issue 481 status](https://github.ydb.tech/issues/ydb-js-sdk/481)](https://github\.com/ydb-platform/ydb-js-sdk/issues/481) | [![issue 365 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/365)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/365) | [![issue 259 status](https://github.ydb.tech/issues/ydb-rs-sdk/259)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/259) | [![issue 179 status](https://github.ydb.tech/issues/ydb-php-sdk/179)](https://github\.com/ydb-platform/ydb-php-sdk/issues/179) |
 | **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
+| CreateResource | + | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | + | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
+| AlterResource | + | [![issue 612 status](https://github.ydb.tech/issues/ydb-python-sdk/612)](https://github\.com/ydb-platform/ydb-python-sdk/issues/612) | + | [![issue 422 status](https://github.ydb.tech/issues/ydb-java-sdk/422)](https://github\.com/ydb-platform/ydb-java-sdk/issues/422) | [![issue 483 status](https://github.ydb.tech/issues/ydb-js-sdk/483)](https://github\.com/ydb-platform/ydb-js-sdk/issues/483) | [![issue 367 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/367)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/367) | [![issue 261 status](https://github.ydb.tech/issues/ydb-rs-sdk/261)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/261) | [![issue 222 status](https://github.ydb.tech/issues/ydb-php-sdk/222)](https://github\.com/ydb-platform/ydb-php-sdk/issues/222) |
+| DropResource | + | [![issue 613 status](https://github.ydb.tech/issues/ydb-python-sdk/613)](https://github\.com/ydb-platform/ydb-python-sdk/issues/613) | + | [![issue 423 status](https://github.ydb.tech/issues/ydb-java-sdk/423)](https://github\.com/ydb-platform/ydb-java-sdk/issues/423) | [![issue 484 status](https://github.ydb.tech/issues/ydb-js-sdk/484)](https://github\.com/ydb-platform/ydb-js-sdk/issues/484) | [![issue 368 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/368)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/368) | [![issue 262 status](https://github.ydb.tech/issues/ydb-rs-sdk/262)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/262) | [![issue 223 status](https://github.ydb.tech/issues/ydb-php-sdk/223)](https://github\.com/ydb-platform/ydb-php-sdk/issues/223) |
+| ListResources | + | [![issue 614 status](https://github.ydb.tech/issues/ydb-python-sdk/614)](https://github\.com/ydb-platform/ydb-python-sdk/issues/614) | + | [![issue 424 status](https://github.ydb.tech/issues/ydb-java-sdk/424)](https://github\.com/ydb-platform/ydb-java-sdk/issues/424) | [![issue 485 status](https://github.ydb.tech/issues/ydb-js-sdk/485)](https://github\.com/ydb-platform/ydb-js-sdk/issues/485) | [![issue 369 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/369)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/369) | [![issue 263 status](https://github.ydb.tech/issues/ydb-rs-sdk/263)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/263) | [![issue 224 status](https://github.ydb.tech/issues/ydb-php-sdk/224)](https://github\.com/ydb-platform/ydb-php-sdk/issues/224) |
+| DescribeResource | + | [![issue 615 status](https://github.ydb.tech/issues/ydb-python-sdk/615)](https://github\.com/ydb-platform/ydb-python-sdk/issues/615) | + | [![issue 425 status](https://github.ydb.tech/issues/ydb-java-sdk/425)](https://github\.com/ydb-platform/ydb-java-sdk/issues/425) | [![issue 486 status](https://github.ydb.tech/issues/ydb-js-sdk/486)](https://github\.com/ydb-platform/ydb-js-sdk/issues/486) | [![issue 370 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/370)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/370) | [![issue 264 status](https://github.ydb.tech/issues/ydb-rs-sdk/264)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/264) | [![issue 225 status](https://github.ydb.tech/issues/ydb-php-sdk/225)](https://github\.com/ydb-platform/ydb-php-sdk/issues/225) |
+| AcquireResource | + | [![issue 616 status](https://github.ydb.tech/issues/ydb-python-sdk/616)](https://github\.com/ydb-platform/ydb-python-sdk/issues/616) | + | [![issue 426 status](https://github.ydb.tech/issues/ydb-java-sdk/426)](https://github\.com/ydb-platform/ydb-java-sdk/issues/426) | [![issue 487 status](https://github.ydb.tech/issues/ydb-js-sdk/487)](https://github\.com/ydb-platform/ydb-js-sdk/issues/487) | [![issue 371 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/371)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/371) | [![issue 265 status](https://github.ydb.tech/issues/ydb-rs-sdk/265)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/265) | [![issue 226 status](https://github.ydb.tech/issues/ydb-php-sdk/226)](https://github\.com/ydb-platform/ydb-php-sdk/issues/226) |
 | **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
+| Solomon / Monitoring | + | [![issue 617 status](https://github.ydb.tech/issues/ydb-python-sdk/617)](https://github\.com/ydb-platform/ydb-python-sdk/issues/617) | + | [![issue 427 status](https://github.ydb.tech/issues/ydb-java-sdk/427)](https://github\.com/ydb-platform/ydb-java-sdk/issues/427) | [![issue 488 status](https://github.ydb.tech/issues/ydb-js-sdk/488)](https://github\.com/ydb-platform/ydb-js-sdk/issues/488) | [![issue 372 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/372)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/372) | [![issue 266 status](https://github.ydb.tech/issues/ydb-rs-sdk/266)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/266) | [![issue 180 status](https://github.ydb.tech/issues/ydb-php-sdk/180)](https://github\.com/ydb-platform/ydb-php-sdk/issues/180) |
+| Prometheus | [![issue 460 status](https://github.ydb.tech/issues/ydb-cpp-sdk/460)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/460) | [![issue 618 status](https://github.ydb.tech/issues/ydb-python-sdk/618)](https://github\.com/ydb-platform/ydb-python-sdk/issues/618) | + | [![issue 428 status](https://github.ydb.tech/issues/ydb-java-sdk/428)](https://github\.com/ydb-platform/ydb-java-sdk/issues/428) | [![issue 489 status](https://github.ydb.tech/issues/ydb-js-sdk/489)](https://github\.com/ydb-platform/ydb-js-sdk/issues/489) | [![issue 373 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/373)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/373) | [![issue 267 status](https://github.ydb.tech/issues/ydb-rs-sdk/267)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/267) | [![issue 181 status](https://github.ydb.tech/issues/ydb-php-sdk/181)](https://github\.com/ydb-platform/ydb-php-sdk/issues/181) |
+| SDK event logging | [![issue 461 status](https://github.ydb.tech/issues/ydb-cpp-sdk/461)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/461) | [![issue 619 status](https://github.ydb.tech/issues/ydb-python-sdk/619)](https://github\.com/ydb-platform/ydb-python-sdk/issues/619) | + | + | + | + | + | + |
 | SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
+| in OpenTelemetry | [![issue 462 status](https://github.ydb.tech/issues/ydb-cpp-sdk/462)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/462) | [![issue 620 status](https://github.ydb.tech/issues/ydb-python-sdk/620)](https://github\.com/ydb-platform/ydb-python-sdk/issues/620) | [![issue 1754 status](https://github.ydb.tech/issues/ydb-go-sdk/1754)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1754) | [![issue 429 status](https://github.ydb.tech/issues/ydb-java-sdk/429)](https://github\.com/ydb-platform/ydb-java-sdk/issues/429) | [![issue 490 status](https://github.ydb.tech/issues/ydb-js-sdk/490)](https://github\.com/ydb-platform/ydb-js-sdk/issues/490) | [![issue 374 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/374)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/374) | [![issue 268 status](https://github.ydb.tech/issues/ydb-rs-sdk/268)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/268) | [![issue 182 status](https://github.ydb.tech/issues/ydb-php-sdk/182)](https://github\.com/ydb-platform/ydb-php-sdk/issues/182) |
+| in OpenTracing | [![issue 463 status](https://github.ydb.tech/issues/ydb-cpp-sdk/463)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/463) | [![issue 621 status](https://github.ydb.tech/issues/ydb-python-sdk/621)](https://github\.com/ydb-platform/ydb-python-sdk/issues/621) | + | [![issue 430 status](https://github.ydb.tech/issues/ydb-java-sdk/430)](https://github\.com/ydb-platform/ydb-java-sdk/issues/430) | [![issue 491 status](https://github.ydb.tech/issues/ydb-js-sdk/491)](https://github\.com/ydb-platform/ydb-js-sdk/issues/491) | [![issue 375 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/375)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/375) | [![issue 269 status](https://github.ydb.tech/issues/ydb-rs-sdk/269)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/269) | [![issue 183 status](https://github.ydb.tech/issues/ydb-php-sdk/183)](https://github\.com/ydb-platform/ydb-php-sdk/issues/183) |
 | **Examples** |
 | Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| token | [![issue 471 status](https://github.ydb.tech/issues/ydb-cpp-sdk/471)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/471) | [![issue 622 status](https://github.ydb.tech/issues/ydb-python-sdk/622)](https://github\.com/ydb-platform/ydb-python-sdk/issues/622) | + | + | + | + | + | + |
+| anonymous | [![issue 472 status](https://github.ydb.tech/issues/ydb-cpp-sdk/472)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/472) | [![issue 623 status](https://github.ydb.tech/issues/ydb-python-sdk/623)](https://github\.com/ydb-platform/ydb-python-sdk/issues/623) | + | + | + | + | [![issue 304 status](https://github.ydb.tech/issues/ydb-rs-sdk/304)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/304) | + |
+| environ | [![issue 473 status](https://github.ydb.tech/issues/ydb-cpp-sdk/473)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/473) | [![issue 624 status](https://github.ydb.tech/issues/ydb-python-sdk/624)](https://github\.com/ydb-platform/ydb-python-sdk/issues/624) | + | + | + | [![issue 376 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/376)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/376) | [![issue 305 status](https://github.ydb.tech/issues/ydb-rs-sdk/305)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/305) | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| \* environ | [![issue 473 status](https://github.ydb.tech/issues/ydb-cpp-sdk/473)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/473) | [![issue 624 status](https://github.ydb.tech/issues/ydb-python-sdk/624)](https://github\.com/ydb-platform/ydb-python-sdk/issues/624) | + | + | + | [![issue 376 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/376)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/376) | [![issue 305 status](https://github.ydb.tech/issues/ydb-rs-sdk/305)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/305) | + |
```
created_at: 2025-04-28T09:56:27Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
 | **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| **Operation service** |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| **ScriptingYQL service** |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
 | **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | + | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | + | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | + | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | + | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | + | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | + | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
 | **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
+| CreateTopic | + | + | + | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
+| DescribeTopic | + | + | + | [![issue 416 status](https://github.ydb.tech/issues/ydb-java-sdk/416)](https://github\.com/ydb-platform/ydb-java-sdk/issues/416) | [![issue 477 status](https://github.ydb.tech/issues/ydb-js-sdk/477)](https://github\.com/ydb-platform/ydb-js-sdk/issues/477) | [![issue 361 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/361)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/361) | [![issue 255 status](https://github.ydb.tech/issues/ydb-rs-sdk/255)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/255) | [![issue 175 status](https://github.ydb.tech/issues/ydb-php-sdk/175)](https://github\.com/ydb-platform/ydb-php-sdk/issues/175) |
+| AlterTopic | + | [![issue 599 status](https://github.ydb.tech/issues/ydb-python-sdk/599)](https://github\.com/ydb-platform/ydb-python-sdk/issues/599) | + | [![issue 417 status](https://github.ydb.tech/issues/ydb-java-sdk/417)](https://github\.com/ydb-platform/ydb-java-sdk/issues/417) | [![issue 478 status](https://github.ydb.tech/issues/ydb-js-sdk/478)](https://github\.com/ydb-platform/ydb-js-sdk/issues/478) | [![issue 362 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/362)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/362) | [![issue 256 status](https://github.ydb.tech/issues/ydb-rs-sdk/256)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/256) | [![issue 176 status](https://github.ydb.tech/issues/ydb-php-sdk/176)](https://github\.com/ydb-platform/ydb-php-sdk/issues/176) |
+| DropTopic | + | + | + | [![issue 418 status](https://github.ydb.tech/issues/ydb-java-sdk/418)](https://github\.com/ydb-platform/ydb-java-sdk/issues/418) | [![issue 479 status](https://github.ydb.tech/issues/ydb-js-sdk/479)](https://github\.com/ydb-platform/ydb-js-sdk/issues/479) | [![issue 363 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/363)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/363) | [![issue 257 status](https://github.ydb.tech/issues/ydb-rs-sdk/257)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/257) | [![issue 177 status](https://github.ydb.tech/issues/ydb-php-sdk/177)](https://github\.com/ydb-platform/ydb-php-sdk/issues/177) |
+| StreamWrite | + | + | + | [![issue 419 status](https://github.ydb.tech/issues/ydb-java-sdk/419)](https://github\.com/ydb-platform/ydb-java-sdk/issues/419) | [![issue 480 status](https://github.ydb.tech/issues/ydb-js-sdk/480)](https://github\.com/ydb-platform/ydb-js-sdk/issues/480) | [![issue 364 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/364)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/364) | [![issue 258 status](https://github.ydb.tech/issues/ydb-rs-sdk/258)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/258) | [![issue 178 status](https://github.ydb.tech/issues/ydb-php-sdk/178)](https://github\.com/ydb-platform/ydb-php-sdk/issues/178) |
+| StreamRead | + | + | + | [![issue 420 status](https://github.ydb.tech/issues/ydb-java-sdk/420)](https://github\.com/ydb-platform/ydb-java-sdk/issues/420) | [![issue 481 status](https://github.ydb.tech/issues/ydb-js-sdk/481)](https://github\.com/ydb-platform/ydb-js-sdk/issues/481) | [![issue 365 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/365)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/365) | [![issue 259 status](https://github.ydb.tech/issues/ydb-rs-sdk/259)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/259) | [![issue 179 status](https://github.ydb.tech/issues/ydb-php-sdk/179)](https://github\.com/ydb-platform/ydb-php-sdk/issues/179) |
 | **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
+| CreateResource | + | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | + | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
+| AlterResource | + | [![issue 612 status](https://github.ydb.tech/issues/ydb-python-sdk/612)](https://github\.com/ydb-platform/ydb-python-sdk/issues/612) | + | [![issue 422 status](https://github.ydb.tech/issues/ydb-java-sdk/422)](https://github\.com/ydb-platform/ydb-java-sdk/issues/422) | [![issue 483 status](https://github.ydb.tech/issues/ydb-js-sdk/483)](https://github\.com/ydb-platform/ydb-js-sdk/issues/483) | [![issue 367 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/367)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/367) | [![issue 261 status](https://github.ydb.tech/issues/ydb-rs-sdk/261)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/261) | [![issue 222 status](https://github.ydb.tech/issues/ydb-php-sdk/222)](https://github\.com/ydb-platform/ydb-php-sdk/issues/222) |
+| DropResource | + | [![issue 613 status](https://github.ydb.tech/issues/ydb-python-sdk/613)](https://github\.com/ydb-platform/ydb-python-sdk/issues/613) | + | [![issue 423 status](https://github.ydb.tech/issues/ydb-java-sdk/423)](https://github\.com/ydb-platform/ydb-java-sdk/issues/423) | [![issue 484 status](https://github.ydb.tech/issues/ydb-js-sdk/484)](https://github\.com/ydb-platform/ydb-js-sdk/issues/484) | [![issue 368 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/368)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/368) | [![issue 262 status](https://github.ydb.tech/issues/ydb-rs-sdk/262)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/262) | [![issue 223 status](https://github.ydb.tech/issues/ydb-php-sdk/223)](https://github\.com/ydb-platform/ydb-php-sdk/issues/223) |
+| ListResources | + | [![issue 614 status](https://github.ydb.tech/issues/ydb-python-sdk/614)](https://github\.com/ydb-platform/ydb-python-sdk/issues/614) | + | [![issue 424 status](https://github.ydb.tech/issues/ydb-java-sdk/424)](https://github\.com/ydb-platform/ydb-java-sdk/issues/424) | [![issue 485 status](https://github.ydb.tech/issues/ydb-js-sdk/485)](https://github\.com/ydb-platform/ydb-js-sdk/issues/485) | [![issue 369 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/369)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/369) | [![issue 263 status](https://github.ydb.tech/issues/ydb-rs-sdk/263)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/263) | [![issue 224 status](https://github.ydb.tech/issues/ydb-php-sdk/224)](https://github\.com/ydb-platform/ydb-php-sdk/issues/224) |
+| DescribeResource | + | [![issue 615 status](https://github.ydb.tech/issues/ydb-python-sdk/615)](https://github\.com/ydb-platform/ydb-python-sdk/issues/615) | + | [![issue 425 status](https://github.ydb.tech/issues/ydb-java-sdk/425)](https://github\.com/ydb-platform/ydb-java-sdk/issues/425) | [![issue 486 status](https://github.ydb.tech/issues/ydb-js-sdk/486)](https://github\.com/ydb-platform/ydb-js-sdk/issues/486) | [![issue 370 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/370)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/370) | [![issue 264 status](https://github.ydb.tech/issues/ydb-rs-sdk/264)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/264) | [![issue 225 status](https://github.ydb.tech/issues/ydb-php-sdk/225)](https://github\.com/ydb-platform/ydb-php-sdk/issues/225) |
+| AcquireResource | + | [![issue 616 status](https://github.ydb.tech/issues/ydb-python-sdk/616)](https://github\.com/ydb-platform/ydb-python-sdk/issues/616) | + | [![issue 426 status](https://github.ydb.tech/issues/ydb-java-sdk/426)](https://github\.com/ydb-platform/ydb-java-sdk/issues/426) | [![issue 487 status](https://github.ydb.tech/issues/ydb-js-sdk/487)](https://github\.com/ydb-platform/ydb-js-sdk/issues/487) | [![issue 371 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/371)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/371) | [![issue 265 status](https://github.ydb.tech/issues/ydb-rs-sdk/265)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/265) | [![issue 226 status](https://github.ydb.tech/issues/ydb-php-sdk/226)](https://github\.com/ydb-platform/ydb-php-sdk/issues/226) |
 | **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
+| Solomon / Monitoring | + | [![issue 617 status](https://github.ydb.tech/issues/ydb-python-sdk/617)](https://github\.com/ydb-platform/ydb-python-sdk/issues/617) | + | [![issue 427 status](https://github.ydb.tech/issues/ydb-java-sdk/427)](https://github\.com/ydb-platform/ydb-java-sdk/issues/427) | [![issue 488 status](https://github.ydb.tech/issues/ydb-js-sdk/488)](https://github\.com/ydb-platform/ydb-js-sdk/issues/488) | [![issue 372 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/372)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/372) | [![issue 266 status](https://github.ydb.tech/issues/ydb-rs-sdk/266)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/266) | [![issue 180 status](https://github.ydb.tech/issues/ydb-php-sdk/180)](https://github\.com/ydb-platform/ydb-php-sdk/issues/180) |
+| Prometheus | [![issue 460 status](https://github.ydb.tech/issues/ydb-cpp-sdk/460)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/460) | [![issue 618 status](https://github.ydb.tech/issues/ydb-python-sdk/618)](https://github\.com/ydb-platform/ydb-python-sdk/issues/618) | + | [![issue 428 status](https://github.ydb.tech/issues/ydb-java-sdk/428)](https://github\.com/ydb-platform/ydb-java-sdk/issues/428) | [![issue 489 status](https://github.ydb.tech/issues/ydb-js-sdk/489)](https://github\.com/ydb-platform/ydb-js-sdk/issues/489) | [![issue 373 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/373)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/373) | [![issue 267 status](https://github.ydb.tech/issues/ydb-rs-sdk/267)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/267) | [![issue 181 status](https://github.ydb.tech/issues/ydb-php-sdk/181)](https://github\.com/ydb-platform/ydb-php-sdk/issues/181) |
+| SDK event logging | [![issue 461 status](https://github.ydb.tech/issues/ydb-cpp-sdk/461)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/461) | [![issue 619 status](https://github.ydb.tech/issues/ydb-python-sdk/619)](https://github\.com/ydb-platform/ydb-python-sdk/issues/619) | + | + | + | + | + | + |
 | SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
+| in OpenTelemetry | [![issue 462 status](https://github.ydb.tech/issues/ydb-cpp-sdk/462)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/462) | [![issue 620 status](https://github.ydb.tech/issues/ydb-python-sdk/620)](https://github\.com/ydb-platform/ydb-python-sdk/issues/620) | [![issue 1754 status](https://github.ydb.tech/issues/ydb-go-sdk/1754)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1754) | [![issue 429 status](https://github.ydb.tech/issues/ydb-java-sdk/429)](https://github\.com/ydb-platform/ydb-java-sdk/issues/429) | [![issue 490 status](https://github.ydb.tech/issues/ydb-js-sdk/490)](https://github\.com/ydb-platform/ydb-js-sdk/issues/490) | [![issue 374 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/374)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/374) | [![issue 268 status](https://github.ydb.tech/issues/ydb-rs-sdk/268)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/268) | [![issue 182 status](https://github.ydb.tech/issues/ydb-php-sdk/182)](https://github\.com/ydb-platform/ydb-php-sdk/issues/182) |
+| in OpenTracing | [![issue 463 status](https://github.ydb.tech/issues/ydb-cpp-sdk/463)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/463) | [![issue 621 status](https://github.ydb.tech/issues/ydb-python-sdk/621)](https://github\.com/ydb-platform/ydb-python-sdk/issues/621) | + | [![issue 430 status](https://github.ydb.tech/issues/ydb-java-sdk/430)](https://github\.com/ydb-platform/ydb-java-sdk/issues/430) | [![issue 491 status](https://github.ydb.tech/issues/ydb-js-sdk/491)](https://github\.com/ydb-platform/ydb-js-sdk/issues/491) | [![issue 375 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/375)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/375) | [![issue 269 status](https://github.ydb.tech/issues/ydb-rs-sdk/269)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/269) | [![issue 183 status](https://github.ydb.tech/issues/ydb-php-sdk/183)](https://github\.com/ydb-platform/ydb-php-sdk/issues/183) |
 | **Examples** |
 | Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| token | [![issue 471 status](https://github.ydb.tech/issues/ydb-cpp-sdk/471)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/471) | [![issue 622 status](https://github.ydb.tech/issues/ydb-python-sdk/622)](https://github\.com/ydb-platform/ydb-python-sdk/issues/622) | + | + | + | + | + | + |
+| anonymous | [![issue 472 status](https://github.ydb.tech/issues/ydb-cpp-sdk/472)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/472) | [![issue 623 status](https://github.ydb.tech/issues/ydb-python-sdk/623)](https://github\.com/ydb-platform/ydb-python-sdk/issues/623) | + | + | + | + | [![issue 304 status](https://github.ydb.tech/issues/ydb-rs-sdk/304)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/304) | + |
+| environ | [![issue 473 status](https://github.ydb.tech/issues/ydb-cpp-sdk/473)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/473) | [![issue 624 status](https://github.ydb.tech/issues/ydb-python-sdk/624)](https://github\.com/ydb-platform/ydb-python-sdk/issues/624) | + | + | + | [![issue 376 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/376)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/376) | [![issue 305 status](https://github.ydb.tech/issues/ydb-rs-sdk/305)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/305) | + |
+| metadata | [![issue 474 status](https://github.ydb.tech/issues/ydb-cpp-sdk/474)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/474) | [![issue 625 status](https://github.ydb.tech/issues/ydb-python-sdk/625)](https://github\.com/ydb-platform/ydb-python-sdk/issues/625) | + | + | + | + | [![issue 306 status](https://github.ydb.tech/issues/ydb-rs-sdk/306)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/306) | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| \* metadata | [![issue 474 status](https://github.ydb.tech/issues/ydb-cpp-sdk/474)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/474) | [![issue 625 status](https://github.ydb.tech/issues/ydb-python-sdk/625)](https://github\.com/ydb-platform/ydb-python-sdk/issues/625) | + | + | + | + | [![issue 306 status](https://github.ydb.tech/issues/ydb-rs-sdk/306)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/306) | + |
```
created_at: 2025-04-28T09:56:37Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
 | **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| **Operation service** |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| **ScriptingYQL service** |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
 | **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | + | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | + | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | + | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | + | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | + | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | + | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
 | **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
+| CreateTopic | + | + | + | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
+| DescribeTopic | + | + | + | [![issue 416 status](https://github.ydb.tech/issues/ydb-java-sdk/416)](https://github\.com/ydb-platform/ydb-java-sdk/issues/416) | [![issue 477 status](https://github.ydb.tech/issues/ydb-js-sdk/477)](https://github\.com/ydb-platform/ydb-js-sdk/issues/477) | [![issue 361 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/361)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/361) | [![issue 255 status](https://github.ydb.tech/issues/ydb-rs-sdk/255)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/255) | [![issue 175 status](https://github.ydb.tech/issues/ydb-php-sdk/175)](https://github\.com/ydb-platform/ydb-php-sdk/issues/175) |
+| AlterTopic | + | [![issue 599 status](https://github.ydb.tech/issues/ydb-python-sdk/599)](https://github\.com/ydb-platform/ydb-python-sdk/issues/599) | + | [![issue 417 status](https://github.ydb.tech/issues/ydb-java-sdk/417)](https://github\.com/ydb-platform/ydb-java-sdk/issues/417) | [![issue 478 status](https://github.ydb.tech/issues/ydb-js-sdk/478)](https://github\.com/ydb-platform/ydb-js-sdk/issues/478) | [![issue 362 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/362)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/362) | [![issue 256 status](https://github.ydb.tech/issues/ydb-rs-sdk/256)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/256) | [![issue 176 status](https://github.ydb.tech/issues/ydb-php-sdk/176)](https://github\.com/ydb-platform/ydb-php-sdk/issues/176) |
+| DropTopic | + | + | + | [![issue 418 status](https://github.ydb.tech/issues/ydb-java-sdk/418)](https://github\.com/ydb-platform/ydb-java-sdk/issues/418) | [![issue 479 status](https://github.ydb.tech/issues/ydb-js-sdk/479)](https://github\.com/ydb-platform/ydb-js-sdk/issues/479) | [![issue 363 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/363)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/363) | [![issue 257 status](https://github.ydb.tech/issues/ydb-rs-sdk/257)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/257) | [![issue 177 status](https://github.ydb.tech/issues/ydb-php-sdk/177)](https://github\.com/ydb-platform/ydb-php-sdk/issues/177) |
+| StreamWrite | + | + | + | [![issue 419 status](https://github.ydb.tech/issues/ydb-java-sdk/419)](https://github\.com/ydb-platform/ydb-java-sdk/issues/419) | [![issue 480 status](https://github.ydb.tech/issues/ydb-js-sdk/480)](https://github\.com/ydb-platform/ydb-js-sdk/issues/480) | [![issue 364 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/364)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/364) | [![issue 258 status](https://github.ydb.tech/issues/ydb-rs-sdk/258)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/258) | [![issue 178 status](https://github.ydb.tech/issues/ydb-php-sdk/178)](https://github\.com/ydb-platform/ydb-php-sdk/issues/178) |
+| StreamRead | + | + | + | [![issue 420 status](https://github.ydb.tech/issues/ydb-java-sdk/420)](https://github\.com/ydb-platform/ydb-java-sdk/issues/420) | [![issue 481 status](https://github.ydb.tech/issues/ydb-js-sdk/481)](https://github\.com/ydb-platform/ydb-js-sdk/issues/481) | [![issue 365 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/365)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/365) | [![issue 259 status](https://github.ydb.tech/issues/ydb-rs-sdk/259)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/259) | [![issue 179 status](https://github.ydb.tech/issues/ydb-php-sdk/179)](https://github\.com/ydb-platform/ydb-php-sdk/issues/179) |
 | **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
+| CreateResource | + | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | + | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
+| AlterResource | + | [![issue 612 status](https://github.ydb.tech/issues/ydb-python-sdk/612)](https://github\.com/ydb-platform/ydb-python-sdk/issues/612) | + | [![issue 422 status](https://github.ydb.tech/issues/ydb-java-sdk/422)](https://github\.com/ydb-platform/ydb-java-sdk/issues/422) | [![issue 483 status](https://github.ydb.tech/issues/ydb-js-sdk/483)](https://github\.com/ydb-platform/ydb-js-sdk/issues/483) | [![issue 367 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/367)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/367) | [![issue 261 status](https://github.ydb.tech/issues/ydb-rs-sdk/261)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/261) | [![issue 222 status](https://github.ydb.tech/issues/ydb-php-sdk/222)](https://github\.com/ydb-platform/ydb-php-sdk/issues/222) |
+| DropResource | + | [![issue 613 status](https://github.ydb.tech/issues/ydb-python-sdk/613)](https://github\.com/ydb-platform/ydb-python-sdk/issues/613) | + | [![issue 423 status](https://github.ydb.tech/issues/ydb-java-sdk/423)](https://github\.com/ydb-platform/ydb-java-sdk/issues/423) | [![issue 484 status](https://github.ydb.tech/issues/ydb-js-sdk/484)](https://github\.com/ydb-platform/ydb-js-sdk/issues/484) | [![issue 368 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/368)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/368) | [![issue 262 status](https://github.ydb.tech/issues/ydb-rs-sdk/262)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/262) | [![issue 223 status](https://github.ydb.tech/issues/ydb-php-sdk/223)](https://github\.com/ydb-platform/ydb-php-sdk/issues/223) |
+| ListResources | + | [![issue 614 status](https://github.ydb.tech/issues/ydb-python-sdk/614)](https://github\.com/ydb-platform/ydb-python-sdk/issues/614) | + | [![issue 424 status](https://github.ydb.tech/issues/ydb-java-sdk/424)](https://github\.com/ydb-platform/ydb-java-sdk/issues/424) | [![issue 485 status](https://github.ydb.tech/issues/ydb-js-sdk/485)](https://github\.com/ydb-platform/ydb-js-sdk/issues/485) | [![issue 369 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/369)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/369) | [![issue 263 status](https://github.ydb.tech/issues/ydb-rs-sdk/263)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/263) | [![issue 224 status](https://github.ydb.tech/issues/ydb-php-sdk/224)](https://github\.com/ydb-platform/ydb-php-sdk/issues/224) |
+| DescribeResource | + | [![issue 615 status](https://github.ydb.tech/issues/ydb-python-sdk/615)](https://github\.com/ydb-platform/ydb-python-sdk/issues/615) | + | [![issue 425 status](https://github.ydb.tech/issues/ydb-java-sdk/425)](https://github\.com/ydb-platform/ydb-java-sdk/issues/425) | [![issue 486 status](https://github.ydb.tech/issues/ydb-js-sdk/486)](https://github\.com/ydb-platform/ydb-js-sdk/issues/486) | [![issue 370 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/370)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/370) | [![issue 264 status](https://github.ydb.tech/issues/ydb-rs-sdk/264)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/264) | [![issue 225 status](https://github.ydb.tech/issues/ydb-php-sdk/225)](https://github\.com/ydb-platform/ydb-php-sdk/issues/225) |
+| AcquireResource | + | [![issue 616 status](https://github.ydb.tech/issues/ydb-python-sdk/616)](https://github\.com/ydb-platform/ydb-python-sdk/issues/616) | + | [![issue 426 status](https://github.ydb.tech/issues/ydb-java-sdk/426)](https://github\.com/ydb-platform/ydb-java-sdk/issues/426) | [![issue 487 status](https://github.ydb.tech/issues/ydb-js-sdk/487)](https://github\.com/ydb-platform/ydb-js-sdk/issues/487) | [![issue 371 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/371)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/371) | [![issue 265 status](https://github.ydb.tech/issues/ydb-rs-sdk/265)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/265) | [![issue 226 status](https://github.ydb.tech/issues/ydb-php-sdk/226)](https://github\.com/ydb-platform/ydb-php-sdk/issues/226) |
 | **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
+| Solomon / Monitoring | + | [![issue 617 status](https://github.ydb.tech/issues/ydb-python-sdk/617)](https://github\.com/ydb-platform/ydb-python-sdk/issues/617) | + | [![issue 427 status](https://github.ydb.tech/issues/ydb-java-sdk/427)](https://github\.com/ydb-platform/ydb-java-sdk/issues/427) | [![issue 488 status](https://github.ydb.tech/issues/ydb-js-sdk/488)](https://github\.com/ydb-platform/ydb-js-sdk/issues/488) | [![issue 372 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/372)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/372) | [![issue 266 status](https://github.ydb.tech/issues/ydb-rs-sdk/266)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/266) | [![issue 180 status](https://github.ydb.tech/issues/ydb-php-sdk/180)](https://github\.com/ydb-platform/ydb-php-sdk/issues/180) |
+| Prometheus | [![issue 460 status](https://github.ydb.tech/issues/ydb-cpp-sdk/460)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/460) | [![issue 618 status](https://github.ydb.tech/issues/ydb-python-sdk/618)](https://github\.com/ydb-platform/ydb-python-sdk/issues/618) | + | [![issue 428 status](https://github.ydb.tech/issues/ydb-java-sdk/428)](https://github\.com/ydb-platform/ydb-java-sdk/issues/428) | [![issue 489 status](https://github.ydb.tech/issues/ydb-js-sdk/489)](https://github\.com/ydb-platform/ydb-js-sdk/issues/489) | [![issue 373 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/373)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/373) | [![issue 267 status](https://github.ydb.tech/issues/ydb-rs-sdk/267)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/267) | [![issue 181 status](https://github.ydb.tech/issues/ydb-php-sdk/181)](https://github\.com/ydb-platform/ydb-php-sdk/issues/181) |
+| SDK event logging | [![issue 461 status](https://github.ydb.tech/issues/ydb-cpp-sdk/461)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/461) | [![issue 619 status](https://github.ydb.tech/issues/ydb-python-sdk/619)](https://github\.com/ydb-platform/ydb-python-sdk/issues/619) | + | + | + | + | + | + |
 | SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
+| in OpenTelemetry | [![issue 462 status](https://github.ydb.tech/issues/ydb-cpp-sdk/462)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/462) | [![issue 620 status](https://github.ydb.tech/issues/ydb-python-sdk/620)](https://github\.com/ydb-platform/ydb-python-sdk/issues/620) | [![issue 1754 status](https://github.ydb.tech/issues/ydb-go-sdk/1754)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1754) | [![issue 429 status](https://github.ydb.tech/issues/ydb-java-sdk/429)](https://github\.com/ydb-platform/ydb-java-sdk/issues/429) | [![issue 490 status](https://github.ydb.tech/issues/ydb-js-sdk/490)](https://github\.com/ydb-platform/ydb-js-sdk/issues/490) | [![issue 374 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/374)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/374) | [![issue 268 status](https://github.ydb.tech/issues/ydb-rs-sdk/268)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/268) | [![issue 182 status](https://github.ydb.tech/issues/ydb-php-sdk/182)](https://github\.com/ydb-platform/ydb-php-sdk/issues/182) |
+| in OpenTracing | [![issue 463 status](https://github.ydb.tech/issues/ydb-cpp-sdk/463)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/463) | [![issue 621 status](https://github.ydb.tech/issues/ydb-python-sdk/621)](https://github\.com/ydb-platform/ydb-python-sdk/issues/621) | + | [![issue 430 status](https://github.ydb.tech/issues/ydb-java-sdk/430)](https://github\.com/ydb-platform/ydb-java-sdk/issues/430) | [![issue 491 status](https://github.ydb.tech/issues/ydb-js-sdk/491)](https://github\.com/ydb-platform/ydb-js-sdk/issues/491) | [![issue 375 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/375)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/375) | [![issue 269 status](https://github.ydb.tech/issues/ydb-rs-sdk/269)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/269) | [![issue 183 status](https://github.ydb.tech/issues/ydb-php-sdk/183)](https://github\.com/ydb-platform/ydb-php-sdk/issues/183) |
 | **Examples** |
 | Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| token | [![issue 471 status](https://github.ydb.tech/issues/ydb-cpp-sdk/471)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/471) | [![issue 622 status](https://github.ydb.tech/issues/ydb-python-sdk/622)](https://github\.com/ydb-platform/ydb-python-sdk/issues/622) | + | + | + | + | + | + |
+| anonymous | [![issue 472 status](https://github.ydb.tech/issues/ydb-cpp-sdk/472)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/472) | [![issue 623 status](https://github.ydb.tech/issues/ydb-python-sdk/623)](https://github\.com/ydb-platform/ydb-python-sdk/issues/623) | + | + | + | + | [![issue 304 status](https://github.ydb.tech/issues/ydb-rs-sdk/304)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/304) | + |
+| environ | [![issue 473 status](https://github.ydb.tech/issues/ydb-cpp-sdk/473)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/473) | [![issue 624 status](https://github.ydb.tech/issues/ydb-python-sdk/624)](https://github\.com/ydb-platform/ydb-python-sdk/issues/624) | + | + | + | [![issue 376 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/376)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/376) | [![issue 305 status](https://github.ydb.tech/issues/ydb-rs-sdk/305)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/305) | + |
+| metadata | [![issue 474 status](https://github.ydb.tech/issues/ydb-cpp-sdk/474)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/474) | [![issue 625 status](https://github.ydb.tech/issues/ydb-python-sdk/625)](https://github\.com/ydb-platform/ydb-python-sdk/issues/625) | + | + | + | + | [![issue 306 status](https://github.ydb.tech/issues/ydb-rs-sdk/306)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/306) | + |
+| service_account | [![issue 475 status](https://github.ydb.tech/issues/ydb-cpp-sdk/475)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/475) | [![issue 626 status](https://github.ydb.tech/issues/ydb-python-sdk/626)](https://github\.com/ydb-platform/ydb-python-sdk/issues/626) | + | + | + | [![issue 377 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/377)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/377) | [![issue 307 status](https://github.ydb.tech/issues/ydb-rs-sdk/307)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/307) | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| \* service_account | [![issue 475 status](https://github.ydb.tech/issues/ydb-cpp-sdk/475)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/475) | [![issue 626 status](https://github.ydb.tech/issues/ydb-python-sdk/626)](https://github\.com/ydb-platform/ydb-python-sdk/issues/626) | + | + | + | [![issue 377 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/377)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/377) | [![issue 307 status](https://github.ydb.tech/issues/ydb-rs-sdk/307)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/307) | + |
```
created_at: 2025-04-28T09:57:48Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
 | **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| **Operation service** |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| **ScriptingYQL service** |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
 | **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | + | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | + | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | + | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | + | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | + | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | + | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
 | **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
+| CreateTopic | + | + | + | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
+| DescribeTopic | + | + | + | [![issue 416 status](https://github.ydb.tech/issues/ydb-java-sdk/416)](https://github\.com/ydb-platform/ydb-java-sdk/issues/416) | [![issue 477 status](https://github.ydb.tech/issues/ydb-js-sdk/477)](https://github\.com/ydb-platform/ydb-js-sdk/issues/477) | [![issue 361 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/361)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/361) | [![issue 255 status](https://github.ydb.tech/issues/ydb-rs-sdk/255)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/255) | [![issue 175 status](https://github.ydb.tech/issues/ydb-php-sdk/175)](https://github\.com/ydb-platform/ydb-php-sdk/issues/175) |
+| AlterTopic | + | [![issue 599 status](https://github.ydb.tech/issues/ydb-python-sdk/599)](https://github\.com/ydb-platform/ydb-python-sdk/issues/599) | + | [![issue 417 status](https://github.ydb.tech/issues/ydb-java-sdk/417)](https://github\.com/ydb-platform/ydb-java-sdk/issues/417) | [![issue 478 status](https://github.ydb.tech/issues/ydb-js-sdk/478)](https://github\.com/ydb-platform/ydb-js-sdk/issues/478) | [![issue 362 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/362)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/362) | [![issue 256 status](https://github.ydb.tech/issues/ydb-rs-sdk/256)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/256) | [![issue 176 status](https://github.ydb.tech/issues/ydb-php-sdk/176)](https://github\.com/ydb-platform/ydb-php-sdk/issues/176) |
+| DropTopic | + | + | + | [![issue 418 status](https://github.ydb.tech/issues/ydb-java-sdk/418)](https://github\.com/ydb-platform/ydb-java-sdk/issues/418) | [![issue 479 status](https://github.ydb.tech/issues/ydb-js-sdk/479)](https://github\.com/ydb-platform/ydb-js-sdk/issues/479) | [![issue 363 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/363)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/363) | [![issue 257 status](https://github.ydb.tech/issues/ydb-rs-sdk/257)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/257) | [![issue 177 status](https://github.ydb.tech/issues/ydb-php-sdk/177)](https://github\.com/ydb-platform/ydb-php-sdk/issues/177) |
+| StreamWrite | + | + | + | [![issue 419 status](https://github.ydb.tech/issues/ydb-java-sdk/419)](https://github\.com/ydb-platform/ydb-java-sdk/issues/419) | [![issue 480 status](https://github.ydb.tech/issues/ydb-js-sdk/480)](https://github\.com/ydb-platform/ydb-js-sdk/issues/480) | [![issue 364 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/364)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/364) | [![issue 258 status](https://github.ydb.tech/issues/ydb-rs-sdk/258)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/258) | [![issue 178 status](https://github.ydb.tech/issues/ydb-php-sdk/178)](https://github\.com/ydb-platform/ydb-php-sdk/issues/178) |
+| StreamRead | + | + | + | [![issue 420 status](https://github.ydb.tech/issues/ydb-java-sdk/420)](https://github\.com/ydb-platform/ydb-java-sdk/issues/420) | [![issue 481 status](https://github.ydb.tech/issues/ydb-js-sdk/481)](https://github\.com/ydb-platform/ydb-js-sdk/issues/481) | [![issue 365 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/365)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/365) | [![issue 259 status](https://github.ydb.tech/issues/ydb-rs-sdk/259)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/259) | [![issue 179 status](https://github.ydb.tech/issues/ydb-php-sdk/179)](https://github\.com/ydb-platform/ydb-php-sdk/issues/179) |
 | **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
+| CreateResource | + | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | + | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
+| AlterResource | + | [![issue 612 status](https://github.ydb.tech/issues/ydb-python-sdk/612)](https://github\.com/ydb-platform/ydb-python-sdk/issues/612) | + | [![issue 422 status](https://github.ydb.tech/issues/ydb-java-sdk/422)](https://github\.com/ydb-platform/ydb-java-sdk/issues/422) | [![issue 483 status](https://github.ydb.tech/issues/ydb-js-sdk/483)](https://github\.com/ydb-platform/ydb-js-sdk/issues/483) | [![issue 367 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/367)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/367) | [![issue 261 status](https://github.ydb.tech/issues/ydb-rs-sdk/261)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/261) | [![issue 222 status](https://github.ydb.tech/issues/ydb-php-sdk/222)](https://github\.com/ydb-platform/ydb-php-sdk/issues/222) |
+| DropResource | + | [![issue 613 status](https://github.ydb.tech/issues/ydb-python-sdk/613)](https://github\.com/ydb-platform/ydb-python-sdk/issues/613) | + | [![issue 423 status](https://github.ydb.tech/issues/ydb-java-sdk/423)](https://github\.com/ydb-platform/ydb-java-sdk/issues/423) | [![issue 484 status](https://github.ydb.tech/issues/ydb-js-sdk/484)](https://github\.com/ydb-platform/ydb-js-sdk/issues/484) | [![issue 368 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/368)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/368) | [![issue 262 status](https://github.ydb.tech/issues/ydb-rs-sdk/262)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/262) | [![issue 223 status](https://github.ydb.tech/issues/ydb-php-sdk/223)](https://github\.com/ydb-platform/ydb-php-sdk/issues/223) |
+| ListResources | + | [![issue 614 status](https://github.ydb.tech/issues/ydb-python-sdk/614)](https://github\.com/ydb-platform/ydb-python-sdk/issues/614) | + | [![issue 424 status](https://github.ydb.tech/issues/ydb-java-sdk/424)](https://github\.com/ydb-platform/ydb-java-sdk/issues/424) | [![issue 485 status](https://github.ydb.tech/issues/ydb-js-sdk/485)](https://github\.com/ydb-platform/ydb-js-sdk/issues/485) | [![issue 369 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/369)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/369) | [![issue 263 status](https://github.ydb.tech/issues/ydb-rs-sdk/263)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/263) | [![issue 224 status](https://github.ydb.tech/issues/ydb-php-sdk/224)](https://github\.com/ydb-platform/ydb-php-sdk/issues/224) |
+| DescribeResource | + | [![issue 615 status](https://github.ydb.tech/issues/ydb-python-sdk/615)](https://github\.com/ydb-platform/ydb-python-sdk/issues/615) | + | [![issue 425 status](https://github.ydb.tech/issues/ydb-java-sdk/425)](https://github\.com/ydb-platform/ydb-java-sdk/issues/425) | [![issue 486 status](https://github.ydb.tech/issues/ydb-js-sdk/486)](https://github\.com/ydb-platform/ydb-js-sdk/issues/486) | [![issue 370 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/370)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/370) | [![issue 264 status](https://github.ydb.tech/issues/ydb-rs-sdk/264)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/264) | [![issue 225 status](https://github.ydb.tech/issues/ydb-php-sdk/225)](https://github\.com/ydb-platform/ydb-php-sdk/issues/225) |
+| AcquireResource | + | [![issue 616 status](https://github.ydb.tech/issues/ydb-python-sdk/616)](https://github\.com/ydb-platform/ydb-python-sdk/issues/616) | + | [![issue 426 status](https://github.ydb.tech/issues/ydb-java-sdk/426)](https://github\.com/ydb-platform/ydb-java-sdk/issues/426) | [![issue 487 status](https://github.ydb.tech/issues/ydb-js-sdk/487)](https://github\.com/ydb-platform/ydb-js-sdk/issues/487) | [![issue 371 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/371)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/371) | [![issue 265 status](https://github.ydb.tech/issues/ydb-rs-sdk/265)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/265) | [![issue 226 status](https://github.ydb.tech/issues/ydb-php-sdk/226)](https://github\.com/ydb-platform/ydb-php-sdk/issues/226) |
 | **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
+| Solomon / Monitoring | + | [![issue 617 status](https://github.ydb.tech/issues/ydb-python-sdk/617)](https://github\.com/ydb-platform/ydb-python-sdk/issues/617) | + | [![issue 427 status](https://github.ydb.tech/issues/ydb-java-sdk/427)](https://github\.com/ydb-platform/ydb-java-sdk/issues/427) | [![issue 488 status](https://github.ydb.tech/issues/ydb-js-sdk/488)](https://github\.com/ydb-platform/ydb-js-sdk/issues/488) | [![issue 372 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/372)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/372) | [![issue 266 status](https://github.ydb.tech/issues/ydb-rs-sdk/266)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/266) | [![issue 180 status](https://github.ydb.tech/issues/ydb-php-sdk/180)](https://github\.com/ydb-platform/ydb-php-sdk/issues/180) |
+| Prometheus | [![issue 460 status](https://github.ydb.tech/issues/ydb-cpp-sdk/460)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/460) | [![issue 618 status](https://github.ydb.tech/issues/ydb-python-sdk/618)](https://github\.com/ydb-platform/ydb-python-sdk/issues/618) | + | [![issue 428 status](https://github.ydb.tech/issues/ydb-java-sdk/428)](https://github\.com/ydb-platform/ydb-java-sdk/issues/428) | [![issue 489 status](https://github.ydb.tech/issues/ydb-js-sdk/489)](https://github\.com/ydb-platform/ydb-js-sdk/issues/489) | [![issue 373 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/373)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/373) | [![issue 267 status](https://github.ydb.tech/issues/ydb-rs-sdk/267)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/267) | [![issue 181 status](https://github.ydb.tech/issues/ydb-php-sdk/181)](https://github\.com/ydb-platform/ydb-php-sdk/issues/181) |
+| SDK event logging | [![issue 461 status](https://github.ydb.tech/issues/ydb-cpp-sdk/461)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/461) | [![issue 619 status](https://github.ydb.tech/issues/ydb-python-sdk/619)](https://github\.com/ydb-platform/ydb-python-sdk/issues/619) | + | + | + | + | + | + |
 | SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
+| in OpenTelemetry | [![issue 462 status](https://github.ydb.tech/issues/ydb-cpp-sdk/462)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/462) | [![issue 620 status](https://github.ydb.tech/issues/ydb-python-sdk/620)](https://github\.com/ydb-platform/ydb-python-sdk/issues/620) | [![issue 1754 status](https://github.ydb.tech/issues/ydb-go-sdk/1754)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1754) | [![issue 429 status](https://github.ydb.tech/issues/ydb-java-sdk/429)](https://github\.com/ydb-platform/ydb-java-sdk/issues/429) | [![issue 490 status](https://github.ydb.tech/issues/ydb-js-sdk/490)](https://github\.com/ydb-platform/ydb-js-sdk/issues/490) | [![issue 374 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/374)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/374) | [![issue 268 status](https://github.ydb.tech/issues/ydb-rs-sdk/268)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/268) | [![issue 182 status](https://github.ydb.tech/issues/ydb-php-sdk/182)](https://github\.com/ydb-platform/ydb-php-sdk/issues/182) |
+| in OpenTracing | [![issue 463 status](https://github.ydb.tech/issues/ydb-cpp-sdk/463)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/463) | [![issue 621 status](https://github.ydb.tech/issues/ydb-python-sdk/621)](https://github\.com/ydb-platform/ydb-python-sdk/issues/621) | + | [![issue 430 status](https://github.ydb.tech/issues/ydb-java-sdk/430)](https://github\.com/ydb-platform/ydb-java-sdk/issues/430) | [![issue 491 status](https://github.ydb.tech/issues/ydb-js-sdk/491)](https://github\.com/ydb-platform/ydb-js-sdk/issues/491) | [![issue 375 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/375)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/375) | [![issue 269 status](https://github.ydb.tech/issues/ydb-rs-sdk/269)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/269) | [![issue 183 status](https://github.ydb.tech/issues/ydb-php-sdk/183)](https://github\.com/ydb-platform/ydb-php-sdk/issues/183) |
 | **Examples** |
 | Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| token | [![issue 471 status](https://github.ydb.tech/issues/ydb-cpp-sdk/471)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/471) | [![issue 622 status](https://github.ydb.tech/issues/ydb-python-sdk/622)](https://github\.com/ydb-platform/ydb-python-sdk/issues/622) | + | + | + | + | + | + |
+| anonymous | [![issue 472 status](https://github.ydb.tech/issues/ydb-cpp-sdk/472)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/472) | [![issue 623 status](https://github.ydb.tech/issues/ydb-python-sdk/623)](https://github\.com/ydb-platform/ydb-python-sdk/issues/623) | + | + | + | + | [![issue 304 status](https://github.ydb.tech/issues/ydb-rs-sdk/304)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/304) | + |
+| environ | [![issue 473 status](https://github.ydb.tech/issues/ydb-cpp-sdk/473)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/473) | [![issue 624 status](https://github.ydb.tech/issues/ydb-python-sdk/624)](https://github\.com/ydb-platform/ydb-python-sdk/issues/624) | + | + | + | [![issue 376 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/376)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/376) | [![issue 305 status](https://github.ydb.tech/issues/ydb-rs-sdk/305)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/305) | + |
+| metadata | [![issue 474 status](https://github.ydb.tech/issues/ydb-cpp-sdk/474)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/474) | [![issue 625 status](https://github.ydb.tech/issues/ydb-python-sdk/625)](https://github\.com/ydb-platform/ydb-python-sdk/issues/625) | + | + | + | + | [![issue 306 status](https://github.ydb.tech/issues/ydb-rs-sdk/306)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/306) | + |
+| service_account | [![issue 475 status](https://github.ydb.tech/issues/ydb-cpp-sdk/475)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/475) | [![issue 626 status](https://github.ydb.tech/issues/ydb-python-sdk/626)](https://github\.com/ydb-platform/ydb-python-sdk/issues/626) | + | + | + | [![issue 377 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/377)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/377) | [![issue 307 status](https://github.ydb.tech/issues/ydb-rs-sdk/307)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/307) | + |
+| static (username + password) | [![issue 476 status](https://github.ydb.tech/issues/ydb-cpp-sdk/476)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/476) | [![issue 627 status](https://github.ydb.tech/issues/ydb-python-sdk/627)](https://github\.com/ydb-platform/ydb-python-sdk/issues/627) | + | + | + | + | + | [![issue 184 status](https://github.ydb.tech/issues/ydb-php-sdk/184)](https://github\.com/ydb-platform/ydb-php-sdk/issues/184) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| \* static (username \+ password) | [![issue 476 status](https://github.ydb.tech/issues/ydb-cpp-sdk/476)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/476) | [![issue 627 status](https://github.ydb.tech/issues/ydb-python-sdk/627)](https://github\.com/ydb-platform/ydb-python-sdk/issues/627) | + | + | + | + | + | [![issue 184 status](https://github.ydb.tech/issues/ydb-php-sdk/184)](https://github\.com/ydb-platform/ydb-php-sdk/issues/184) |
```
created_at: 2025-04-28T09:58:05Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8 16 32 64) | + | + | + | + | + | + | + | + |
+| Int128 UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8 Text | + | + | + | + | + | + | + | + |
+| NULL Optional Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct> Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date DateTime Timestamp Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate TzDateTime TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json JsonDocument Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
 | **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| By default server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| **Operation service** |
+| Consumed Units from metadata of a response to a grpc-request request | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| **ScriptingYQL service** |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
 | **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | + | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | + | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | + | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | + | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | + | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | + | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
 | **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
+| CreateTopic | + | + | + | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
+| DescribeTopic | + | + | + | [![issue 416 status](https://github.ydb.tech/issues/ydb-java-sdk/416)](https://github\.com/ydb-platform/ydb-java-sdk/issues/416) | [![issue 477 status](https://github.ydb.tech/issues/ydb-js-sdk/477)](https://github\.com/ydb-platform/ydb-js-sdk/issues/477) | [![issue 361 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/361)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/361) | [![issue 255 status](https://github.ydb.tech/issues/ydb-rs-sdk/255)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/255) | [![issue 175 status](https://github.ydb.tech/issues/ydb-php-sdk/175)](https://github\.com/ydb-platform/ydb-php-sdk/issues/175) |
+| AlterTopic | + | [![issue 599 status](https://github.ydb.tech/issues/ydb-python-sdk/599)](https://github\.com/ydb-platform/ydb-python-sdk/issues/599) | + | [![issue 417 status](https://github.ydb.tech/issues/ydb-java-sdk/417)](https://github\.com/ydb-platform/ydb-java-sdk/issues/417) | [![issue 478 status](https://github.ydb.tech/issues/ydb-js-sdk/478)](https://github\.com/ydb-platform/ydb-js-sdk/issues/478) | [![issue 362 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/362)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/362) | [![issue 256 status](https://github.ydb.tech/issues/ydb-rs-sdk/256)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/256) | [![issue 176 status](https://github.ydb.tech/issues/ydb-php-sdk/176)](https://github\.com/ydb-platform/ydb-php-sdk/issues/176) |
+| DropTopic | + | + | + | [![issue 418 status](https://github.ydb.tech/issues/ydb-java-sdk/418)](https://github\.com/ydb-platform/ydb-java-sdk/issues/418) | [![issue 479 status](https://github.ydb.tech/issues/ydb-js-sdk/479)](https://github\.com/ydb-platform/ydb-js-sdk/issues/479) | [![issue 363 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/363)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/363) | [![issue 257 status](https://github.ydb.tech/issues/ydb-rs-sdk/257)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/257) | [![issue 177 status](https://github.ydb.tech/issues/ydb-php-sdk/177)](https://github\.com/ydb-platform/ydb-php-sdk/issues/177) |
+| StreamWrite | + | + | + | [![issue 419 status](https://github.ydb.tech/issues/ydb-java-sdk/419)](https://github\.com/ydb-platform/ydb-java-sdk/issues/419) | [![issue 480 status](https://github.ydb.tech/issues/ydb-js-sdk/480)](https://github\.com/ydb-platform/ydb-js-sdk/issues/480) | [![issue 364 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/364)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/364) | [![issue 258 status](https://github.ydb.tech/issues/ydb-rs-sdk/258)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/258) | [![issue 178 status](https://github.ydb.tech/issues/ydb-php-sdk/178)](https://github\.com/ydb-platform/ydb-php-sdk/issues/178) |
+| StreamRead | + | + | + | [![issue 420 status](https://github.ydb.tech/issues/ydb-java-sdk/420)](https://github\.com/ydb-platform/ydb-java-sdk/issues/420) | [![issue 481 status](https://github.ydb.tech/issues/ydb-js-sdk/481)](https://github\.com/ydb-platform/ydb-js-sdk/issues/481) | [![issue 365 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/365)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/365) | [![issue 259 status](https://github.ydb.tech/issues/ydb-rs-sdk/259)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/259) | [![issue 179 status](https://github.ydb.tech/issues/ydb-php-sdk/179)](https://github\.com/ydb-platform/ydb-php-sdk/issues/179) |
 | **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
+| CreateResource | + | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | + | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
+| AlterResource | + | [![issue 612 status](https://github.ydb.tech/issues/ydb-python-sdk/612)](https://github\.com/ydb-platform/ydb-python-sdk/issues/612) | + | [![issue 422 status](https://github.ydb.tech/issues/ydb-java-sdk/422)](https://github\.com/ydb-platform/ydb-java-sdk/issues/422) | [![issue 483 status](https://github.ydb.tech/issues/ydb-js-sdk/483)](https://github\.com/ydb-platform/ydb-js-sdk/issues/483) | [![issue 367 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/367)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/367) | [![issue 261 status](https://github.ydb.tech/issues/ydb-rs-sdk/261)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/261) | [![issue 222 status](https://github.ydb.tech/issues/ydb-php-sdk/222)](https://github\.com/ydb-platform/ydb-php-sdk/issues/222) |
+| DropResource | + | [![issue 613 status](https://github.ydb.tech/issues/ydb-python-sdk/613)](https://github\.com/ydb-platform/ydb-python-sdk/issues/613) | + | [![issue 423 status](https://github.ydb.tech/issues/ydb-java-sdk/423)](https://github\.com/ydb-platform/ydb-java-sdk/issues/423) | [![issue 484 status](https://github.ydb.tech/issues/ydb-js-sdk/484)](https://github\.com/ydb-platform/ydb-js-sdk/issues/484) | [![issue 368 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/368)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/368) | [![issue 262 status](https://github.ydb.tech/issues/ydb-rs-sdk/262)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/262) | [![issue 223 status](https://github.ydb.tech/issues/ydb-php-sdk/223)](https://github\.com/ydb-platform/ydb-php-sdk/issues/223) |
+| ListResources | + | [![issue 614 status](https://github.ydb.tech/issues/ydb-python-sdk/614)](https://github\.com/ydb-platform/ydb-python-sdk/issues/614) | + | [![issue 424 status](https://github.ydb.tech/issues/ydb-java-sdk/424)](https://github\.com/ydb-platform/ydb-java-sdk/issues/424) | [![issue 485 status](https://github.ydb.tech/issues/ydb-js-sdk/485)](https://github\.com/ydb-platform/ydb-js-sdk/issues/485) | [![issue 369 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/369)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/369) | [![issue 263 status](https://github.ydb.tech/issues/ydb-rs-sdk/263)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/263) | [![issue 224 status](https://github.ydb.tech/issues/ydb-php-sdk/224)](https://github\.com/ydb-platform/ydb-php-sdk/issues/224) |
+| DescribeResource | + | [![issue 615 status](https://github.ydb.tech/issues/ydb-python-sdk/615)](https://github\.com/ydb-platform/ydb-python-sdk/issues/615) | + | [![issue 425 status](https://github.ydb.tech/issues/ydb-java-sdk/425)](https://github\.com/ydb-platform/ydb-java-sdk/issues/425) | [![issue 486 status](https://github.ydb.tech/issues/ydb-js-sdk/486)](https://github\.com/ydb-platform/ydb-js-sdk/issues/486) | [![issue 370 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/370)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/370) | [![issue 264 status](https://github.ydb.tech/issues/ydb-rs-sdk/264)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/264) | [![issue 225 status](https://github.ydb.tech/issues/ydb-php-sdk/225)](https://github\.com/ydb-platform/ydb-php-sdk/issues/225) |
+| AcquireResource | + | [![issue 616 status](https://github.ydb.tech/issues/ydb-python-sdk/616)](https://github\.com/ydb-platform/ydb-python-sdk/issues/616) | + | [![issue 426 status](https://github.ydb.tech/issues/ydb-java-sdk/426)](https://github\.com/ydb-platform/ydb-java-sdk/issues/426) | [![issue 487 status](https://github.ydb.tech/issues/ydb-js-sdk/487)](https://github\.com/ydb-platform/ydb-js-sdk/issues/487) | [![issue 371 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/371)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/371) | [![issue 265 status](https://github.ydb.tech/issues/ydb-rs-sdk/265)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/265) | [![issue 226 status](https://github.ydb.tech/issues/ydb-php-sdk/226)](https://github\.com/ydb-platform/ydb-php-sdk/issues/226) |
 | **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
+| Solomon / Monitoring | + | [![issue 617 status](https://github.ydb.tech/issues/ydb-python-sdk/617)](https://github\.com/ydb-platform/ydb-python-sdk/issues/617) | + | [![issue 427 status](https://github.ydb.tech/issues/ydb-java-sdk/427)](https://github\.com/ydb-platform/ydb-java-sdk/issues/427) | [![issue 488 status](https://github.ydb.tech/issues/ydb-js-sdk/488)](https://github\.com/ydb-platform/ydb-js-sdk/issues/488) | [![issue 372 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/372)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/372) | [![issue 266 status](https://github.ydb.tech/issues/ydb-rs-sdk/266)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/266) | [![issue 180 status](https://github.ydb.tech/issues/ydb-php-sdk/180)](https://github\.com/ydb-platform/ydb-php-sdk/issues/180) |
+| Prometheus | [![issue 460 status](https://github.ydb.tech/issues/ydb-cpp-sdk/460)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/460) | [![issue 618 status](https://github.ydb.tech/issues/ydb-python-sdk/618)](https://github\.com/ydb-platform/ydb-python-sdk/issues/618) | + | [![issue 428 status](https://github.ydb.tech/issues/ydb-java-sdk/428)](https://github\.com/ydb-platform/ydb-java-sdk/issues/428) | [![issue 489 status](https://github.ydb.tech/issues/ydb-js-sdk/489)](https://github\.com/ydb-platform/ydb-js-sdk/issues/489) | [![issue 373 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/373)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/373) | [![issue 267 status](https://github.ydb.tech/issues/ydb-rs-sdk/267)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/267) | [![issue 181 status](https://github.ydb.tech/issues/ydb-php-sdk/181)](https://github\.com/ydb-platform/ydb-php-sdk/issues/181) |
+| SDK event logging | [![issue 461 status](https://github.ydb.tech/issues/ydb-cpp-sdk/461)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/461) | [![issue 619 status](https://github.ydb.tech/issues/ydb-python-sdk/619)](https://github\.com/ydb-platform/ydb-python-sdk/issues/619) | + | + | + | + | + | + |
 | SDK event **tracing** |
-| in OpenTelemetry | \- | ? | \- | \- | \- | \- | \- | \- |
-| in OpenTracing | \- | ? | \+ | \- | \- | \- | \- | \- |
+| in OpenTelemetry | [![issue 462 status](https://github.ydb.tech/issues/ydb-cpp-sdk/462)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/462) | [![issue 620 status](https://github.ydb.tech/issues/ydb-python-sdk/620)](https://github\.com/ydb-platform/ydb-python-sdk/issues/620) | [![issue 1754 status](https://github.ydb.tech/issues/ydb-go-sdk/1754)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1754) | [![issue 429 status](https://github.ydb.tech/issues/ydb-java-sdk/429)](https://github\.com/ydb-platform/ydb-java-sdk/issues/429) | [![issue 490 status](https://github.ydb.tech/issues/ydb-js-sdk/490)](https://github\.com/ydb-platform/ydb-js-sdk/issues/490) | [![issue 374 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/374)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/374) | [![issue 268 status](https://github.ydb.tech/issues/ydb-rs-sdk/268)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/268) | [![issue 182 status](https://github.ydb.tech/issues/ydb-php-sdk/182)](https://github\.com/ydb-platform/ydb-php-sdk/issues/182) |
+| in OpenTracing | [![issue 463 status](https://github.ydb.tech/issues/ydb-cpp-sdk/463)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/463) | [![issue 621 status](https://github.ydb.tech/issues/ydb-python-sdk/621)](https://github\.com/ydb-platform/ydb-python-sdk/issues/621) | + | [![issue 430 status](https://github.ydb.tech/issues/ydb-java-sdk/430)](https://github\.com/ydb-platform/ydb-java-sdk/issues/430) | [![issue 491 status](https://github.ydb.tech/issues/ydb-js-sdk/491)](https://github\.com/ydb-platform/ydb-js-sdk/issues/491) | [![issue 375 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/375)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/375) | [![issue 269 status](https://github.ydb.tech/issues/ydb-rs-sdk/269)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/269) | [![issue 183 status](https://github.ydb.tech/issues/ydb-php-sdk/183)](https://github\.com/ydb-platform/ydb-php-sdk/issues/183) |
 | **Examples** |
 | Auth |
-| \* token | ? | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* anonymous | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* environ | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* metadata | ? | ? | \+ | \+ | \+ | \+ |  | \+ |
-| \* service_account | ? | ? | \+ | \+ | \+ | \- |  | \+ |
-| \* static (username \+ password) | ? | ? | \+ | \+ | \+ | \+ | \+ | \- |
-| Basic (series) | \+ | ? | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bulk Upsert | \+/- | ? | \+ | \+ | \+ | \- |  | \- |
-| Containers (Struct,Variant,List,Tuple) | \- | ? | \+ | \- | \- | \- |  | \- |
-| Pagination | \+ | ? | \+ | \+ | \- | \- |  | \- |
-| Partition policies | \- | ? | \+ | \- | \- | \- |  | \-|
-| Read table | ? | ? | \+ | \- | \+ | \- |  | \+ |
-| Secondary index Workaround | \+ | ? | \- | \+ | \- | \- |  | \- |
-| Secondary index builtin | \+ | ? | \- | \- | \- | \- |  | \- |
-| TTL | \+ | ? | \+ | \- | \- | \- |  | \- |
-| TTL Readtable | \+ | ? | \+ | \- | \- | \- |  | \- |
-| URL Shortener (serverless yandex function) | ? | ? | \+ | ? | \+ | \- |  | \- |
-| Topic reader | \+ | \+ | \- | \- |  | \- |  | \- |
-| Topic writer | \- | \+ | \- | \- |  | \- |  | \- |
+| token | [![issue 471 status](https://github.ydb.tech/issues/ydb-cpp-sdk/471)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/471) | [![issue 622 status](https://github.ydb.tech/issues/ydb-python-sdk/622)](https://github\.com/ydb-platform/ydb-python-sdk/issues/622) | + | + | + | + | + | + |
+| anonymous | [![issue 472 status](https://github.ydb.tech/issues/ydb-cpp-sdk/472)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/472) | [![issue 623 status](https://github.ydb.tech/issues/ydb-python-sdk/623)](https://github\.com/ydb-platform/ydb-python-sdk/issues/623) | + | + | + | + | [![issue 304 status](https://github.ydb.tech/issues/ydb-rs-sdk/304)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/304) | + |
+| environ | [![issue 473 status](https://github.ydb.tech/issues/ydb-cpp-sdk/473)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/473) | [![issue 624 status](https://github.ydb.tech/issues/ydb-python-sdk/624)](https://github\.com/ydb-platform/ydb-python-sdk/issues/624) | + | + | + | [![issue 376 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/376)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/376) | [![issue 305 status](https://github.ydb.tech/issues/ydb-rs-sdk/305)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/305) | + |
+| metadata | [![issue 474 status](https://github.ydb.tech/issues/ydb-cpp-sdk/474)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/474) | [![issue 625 status](https://github.ydb.tech/issues/ydb-python-sdk/625)](https://github\.com/ydb-platform/ydb-python-sdk/issues/625) | + | + | + | + | [![issue 306 status](https://github.ydb.tech/issues/ydb-rs-sdk/306)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/306) | + |
+| service_account | [![issue 475 status](https://github.ydb.tech/issues/ydb-cpp-sdk/475)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/475) | [![issue 626 status](https://github.ydb.tech/issues/ydb-python-sdk/626)](https://github\.com/ydb-platform/ydb-python-sdk/issues/626) | + | + | + | [![issue 377 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/377)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/377) | [![issue 307 status](https://github.ydb.tech/issues/ydb-rs-sdk/307)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/307) | + |
+| static (username + password) | [![issue 476 status](https://github.ydb.tech/issues/ydb-cpp-sdk/476)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/476) | [![issue 627 status](https://github.ydb.tech/issues/ydb-python-sdk/627)](https://github\.com/ydb-platform/ydb-python-sdk/issues/627) | + | + | + | + | + | [![issue 184 status](https://github.ydb.tech/issues/ydb-php-sdk/184)](https://github\.com/ydb-platform/ydb-php-sdk/issues/184) |
+| Basic (series) | + | [![issue 628 status](https://github.ydb.tech/issues/ydb-python-sdk/628)](https://github\.com/ydb-platform/ydb-python-sdk/issues/628) | + | + | + | + | + | + |
+| Bulk Upsert | [![issue 468 status](https://github.ydb.tech/issues/ydb-cpp-sdk/468)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/468) | [![issue 629 status](https://github.ydb.tech/issues/ydb-python-sdk/629)](https://github\.com/ydb-platform/ydb-python-sdk/issues/629) | + | + | + | [![issue 378 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/378)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/378) | [![issue 308 status](https://github.ydb.tech/issues/ydb-rs-sdk/308)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/308) | [![issue 185 status](https://github.ydb.tech/issues/ydb-php-sdk/185)](https://github\.com/ydb-platform/ydb-php-sdk/issues/185) |
+| Containers (Struct Variant List Tuple) | [![issue 464 status](https://github.ydb.tech/issues/ydb-cpp-sdk/464)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/464) | [![issue 630 status](https://github.ydb.tech/issues/ydb-python-sdk/630)](https://github\.com/ydb-platform/ydb-python-sdk/issues/630) | + | [![issue 431 status](https://github.ydb.tech/issues/ydb-java-sdk/431)](https://github\.com/ydb-platform/ydb-java-sdk/issues/431) | [![issue 492 status](https://github.ydb.tech/issues/ydb-js-sdk/492)](https://github\.com/ydb-platform/ydb-js-sdk/issues/492) | [![issue 379 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/379)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/379) | [![issue 309 status](https://github.ydb.tech/issues/ydb-rs-sdk/309)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/309) | [![issue 186 status](https://github.ydb.tech/issues/ydb-php-sdk/186)](https://github\.com/ydb-platform/ydb-php-sdk/issues/186) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Containers (Struct, Variant, List, Tuple) | [![issue 464 status](https://github.ydb.tech/issues/ydb-cpp-sdk/464)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/464) | [![issue 630 status](https://github.ydb.tech/issues/ydb-python-sdk/630)](https://github\.com/ydb-platform/ydb-python-sdk/issues/630) | + | [![issue 431 status](https://github.ydb.tech/issues/ydb-java-sdk/431)](https://github\.com/ydb-platform/ydb-java-sdk/issues/431) | [![issue 492 status](https://github.ydb.tech/issues/ydb-js-sdk/492)](https://github\.com/ydb-platform/ydb-js-sdk/issues/492) | [![issue 379 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/379)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/379) | [![issue 309 status](https://github.ydb.tech/issues/ydb-rs-sdk/309)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/309) | [![issue 186 status](https://github.ydb.tech/issues/ydb-php-sdk/186)](https://github\.com/ydb-platform/ydb-php-sdk/issues/186) |
```
created_at: 2025-04-28T09:58:21Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing (all requests to the initial Endpoint) | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints (by default, once a minute) | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record, Endpoint DNS record, some of which may not be available (DNS load balancing) | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Token: IAM, Access token | + | + | + | + | + | + | + | + |
```
created_at: 2025-04-28T09:59:03Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing (all requests to the initial Endpoint) | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints (by default, once a minute) | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record, Endpoint DNS record, some of which may not be available (DNS load balancing) | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool (redundant sessions) | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8,16,32,64) | + | + | + | + | + | + | + | + |
+| Int128, UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float, Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String, Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8, Text | + | + | + | + | + | + | + | + |
+| NULL, Optional, Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct>, Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Variant\<Struct>,Variant\<Tuple\> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
```
created_at: 2025-04-28T09:59:39Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing (all requests to the initial Endpoint) | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints (by default, once a minute) | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record, Endpoint DNS record, some of which may not be available (DNS load balancing) | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool (redundant sessions) | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8,16,32,64) | + | + | + | + | + | + | + | + |
+| Int128, UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float, Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String, Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8, Text | + | + | + | + | + | + | + | + |
+| NULL, Optional, Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct>, Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date, DateTime, Timestamp, Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate, TzDateTime, TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json, JsonDocument, Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
 | **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| \* By default, server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| \* A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| \* Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| \* Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| **Operation service** |
+| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| **ScriptingYQL service** |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
 | **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | + | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | + | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | + | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | + | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | + | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | + | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election, distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
 | **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
+| CreateTopic | + | + | + | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
+| DescribeTopic | + | + | + | [![issue 416 status](https://github.ydb.tech/issues/ydb-java-sdk/416)](https://github\.com/ydb-platform/ydb-java-sdk/issues/416) | [![issue 477 status](https://github.ydb.tech/issues/ydb-js-sdk/477)](https://github\.com/ydb-platform/ydb-js-sdk/issues/477) | [![issue 361 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/361)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/361) | [![issue 255 status](https://github.ydb.tech/issues/ydb-rs-sdk/255)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/255) | [![issue 175 status](https://github.ydb.tech/issues/ydb-php-sdk/175)](https://github\.com/ydb-platform/ydb-php-sdk/issues/175) |
+| AlterTopic | + | [![issue 599 status](https://github.ydb.tech/issues/ydb-python-sdk/599)](https://github\.com/ydb-platform/ydb-python-sdk/issues/599) | + | [![issue 417 status](https://github.ydb.tech/issues/ydb-java-sdk/417)](https://github\.com/ydb-platform/ydb-java-sdk/issues/417) | [![issue 478 status](https://github.ydb.tech/issues/ydb-js-sdk/478)](https://github\.com/ydb-platform/ydb-js-sdk/issues/478) | [![issue 362 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/362)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/362) | [![issue 256 status](https://github.ydb.tech/issues/ydb-rs-sdk/256)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/256) | [![issue 176 status](https://github.ydb.tech/issues/ydb-php-sdk/176)](https://github\.com/ydb-platform/ydb-php-sdk/issues/176) |
+| DropTopic | + | + | + | [![issue 418 status](https://github.ydb.tech/issues/ydb-java-sdk/418)](https://github\.com/ydb-platform/ydb-java-sdk/issues/418) | [![issue 479 status](https://github.ydb.tech/issues/ydb-js-sdk/479)](https://github\.com/ydb-platform/ydb-js-sdk/issues/479) | [![issue 363 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/363)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/363) | [![issue 257 status](https://github.ydb.tech/issues/ydb-rs-sdk/257)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/257) | [![issue 177 status](https://github.ydb.tech/issues/ydb-php-sdk/177)](https://github\.com/ydb-platform/ydb-php-sdk/issues/177) |
+| StreamWrite | + | + | + | [![issue 419 status](https://github.ydb.tech/issues/ydb-java-sdk/419)](https://github\.com/ydb-platform/ydb-java-sdk/issues/419) | [![issue 480 status](https://github.ydb.tech/issues/ydb-js-sdk/480)](https://github\.com/ydb-platform/ydb-js-sdk/issues/480) | [![issue 364 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/364)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/364) | [![issue 258 status](https://github.ydb.tech/issues/ydb-rs-sdk/258)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/258) | [![issue 178 status](https://github.ydb.tech/issues/ydb-php-sdk/178)](https://github\.com/ydb-platform/ydb-php-sdk/issues/178) |
+| StreamRead | + | + | + | [![issue 420 status](https://github.ydb.tech/issues/ydb-java-sdk/420)](https://github\.com/ydb-platform/ydb-java-sdk/issues/420) | [![issue 481 status](https://github.ydb.tech/issues/ydb-js-sdk/481)](https://github\.com/ydb-platform/ydb-js-sdk/issues/481) | [![issue 365 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/365)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/365) | [![issue 259 status](https://github.ydb.tech/issues/ydb-rs-sdk/259)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/259) | [![issue 179 status](https://github.ydb.tech/issues/ydb-php-sdk/179)](https://github\.com/ydb-platform/ydb-php-sdk/issues/179) |
 | **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
+| CreateResource | + | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | + | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
+| AlterResource | + | [![issue 612 status](https://github.ydb.tech/issues/ydb-python-sdk/612)](https://github\.com/ydb-platform/ydb-python-sdk/issues/612) | + | [![issue 422 status](https://github.ydb.tech/issues/ydb-java-sdk/422)](https://github\.com/ydb-platform/ydb-java-sdk/issues/422) | [![issue 483 status](https://github.ydb.tech/issues/ydb-js-sdk/483)](https://github\.com/ydb-platform/ydb-js-sdk/issues/483) | [![issue 367 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/367)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/367) | [![issue 261 status](https://github.ydb.tech/issues/ydb-rs-sdk/261)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/261) | [![issue 222 status](https://github.ydb.tech/issues/ydb-php-sdk/222)](https://github\.com/ydb-platform/ydb-php-sdk/issues/222) |
+| DropResource | + | [![issue 613 status](https://github.ydb.tech/issues/ydb-python-sdk/613)](https://github\.com/ydb-platform/ydb-python-sdk/issues/613) | + | [![issue 423 status](https://github.ydb.tech/issues/ydb-java-sdk/423)](https://github\.com/ydb-platform/ydb-java-sdk/issues/423) | [![issue 484 status](https://github.ydb.tech/issues/ydb-js-sdk/484)](https://github\.com/ydb-platform/ydb-js-sdk/issues/484) | [![issue 368 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/368)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/368) | [![issue 262 status](https://github.ydb.tech/issues/ydb-rs-sdk/262)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/262) | [![issue 223 status](https://github.ydb.tech/issues/ydb-php-sdk/223)](https://github\.com/ydb-platform/ydb-php-sdk/issues/223) |
+| ListResources | + | [![issue 614 status](https://github.ydb.tech/issues/ydb-python-sdk/614)](https://github\.com/ydb-platform/ydb-python-sdk/issues/614) | + | [![issue 424 status](https://github.ydb.tech/issues/ydb-java-sdk/424)](https://github\.com/ydb-platform/ydb-java-sdk/issues/424) | [![issue 485 status](https://github.ydb.tech/issues/ydb-js-sdk/485)](https://github\.com/ydb-platform/ydb-js-sdk/issues/485) | [![issue 369 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/369)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/369) | [![issue 263 status](https://github.ydb.tech/issues/ydb-rs-sdk/263)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/263) | [![issue 224 status](https://github.ydb.tech/issues/ydb-php-sdk/224)](https://github\.com/ydb-platform/ydb-php-sdk/issues/224) |
+| DescribeResource | + | [![issue 615 status](https://github.ydb.tech/issues/ydb-python-sdk/615)](https://github\.com/ydb-platform/ydb-python-sdk/issues/615) | + | [![issue 425 status](https://github.ydb.tech/issues/ydb-java-sdk/425)](https://github\.com/ydb-platform/ydb-java-sdk/issues/425) | [![issue 486 status](https://github.ydb.tech/issues/ydb-js-sdk/486)](https://github\.com/ydb-platform/ydb-js-sdk/issues/486) | [![issue 370 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/370)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/370) | [![issue 264 status](https://github.ydb.tech/issues/ydb-rs-sdk/264)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/264) | [![issue 225 status](https://github.ydb.tech/issues/ydb-php-sdk/225)](https://github\.com/ydb-platform/ydb-php-sdk/issues/225) |
+| AcquireResource | + | [![issue 616 status](https://github.ydb.tech/issues/ydb-python-sdk/616)](https://github\.com/ydb-platform/ydb-python-sdk/issues/616) | + | [![issue 426 status](https://github.ydb.tech/issues/ydb-java-sdk/426)](https://github\.com/ydb-platform/ydb-java-sdk/issues/426) | [![issue 487 status](https://github.ydb.tech/issues/ydb-js-sdk/487)](https://github\.com/ydb-platform/ydb-js-sdk/issues/487) | [![issue 371 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/371)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/371) | [![issue 265 status](https://github.ydb.tech/issues/ydb-rs-sdk/265)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/265) | [![issue 226 status](https://github.ydb.tech/issues/ydb-php-sdk/226)](https://github\.com/ydb-platform/ydb-php-sdk/issues/226) |
 | **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
+| Solomon / Monitoring | + | [![issue 617 status](https://github.ydb.tech/issues/ydb-python-sdk/617)](https://github\.com/ydb-platform/ydb-python-sdk/issues/617) | + | [![issue 427 status](https://github.ydb.tech/issues/ydb-java-sdk/427)](https://github\.com/ydb-platform/ydb-java-sdk/issues/427) | [![issue 488 status](https://github.ydb.tech/issues/ydb-js-sdk/488)](https://github\.com/ydb-platform/ydb-js-sdk/issues/488) | [![issue 372 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/372)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/372) | [![issue 266 status](https://github.ydb.tech/issues/ydb-rs-sdk/266)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/266) | [![issue 180 status](https://github.ydb.tech/issues/ydb-php-sdk/180)](https://github\.com/ydb-platform/ydb-php-sdk/issues/180) |
+| Prometheus | [![issue 460 status](https://github.ydb.tech/issues/ydb-cpp-sdk/460)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/460) | [![issue 618 status](https://github.ydb.tech/issues/ydb-python-sdk/618)](https://github\.com/ydb-platform/ydb-python-sdk/issues/618) | + | [![issue 428 status](https://github.ydb.tech/issues/ydb-java-sdk/428)](https://github\.com/ydb-platform/ydb-java-sdk/issues/428) | [![issue 489 status](https://github.ydb.tech/issues/ydb-js-sdk/489)](https://github\.com/ydb-platform/ydb-js-sdk/issues/489) | [![issue 373 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/373)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/373) | [![issue 267 status](https://github.ydb.tech/issues/ydb-rs-sdk/267)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/267) | [![issue 181 status](https://github.ydb.tech/issues/ydb-php-sdk/181)](https://github\.com/ydb-platform/ydb-php-sdk/issues/181) |
+| SDK event logging | [![issue 461 status](https://github.ydb.tech/issues/ydb-cpp-sdk/461)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/461) | [![issue 619 status](https://github.ydb.tech/issues/ydb-python-sdk/619)](https://github\.com/ydb-platform/ydb-python-sdk/issues/619) | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| SDK event **logging** | [![issue 461 status](https://github.ydb.tech/issues/ydb-cpp-sdk/461)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/461) | [![issue 619 status](https://github.ydb.tech/issues/ydb-python-sdk/619)](https://github\.com/ydb-platform/ydb-python-sdk/issues/619) | + | + | + | + | + | + |
```
created_at: 2025-04-28T10:00:14Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing (all requests to the initial Endpoint) | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints (by default, once a minute) | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record, Endpoint DNS record, some of which may not be available (DNS load balancing) | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool (redundant sessions) | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
+| Retryer on the session pool (a repeat object is a session) | + | + | + | + | + | + | + | [![issue 216 status](https://github.ydb.tech/issues/ydb-php-sdk/216)](https://github\.com/ydb-platform/ydb-php-sdk/issues/216) |
+| Retryer on the session pool (a repeat object is a transaction within a session) | [![issue 455 status](https://github.ydb.tech/issues/ydb-cpp-sdk/455)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/455) | [![issue 595 status](https://github.ydb.tech/issues/ydb-python-sdk/595)](https://github\.com/ydb-platform/ydb-python-sdk/issues/595) | + | [![issue 400 status](https://github.ydb.tech/issues/ydb-java-sdk/400)](https://github\.com/ydb-platform/ydb-java-sdk/issues/400) | [![issue 458 status](https://github.ydb.tech/issues/ydb-js-sdk/458)](https://github\.com/ydb-platform/ydb-js-sdk/issues/458) | [![issue 324 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/324)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/324) | + | [![issue 217 status](https://github.ydb.tech/issues/ydb-php-sdk/217)](https://github\.com/ydb-platform/ydb-php-sdk/issues/217) |
+| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | + | + | + | + | [![issue 459 status](https://github.ydb.tech/issues/ydb-js-sdk/459)](https://github\.com/ydb-platform/ydb-js-sdk/issues/459) | [![issue 325 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/325)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/325) | [![issue 274 status](https://github.ydb.tech/issues/ydb-rs-sdk/274)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/274) | [![issue 218 status](https://github.ydb.tech/issues/ydb-php-sdk/218)](https://github\.com/ydb-platform/ydb-php-sdk/issues/218) |
+| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | + | + | + | [![issue 401 status](https://github.ydb.tech/issues/ydb-java-sdk/401)](https://github\.com/ydb-platform/ydb-java-sdk/issues/401) | [![issue 460 status](https://github.ydb.tech/issues/ydb-js-sdk/460)](https://github\.com/ydb-platform/ydb-js-sdk/issues/460) | [![issue 326 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/326)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/326) | [![issue 275 status](https://github.ydb.tech/issues/ydb-rs-sdk/275)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/275) | [![issue 219 status](https://github.ydb.tech/issues/ydb-php-sdk/219)](https://github\.com/ydb-platform/ydb-php-sdk/issues/219) |
 | **Support for YDB data types** |
-| Int/Uint(8,16,32,64) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Int128, UInt128 (not available publicly?) | \- | \- | \- | \- | \- | \- | \- | \- |
-| Float,Double | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Bool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| String, Bytes | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
-| Utf8, Text | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| NULL,Optional,Void | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+/\- |
-| Struct | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| List | \+ | \+ | \+ | \+ | \+ | \+/- | \+ | \+ |
-| Set | ? | ? | \- | ? | ? | \- | ? | ? |
-| Tuple | \+ | \+ | \+ | \+ | \+ | \+ | \+ | ?\+ |
-| Variant\<Struct\>,Variant\<Tuple\> | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Date,DateTime,Timestamp,Interval | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| TzDate,TzDateTime,TzTimestamp | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| DyNumber | \+ | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Decimal (120 bits) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Json,JsonDocument,Yson | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+/\- |
+| Int/Uint(8,16,32,64) | + | + | + | + | + | + | + | + |
+| Int128, UInt128 | [![issue 456 status](https://github.ydb.tech/issues/ydb-cpp-sdk/456)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/456) | [![issue 596 status](https://github.ydb.tech/issues/ydb-python-sdk/596)](https://github\.com/ydb-platform/ydb-python-sdk/issues/596) | [![issue 1750 status](https://github.ydb.tech/issues/ydb-go-sdk/1750)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1750) | [![issue 402 status](https://github.ydb.tech/issues/ydb-java-sdk/402)](https://github\.com/ydb-platform/ydb-java-sdk/issues/402) | [![issue 461 status](https://github.ydb.tech/issues/ydb-js-sdk/461)](https://github\.com/ydb-platform/ydb-js-sdk/issues/461) | [![issue 327 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/327)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/327) | [![issue 245 status](https://github.ydb.tech/issues/ydb-rs-sdk/245)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/245) | [![issue 158 status](https://github.ydb.tech/issues/ydb-php-sdk/158)](https://github\.com/ydb-platform/ydb-php-sdk/issues/158) |
+| Float, Double | + | + | + | + | + | + | + | + |
+| Bool | + | + | + | + | + | + | + | + |
+| String, Bytes | + | + | + | + | + | + | + | [![issue 198 status](https://github.ydb.tech/issues/ydb-php-sdk/198)](https://github\.com/ydb-platform/ydb-php-sdk/issues/198) |
+| Utf8, Text | + | + | + | + | + | + | + | + |
+| NULL, Optional, Void | + | + | + | + | + | [![issue 309 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/309)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/309) | + | [![issue 199 status](https://github.ydb.tech/issues/ydb-php-sdk/199)](https://github\.com/ydb-platform/ydb-php-sdk/issues/199) |
+| Struct | + | + | + | + | + | + | + | + |
+| List | + | + | + | + | + | [![issue 310 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/310)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/310) | + | + |
+| Set | [![issue 470 status](https://github.ydb.tech/issues/ydb-cpp-sdk/470)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/470) | [![issue 602 status](https://github.ydb.tech/issues/ydb-python-sdk/602)](https://github\.com/ydb-platform/ydb-python-sdk/issues/602) | [![issue 1751 status](https://github.ydb.tech/issues/ydb-go-sdk/1751)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1751) | [![issue 443 status](https://github.ydb.tech/issues/ydb-java-sdk/443)](https://github\.com/ydb-platform/ydb-java-sdk/issues/443) | [![issue 445 status](https://github.ydb.tech/issues/ydb-js-sdk/445)](https://github\.com/ydb-platform/ydb-js-sdk/issues/445) | [![issue 328 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/328)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/328) | [![issue 234 status](https://github.ydb.tech/issues/ydb-rs-sdk/234)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/234) | [![issue 197 status](https://github.ydb.tech/issues/ydb-php-sdk/197)](https://github\.com/ydb-platform/ydb-php-sdk/issues/197) |
+| Tuple | + | + | + | + | + | + | + | [![issue 220 status](https://github.ydb.tech/issues/ydb-php-sdk/220)](https://github\.com/ydb-platform/ydb-php-sdk/issues/220) |
+| Variant<Struct>, Variant<Tuple> | + | + | + | + | + | [![issue 329 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/329)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/329) | [![issue 246 status](https://github.ydb.tech/issues/ydb-rs-sdk/246)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/246) | [![issue 159 status](https://github.ydb.tech/issues/ydb-php-sdk/159)](https://github\.com/ydb-platform/ydb-php-sdk/issues/159) |
+| Date, DateTime, Timestamp, Interval | + | + | + | + | + | + | + | [![issue 160 status](https://github.ydb.tech/issues/ydb-php-sdk/160)](https://github\.com/ydb-platform/ydb-php-sdk/issues/160) |
+| TzDate, TzDateTime, TzTimestamp | + | + | + | + | + | [![issue 330 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/330)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/330) | [![issue 247 status](https://github.ydb.tech/issues/ydb-rs-sdk/247)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/247) | [![issue 161 status](https://github.ydb.tech/issues/ydb-php-sdk/161)](https://github\.com/ydb-platform/ydb-php-sdk/issues/161) |
+| DyNumber | + | + | + | + | + | [![issue 331 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/331)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/331) | [![issue 248 status](https://github.ydb.tech/issues/ydb-rs-sdk/248)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/248) | [![issue 162 status](https://github.ydb.tech/issues/ydb-php-sdk/162)](https://github\.com/ydb-platform/ydb-php-sdk/issues/162) |
+| Decimal (120 bits) | + | + | + | + | + | + | [![issue 249 status](https://github.ydb.tech/issues/ydb-rs-sdk/249)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/249) | + |
+| Json, JsonDocument, Yson | + | + | + | + | + | + | + | [![issue 200 status](https://github.ydb.tech/issues/ydb-php-sdk/200)](https://github\.com/ydb-platform/ydb-php-sdk/issues/200) |
 | **Scheme client** |
-| MakeDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RemoveDirectory | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ListDirectory | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| ModifyPermissions | \+ | \+ | \+ | \- | \+ | \- |  | \+ |
-| DescribePath | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
+| MakeDirectory | + | + | + | + | + | [![issue 332 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/332)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/332) | [![issue 276 status](https://github.ydb.tech/issues/ydb-rs-sdk/276)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/276) | + |
+| RemoveDirectory | + | + | + | + | + | [![issue 333 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/333)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/333) | [![issue 277 status](https://github.ydb.tech/issues/ydb-rs-sdk/277)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/277) | + |
+| ListDirectory | + | + | + | + | + | + | + | + |
+| ModifyPermissions | + | + | + | [![issue 403 status](https://github.ydb.tech/issues/ydb-java-sdk/403)](https://github\.com/ydb-platform/ydb-java-sdk/issues/403) | + | [![issue 334 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/334)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/334) | [![issue 278 status](https://github.ydb.tech/issues/ydb-rs-sdk/278)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/278) | + |
+| DescribePath | + | + | + | + | + | [![issue 335 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/335)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/335) | [![issue 279 status](https://github.ydb.tech/issues/ydb-rs-sdk/279)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/279) | + |
 | **Table service** |
-| CreateSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| DeleteSession | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| KeepAlive | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| CreateTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DropTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| AlterTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CopyTable | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| CopyTables | \+ | \+ | \+ | \- | \- | \- |  | \+ |
-| DescribeTable | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExplainDataQuery | \+ | \+ | \+ | \+ | \- | \- |  | \+ |
-| PrepareDataQuery | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| ExecuteDataQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| \* By default, server cache for all parameter requests (KeepInCache) | \- | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* A separate option to enable/disable server cache for a specific request | \+ | \+ | \+ | \+ | \+ | \+ |  | \+ |
-| \* Truncated result as an error (by default) | \- | \- | \+ | ? | \+ | \- |  | \+ |
-| \* Truncated result as an error (as an opt-in, opt-out option) | \- | \- | \+ | ? | \+ | \- |  | \- |
-| ExecuteSchemeQuery | \+ | \+ | \+ | \+ | \- | \+ | \+ | \+ |
-| BeginTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| CommitTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| RollbackTransaction | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| DescribeTableOptions | \+ | \+ | \+ | \- | \- | \- |  | \-|
-| StreamExecuteScanQuery | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| StreamReadTable | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| BulkUpsert | \+ | \+ | \+ | \+ | \+ | \- | \- | \+ |
-| **Operation** |
-| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | \+ | \+ | \- | \+ | \+ | \- | \- | \- |
-| Obtaining OperationId of the operation for a long-polling status of operation execution | \+ | \+ | \+ | \- | \- | \+ | \- | \- |
-| **ScriptingYQL** |
-| ExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| ExplainYql | \+ | ? | \+ | \- | \- | \- |  | \+ |
-| StreamExecuteYql | \+ | ? | \+ | \- | \- | \- |  | \- |
+| CreateSession | + | + | + | + | + | + | + | + |
+| DeleteSession | + | + | + | + | + | + | + | + |
+| KeepAlive | + | + | + | + | + | + | + | [![issue 163 status](https://github.ydb.tech/issues/ydb-php-sdk/163)](https://github\.com/ydb-platform/ydb-php-sdk/issues/163) |
+| CreateTable | + | + | + | + | + | [![issue 336 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/336)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/336) | [![issue 280 status](https://github.ydb.tech/issues/ydb-rs-sdk/280)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/280) | + |
+| DropTable | + | + | + | + | + | [![issue 337 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/337)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/337) | [![issue 281 status](https://github.ydb.tech/issues/ydb-rs-sdk/281)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/281) | + |
+| AlterTable | + | + | + | + | + | [![issue 338 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/338)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/338) | [![issue 282 status](https://github.ydb.tech/issues/ydb-rs-sdk/282)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/282) | + |
+| CopyTable | + | + | + | + | [![issue 462 status](https://github.ydb.tech/issues/ydb-js-sdk/462)](https://github\.com/ydb-platform/ydb-js-sdk/issues/462) | [![issue 339 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/339)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/339) | [![issue 283 status](https://github.ydb.tech/issues/ydb-rs-sdk/283)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/283) | + |
+| CopyTables | + | + | + | [![issue 404 status](https://github.ydb.tech/issues/ydb-java-sdk/404)](https://github\.com/ydb-platform/ydb-java-sdk/issues/404) | [![issue 463 status](https://github.ydb.tech/issues/ydb-js-sdk/463)](https://github\.com/ydb-platform/ydb-js-sdk/issues/463) | [![issue 340 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/340)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/340) | [![issue 284 status](https://github.ydb.tech/issues/ydb-rs-sdk/284)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/284) | + |
+| DescribeTable | + | + | + | + | + | [![issue 341 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/341)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/341) | [![issue 285 status](https://github.ydb.tech/issues/ydb-rs-sdk/285)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/285) | + |
+| ExplainDataQuery | + | + | + | + | [![issue 464 status](https://github.ydb.tech/issues/ydb-js-sdk/464)](https://github\.com/ydb-platform/ydb-js-sdk/issues/464) | [![issue 342 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/342)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/342) | [![issue 286 status](https://github.ydb.tech/issues/ydb-rs-sdk/286)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/286) | + |
+| PrepareDataQuery | + | + | + | + | + | [![issue 343 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/343)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/343) | [![issue 287 status](https://github.ydb.tech/issues/ydb-rs-sdk/287)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/287) | + |
+| ExecuteDataQuery | + | + | + | + | + | + | + | + |
+| \* By default, server cache for all parameter requests (KeepInCache) | [![issue 457 status](https://github.ydb.tech/issues/ydb-cpp-sdk/457)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/457) | + | + | + | + | + | [![issue 288 status](https://github.ydb.tech/issues/ydb-rs-sdk/288)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/288) | + |
+| \* A separate option to enable/disable server cache for a specific request | + | + | + | + | + | + | [![issue 289 status](https://github.ydb.tech/issues/ydb-rs-sdk/289)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/289) | + |
+| \* Truncated result as an error (by default) | [![issue 458 status](https://github.ydb.tech/issues/ydb-cpp-sdk/458)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/458) | [![issue 597 status](https://github.ydb.tech/issues/ydb-python-sdk/597)](https://github\.com/ydb-platform/ydb-python-sdk/issues/597) | + | [![issue 444 status](https://github.ydb.tech/issues/ydb-java-sdk/444)](https://github\.com/ydb-platform/ydb-java-sdk/issues/444) | + | [![issue 344 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/344)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/344) | [![issue 290 status](https://github.ydb.tech/issues/ydb-rs-sdk/290)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/290) | + |
+| \* Truncated result as an error (as an opt-in opt-out option) | [![issue 459 status](https://github.ydb.tech/issues/ydb-cpp-sdk/459)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/459) | [![issue 598 status](https://github.ydb.tech/issues/ydb-python-sdk/598)](https://github\.com/ydb-platform/ydb-python-sdk/issues/598) | + | [![issue 445 status](https://github.ydb.tech/issues/ydb-java-sdk/445)](https://github\.com/ydb-platform/ydb-java-sdk/issues/445) | + | [![issue 345 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/345)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/345) | [![issue 291 status](https://github.ydb.tech/issues/ydb-rs-sdk/291)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/291) | [![issue 164 status](https://github.ydb.tech/issues/ydb-php-sdk/164)](https://github\.com/ydb-platform/ydb-php-sdk/issues/164) |
+| ExecuteSchemeQuery | + | + | + | + | [![issue 465 status](https://github.ydb.tech/issues/ydb-js-sdk/465)](https://github\.com/ydb-platform/ydb-js-sdk/issues/465) | + | + | + |
+| BeginTransaction | + | + | + | + | + | [![issue 346 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/346)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/346) | [![issue 292 status](https://github.ydb.tech/issues/ydb-rs-sdk/292)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/292) | + |
+| CommitTransaction | + | + | + | + | + | [![issue 347 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/347)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/347) | [![issue 293 status](https://github.ydb.tech/issues/ydb-rs-sdk/293)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/293) | + |
+| RollbackTransaction | + | + | + | + | + | [![issue 348 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/348)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/348) | [![issue 294 status](https://github.ydb.tech/issues/ydb-rs-sdk/294)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/294) | + |
+| DescribeTableOptions | + | + | + | [![issue 405 status](https://github.ydb.tech/issues/ydb-java-sdk/405)](https://github\.com/ydb-platform/ydb-java-sdk/issues/405) | [![issue 466 status](https://github.ydb.tech/issues/ydb-js-sdk/466)](https://github\.com/ydb-platform/ydb-js-sdk/issues/466) | [![issue 349 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/349)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/349) | [![issue 295 status](https://github.ydb.tech/issues/ydb-rs-sdk/295)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/295) | [![issue 165 status](https://github.ydb.tech/issues/ydb-php-sdk/165)](https://github\.com/ydb-platform/ydb-php-sdk/issues/165) |
+| StreamExecuteScanQuery | + | + | + | + | + | + | + | + |
+| StreamReadTable | + | + | + | + | + | + | [![issue 250 status](https://github.ydb.tech/issues/ydb-rs-sdk/250)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/250) | + |
+| BulkUpsert | + | + | + | + | + | [![issue 350 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/350)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/350) | [![issue 251 status](https://github.ydb.tech/issues/ydb-rs-sdk/251)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/251) | + |
+| **Operation service** |
+| Consumed Units from metadata of a response to a grpc-request request (for the user to obtain this) | + | + | [![issue 1752 status](https://github.ydb.tech/issues/ydb-go-sdk/1752)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1752) | + | + | [![issue 351 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/351)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/351) | [![issue 252 status](https://github.ydb.tech/issues/ydb-rs-sdk/252)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/252) | [![issue 166 status](https://github.ydb.tech/issues/ydb-php-sdk/166)](https://github\.com/ydb-platform/ydb-php-sdk/issues/166) |
+| Obtaining OperationId of the operation for a long-polling status of operation execution | + | + | + | [![issue 406 status](https://github.ydb.tech/issues/ydb-java-sdk/406)](https://github\.com/ydb-platform/ydb-java-sdk/issues/406) | [![issue 467 status](https://github.ydb.tech/issues/ydb-js-sdk/467)](https://github\.com/ydb-platform/ydb-js-sdk/issues/467) | + | [![issue 253 status](https://github.ydb.tech/issues/ydb-rs-sdk/253)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/253) | [![issue 167 status](https://github.ydb.tech/issues/ydb-php-sdk/167)](https://github\.com/ydb-platform/ydb-php-sdk/issues/167) |
+| **ScriptingYQL service** |
+| ExecuteYql | + | [![issue 603 status](https://github.ydb.tech/issues/ydb-python-sdk/603)](https://github\.com/ydb-platform/ydb-python-sdk/issues/603) | + | [![issue 407 status](https://github.ydb.tech/issues/ydb-java-sdk/407)](https://github\.com/ydb-platform/ydb-java-sdk/issues/407) | [![issue 468 status](https://github.ydb.tech/issues/ydb-js-sdk/468)](https://github\.com/ydb-platform/ydb-js-sdk/issues/468) | [![issue 352 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/352)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/352) | [![issue 296 status](https://github.ydb.tech/issues/ydb-rs-sdk/296)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/296) | + |
+| ExplainYql | + | [![issue 604 status](https://github.ydb.tech/issues/ydb-python-sdk/604)](https://github\.com/ydb-platform/ydb-python-sdk/issues/604) | + | [![issue 408 status](https://github.ydb.tech/issues/ydb-java-sdk/408)](https://github\.com/ydb-platform/ydb-java-sdk/issues/408) | [![issue 469 status](https://github.ydb.tech/issues/ydb-js-sdk/469)](https://github\.com/ydb-platform/ydb-js-sdk/issues/469) | [![issue 353 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/353)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/353) | [![issue 297 status](https://github.ydb.tech/issues/ydb-rs-sdk/297)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/297) | + |
+| StreamExecuteYql | + | [![issue 605 status](https://github.ydb.tech/issues/ydb-python-sdk/605)](https://github\.com/ydb-platform/ydb-python-sdk/issues/605) | + | [![issue 409 status](https://github.ydb.tech/issues/ydb-java-sdk/409)](https://github\.com/ydb-platform/ydb-java-sdk/issues/409) | [![issue 470 status](https://github.ydb.tech/issues/ydb-js-sdk/470)](https://github\.com/ydb-platform/ydb-js-sdk/issues/470) | [![issue 354 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/354)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/354) | [![issue 298 status](https://github.ydb.tech/issues/ydb-rs-sdk/298)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/298) | [![issue 168 status](https://github.ydb.tech/issues/ydb-php-sdk/168)](https://github\.com/ydb-platform/ydb-php-sdk/issues/168) |
 | **Coordination service** |
-| CreateNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| AlterNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DropNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| DescribeNode | \+ | ? | \+ | \- | \- | \- |  | \- |
-| Session (leader election, distributed lock) | \+ | ? | \- | \- | \- | \- |  | \- |
+| CreateNode | + | [![issue 606 status](https://github.ydb.tech/issues/ydb-python-sdk/606)](https://github\.com/ydb-platform/ydb-python-sdk/issues/606) | + | [![issue 410 status](https://github.ydb.tech/issues/ydb-java-sdk/410)](https://github\.com/ydb-platform/ydb-java-sdk/issues/410) | [![issue 471 status](https://github.ydb.tech/issues/ydb-js-sdk/471)](https://github\.com/ydb-platform/ydb-js-sdk/issues/471) | [![issue 355 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/355)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/355) | [![issue 299 status](https://github.ydb.tech/issues/ydb-rs-sdk/299)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/299) | [![issue 169 status](https://github.ydb.tech/issues/ydb-php-sdk/169)](https://github\.com/ydb-platform/ydb-php-sdk/issues/169) |
+| AlterNode | + | [![issue 607 status](https://github.ydb.tech/issues/ydb-python-sdk/607)](https://github\.com/ydb-platform/ydb-python-sdk/issues/607) | + | [![issue 411 status](https://github.ydb.tech/issues/ydb-java-sdk/411)](https://github\.com/ydb-platform/ydb-java-sdk/issues/411) | [![issue 472 status](https://github.ydb.tech/issues/ydb-js-sdk/472)](https://github\.com/ydb-platform/ydb-js-sdk/issues/472) | [![issue 356 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/356)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/356) | [![issue 300 status](https://github.ydb.tech/issues/ydb-rs-sdk/300)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/300) | [![issue 170 status](https://github.ydb.tech/issues/ydb-php-sdk/170)](https://github\.com/ydb-platform/ydb-php-sdk/issues/170) |
+| DropNode | + | [![issue 608 status](https://github.ydb.tech/issues/ydb-python-sdk/608)](https://github\.com/ydb-platform/ydb-python-sdk/issues/608) | + | [![issue 412 status](https://github.ydb.tech/issues/ydb-java-sdk/412)](https://github\.com/ydb-platform/ydb-java-sdk/issues/412) | [![issue 473 status](https://github.ydb.tech/issues/ydb-js-sdk/473)](https://github\.com/ydb-platform/ydb-js-sdk/issues/473) | [![issue 357 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/357)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/357) | [![issue 301 status](https://github.ydb.tech/issues/ydb-rs-sdk/301)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/301) | [![issue 171 status](https://github.ydb.tech/issues/ydb-php-sdk/171)](https://github\.com/ydb-platform/ydb-php-sdk/issues/171) |
+| DescribeNode | + | [![issue 609 status](https://github.ydb.tech/issues/ydb-python-sdk/609)](https://github\.com/ydb-platform/ydb-python-sdk/issues/609) | + | [![issue 413 status](https://github.ydb.tech/issues/ydb-java-sdk/413)](https://github\.com/ydb-platform/ydb-java-sdk/issues/413) | [![issue 474 status](https://github.ydb.tech/issues/ydb-js-sdk/474)](https://github\.com/ydb-platform/ydb-js-sdk/issues/474) | [![issue 358 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/358)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/358) | [![issue 302 status](https://github.ydb.tech/issues/ydb-rs-sdk/302)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/302) | [![issue 172 status](https://github.ydb.tech/issues/ydb-php-sdk/172)](https://github\.com/ydb-platform/ydb-php-sdk/issues/172) |
+| Session (leader election, distributed lock) | + | [![issue 610 status](https://github.ydb.tech/issues/ydb-python-sdk/610)](https://github\.com/ydb-platform/ydb-python-sdk/issues/610) | [![issue 1753 status](https://github.ydb.tech/issues/ydb-go-sdk/1753)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1753) | [![issue 414 status](https://github.ydb.tech/issues/ydb-java-sdk/414)](https://github\.com/ydb-platform/ydb-java-sdk/issues/414) | [![issue 475 status](https://github.ydb.tech/issues/ydb-js-sdk/475)](https://github\.com/ydb-platform/ydb-js-sdk/issues/475) | [![issue 359 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/359)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/359) | [![issue 303 status](https://github.ydb.tech/issues/ydb-rs-sdk/303)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/303) | [![issue 173 status](https://github.ydb.tech/issues/ydb-php-sdk/173)](https://github\.com/ydb-platform/ydb-php-sdk/issues/173) |
 | **Topic service** |
-| CreateTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| DescribeTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| AlterTopic | \+ | \- | \+ | \- | \- | \- | \- | \- |
-| DropTopic | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamWrite | \+ | \+ | \+ | \- | \- | \- | \- | \- |
-| StreamRead | \+ | \+ | \+ | \- | \- | \- | \- | \- |
+| CreateTopic | + | + | + | [![issue 415 status](https://github.ydb.tech/issues/ydb-java-sdk/415)](https://github\.com/ydb-platform/ydb-java-sdk/issues/415) | [![issue 476 status](https://github.ydb.tech/issues/ydb-js-sdk/476)](https://github\.com/ydb-platform/ydb-js-sdk/issues/476) | [![issue 360 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/360)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/360) | [![issue 254 status](https://github.ydb.tech/issues/ydb-rs-sdk/254)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/254) | [![issue 174 status](https://github.ydb.tech/issues/ydb-php-sdk/174)](https://github\.com/ydb-platform/ydb-php-sdk/issues/174) |
+| DescribeTopic | + | + | + | [![issue 416 status](https://github.ydb.tech/issues/ydb-java-sdk/416)](https://github\.com/ydb-platform/ydb-java-sdk/issues/416) | [![issue 477 status](https://github.ydb.tech/issues/ydb-js-sdk/477)](https://github\.com/ydb-platform/ydb-js-sdk/issues/477) | [![issue 361 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/361)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/361) | [![issue 255 status](https://github.ydb.tech/issues/ydb-rs-sdk/255)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/255) | [![issue 175 status](https://github.ydb.tech/issues/ydb-php-sdk/175)](https://github\.com/ydb-platform/ydb-php-sdk/issues/175) |
+| AlterTopic | + | [![issue 599 status](https://github.ydb.tech/issues/ydb-python-sdk/599)](https://github\.com/ydb-platform/ydb-python-sdk/issues/599) | + | [![issue 417 status](https://github.ydb.tech/issues/ydb-java-sdk/417)](https://github\.com/ydb-platform/ydb-java-sdk/issues/417) | [![issue 478 status](https://github.ydb.tech/issues/ydb-js-sdk/478)](https://github\.com/ydb-platform/ydb-js-sdk/issues/478) | [![issue 362 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/362)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/362) | [![issue 256 status](https://github.ydb.tech/issues/ydb-rs-sdk/256)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/256) | [![issue 176 status](https://github.ydb.tech/issues/ydb-php-sdk/176)](https://github\.com/ydb-platform/ydb-php-sdk/issues/176) |
+| DropTopic | + | + | + | [![issue 418 status](https://github.ydb.tech/issues/ydb-java-sdk/418)](https://github\.com/ydb-platform/ydb-java-sdk/issues/418) | [![issue 479 status](https://github.ydb.tech/issues/ydb-js-sdk/479)](https://github\.com/ydb-platform/ydb-js-sdk/issues/479) | [![issue 363 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/363)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/363) | [![issue 257 status](https://github.ydb.tech/issues/ydb-rs-sdk/257)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/257) | [![issue 177 status](https://github.ydb.tech/issues/ydb-php-sdk/177)](https://github\.com/ydb-platform/ydb-php-sdk/issues/177) |
+| StreamWrite | + | + | + | [![issue 419 status](https://github.ydb.tech/issues/ydb-java-sdk/419)](https://github\.com/ydb-platform/ydb-java-sdk/issues/419) | [![issue 480 status](https://github.ydb.tech/issues/ydb-js-sdk/480)](https://github\.com/ydb-platform/ydb-js-sdk/issues/480) | [![issue 364 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/364)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/364) | [![issue 258 status](https://github.ydb.tech/issues/ydb-rs-sdk/258)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/258) | [![issue 178 status](https://github.ydb.tech/issues/ydb-php-sdk/178)](https://github\.com/ydb-platform/ydb-php-sdk/issues/178) |
+| StreamRead | + | + | + | [![issue 420 status](https://github.ydb.tech/issues/ydb-java-sdk/420)](https://github\.com/ydb-platform/ydb-java-sdk/issues/420) | [![issue 481 status](https://github.ydb.tech/issues/ydb-js-sdk/481)](https://github\.com/ydb-platform/ydb-js-sdk/issues/481) | [![issue 365 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/365)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/365) | [![issue 259 status](https://github.ydb.tech/issues/ydb-rs-sdk/259)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/259) | [![issue 179 status](https://github.ydb.tech/issues/ydb-php-sdk/179)](https://github\.com/ydb-platform/ydb-php-sdk/issues/179) |
 | **Ratelimiter service** |
-| CreateResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AlterResource | \+ | ? | \+ | \- | \- | \- | \- |
-| DropResource | \+ | ? | \+ | \- | \- | \- | \- |
-| ListResources | \+ | ? | \+ | \- | \- | \- | \- |
-| DescribeResource | \+ | ? | \+ | \- | \- | \- | \- |
-| AcquireResource | \+ | ? | \+ | \- | \- | \- | \- |
+| CreateResource | + | [![issue 611 status](https://github.ydb.tech/issues/ydb-python-sdk/611)](https://github\.com/ydb-platform/ydb-python-sdk/issues/611) | + | [![issue 421 status](https://github.ydb.tech/issues/ydb-java-sdk/421)](https://github\.com/ydb-platform/ydb-java-sdk/issues/421) | [![issue 482 status](https://github.ydb.tech/issues/ydb-js-sdk/482)](https://github\.com/ydb-platform/ydb-js-sdk/issues/482) | [![issue 366 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/366)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/366) | [![issue 260 status](https://github.ydb.tech/issues/ydb-rs-sdk/260)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/260) | [![issue 221 status](https://github.ydb.tech/issues/ydb-php-sdk/221)](https://github\.com/ydb-platform/ydb-php-sdk/issues/221) |
+| AlterResource | + | [![issue 612 status](https://github.ydb.tech/issues/ydb-python-sdk/612)](https://github\.com/ydb-platform/ydb-python-sdk/issues/612) | + | [![issue 422 status](https://github.ydb.tech/issues/ydb-java-sdk/422)](https://github\.com/ydb-platform/ydb-java-sdk/issues/422) | [![issue 483 status](https://github.ydb.tech/issues/ydb-js-sdk/483)](https://github\.com/ydb-platform/ydb-js-sdk/issues/483) | [![issue 367 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/367)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/367) | [![issue 261 status](https://github.ydb.tech/issues/ydb-rs-sdk/261)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/261) | [![issue 222 status](https://github.ydb.tech/issues/ydb-php-sdk/222)](https://github\.com/ydb-platform/ydb-php-sdk/issues/222) |
+| DropResource | + | [![issue 613 status](https://github.ydb.tech/issues/ydb-python-sdk/613)](https://github\.com/ydb-platform/ydb-python-sdk/issues/613) | + | [![issue 423 status](https://github.ydb.tech/issues/ydb-java-sdk/423)](https://github\.com/ydb-platform/ydb-java-sdk/issues/423) | [![issue 484 status](https://github.ydb.tech/issues/ydb-js-sdk/484)](https://github\.com/ydb-platform/ydb-js-sdk/issues/484) | [![issue 368 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/368)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/368) | [![issue 262 status](https://github.ydb.tech/issues/ydb-rs-sdk/262)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/262) | [![issue 223 status](https://github.ydb.tech/issues/ydb-php-sdk/223)](https://github\.com/ydb-platform/ydb-php-sdk/issues/223) |
+| ListResources | + | [![issue 614 status](https://github.ydb.tech/issues/ydb-python-sdk/614)](https://github\.com/ydb-platform/ydb-python-sdk/issues/614) | + | [![issue 424 status](https://github.ydb.tech/issues/ydb-java-sdk/424)](https://github\.com/ydb-platform/ydb-java-sdk/issues/424) | [![issue 485 status](https://github.ydb.tech/issues/ydb-js-sdk/485)](https://github\.com/ydb-platform/ydb-js-sdk/issues/485) | [![issue 369 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/369)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/369) | [![issue 263 status](https://github.ydb.tech/issues/ydb-rs-sdk/263)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/263) | [![issue 224 status](https://github.ydb.tech/issues/ydb-php-sdk/224)](https://github\.com/ydb-platform/ydb-php-sdk/issues/224) |
+| DescribeResource | + | [![issue 615 status](https://github.ydb.tech/issues/ydb-python-sdk/615)](https://github\.com/ydb-platform/ydb-python-sdk/issues/615) | + | [![issue 425 status](https://github.ydb.tech/issues/ydb-java-sdk/425)](https://github\.com/ydb-platform/ydb-java-sdk/issues/425) | [![issue 486 status](https://github.ydb.tech/issues/ydb-js-sdk/486)](https://github\.com/ydb-platform/ydb-js-sdk/issues/486) | [![issue 370 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/370)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/370) | [![issue 264 status](https://github.ydb.tech/issues/ydb-rs-sdk/264)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/264) | [![issue 225 status](https://github.ydb.tech/issues/ydb-php-sdk/225)](https://github\.com/ydb-platform/ydb-php-sdk/issues/225) |
+| AcquireResource | + | [![issue 616 status](https://github.ydb.tech/issues/ydb-python-sdk/616)](https://github\.com/ydb-platform/ydb-python-sdk/issues/616) | + | [![issue 426 status](https://github.ydb.tech/issues/ydb-java-sdk/426)](https://github\.com/ydb-platform/ydb-java-sdk/issues/426) | [![issue 487 status](https://github.ydb.tech/issues/ydb-js-sdk/487)](https://github\.com/ydb-platform/ydb-js-sdk/issues/487) | [![issue 371 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/371)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/371) | [![issue 265 status](https://github.ydb.tech/issues/ydb-rs-sdk/265)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/265) | [![issue 226 status](https://github.ydb.tech/issues/ydb-php-sdk/226)](https://github\.com/ydb-platform/ydb-php-sdk/issues/226) |
 | **Monitoring** (sending SDK metrics to the monitoring system) |
-| Solomon / Monitoring | \+ | ? | \+ | \- | \- | \- | \- | \- |
-| Prometheus | \- | ? | \+ | \- | \- | \- | \- | \- |
-| SDK event **logging** | \- | ? | \+ | \+ | \+ | \+ | \+ | \+ |
+| Solomon / Monitoring | + | [![issue 617 status](https://github.ydb.tech/issues/ydb-python-sdk/617)](https://github\.com/ydb-platform/ydb-python-sdk/issues/617) | + | [![issue 427 status](https://github.ydb.tech/issues/ydb-java-sdk/427)](https://github\.com/ydb-platform/ydb-java-sdk/issues/427) | [![issue 488 status](https://github.ydb.tech/issues/ydb-js-sdk/488)](https://github\.com/ydb-platform/ydb-js-sdk/issues/488) | [![issue 372 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/372)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/372) | [![issue 266 status](https://github.ydb.tech/issues/ydb-rs-sdk/266)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/266) | [![issue 180 status](https://github.ydb.tech/issues/ydb-php-sdk/180)](https://github\.com/ydb-platform/ydb-php-sdk/issues/180) |
+| Prometheus | [![issue 460 status](https://github.ydb.tech/issues/ydb-cpp-sdk/460)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/460) | [![issue 618 status](https://github.ydb.tech/issues/ydb-python-sdk/618)](https://github\.com/ydb-platform/ydb-python-sdk/issues/618) | + | [![issue 428 status](https://github.ydb.tech/issues/ydb-java-sdk/428)](https://github\.com/ydb-platform/ydb-java-sdk/issues/428) | [![issue 489 status](https://github.ydb.tech/issues/ydb-js-sdk/489)](https://github\.com/ydb-platform/ydb-js-sdk/issues/489) | [![issue 373 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/373)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/373) | [![issue 267 status](https://github.ydb.tech/issues/ydb-rs-sdk/267)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/267) | [![issue 181 status](https://github.ydb.tech/issues/ydb-php-sdk/181)](https://github\.com/ydb-platform/ydb-php-sdk/issues/181) |
+| SDK event logging | [![issue 461 status](https://github.ydb.tech/issues/ydb-cpp-sdk/461)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/461) | [![issue 619 status](https://github.ydb.tech/issues/ydb-python-sdk/619)](https://github\.com/ydb-platform/ydb-python-sdk/issues/619) | + | + | + | + | + | + |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| SDK event **logging** | [![issue 461 status](https://github.ydb.tech/issues/ydb-cpp-sdk/461)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/461) | [![issue 619 status](https://github.ydb.tech/issues/ydb-python-sdk/619)](https://github\.com/ydb-platform/ydb-python-sdk/issues/619) | + | + | + | + | + | + |
```
created_at: 2025-04-28T10:00:20Z
author_association: MEMBER
diff_hunk: @@ -2,146 +2,146 @@
 
 | Feature | C\+\+ | Python | Go | Java | NodeJS | C# | Rust | PHP |
 |:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| SSL/TLS support (system certificates) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| SSL/TLS support (custom certificates) | \+ | \+ | \+ | \+ | \+ | \- |  | \+ |
-| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | \+ | \+ | \+ | ? | \- | \- |  | \+ |
-| Regular SLO testing on the latest code version | \+ | \+/- | \+ | \+ | \+/- | \- | \- | \- |
-| Issue templates on GitHub | \- | ? | \+ | \- | \+ | \+ |  | \+ |
+| SSL/TLS support (system certificates) | + | + | + | + | + | + | + | + |
+| SSL/TLS support (custom certificates) | + | + | + | + | + | [![issue 312 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/312)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/312) | [![issue 270 status](https://github.ydb.tech/issues/ydb-rs-sdk/270)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/270) | + |
+| Configure/enable GRPC KeepAlive (keeping the connection alive in the background) | + | + | + | [![issue 439 status](https://github.ydb.tech/issues/ydb-java-sdk/439)](https://github\.com/ydb-platform/ydb-java-sdk/issues/439) | [![issue 499 status](https://github.ydb.tech/issues/ydb-js-sdk/499)](https://github\.com/ydb-platform/ydb-js-sdk/issues/499) | [![issue 313 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/313)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/313) | [![issue 271 status](https://github.ydb.tech/issues/ydb-rs-sdk/271)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/271) | + |
+| Regular SLO testing on the latest code version | + | [![issue 600 status](https://github.ydb.tech/issues/ydb-python-sdk/600)](https://github\.com/ydb-platform/ydb-python-sdk/issues/600) | + | + | [![issue 446 status](https://github.ydb.tech/issues/ydb-js-sdk/446)](https://github\.com/ydb-platform/ydb-js-sdk/issues/446) | [![issue 314 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/314)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/314) | [![issue 235 status](https://github.ydb.tech/issues/ydb-rs-sdk/235)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/235) | [![issue 155 status](https://github.ydb.tech/issues/ydb-php-sdk/155)](https://github\.com/ydb-platform/ydb-php-sdk/issues/155) |
+| Issue templates on GitHub | [![issue 452 status](https://github.ydb.tech/issues/ydb-cpp-sdk/452)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/452) | [![issue 601 status](https://github.ydb.tech/issues/ydb-python-sdk/601)](https://github\.com/ydb-platform/ydb-python-sdk/issues/601) | + | [![issue 394 status](https://github.ydb.tech/issues/ydb-java-sdk/394)](https://github\.com/ydb-platform/ydb-java-sdk/issues/394) | + | + | [![issue 272 status](https://github.ydb.tech/issues/ydb-rs-sdk/272)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/272) | + |
 | **Client-side balancing** |
-| Load balancer initialization through Discovery/ListEndpoints | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Disable client-side load balancing (all requests to the initial Endpoint) | \+/- | \- | \+ | \- | \- | \+ |  | \+ |
-| Background Discovery/ListEndpoints (by default, once a minute) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \- |
-| Support for multiple IP addresses in the initial Endpoint DNS record, some of which may not be available (DNS load balancing) | ? | \+ | \+ | ? | \- | ? | ? | ? |
-| Node pessimization on transport errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | \+ | \+ | \+ | \+ | \- | \+ | \+ |
-| Automatic detection of the nearest DC/availability zone by TCP pings | \- | \- | \+ | \- | \- | \- | \- |
-| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response\* | \+ | \+ | \- | \- | \- | \- | \- |
-| Uniform random selection of nodes (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of all DCs (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | \+ | \+ | \+ | ? | \- | \- | \- |
-| Load balancing across all nodes of all local DCs | \+ | \+ | \+ | ? | \- | \- | \- |
+| Load balancer initialization through Discovery/ListEndpoints | + | + | + | + | + | + | + | + |
+| Disable client-side load balancing (all requests to the initial Endpoint) | [![issue 467 status](https://github.ydb.tech/issues/ydb-cpp-sdk/467)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/467) | [![issue 591 status](https://github.ydb.tech/issues/ydb-python-sdk/591)](https://github\.com/ydb-platform/ydb-python-sdk/issues/591) | + | [![issue 395 status](https://github.ydb.tech/issues/ydb-java-sdk/395)](https://github\.com/ydb-platform/ydb-java-sdk/issues/395) | [![issue 447 status](https://github.ydb.tech/issues/ydb-js-sdk/447)](https://github\.com/ydb-platform/ydb-js-sdk/issues/447) | + | [![issue 273 status](https://github.ydb.tech/issues/ydb-rs-sdk/273)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/273) | + |
+| Background Discovery/ListEndpoints (by default, once a minute) | + | + | + | + | + | + | + | [![issue 156 status](https://github.ydb.tech/issues/ydb-php-sdk/156)](https://github\.com/ydb-platform/ydb-php-sdk/issues/156) |
+| Support for multiple IP addresses in the initial Endpoint DNS record, Endpoint DNS record, some of which may not be available (DNS load balancing) | [![issue 469 status](https://github.ydb.tech/issues/ydb-cpp-sdk/469)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/469) | + | + | [![issue 440 status](https://github.ydb.tech/issues/ydb-java-sdk/440)](https://github\.com/ydb-platform/ydb-java-sdk/issues/440) | [![issue 448 status](https://github.ydb.tech/issues/ydb-js-sdk/448)](https://github\.com/ydb-platform/ydb-js-sdk/issues/448) | [![issue 311 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/311)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/311) | [![issue 233 status](https://github.ydb.tech/issues/ydb-rs-sdk/233)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/233) | [![issue 196 status](https://github.ydb.tech/issues/ydb-php-sdk/196)](https://github\.com/ydb-platform/ydb-php-sdk/issues/196) |
+| Node pessimization on transport errors | + | + | + | + | + | + | + | [![issue 201 status](https://github.ydb.tech/issues/ydb-php-sdk/201)](https://github\.com/ydb-platform/ydb-php-sdk/issues/201) |
+| Forced Discovery/ListEndpoints if more than half of the nodes are pessimized | + | + | + | + | [![issue 449 status](https://github.ydb.tech/issues/ydb-js-sdk/449)](https://github\.com/ydb-platform/ydb-js-sdk/issues/449) | + | + | [![issue 202 status](https://github.ydb.tech/issues/ydb-php-sdk/202)](https://github\.com/ydb-platform/ydb-php-sdk/issues/202) |
+| Automatic detection of the nearest DC/availability zone by TCP pings | [![issue 453 status](https://github.ydb.tech/issues/ydb-cpp-sdk/453)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/453) | [![issue 592 status](https://github.ydb.tech/issues/ydb-python-sdk/592)](https://github\.com/ydb-platform/ydb-python-sdk/issues/592) | + | [![issue 396 status](https://github.ydb.tech/issues/ydb-java-sdk/396)](https://github\.com/ydb-platform/ydb-java-sdk/issues/396) | [![issue 450 status](https://github.ydb.tech/issues/ydb-js-sdk/450)](https://github\.com/ydb-platform/ydb-js-sdk/issues/450) | [![issue 315 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/315)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/315) | [![issue 236 status](https://github.ydb.tech/issues/ydb-rs-sdk/236)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/236) | [![issue 203 status](https://github.ydb.tech/issues/ydb-php-sdk/203)](https://github\.com/ydb-platform/ydb-php-sdk/issues/203) |
+| Automatic detection of the nearest DC/availability zone by Discovery/ListEndpoints response | + | + | [![issue 1746 status](https://github.ydb.tech/issues/ydb-go-sdk/1746)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1746) | [![issue 397 status](https://github.ydb.tech/issues/ydb-java-sdk/397)](https://github\.com/ydb-platform/ydb-java-sdk/issues/397) | [![issue 451 status](https://github.ydb.tech/issues/ydb-js-sdk/451)](https://github\.com/ydb-platform/ydb-js-sdk/issues/451) | [![issue 316 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/316)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/316) | [![issue 237 status](https://github.ydb.tech/issues/ydb-rs-sdk/237)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/237) | [![issue 204 status](https://github.ydb.tech/issues/ydb-php-sdk/204)](https://github\.com/ydb-platform/ydb-php-sdk/issues/204) |
+| Uniform random selection of nodes (default) | + | + | + | + | + | + | + | [![issue 205 status](https://github.ydb.tech/issues/ydb-php-sdk/205)](https://github\.com/ydb-platform/ydb-php-sdk/issues/205) |
+| Load balancing across all nodes of all DCs (default) | + | + | + | + | + | + | + | [![issue 206 status](https://github.ydb.tech/issues/ydb-php-sdk/206)](https://github\.com/ydb-platform/ydb-php-sdk/issues/206) |
+| Load balancing across all nodes of a particular DC/availability zone (for example, “a”, “vla”) | + | + | + | [![issue 441 status](https://github.ydb.tech/issues/ydb-java-sdk/441)](https://github\.com/ydb-platform/ydb-java-sdk/issues/441) | [![issue 452 status](https://github.ydb.tech/issues/ydb-js-sdk/452)](https://github\.com/ydb-platform/ydb-js-sdk/issues/452) | [![issue 317 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/317)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/317) | [![issue 238 status](https://github.ydb.tech/issues/ydb-rs-sdk/238)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/238) | [![issue 207 status](https://github.ydb.tech/issues/ydb-php-sdk/207)](https://github\.com/ydb-platform/ydb-php-sdk/issues/207) |
+| Load balancing across all nodes of all local DCs | + | + | + | [![issue 442 status](https://github.ydb.tech/issues/ydb-java-sdk/442)](https://github\.com/ydb-platform/ydb-java-sdk/issues/442) | [![issue 453 status](https://github.ydb.tech/issues/ydb-js-sdk/453)](https://github\.com/ydb-platform/ydb-js-sdk/issues/453) | [![issue 318 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/318)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/318) | [![issue 239 status](https://github.ydb.tech/issues/ydb-rs-sdk/239)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/239) | [![issue 208 status](https://github.ydb.tech/issues/ydb-php-sdk/208)](https://github\.com/ydb-platform/ydb-php-sdk/issues/208) |
 | **Credentials providers** |
-| Anonymous (default) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Static (user - password) | \+ | \+ | \+ | \+ | \- | \- | \+ | \- |
-| Token: IAM, Access token | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Service account (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \- | \+ |
-| Metadata (Yandex.Cloud specific) | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
+| Anonymous (default) | + | + | + | + | + | + | + | + |
+| Static (user - password) | + | + | + | + | [![issue 454 status](https://github.ydb.tech/issues/ydb-js-sdk/454)](https://github\.com/ydb-platform/ydb-js-sdk/issues/454) | [![issue 319 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/319)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/319) | + | [![issue 157 status](https://github.ydb.tech/issues/ydb-php-sdk/157)](https://github\.com/ydb-platform/ydb-php-sdk/issues/157) |
+| Token: IAM, Access token | + | + | + | + | + | + | + | + |
+| Service account (Yandex.Cloud specific) | + | + | + | + | + | + | [![issue 240 status](https://github.ydb.tech/issues/ydb-rs-sdk/240)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/240) | + |
+| Metadata (Yandex.Cloud specific) | + | + | + | + | + | + | + | + |
 | **Working with Table service sessions** |
-| Session pool | \+ | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Limit the number of concurrent sessions on the client) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Minimum number of sessions in the pool | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Warm up the pool to the specified number of sessions when the pool is created | \- | \+ | \- | \- | \+ | \- | \- |
-| Background KeepAlive for idle sessions in the pool | \+ | \- | \- | \+ | \+ | \+ | \+ |
-| Background closing of idle sessions in the pool (redundant sessions) | \+ | \+ | \+ | \+ | \- | \- | \- |
-| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Storage of sessions for possible future reuse\~ | \+ | \- | \- | \- | \- | \- | \- |
-| Retryer on the session pool (a repeat object is a session) | \+ | \+ | \+ | \+ | \+ | \+ | \+ |
-| Retryer on the session pool (a repeat object is a transaction within a session) | \- | \- | \+ | \- | \- | \- | \+ |
-| Graceful session shutdown support ("session-close" in "x-ydb-server-hints" metadata means to "forget" a session and not use it again) | \+ | \+ | \+ | \+ | \- | \- |
-| Support for server-side load balancing of sessions (a CreateSession request must contain the "session-balancer" value in the "x-ydb-client-capabilities" metadata header) | \+ | \+ | \+ | \- | \- | \- |
+| Session pool | + | + | + | + | + | + | + | + |
+| Limit the number of concurrent sessions on the client | + | + | + | + | + | + | + | [![issue 209 status](https://github.ydb.tech/issues/ydb-php-sdk/209)](https://github\.com/ydb-platform/ydb-php-sdk/issues/209) |
+| Minimum number of sessions in the pool | + | + | + | + | [![issue 455 status](https://github.ydb.tech/issues/ydb-js-sdk/455)](https://github\.com/ydb-platform/ydb-js-sdk/issues/455) | [![issue 320 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/320)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/320) | [![issue 241 status](https://github.ydb.tech/issues/ydb-rs-sdk/241)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/241) | [![issue 210 status](https://github.ydb.tech/issues/ydb-php-sdk/210)](https://github\.com/ydb-platform/ydb-php-sdk/issues/210) |
+| Warm up the pool to the specified number of sessions when the pool is created | [![issue 454 status](https://github.ydb.tech/issues/ydb-cpp-sdk/454)](https://github\.com/ydb-platform/ydb-cpp-sdk/issues/454) | + | [![issue 1747 status](https://github.ydb.tech/issues/ydb-go-sdk/1747)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1747) | [![issue 398 status](https://github.ydb.tech/issues/ydb-java-sdk/398)](https://github\.com/ydb-platform/ydb-java-sdk/issues/398) | + | [![issue 321 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/321)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/321) | [![issue 242 status](https://github.ydb.tech/issues/ydb-rs-sdk/242)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/242) | [![issue 211 status](https://github.ydb.tech/issues/ydb-php-sdk/211)](https://github\.com/ydb-platform/ydb-php-sdk/issues/211) |
+| Background KeepAlive for idle sessions in the pool | + | [![issue 593 status](https://github.ydb.tech/issues/ydb-python-sdk/593)](https://github\.com/ydb-platform/ydb-python-sdk/issues/593) | [![issue 1748 status](https://github.ydb.tech/issues/ydb-go-sdk/1748)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1748) | + | + | + | + | [![issue 212 status](https://github.ydb.tech/issues/ydb-php-sdk/212)](https://github\.com/ydb-platform/ydb-php-sdk/issues/212) |
+| Background closing of idle sessions in the pool (redundant sessions) | + | + | + | + | [![issue 456 status](https://github.ydb.tech/issues/ydb-js-sdk/456)](https://github\.com/ydb-platform/ydb-js-sdk/issues/456) | [![issue 322 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/322)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/322) | [![issue 243 status](https://github.ydb.tech/issues/ydb-rs-sdk/243)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/243) | [![issue 213 status](https://github.ydb.tech/issues/ydb-php-sdk/213)](https://github\.com/ydb-platform/ydb-php-sdk/issues/213) |
+| Automatic dumping of a session from the pool in case of BAD_SESSION/SESSION_BUSY errors | + | + | + | + | + | + | + | [![issue 214 status](https://github.ydb.tech/issues/ydb-php-sdk/214)](https://github\.com/ydb-platform/ydb-php-sdk/issues/214) |
+| Storage of sessions for possible future reuse | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
path: ydb/docs/en/core/reference/ydb-sdk/feature-parity.md
user: login: asmyasnikov
body: ```suggestion
| Storage of sessions for possible future reuse\~ | + | [![issue 594 status](https://github.ydb.tech/issues/ydb-python-sdk/594)](https://github\.com/ydb-platform/ydb-python-sdk/issues/594) | [![issue 1749 status](https://github.ydb.tech/issues/ydb-go-sdk/1749)](https://github\.com/ydb-platform/ydb-go-sdk/issues/1749) | [![issue 399 status](https://github.ydb.tech/issues/ydb-java-sdk/399)](https://github\.com/ydb-platform/ydb-java-sdk/issues/399) | [![issue 457 status](https://github.ydb.tech/issues/ydb-js-sdk/457)](https://github\.com/ydb-platform/ydb-js-sdk/issues/457) | [![issue 323 status](https://github.ydb.tech/issues/ydb-dotnet-sdk/323)](https://github\.com/ydb-platform/ydb-dotnet-sdk/issues/323) | [![issue 244 status](https://github.ydb.tech/issues/ydb-rs-sdk/244)](https://github\.com/ydb-platform/ydb-rs-sdk/issues/244) | [![issue 215 status](https://github.ydb.tech/issues/ydb-php-sdk/215)](https://github\.com/ydb-platform/ydb-php-sdk/issues/215) |
```
created_at: 2025-04-28T10:01:11Z
author_association: MEMBER

PR comments:
user: login: ydbot
created_at: 2025-04-28T06:52:09Z
body: 🔄 New commits pushed — @asmyasnikov @lopatinevgeny please take a look.
author_association: COLLABORATOR
user: login: github-actions[bot]
created_at: 2025-04-28T06:52:18Z
body: <!-- status pr=17788, validate PR description status -->
:green_circle: `2025-04-28 06:52:17 UTC` The validation of the Pull Request description is successful.
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T06:56:30Z
body: ### :white_check_mark: Documentation build
Revision built successfully
Revision preview [link](https://ydb-platform--ydb.viewer.diplodoc.com?revision=pr-17788-f62d28d6efea2f6ec0ae54ef95c9f8c659c84fae)


author_association: NONE
user: login: ydbot
created_at: 2025-04-28T06:57:08Z
body: 🔄 New commits pushed — @asmyasnikov @lopatinevgeny please take a look.
author_association: COLLABORATOR
user: login: ydbot
created_at: 2025-04-28T06:57:23Z
body: 🔄 New commits pushed — @asmyasnikov @lopatinevgeny please take a look.
author_association: COLLABORATOR
user: login: ydbot
created_at: 2025-04-28T06:58:03Z
body: 🔄 New commits pushed — @asmyasnikov @lopatinevgeny please take a look.
author_association: COLLABORATOR
user: login: github-actions[bot]
created_at: 2025-04-28T07:01:20Z
body: ### :white_check_mark: Documentation build
Revision built successfully
Revision preview [link](https://ydb-platform--ydb.viewer.diplodoc.com?revision=pr-17788-9b0019d390a1fa31037b4f91bc52705db74d668e)


author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T09:35:19Z
body: ### :white_check_mark: Documentation build
Revision built successfully
Revision preview [link](https://ydb-platform--ydb.viewer.diplodoc.com?revision=pr-17788-54fb27549d4a67ae02da95e4500301b958c51889)


author_association: NONE
user: login: ydbot
created_at: 2025-04-28T09:36:42Z
body: 🔄 New commits pushed — @asmyasnikov @lopatinevgeny please take a look.
author_association: COLLABORATOR
user: login: ydbot
created_at: 2025-04-28T09:48:11Z
body: 🔄 New commits pushed — @asmyasnikov @lopatinevgeny please take a look.
author_association: COLLABORATOR
user: login: ydbot
created_at: 2025-04-28T09:49:20Z
body: 🔄 New commits pushed — @asmyasnikov @lopatinevgeny please take a look.
author_association: COLLABORATOR
user: login: ydbot
created_at: 2025-04-28T09:50:25Z
body: 🔄 New commits pushed — @asmyasnikov @lopatinevgeny please take a look.
author_association: COLLABORATOR
user: login: github-actions[bot]
created_at: 2025-04-28T09:53:30Z
body: ### :white_check_mark: Documentation build
Revision built successfully
Revision preview [link](https://ydb-platform--ydb.viewer.diplodoc.com?revision=pr-17788-5fcd0ce27c6cb09bf832411e1fbe1371929427ca)


author_association: NONE
user: login: ydbot
created_at: 2025-04-28T10:00:54Z
body: 🔄 New commits pushed — @asmyasnikov @lopatinevgeny please take a look.
author_association: COLLABORATOR
user: login: github-actions[bot]
created_at: 2025-04-28T10:05:02Z
body: ### :white_check_mark: Documentation build
Revision built successfully
Revision preview [link](https://ydb-platform--ydb.viewer.diplodoc.com?revision=pr-17788-be77b179a69945133ffc5ad6e156ea7dac8f029d)


author_association: NONE
user: login: ydbot
created_at: 2025-04-28T10:06:47Z
body: 🔄 New commits pushed — @asmyasnikov @lopatinevgeny please take a look.
author_association: COLLABORATOR
user: login: github-actions[bot]
created_at: 2025-04-28T10:15:03Z
body: <!-- status pr=17788, preset=release-asan, run=41672 -->
:white_circle: `2025-04-28 10:15:03 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/14705309063/job/41264175675) **linux-x86_64-release-asan** for 8468101f8183c404a261e74aaddcecdec181561e has started.
:white_circle: `2025-04-28 10:15:18 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14705309063/ya-x86-64-asan/index.html)
:white_circle: `2025-04-28 10:17:34 UTC` ya make is running...
:green_circle: `2025-04-28 10:17:40 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/150935) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14705309063/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14705309063/ya-x86-64-asan/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [0](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14705309063/ya-x86-64-asan/try_1/ya-test.html) | 0 | 0 | 0 | 0 | 0 |

:green_circle: `2025-04-28 10:17:46 UTC` Build successful.
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T10:15:13Z
body: <!-- status pr=17788, preset=relwithdebinfo, run=41672 -->
:white_circle: `2025-04-28 10:15:13 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/14705309063/job/41264175610) **linux-x86_64-relwithdebinfo** for 8468101f8183c404a261e74aaddcecdec181561e has started.
:white_circle: `2025-04-28 10:15:28 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14705309063/ya-x86-64/index.html)
:white_circle: `2025-04-28 10:17:39 UTC` ya make is running...
:green_circle: `2025-04-28 10:17:44 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/150936) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14705309063/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14705309063/ya-x86-64/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [0](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14705309063/ya-x86-64/try_1/ya-test.html) | 0 | 0 | 0 | 0 | 0 |

:green_circle: `2025-04-28 10:17:51 UTC` Build successful.
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T10:18:01Z
body: ### :white_check_mark: Documentation build
Revision built successfully
Revision preview [link](https://ydb-platform--ydb.viewer.diplodoc.com?revision=pr-17788-4e5fe9910a81243df44dc56f029294bd6c988447)


author_association: NONE
user: login: ydbot
created_at: 2025-04-28T10:20:48Z
body: 🔄 New commits pushed — @asmyasnikov @lopatinevgeny please take a look.
author_association: COLLABORATOR
user: login: github-actions[bot]
created_at: 2025-04-28T13:00:04Z
body: ### :white_check_mark: Documentation build
Revision built successfully
Revision preview [link](https://ydb-platform--ydb.viewer.diplodoc.com?revision=pr-17788-4e5fe9910a81243df44dc56f029294bd6c988447)


author_association: NONE
user: login: ydbot
created_at: 2025-04-28T14:41:01Z
body: 🔄 New commits pushed — @blinkov @asmyasnikov please take a look.
author_association: COLLABORATOR
user: login: github-actions[bot]
created_at: 2025-04-28T14:42:32Z
body: <!-- status pr=17788, preset=relwithdebinfo, run=41733 -->
:white_circle: `2025-04-28 14:42:32 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/14710484111/job/41281352466) **linux-x86_64-relwithdebinfo** for 26af3d0ef8c5d602dcfb248120631513feb9090d has started.
:white_circle: `2025-04-28 14:42:47 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14710484111/ya-x86-64/index.html)
:white_circle: `2025-04-28 14:45:03 UTC` ya make is running...
:green_circle: `2025-04-28 14:45:08 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/151173) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14710484111/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14710484111/ya-x86-64/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [0](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14710484111/ya-x86-64/try_1/ya-test.html) | 0 | 0 | 0 | 0 | 0 |

:green_circle: `2025-04-28 14:45:14 UTC` Build successful.
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T14:42:41Z
body: <!-- status pr=17788, preset=release-asan, run=41733 -->
:white_circle: `2025-04-28 14:42:41 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/14710484111/job/41281352405) **linux-x86_64-release-asan** for 26af3d0ef8c5d602dcfb248120631513feb9090d has started.
:white_circle: `2025-04-28 14:42:57 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14710484111/ya-x86-64-asan/index.html)
:white_circle: `2025-04-28 14:45:14 UTC` ya make is running...
:green_circle: `2025-04-28 14:45:20 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/151174) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14710484111/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14710484111/ya-x86-64-asan/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [0](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14710484111/ya-x86-64-asan/try_1/ya-test.html) | 0 | 0 | 0 | 0 | 0 |

:green_circle: `2025-04-28 14:45:26 UTC` Build successful.
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T14:43:25Z
body: ### :white_check_mark: Documentation build
Revision built successfully
Revision preview [link](https://ydb-platform--ydb.viewer.diplodoc.com?revision=pr-17788-4e5fe9910a81243df44dc56f029294bd6c988447)


author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T15:13:43Z
body: <!-- status pr=17788, preset=relwithdebinfo, run=41742 -->
:white_circle: `2025-04-28 15:13:42 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/14711282060/job/41284076891) **linux-x86_64-relwithdebinfo** for ab00dcd67fdbf5f72fa3ca8ffb60a9aad855d6bd has started.
:white_circle: `2025-04-28 15:13:58 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711282060/ya-x86-64/index.html)
:white_circle: `2025-04-28 15:16:10 UTC` ya make is running...
:green_circle: `2025-04-28 15:16:16 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/151202) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711282060/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711282060/ya-x86-64/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [0](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711282060/ya-x86-64/try_1/ya-test.html) | 0 | 0 | 0 | 0 | 0 |

:green_circle: `2025-04-28 15:16:23 UTC` Build successful.
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T15:14:28Z
body: <!-- status pr=17788, preset=release-asan, run=41742 -->
:white_circle: `2025-04-28 15:14:28 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/14711282060/job/41284076875) **linux-x86_64-release-asan** for ab00dcd67fdbf5f72fa3ca8ffb60a9aad855d6bd has started.
:white_circle: `2025-04-28 15:14:53 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711282060/ya-x86-64-asan/index.html)
:white_circle: `2025-04-28 15:17:13 UTC` ya make is running...
:green_circle: `2025-04-28 15:17:19 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/151204) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711282060/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711282060/ya-x86-64-asan/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [0](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711282060/ya-x86-64-asan/try_1/ya-test.html) | 0 | 0 | 0 | 0 | 0 |

:green_circle: `2025-04-28 15:17:25 UTC` Build successful.
author_association: NONE
user: login: ydbot
created_at: 2025-04-28T15:15:17Z
body: 🔄 New commits pushed — @blinkov @asmyasnikov please take a look.
author_association: COLLABORATOR
user: login: github-actions[bot]
created_at: 2025-04-28T15:16:06Z
body: ### :white_check_mark: Documentation build
Revision built successfully
Revision preview [link](https://ydb-platform--ydb.viewer.diplodoc.com?revision=pr-17788-700b0d66733ae096e2a3005834d95951cc8057c3)


author_association: NONE
user: login: ydbot
created_at: 2025-04-28T15:21:27Z
body: 🔄 New commits pushed — @blinkov @asmyasnikov please take a look.
author_association: COLLABORATOR
user: login: github-actions[bot]
created_at: 2025-04-28T15:23:24Z
body: <!-- status pr=17788, preset=relwithdebinfo, run=41744 -->
:white_circle: `2025-04-28 15:23:23 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/14711472663/job/41284714665) **linux-x86_64-relwithdebinfo** for facb74b073f7530c23dadcbc4ab44f31007cec70 has started.
:white_circle: `2025-04-28 15:23:39 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711472663/ya-x86-64/index.html)
:white_circle: `2025-04-28 15:25:53 UTC` ya make is running...
:green_circle: `2025-04-28 15:25:59 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/151208) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711472663/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711472663/ya-x86-64/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [0](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711472663/ya-x86-64/try_1/ya-test.html) | 0 | 0 | 0 | 0 | 0 |

:green_circle: `2025-04-28 15:26:06 UTC` Build successful.
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T15:23:29Z
body: <!-- status pr=17788, preset=release-asan, run=41744 -->
:white_circle: `2025-04-28 15:23:28 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/14711472663/job/41284714648) **linux-x86_64-release-asan** for facb74b073f7530c23dadcbc4ab44f31007cec70 has started.
:white_circle: `2025-04-28 15:23:44 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711472663/ya-x86-64-asan/index.html)
:white_circle: `2025-04-28 15:26:02 UTC` ya make is running...
:green_circle: `2025-04-28 15:26:09 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/151209) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711472663/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711472663/ya-x86-64-asan/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [0](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14711472663/ya-x86-64-asan/try_1/ya-test.html) | 0 | 0 | 0 | 0 | 0 |

:green_circle: `2025-04-28 15:26:16 UTC` Build successful.
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T15:25:19Z
body: ### :white_check_mark: Documentation build
Revision built successfully
Revision preview [link](https://ydb-platform--ydb.viewer.diplodoc.com?revision=pr-17788-ec47a744397c1992b559938b96379fa927878908)


author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T15:55:23Z
body: <!-- status pr=17788, preset=release-asan, run=41748 -->
:white_circle: `2025-04-28 15:55:22 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/14712165159/job/41287005239) **linux-x86_64-release-asan** for 2e7042221b8b2b58c012a33d7e7ff09115ede9d0 has started.
:white_circle: `2025-04-28 15:55:38 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712165159/ya-x86-64-asan/index.html)
:black_circle: `2025-04-28 15:56:30 UTC` Check cancelled
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T15:55:23Z
body: <!-- status pr=17788, preset=relwithdebinfo, run=41748 -->
:white_circle: `2025-04-28 15:55:23 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/14712165159/job/41287005229) **linux-x86_64-relwithdebinfo** for 2e7042221b8b2b58c012a33d7e7ff09115ede9d0 has started.
:white_circle: `2025-04-28 15:55:39 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712165159/ya-x86-64/index.html)
:black_circle: `2025-04-28 15:56:30 UTC` Check cancelled
author_association: NONE
user: login: ydbot
created_at: 2025-04-28T15:59:00Z
body: 🔄 New commits pushed — @blinkov @asmyasnikov please take a look.
author_association: COLLABORATOR
user: login: github-actions[bot]
created_at: 2025-04-28T16:00:05Z
body: ### :white_check_mark: Documentation build
Revision built successfully
Revision preview [link](https://ydb-platform--ydb.viewer.diplodoc.com?revision=pr-17788-ce5a06cde4d2feb326dfb3f9e5636f7cd33affe5)


author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T16:00:29Z
body: <!-- status pr=17788, preset=release-asan, run=41749 -->
:white_circle: `2025-04-28 16:00:28 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/14712206125/job/41287172795) **linux-x86_64-release-asan** for 31a27a595a5a8fa0c4a55efaea850fe3c5b0d0d3 has started.
:white_circle: `2025-04-28 16:00:45 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712206125/ya-x86-64-asan/index.html)
:white_circle: `2025-04-28 16:03:01 UTC` ya make is running...
:green_circle: `2025-04-28 16:03:07 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/151237) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712206125/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712206125/ya-x86-64-asan/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [0](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712206125/ya-x86-64-asan/try_1/ya-test.html) | 0 | 0 | 0 | 0 | 0 |

:green_circle: `2025-04-28 16:03:13 UTC` Build successful.
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T16:00:33Z
body: <!-- status pr=17788, preset=relwithdebinfo, run=41749 -->
:white_circle: `2025-04-28 16:00:33 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/14712206125/job/41287172789) **linux-x86_64-relwithdebinfo** for 31a27a595a5a8fa0c4a55efaea850fe3c5b0d0d3 has started.
:white_circle: `2025-04-28 16:00:49 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712206125/ya-x86-64/index.html)
:white_circle: `2025-04-28 16:03:03 UTC` ya make is running...
:green_circle: `2025-04-28 16:03:10 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/151238) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712206125/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712206125/ya-x86-64/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [0](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712206125/ya-x86-64/try_1/ya-test.html) | 0 | 0 | 0 | 0 | 0 |

:green_circle: `2025-04-28 16:03:16 UTC` Build successful.
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T16:33:08Z
body: ### :white_check_mark: Documentation build
Revision built successfully
Revision preview [link](https://ydb-platform--ydb.viewer.diplodoc.com?revision=pr-17788-aa75e20dd7440d39663c93319f1d8d1631271f75)


author_association: NONE
user: login: ydbot
created_at: 2025-04-28T16:35:37Z
body: 🔄 New commits pushed — @blinkov @asmyasnikov please take a look.
author_association: COLLABORATOR
user: login: github-actions[bot]
created_at: 2025-04-28T16:36:50Z
body: <!-- status pr=17788, preset=relwithdebinfo, run=41752 -->
:white_circle: `2025-04-28 16:36:49 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/14712864512/job/41289360894) **linux-x86_64-relwithdebinfo** for 9547634522299eb0d7ddad81fcad0f0e5a843450 has started.
:white_circle: `2025-04-28 16:37:05 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712864512/ya-x86-64/index.html)
:white_circle: `2025-04-28 16:39:21 UTC` ya make is running...
:green_circle: `2025-04-28 16:39:27 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/151269) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712864512/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712864512/ya-x86-64/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [0](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712864512/ya-x86-64/try_1/ya-test.html) | 0 | 0 | 0 | 0 | 0 |

:green_circle: `2025-04-28 16:39:35 UTC` Build successful.
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-04-28T16:37:02Z
body: <!-- status pr=17788, preset=release-asan, run=41752 -->
:white_circle: `2025-04-28 16:37:01 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/14712864512/job/41289360927) **linux-x86_64-release-asan** for 9547634522299eb0d7ddad81fcad0f0e5a843450 has started.
:white_circle: `2025-04-28 16:37:17 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712864512/ya-x86-64-asan/index.html)
:white_circle: `2025-04-28 16:39:36 UTC` ya make is running...
:green_circle: `2025-04-28 16:39:43 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/151271) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712864512/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712864512/ya-x86-64-asan/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [0](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/14712864512/ya-x86-64-asan/try_1/ya-test.html) | 0 | 0 | 0 | 0 | 0 |

:green_circle: `2025-04-28 16:39:49 UTC` Build successful.
author_association: NONE