Skip to content

v1.8.0rc2

Pre-release
Pre-release

Choose a tag to compare

@joe-clickhouse joe-clickhouse released this 20 Aug 17:38
dd867f5

clickhouse-connect v1.8.0rc2

This is the second release candidate for testing the optional Rust codec. RC2 updates the driver onto the 1.7.2 stable release, incorporating all of its bug fixes. The Rust codec itself is unchanged from RC1.

Please test this release with your workloads and report any issues. Install it with a pinned version:

pip install "clickhouse-connect[rust]==1.8.0rc2"

What's Changed Since v1.8.0rc1

Query and transport fixes

  • Queries ending in a semicolon now keep client-appended FORMAT clauses inside the statement, including trailing whitespace and comments. Insert detection now follows SQL token rules. Fixes
    #903.
  • The async client now preserves explicit proxy_path values exactly. Fixes #963.
  • The synchronous client now normalizes an empty request path to / when using a forwarding HTTP proxy. Fixes #951.
  • Server-side query parameter names can now contain $ where ClickHouse permits it, while preserving the driver's raw binary binding convention. Fixes [#936](https://github.com/ClickHouse/
  • ClickHouse type literals containing percent signs now compile safely alongside bound parameters. Fixes #966.
  • Generic literal_binds, DDL string clauses, comments, and Alembic comment operations now use ClickHouse-compatible backslash escaping. Fixes [#975](https://github.com/ClickHouse/clickhouse-
    connect/issues/975).
  • union(), intersect(), and except_() now emit explicit DISTINCT operations, preserving SQLAlchemy semantics. Use their _all() counterparts when duplicate-preserving behavior is
    intended. Fixes #973.
  • Applicable Select.with_hint() table hints now emit SAWarning instead of being silently ignored. Fixes #974.

Rust codec testing

The optional Rust codec remains experimental. The default python codec is unchanged.

To enable Rust with Python fallback:

client = clickhouse_connect.get_client(
    host="...",
    native_codec="rust",
)

For testing, native_codec="rust_strict" raises on unsupported paths instead of falling back.

Installation

For this release candidate:

pip install "clickhouse-connect[rust]==1.8.0rc2"

For the latest stable release:

pip install clickhouse-connect