Altinity Project Antalya Builds for ClickHouse® 26.6

Here are the detailed release notes for Altinity Project Antalya build version 26.6. For more details on the project, see:

Release history

Version 26.6.2.20001 is the latest release. We recommend that you use this version.

Version Release date Details Docker images
26.6.2.20001 2026-08-26 CI report | Release page AMD64 and Aarch64

v26.6.2.20001

Released 2026-08-26

CI report | Release page

26.6.2.20001 Altinity Antalya (fc67ca2) as compared to upstream/v26.6.2.160-stable (493d30c)

New Features

  • Added support for Puffin file format. Now this format can be used in table functions like file, url, s3 and so on.. (ClickHouse#103936 by @scanhex12 via #2179)
  • Iceberg deletion vectors support (#2183 by @ianton-ru)
  • Added the ignore_extra_source_columns_by_name mode for the export_merge_tree_part_schema_mismatch_mode setting. EXPORT PART/EXPORT PARTITION matches destination columns to source columns by name instead of position, so the source table may have extra columns in any position and the columns may be reordered. (#2229 by @k-morozov)
  • Added experimental content-addressed storage (CAS) for MergeTree: a new cas metadata storage type for object-storage disks that stores parts as content-hash-deduplicated blobs in a shared S3/GCS pool with manifests and refs, allowing multiple servers to share identical data without re-uploading it, replicate same-pool parts without transferring bytes, and reclaim unreferenced data with lease-coordinated garbage collection. Includes SYSTEM CAS GC RUN / GC REBUILD / FSCK / DROP POOL MEMBER, system tables system.cas_log, system.cas_gc_log, system.cas_mounts, and clickhouse-disks commands cas-inspect, cas-fsck, cas-gc-dryrun, cas-gc-rebuild, cas-drop-member. (#2159 by @filimonov)

Performance Improvements

  • Reading a single large local Parquet file via file() / File engine is now parallelized across multiple sources, each handling a subset of row groups. This eliminates a Resize 1 → N bottleneck in the pipeline and brings single-file ClickBench performance close to the partitioned variant — Q23 goes from ~1.4s to ~0.55s, Q22 from ~0.9s to ~0.48s, Q27 from ~1.6s to ~0.54s on 96 vCPUs (ClickHouse#104251 by @alexey-milovidov via #2148)
  • Parquet reader now fetches compressed chunks from storage far ahead of decoding. Compressed data is small, so many reads stay in flight while decoding catches up at its own pace — cold scans are no longer bottlenecked on storage latency (S3). Read-ahead and decoding get separate memory and thread budgets, tunable via input_format_parquet_prefetch_memory_fraction (0.6) and input_format_parquet_decode_thread_fraction (0.375) (#2235 by @UnamedRus)

Improvements

  • Add option to cache vended credentials for REST catalogs; add a setting vended_credentials_cache_ttl (seconds). 300 by default. 0 means no caching (ClickHouse#107960 by @zvonand via #2156)
  • Allow export partition through different partition expressions as long as the destination expression does not repartition the data (#2253 by @arthurpassos)

Bug Fixes (user-visible misbehavior in an official stable release)

  • Fixes ALTER TABLE ... ADD COLUMN, DROP COLUMN, RENAME COLUMN and MODIFY COLUMN on Iceberg tables, which could fail against a REST catalog – DROP COLUMN of the most recently added column was rejected with Invalid last column ID, and an ALTER that the catalog had in fact applied could come back as Column already exists on retry. Bool and Decimal(P, S) columns can now be used in CREATE TABLE and ALTER TABLE ... ADD COLUMN, and a Decimal precision above the Iceberg limit of 38 is now refused up front. Dropping a column that the table’s sort order or partition spec still references is now rejected, as the Iceberg specification requires. (#2157 by @subkanthi)
  • Fixed reading Iceberg v3 tables whose Parquet data files contain reserved row-lineage columns (such as _row_id); the native Parquet reader no longer raises ICEBERG_SPECIFICATION_VIOLATION for reserved field ids that are not part of the table schema (ClickHouse#107377 by @gregakinman via #2198)
  • Fix wrong logic of MetadataStorageFromPlainObjectStorageTransaction::removeDirectory (ClickHouse#106281 by @RinChanNOWWW via #2199)
  • Restrict local object access only for user files path (ClickHouse#111483 by @scanhex12 via #2199)
  • Fixed use_client_time_zone being ignored for DateTime/DateTime64 string literals interpreted on the server (asynchronous INSERT, SELECT literals). The client now propagates its local time zone as session_timezone when use_client_time_zone is enabled, so server-side parsing matches the synchronous INSERT path (ClickHouse#109051 by @groeneai via #2208)
  • Added a check for the positions and names of columns that make up the partition key (including Tuple elements and nested Array/Map types) during ALTER TABLE … EXPORT PART/PARTITION. (#2218 by @k-morozov)
  • Fixed ALTERS for MergeTree tables for which the disk setting was specified (ClickHouse#109199 by @Michicosun via #2246)

Packages

Available for both AMD64 and Aarch64 from builds.altinity.cloud/#altinityantalya as either .deb, .rpm, or .tgz

Docker images

Available for both AMD64 and Aarch64: altinity/clickhouse-server:26.6.2.20001.altinityantalya

Full Changelog: https://github.com/ClickHouse/ClickHouse/compare/v26.6.2.160-stable...Altinity:ClickHouse:v26.6.2.20001.altinityantalya?expand=1