NextStack

clickhouse-java v0.10.0-rc1

minor PublishedJul 3, 2026 SourceClickHouse/clickhouse-java

clickhouse-java v0.10.0-rc1

Release Migration Guide

Breaking Changes

  • [jdbc-v2] The driver no longer hardcodes the server settings async_insert=0 and wait_end_of_query=0 on every JDBC connection. This unblocks two scenarios that previously did not work: overriding these settings per connection or per statement, and using the driver against read-only profiles that disallow SETTINGS overrides. There are two consequences:

    • The driver now follows the server-side defaults for these settings (note: starting with ClickHouse 26.3, async_insert defaults to 1). Removing the explicit wait_end_of_query=0 is a no-op against server defaults but lets users opt in to wait_end_of_query=1.
    • The row count returned by java.sql.Statement.executeUpdate(java.lang.String) (and the matching PreparedStatement method) is no longer guaranteed to be accurate for INSERT statements when the server runs them asynchronously, and parsing/data errors in the INSERT body may not surface synchronously as a SQLException. Previously these were accurate because inserts were forced to be synchronous (see also https://github.com/ClickHouse/ClickHouse/issues/57768). To restore the previous behavior, set async_insert=0 (or wait_for_async_insert=1) per connection as server setting. Read more about asynchronous insert: https://clickhouse.com/docs/optimize/asynchronous-inserts.

    (https://github.com/ClickHouse/clickhouse-java/issues/2652, https://github.com/ClickHouse/clickhouse-java/issues/2825)

  • [client-v2] Client.Builder#build() now throws ClientMisconfigurationException instead of IllegalArgumentException for authentication and SSL misconfiguration (missing credentials, conflicting authentication methods, missing client certificate when SSL authentication is enabled, and trust store used together with a client certificate). Callers that relied on catching IllegalArgumentException from build() for these cases must catch ClientMisconfigurationException (which extends RuntimeException via ClientException). (https://github.com/ClickHouse/clickhouse-java/pull/2812)

  • [client-v2] Combining setUsername(...) + setPassword(...) with a custom Authorization HTTP header ( httpHeader(HttpHeaders.AUTHORIZATION, ...)) now fails at Client.Builder#build() with ClientMisconfigurationException unless HTTP Basic authentication is explicitly disabled via useHTTPBasicAuth(false). Previously this combination was accepted and the custom Authorization header overrode the user/password at request time. (https://github.com/ClickHouse/clickhouse-java/pull/2812)

  • [client-v2] The access_token configuration property (set via Client.Builder#setAccessToken(String) or directly through setOption) is now actually applied to outgoing requests as the Authorization HTTP header value verbatim. Previously the value was stored under access_token but never sent on the wire, so providing it alone had no effect on authentication. Callers must include the scheme prefix themselves (e.g. setAccessToken("Bearer <token>")), or use useBearerTokenAuth(String) which prepends Bearer automatically. (https://github.com/ClickHouse/clickhouse-java/pull/2812)

  • [client-v2] Client.Builder#useBearerTokenAuth(String) now stores the bearer token under the access_token configuration key (with the Bearer prefix) instead of writing it directly into http_header_authorization. The HTTP wire format is unchanged, but the token is no longer observable through Client#getReadOnlyConfig() under the http_header_authorization key. (https://github.com/ClickHouse/clickhouse-java/pull/2812)

  • [client-v2] Fixed inconsistent use of executionTimeout parameter in Client component. The timeout was previously set in milliseconds but mistakenly retrieved and used in seconds in some places. Now it correctly uses milliseconds consistently. (https://github.com/ClickHouse/clickhouse-java/issues/2358)

New Features

Improvements

Updated Dependencies

  • [tests] Bump org.postgresql:postgresql from 42.6.1 to 42.7.11

Docs & Examples

Bug Fixes


Source ClickHouse/clickhouse-java · v0.10.0-rc1 · 2026-07-03 · upstream release

Mirrored verbatim for indexing. All rights belong to the upstream project.

Release notes are published by the upstream project and mirrored here for indexing. All rights belong to their authors.