From 05a5496300a0ba5ecb03a56783d9d751165edb1c Mon Sep 17 00:00:00 2001
From: ideoma <2159629+ideoma@users.noreply.github.com>
Date: Mon, 14 Jul 2025 18:39:03 +0100
Subject: [PATCH 1/2] build: release 3.0.0
---
.../net-questdb-client-tcp-auth-tests.csproj | 2 +-
src/net-questdb-client/net-questdb-client.csproj | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/net-questdb-client-tcp-auth-tests/net-questdb-client-tcp-auth-tests.csproj b/src/net-questdb-client-tcp-auth-tests/net-questdb-client-tcp-auth-tests.csproj
index 17a7440..2bd34b3 100644
--- a/src/net-questdb-client-tcp-auth-tests/net-questdb-client-tcp-auth-tests.csproj
+++ b/src/net-questdb-client-tcp-auth-tests/net-questdb-client-tcp-auth-tests.csproj
@@ -21,7 +21,7 @@
-
+
diff --git a/src/net-questdb-client/net-questdb-client.csproj b/src/net-questdb-client/net-questdb-client.csproj
index 3bd2145..f9cbe39 100644
--- a/src/net-questdb-client/net-questdb-client.csproj
+++ b/src/net-questdb-client/net-questdb-client.csproj
@@ -16,7 +16,7 @@
https://github.com/questdb/net-questdb-client
QuestDB, ILP
QuestDB Limited
- 2.1.0
+ 3.0.0
true
net6.0;net7.0;net8.0;net9.0
From 52e3fb6a9a8283a0b6e69cb9e78240c92cb9af6a Mon Sep 17 00:00:00 2001
From: ideoma <2159629+ideoma@users.noreply.github.com>
Date: Mon, 14 Jul 2025 18:56:01 +0100
Subject: [PATCH 2/2] update readme
---
README.md | 59 +++++++++++++++++++++++++++++++++----------------------
1 file changed, 35 insertions(+), 24 deletions(-)
diff --git a/README.md b/README.md
index 469af34..c24c1b8 100644
--- a/README.md
+++ b/README.md
@@ -138,30 +138,41 @@ The config string format is:
{http/https/tcp/tcps}::addr={host}:{port};key1=val1;key2=val2;keyN=valN;
```
-| Name | Default | Description |
-|--------------------------|----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `protocol` (schema) | `http` | The transport protocol to use. Options are http(s)/tcp(s). |
-| `addr` | `localhost:9000` | The {host}:{port} pair denoting the QuestDB server. By default, port 9000 for HTTP, port 9009 for TCP. |
-| `auto_flush` | `on` | Enables or disables auto-flushing functionality. By default, the buffer will be flushed every 75,000 rows, or every 1000ms, whichever comes first. |
-| `auto_flush_rows` | `75000 (HTTP)` `600 (TCP)` | The row count after which the buffer will be flushed. Effectively a batch size. |
-| `auto_flush_bytes` | `Int.MaxValue` | The byte buffer length which when exceeded, will trigger a flush. |
-| `auto_flush_interval` | `1000` | The millisecond interval, which once has elapsed, the next row triggers a flush. |
-| `init_buf_size` | `65536` | The starting byte buffer length. Overflowing this buffer will cause the allocation `init_buf_size` bytes (an additional buffer). |
-| `max_buf_size` | `104857600` | Maximum size of the byte buffer in bytes. If exceeded, an exception will be thrown. |
-| `username` | | The username for authentication. Used for Basic Authentication and TCP JWK Authentication. |
-| `password` | | The password for authentication. Used for Basic Authentication. |
-| `token` | | The token for authentication. Used for Token Authentication and TCP JWK Authentication, needs additional reference to `net-questdb-client-tcp-auth` assembly |
-| `token_x` | | Un-used. |
-| `token_y` | | Un-used. |
-| `tls_verify` | `on` | Denotes whether TLS certificates should or should not be verifed. Options are on/unsafe_off. |
-| `tls_ca` | | Un-used. |
-| `tls_roots` | | Used to specify the filepath for a custom .pem certificate. |
-| `tls_roots_password` | | Used to specify the filepath for the private key/password corresponding to the `tls_roots` certificate. |
-| `auth_timeout` | `15000` | The time period to wait for authenticating requests, in milliseconds. |
-| `request_timeout` | `10000` | Base timeout for HTTP requests before any additional time is added. |
-| `request_min_throughput` | `102400` | Expected minimum throughput of requests in bytes per second. Used to add additional time to `request_timeout` to prevent large requests timing out prematurely. |
-| `retry_timeout` | `10000` | The time period during which retries will be attempted, in milliseconds. |
-| `max_name_len` | `127` | The maximum allowed bytes, in UTF-8 format, for column and table names. |
+| Name | Default | Description |
+|--------------------------|----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `protocol` (schema) | `http` | The transport protocol to use. Options are http(s)/tcp(s). |
+| `addr` | `localhost:9000` | The {host}:{port} pair denoting the QuestDB server. By default, port 9000 for HTTP, port 9009 for TCP. |
+| `auto_flush` | `on` | Enables or disables auto-flushing functionality. By default, the buffer will be flushed every 75,000 rows, or every 1000ms, whichever comes first. |
+| `auto_flush_rows` | `75000 (HTTP)` `600 (TCP)` | The row count after which the buffer will be flushed. Effectively a batch size. |
+| `auto_flush_bytes` | `Int.MaxValue` | The byte buffer length which when exceeded, will trigger a flush. |
+| `auto_flush_interval` | `1000` | The millisecond interval, which once has elapsed, the next row triggers a flush. |
+| `init_buf_size` | `65536` | The starting byte buffer length. Overflowing this buffer will cause the allocation `init_buf_size` bytes (an additional buffer). |
+| `max_buf_size` | `104857600` | Maximum size of the byte buffer in bytes. If exceeded, an exception will be thrown. |
+| `username` | | The username for authentication. Used for Basic Authentication and TCP JWK Authentication. |
+| `password` | | The password for authentication. Used for Basic Authentication. |
+| `token` | | The token for authentication. Used for Token Authentication and TCP JWK Authentication. |
+| `token_x` | | Un-used. |
+| `token_y` | | Un-used. |
+| `tls_verify` | `on` | Denotes whether TLS certificates should or should not be verifed. Options are on/unsafe_off. |
+| `tls_ca` | | Un-used. |
+| `tls_roots` | | Used to specify the filepath for a custom .pem certificate. |
+| `tls_roots_password` | | Used to specify the filepath for the private key/password corresponding to the `tls_roots` certificate. |
+| `auth_timeout` | `15000` | The time period to wait for authenticating requests, in milliseconds. |
+| `request_timeout` | `10000` | Base timeout for HTTP requests before any additional time is added. |
+| `request_min_throughput` | `102400` | Expected minimum throughput of requests in bytes per second. Used to add additional time to `request_timeout` to prevent large requests timing out prematurely. |
+| `retry_timeout` | `10000` | The time period during which retries will be attempted, in milliseconds. |
+| `max_name_len` | `127` | The maximum allowed bytes, in UTF-8 format, for column and table names. |
+| `protocol_version` | | Explicitly specifies the version of InfluxDB Line Protocol to use for sender. Valid options are:
• protocol_version=1
• protocol_version=2
• protocol_version=auto (default, if unspecified) |
+
+### Protocol Version
+
+Behavior details:
+
+| Value | Behavior |
+|--------|---------------------------------------------------------------------------------------------------------------------------------------------------------|
+| 1 | - Plain text serialization
- Compatible with InfluxDB servers
- No array type support |
+| 2 | - Binary encoding for double arrays
- Full support for array |
+| `auto` | - **HTTP/HTTPS**: Auto-detects server capability during handshake (supports version negotiation)
- **TCP/TCPS**: Defaults to version 1 for compatibility |
### net-questdb-client specific parameters