Releases: ClickHouse/clickhouse-cs
Releases · ClickHouse/clickhouse-cs
0.8.1
What's Changed
- Nuget readme fix by @alex-clickhouse in #82
- Update RELEASENOTES.md by @alex-clickhouse in #83
Full Changelog: 0.8.0...0.8.1
0.8.0
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).
New Features/Improvements:
- 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 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.
Bug fixes:
0.7.20
What's Changed
Full Changelog: 0.7.19...0.7.20
0.7.19
What's Changed
- Json | Support reading hinted type by @dorki in #9
- Connection | support skipping server cert validation by @dorki in #10
Temporary breaking change for Linq2DB
It appears the driver's constructor is no longer compatible with Linq2DB in this version, this is fixed in 0.7.20. See details here.
New Contributors
Full Changelog: 0.7.18...0.7.19
0.7.18
What's Changed
- Rename package, add User agent by @SpencerTorres in #3
New Contributors
- @SpencerTorres made their first contribution in #3
Full Changelog: https://github.com/ClickHouse/clickhouse-cs/commits/0.7.18