Altinity Project Antalya Builds for ClickHouse® 26.3
Here are the detailed release notes for Altinity Project Antalya build version 26.3. For more details on the project, see:
- The project's README
- The project roadmap (for 2026 and 2025)
- The feature matrix
Release history
Version 26.3.10.20001 is the latest release. We recommend that you use this version.
| Version | Release date | Details | Docker images |
|---|---|---|---|
| 26.3.10.20001 | 2026-06-02 | CI report Release page |
AMD64 and Aarch64 |
v26.3.10.20001
Released 2026-06-02
26.3.10.20001 Altinity Antalya (0ef53dd) as compared to 26.1.11.20001.altinityantalya (75d2d67)
Backward Incompatible Change
- Added a new
entraprocessor type which works with Entra using OIDC flow. Oldazuretype will be an alias. User now needs to specifytenant_idin configuration. (#1784 by @zvonand)
New Features
- Introduce the
export partition allcommand, which schedules exports for all partitions in a given table. Introduce a setting to control scheduling failure behavior (#1741 by @arthurpassos) - Query condition cache for iceberg tables (ClickHouse#102115 by @scanhex12 via #1804)
clickhouse-client: added--jwt-command, which invokes an external script to obtain a token; the script is re-invoked on every reconnect. (#1809 by @zvonand)
Performance Improvements
- Reading a single large local Parquet file via
file()/Fileengine is now parallelised across multiple sources, each handling a subset of row groups. (ClickHouse#104251 by @alexey-milovidov via #1806) - Share S3 ClientCache per bucket, reduce repeated region discovery (ClickHouse#96802 by @zvonand via #1807)
- Don’t commit while holding the export manifests locks. This avoid contention when the network / commit process is slow. (#1813 by @arthurpassos)
- Do not make ‘describe table’ query when schema is known (#1845 by @ianton-ru)
Improvements
SELECT * FROM system.databasesnow always lists data lake catalog databases regardless of theshow_data_lake_catalogs_in_system_tablessetting. Previously they were hidden by default, which was inconsistent withSHOW DATABASESthat always showed them. (ClickHouse#103444 by @alsugiliazova via #1689)- Remove the
export_merge_tree_partition_lock_inside_the_tasksetting. No longer maintained (#1713 by @arthurpassos) - Make export part and partition respect background tasks memory limit (#1728 by @arthurpassos)
- Observability over exceptions on export partition operations was broken and not reliable. This PR simplifies it by making it a single JSON array instead of multiple paths in zookeeper. Another change is that now
system.replicated_partition_exportsreturns only local information, it does not reach zookeeper. (#1730 by @arthurpassos) - Enabled experimental datalake catalogues by default (#1504 by @Enmk and #1743 by @zvonand)
- Support for ’time’ type in Iceberg, read and write. (#1761 by @ianton-ru)
- Adds native support for importing and exporting UUID data types in Arrow and Parquet formats. Users can now directly query and transfer UUID data between ClickHouse and other data tools without requiring manual string conversions or workarounds. Automated logical inference for top-level UUIDs, and support for explicit schema hint for nested UUIDs (ClickHouse#99521 by @ivanmantova via #1774)
- Exporting UUIDs to Parquet via the Arrow encoder now includes the correct UUID type annotation, eliminating the need to manually cast
FixedString(16)data when reading the files back into ClickHouse or other systems (ClickHouse#100150 by @ivanmantova via #1774) - Object information used for parsing data files in iceberg now contains the number of file rows and file size in bytes parsed from manifest file (ClickHouse#100645 by @divanik via #1776)
- Resolve problems with paths and compatibility problems with Spark in Azure (v2) (ClickHouse#100420, ClickHouse#100295 via #1785)
- Hybrid tables now can ignore the segments that can’t be reached by the combination of WHERE and segment predicate (#1788 by @mkmkme)
- Added
system.hybrid_watermarksto introspect the hybrid tables watermarks (#1789 by @mkmkme) - Various token-based auth improvements (#1799 by @zvonand)
- Change the interface for Iceberg inserts with the catalog. Deprecate settings: storage_catalog_type, storage_aws_access_key_id, etc (ClickHouse#100334 by @scanhex12 via #1800)
- Support Nullable(Tuple) for Arrow, ArrowStream, ORC, legacy Parquet formats (ClickHouse#101272 by @nihalzp via #1802)
- Support Iceberg tables that have data files outside the table location or on a different object storage (#1812 by @zvonand)
- No longer require
allow_insert_into_icebergto be enabled on all replicas for the partition export to work. (#1836 by @arthurpassos) - Make the export task timeout 24 hours instead of 1 hour (#1843 by @arthurpassos)
- Prevent commit race conditions by adding a per-task
commit_lock(#1847 by @arthurpassos)
Bug Fixes (user-visible misbehavior in an official stable release)
- Fix incorrect work view over Iceberg table (#1759 by @ianton-ru)
- Fix infinite recursion with empty namespace in Iceberg catalog (#1762 by @ianton-ru)
- Fix server crash (LOGICAL_ERROR) when executing ALTER TABLE UPDATE/DELETE on Iceberg tables when no prior SELECT or INSERT was done on the table in the same server lifetime (ClickHouse#102113 by @alexey-milovidov via #1767)
- Fix LOGICAL_ERROR crash “Unexpected number of rows in column subchunk” in native Parquet V3 reader when reading nullable columns with a WHERE filter (ClickHouse#102628 by @groeneai via #1768)
- Now ClickHouse should properly handle spark-style tables (where we have full absolute path for each file or relative path to common table path) (ClickHouse#99935 by @alesapin via #1769)
- Fix logical error exception when inserting into an Iceberg table with a
Datecolumn partitioned byyear,month, ordaytransforms (ClickHouse#100404 by @alexey-milovidov via #1770) - Fix Iceberg INSERT retry loop failing when the table was created with iceberg_metadata_file_path and the target metadata version already exists (ClickHouse#101548 by @groeneai via #1771)
- Fix server crash (LOGICAL_ERROR) when SELECT-ing from a materialized view backed by an IcebergLocal table engine (ClickHouse#101577 by @groeneai via #1772)
- Fix
Logical error: 'partitions_count > 0'exception when performing consecutiveALTER TABLE UPDATEon a partitioned Iceberg table (ClickHouse#101278 by @Desel72 via #1773) - Fix crash in
IcebergLocalALTER TABLE ... UPDATEwhen using Avro format, caused byLowCardinality/Nullablewrapper types not being unwrapped before serialization (ClickHouse#102337 by @Desel72 via #1773) - Fix exception when Iceberg metadata file path setting contains a null byte (ClickHouse#100283 by @alexey-milovidov via #1775)
- Address OAuth security audit (#1777 by @zvonand)
- Fix incorrect interaction between
object_storage_remote_initiatorandobject_storage_cluster. (#1783 by @ianton-ru)
Build/Testing/Packaging Improvements
- Fix llvm-libc link error with -O0 build (ClickHouse#100023 by @zheguang via #1722)
CI Fixes or Improvements
- Fix exception “Logical error:
prewhere_info” when querying URL/S3 Parquet tables with a row-level security policy and no PREWHERE clause. (ClickHouse#100361 by @alexey-milovidov via #1733) - Fix
test_database_iceberg/test.py::test_namespace_filter(#1842 by @ianton-ru) - Fix Memory Sanitizer build (#1846 by @ianton-ru)
And ALL features included in previous Antalya releases
Docker images
Available for both AMD64 and Aarch64: altinity/clickhouse-server:26.3.10.20001.altinityantalya
Packages
Available for both AMD64 and Aarch64 from builds.altinity.cloud/#altinityantalya as either .deb, .rpm, or .tgz
Full Changelog: 75d2d67...0ef53dd