Documentation Index
Fetch the complete documentation index at: https://private-7c7dfe99-page-updates.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
What’s Changed
- Add smart filter to examples runner by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/110
- Adjust flaky test, sleep(0.3) usually takes < 300ms. by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/112
- Add support for roles at connection and command levels by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/113
- Update copilot-instructions.md by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/114
- Create benchmark comparison workflow that runs a test of main vs the PR. by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/115
- Generate query id on client side if not set by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/116
- stop doing coverage on every test action by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/117
- Bump actions/github-script from 7 to 8 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/119
- Bump NUnit.ConsoleRunner from 3.20.1 to 3.20.2 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/123
- Bump BenchmarkDotNet from 0.15.6 to 0.15.8 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/120
- Bump NUnit.Console and NUnit.ConsoleRunner by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/122
- Fix crash when reading Map with duplicate keys by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/124
- Add async insert examples by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/125
- remove .net setup action, no longer necessary by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/126
- Add support for JWT auth by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/111
- Add support for custom headers by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/128
- LLM instructions by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/129
- Add InsertRawStreamAsync to connection for raw file inserts by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/130
- [BREAKING] Make extensions internal by @verdie-g in https://github.com/ClickHouse/clickhouse-cs/pull/19
- Bump actions/cache from 4 to 5 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/133
- Bump NUnit.Console and NUnit.ConsoleRunner by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/136
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/134
- Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/132
- Bump linq2db from 6.0.0-rc.3 to 6.0.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/135
- Bump Microsoft.Extensions.Logging.Abstractions from 10.0.0 to 10.0.1 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/144
- Bump linq2db from 6.0.0 to 6.1.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/140
- Additional examples by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/145
- Add support for QBit data type by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/99
- Update bulk insert example by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/147
- xml docs improvements by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/148
- Bump Microsoft.Extensions.Configuration and Microsoft.Extensions.Configuration.Json by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/142
- Bump NodaTime from 3.2.2 to 3.2.3 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/151
- Bump Microsoft.Extensions.Http from 10.0.0 to 10.0.1 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/149
- Bump Microsoft.Extensions.Logging.Console from 10.0.0 to 10.0.1 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/150
- Bump NUnit.Console and NUnit.ConsoleRunner by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/152
- Add max_dynamic_paths=0 tests by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/154
- Revert RELEASENOTES.md by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/155
- feat(examples): add ASP.NET health checks example by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/156
- Adjust datetime handling and add tests by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/153
- Add claude folder to gitignore by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/158
- Remove feature discovery query from OpenAsync by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/157
- Add PingAsync method to ClickHouseConnection by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/159
- Bump OpenTelemetry from 1.12.0 to 1.14.0 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/160
- Bump System.Text.Json from 9.0.10 to 10.0.1 by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/161
- Warning fixes by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/162
- Bump NUnit.Console and NUnit.ConsoleRunner by @dependabot[bot] in https://github.com/ClickHouse/clickhouse-cs/pull/164
- fix qbit tests on cloud by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/167
- Sanitize env values in user agent string by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/169
- Add 25.12 to test matrix by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/171
- Add support for mid-stream exception detection via X-ClickHouse-Exception-Tag header by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/168
- Cleanup, minor fixes, xml docs by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/172
- Update RELEASENOTES.md by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/173
- Add test naming guidelines to claude.md by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/176
- add codeowners by @mshustov in https://github.com/ClickHouse/clickhouse-cs/pull/177
- Re-enable variant tests by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/178
New Contributors
- @mshustov made their first contribution in https://github.com/ClickHouse/clickhouse-cs/pull/177
v0.9.0
Breaking Changes:- FixedString is now returned as byte[] rather than String. FixedStrings are not necessarily valid UTF-8 strings, and the string transformation caused loss of information in some cases. Use Encoding.UTF8.GetString() on the resulting byte[] array to emulate the old behavior. String can still be used as a parameter or when inserting using BulkCopy into a FixedString column. When part of a json object, FixedString is still returned as a string.
- Removed obsolete MySQL compatibility mapping TIME -> Int64.
- Json serialization of bool arrays now uses the Boolean type instead of UInt8 (it is now consistent with how bool values outside arrays were handled).
- GEOMETRY is no longer an alias for String.
- Sessions can now be used with custom HttpClient or HttpClientFactory. Previously this combination was not allowed. Note that when sessions are enabled, ClickHouseConnection will allow only one request at a time, and responses are fully buffered before returning to ensure proper request serialization.
- Added support for BFloat16. It is converted to and from a 32-bit float.
- Added support for Time and Time64, which are converted to and from TimeSpan. The types are available since ClickHouse 25.6 and using them requires the enable_time_time64_type flag to be set.
- The Dynamic type now offers full support for all underlying types.
- Added support for LineString and MultiLineString geo types.
- Added support for the Geometry type, which can hold any geo subtype (Point, Ring, LineString, Polygon, MultiLineString, MultiPolygon). Available since ClickHouse 25.11. Requires allow_suspicious_variant_types to be set to 1.
- Json support has been improved in many ways:
- Now supports parsing Json that includes Maps; they are read into JsonObjects.
- Added support for decoding BigInteger types, UUID, IPv4, IPv6, and ClickHouseDecimal types (they are handled as strings).
- Expanded binary parsing to cover all types.
- Improved handling of numeric types when writing Json using BulkCopy: now properly detects and preserves Int32/In64 in addition to double (previously all numeric types were handled as double).
- Parsing null values in arrays is now handled properly.
- ClickHouseConnection.ConnectionString can now be set after creating the connection, to support cases where passing the connection string to the constructor is not possible.
- ClickHouseConnection.CreateCommand() now has an optional argument for the command text.
- Fixed a NullReferenceException when adding a parameter with null value and no provided type. The driver now simply sends ‘\N’ (null value special character) when encountering this scenario.
- Fixed a bug where serializing to json with an array of bools with both true and false elements would fail.
What’s Changed
- Nuget readme fix by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/82
- Update RELEASENOTES.md by @alex-clickhouse in https://github.com/ClickHouse/clickhouse-cs/pull/83
v0.8.0
Breaking Changes:- Trying to set ClickHouseConnection.ConnectionString will now throw a NotSupportedException. Create a new connection with the desired settings instead.
- When a default database is not provided, the client no longer uses “default” (now uses empty string). This allows default user database settings to function as expected.
- ClickHouseDataSource.Logger (ILogger) property has been removed.
- Removed support for loading configuration from environment variables (CLICKHOUSE_DB, CLICKHOUSE_USER, CLICKHOUSE_PASSWORD). Use connection strings or ClickHouseClientSettings instead.
- The default PooledConnectionIdleTimeout has been changed to 5 seconds, to prevent issues with half-open connections when using ClickHouse Cloud (where the default server-side idle timetout is 10s).
- Added .NET 10 as a target.
- The NuGet package is now signed.
- Enabled strong naming for the library.
- Added a new way to configure ClickHouseConnection: the ClickHouseClientSettings class. You can initialize it from a connection string, or simply by setting its properties.
- Added settings validation to prevent incorrect configurations.
- Added logging in the library, enable it by passing a LoggerFactory through the settings. Logging level configuration is configured through the factory. For more info, see the documentation: https://clickhouse.com/docs/integrations/csharp#logging-and-diagnostics
- Added EnableDebugMode setting to ClickHouseClientSettings for low-level .NET network tracing (.NET 5+). When enabled, traces System.Net events (HTTP, Sockets, DNS, TLS) to help diagnose network issues. Requires ILoggerFactory with Trace-level logging enabled. WARNING: Significant performance impact - not recommended for production use.
- AddClickHouseDataSource now automatically injects ILoggerFactory from the service provider when not explicitly provided.
- Improvements to ActivitySource for tracing: stopped adding tags when it was not necessary (thanks to @verdie-g), and made it configurable through ClickHouseDiagnosticsOptions.
- Added new AddClickHouseDataSource extension methods that accept ClickHouseClientSettings for strongly-typed configuration in DI scenarios.
- Added new AddClickHouseDataSource extension method that accepts IHttpClientFactory for better DI integration.
- Optimized response header parsing.
- Added list type conversion, so List<T> can now be passed to the library (converts to Array() in ClickHouse). Thanks to @jorgeparavicini.
- Optimized EnumType value lookups.
- Avoid unnecessarily parsing the X-ClickHouse-Summary headers twice. Thanks to @verdie-g.
- Added the ability to pass a query id to ClickHouseConnection.PostStreamAsync(). Thanks to @dorki.
- The user agent string now also contains information on the host operating system, .NET version, and processor architecture.
- Fixed a crash when processing a tuple with an enum in it.
- Fixed a potential sync-over-async issue in the connection. Thanks to @verdie-g.
- Fixed a bug with parsing table definitions with parametrized json fields. Thanks to @dorki.
What’s Changed
- fix issue #13 | Support connectionString only ctor by @dorki in https://github.com/ClickHouse/clickhouse-cs/pull/16
What’s Changed
- Json | Support reading hinted type by @dorki in https://github.com/ClickHouse/clickhouse-cs/pull/9
- Connection | support skipping server cert validation by @dorki in https://github.com/ClickHouse/clickhouse-cs/pull/10
Temporary breaking change for Linq2DB
It appears the driver’s constructor is no longer compatible with Linq2DB in this version, this is fixed in0.7.20. See details here.New Contributors
- @dorki made their first contribution in https://github.com/ClickHouse/clickhouse-cs/pull/9
What’s Changed
- Rename package, add User agent by @SpencerTorres in https://github.com/ClickHouse/clickhouse-cs/pull/3
New Contributors
- @SpencerTorres made their first contribution in https://github.com/ClickHouse/clickhouse-cs/pull/3
