v26.2 Changelog for Cloud

### Security and access control changes[​](#security-and-access-control-changes "Direct link to Security and access control changes")

- `joinGet`/`joinGetOrNull` now enforce `SELECT` privileges on the underlying Join table. Executing `joinGet('db.table', 'column', key)` requires `SELECT` privilege on both the key columns and the attribute column being retrieved. Queries without these privileges will fail with `ACCESS_DENIED`. To migrate, grant permissions using `GRANT SELECT ON db.join_table TO user` for full table access, or `GRANT SELECT(key_col, attr_col) ON db.join_table TO user` for column-level access. [#94307](https://github.com/ClickHouse/ClickHouse/pull/94307) ([Vladimir Cherkasov](https://github.com/vdimir)).
- `CREATE TABLE ... AS ...` queries now require `SHOW COLUMNS` privilege instead of `SHOW TABLES`, which was previously checked incorrectly. [#94556](https://github.com/ClickHouse/ClickHouse/pull/94556) ([pufit](https://github.com/pufit)).

### Insert and deduplication changes[​](#insert-and-deduplication-changes "Direct link to Insert and deduplication changes")

- Deduplication is now enabled by default for all inserts. Previously it was off for async inserts and materialized views, but on for sync inserts. To preserve the old behavior, explicitly set `deduplicate_insert='backward_compatible_choice'` (and similarly for `deduplicate_blocks_in_dependent_materialized_views`). [#95970](https://github.com/ClickHouse/ClickHouse/pull/95970) ([Sema Checherinda](https://github.com/CheSema)).

### System table changes[​](#system-table-changes "Direct link to System table changes")

- S3Queue and AzureQueue in-memory metadata is now limited. The system tables have been renamed: `system.s3queue` is now `system.s3queue_metadata_cache`, and `system.azure_queue` is now `system.azure_queue_metadata_cache`. [#95809](https://github.com/ClickHouse/ClickHouse/pull/95809) ([Kseniia Sumarokova](https://github.com/kssenii)).

### Other breaking changes[​](#other-breaking-changes "Direct link to Other breaking changes")

- Fixed h3 index functions that could crash or hang when called with invalid inputs. [#93657](https://github.com/ClickHouse/ClickHouse/pull/93657) ([Michael Kolupaev](https://github.com/al13n321)).

## New Features[​](#new-features "Direct link to New Features")

### Authentication[​](#authentication "Direct link to Authentication")

- Added support for time-based one-time password (TOTP) as an authentication method. [#71273](https://github.com/ClickHouse/ClickHouse/pull/71273) ([Vladimir Cherkasov](https://github.com/vdimir)).

### Functions[​](#functions "Direct link to Functions")

- Added `reverseBySeparator` function, which reverses the order of substrings in a string separated by a specified separator. [#91780](https://github.com/ClickHouse/ClickHouse/pull/91780) ([Xuewei Wang](https://github.com/Sallery-X)).
- Added `colorOKLABToSRGB` and `colorSRGBToOKLAB` functions to convert between sRGB and OKLAB color spaces. [#93361](https://github.com/ClickHouse/ClickHouse/pull/93361) ([Pranav Tiwari](https://github.com/pranavt84)).
- Added `cosineDistanceTransposed` function that approximates the [cosine distance](https://en.wikipedia.org/wiki/Cosine_similarity#Cosine_distance) between two points. [#93621](https://github.com/ClickHouse/ClickHouse/pull/93621) ([Raufs Dunamalijevs](https://github.com/rienath)).
- Added `xxh3_128` hashing function. [#96055](https://github.com/ClickHouse/ClickHouse/pull/96055) ([Raúl Marín](https://github.com/Algunenano)).
- Added `mergeTreeAnalyzeIndex()` function for analyzing MergeTree index usage. [#92954](https://github.com/ClickHouse/ClickHouse/pull/92954) ([Azat Khuzhin](https://github.com/azat)).
- Functions now support the `Variant` type via the new `FunctionVariantAdaptor`. [#90900](https://github.com/ClickHouse/ClickHouse/pull/90900) ([Bharat Nallan](https://github.com/bharatnc)).
- Certain functions can now be called without parentheses in SQL. [#94678](https://github.com/ClickHouse/ClickHouse/pull/94678) ([Aly Kafoury](https://github.com/AlyHKafoury)).

### System tables[​](#system-tables "Direct link to System tables")

- Added `system.user_defined_functions` table to monitor UDF loading status and configuration. [#90340](https://github.com/ClickHouse/ClickHouse/pull/90340) ([Xu Jia](https://github.com/XuJia0210)).
- Added `system.zookeeper_info` table. [#90809](https://github.com/ClickHouse/ClickHouse/pull/90809) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
- Added `system.primes` table and `primes` table function containing prime numbers in ascending order. [#92776](https://github.com/ClickHouse/ClickHouse/pull/92776) ([Nihal Z. Miaji](https://github.com/nihalzp)).
- Added `files` column to `system.parts` showing the number of files in each data part. [#94337](https://github.com/ClickHouse/ClickHouse/pull/94337) ([Match](https://github.com/gayanMatch)).
- Added `system.fail_points` table to inspect existing failpoints and whether they are enabled. [#96762](https://github.com/ClickHouse/ClickHouse/pull/96762) ([Pedro Ferreira](https://github.com/PedroTadim)).

### Table engines and storage[​](#table-engines-and-storage "Direct link to Table engines and storage")

- Added text index support for `Array` columns. [#89895](https://github.com/ClickHouse/ClickHouse/pull/89895) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
- Added support for the Paimon REST catalog. [#92011](https://github.com/ClickHouse/ClickHouse/pull/92011) ([JIaQi Tang](https://github.com/JiaQiTang98)).
- Added `icebergLocalCluster` table function. [#93323](https://github.com/ClickHouse/ClickHouse/pull/93323) ([Anton Ivashkin](https://github.com/ianton-ru)).
- Added `lazy_load_tables` database setting. When enabled, tables are not loaded during database startup — a lightweight `StorageTableProxy` is created instead and the real table engine is materialized on first access. [#96283](https://github.com/ClickHouse/ClickHouse/pull/96283) ([xiaohuanlin](https://github.com/xiaohuanlin)).
- Added support for auxiliary ZooKeeper for `DatabaseReplicated`. [#91683](https://github.com/ClickHouse/ClickHouse/pull/91683) ([RinChanNOW](https://github.com/RinChanNOWWW)).
- Data and system files in cache can now be split into separate segments. [#87834](https://github.com/ClickHouse/ClickHouse/pull/87834) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
- Added a new SLRU cache for Parquet metadata to improve read performance by avoiding redundant file downloads. The cache can be dropped with `SYSTEM DROP PARQUET METADATA CACHE`. [#89750](https://github.com/ClickHouse/ClickHouse/pull/89750) ([Grant Holly](https://github.com/grantholly-clickhouse)).
- Data lake tables now support `PREWHERE` and multistage `PREWHERE` in the Parquet reader v3. [#93542](https://github.com/ClickHouse/ClickHouse/pull/93542) ([Konstantin Vedernikov](https://github.com/scanhex12)).
- Added distributed index analysis across multiple replicas, beneficial for shared storage and large data volumes. [#86786](https://github.com/ClickHouse/ClickHouse/pull/86786) ([Azat Khuzhin](https://github.com/azat)).

### Insert and deduplication[​](#insert-and-deduplication "Direct link to Insert and deduplication")