v26.2 Changelog for Cloud

### Function and aggregation performance[​](#function-and-aggregation-performance "Direct link to Function and aggregation performance")

- JIT compilation now covers more functions. [#88770](https://github.com/ClickHouse/ClickHouse/pull/88770) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Optimized `distinctJSONPaths` aggregate function to read only JSON paths from data parts instead of the whole JSON column. [#92196](https://github.com/ClickHouse/ClickHouse/pull/92196) ([Pavel Kruglov](https://github.com/Avogar)).
- Optimized `uniqExact` when identical elements often come consecutively. [#93268](https://github.com/ClickHouse/ClickHouse/pull/93268) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Optimized `isValidASCII` for all-ASCII input values. [#93347](https://github.com/ClickHouse/ClickHouse/pull/93347) ([Robert Schulze](https://github.com/rschu1ze)).
- Sped up `uniq` over numeric types by batching inserts when possible (not null, not `-If`, no `GROUP BY`, no `IPv6` or `String`). [#95904](https://github.com/ClickHouse/ClickHouse/pull/95904) ([Raúl Marín](https://github.com/Algunenano)).

### Storage and I/O performance[​](#storage-and-io-performance "Direct link to Storage and I/O performance")

- Fixed Parquet Reader V3 Prefetcher to use faster random read logic. [#91435](https://github.com/ClickHouse/ClickHouse/pull/91435) ([Arsen Muk](https://github.com/arsenmuk)).
- Improved performance of `icebergCluster`. [#91537](https://github.com/ClickHouse/ClickHouse/pull/91537) ([Yang Jiang](https://github.com/Ted-Jiang)).
- Reduced INSERT and merge memory usage for very wide tables with Wide parts by enabling adaptive write buffers. Also added adaptive write buffer support for encrypted disks. [#92250](https://github.com/ClickHouse/ClickHouse/pull/92250) ([Azat Khuzhin](https://github.com/azat)).
- Improved full text search performance with the text index and `sparseGrams` tokenizer by reducing the number of tokens searched. [#93078](https://github.com/ClickHouse/ClickHouse/pull/93078) ([Anton Popov](https://github.com/CurtizJ)).
- Sped up T64 codec compression using dynamic dispatch on x86. [#95881](https://github.com/ClickHouse/ClickHouse/pull/95881) ([Raúl Marín](https://github.com/Algunenano)).
- Sped up LZ4 decompression of 32-byte blocks on x86. [#96778](https://github.com/ClickHouse/ClickHouse/pull/96778) ([Raúl Marín](https://github.com/Algunenano)).
- Text index direct read optimization now works partially — parts with a materialized text index will use it, while parts without fall back to the original filter expression. [#96411](https://github.com/ClickHouse/ClickHouse/pull/96411) ([Anton Popov](https://github.com/CurtizJ)).
- Optimized minmax skip index computation during `INSERT` by removing an unnecessary data copy and enabling vectorized min/max calculation for numeric columns. [#97392](https://github.com/ClickHouse/ClickHouse/pull/97392) ([Raúl Marín](https://github.com/Algunenano)).
- Added `minmax` secondary indexes on time columns and `bloom_filter` indexes on `query_id`/`initial_query_id` columns to system log tables for faster filtering. [#96712](https://github.com/ClickHouse/ClickHouse/pull/96712) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Avoided memory usage regression on `INSERT` when deduplication is not enabled. [#96503](https://github.com/ClickHouse/ClickHouse/pull/96503) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

### Memory optimization[​](#memory-optimization "Direct link to Memory optimization")

- Reduced memory footprint of `ASTLiteral` by removing unused fields when highlighting and `VALUES` parsing are not active. [#93974](https://github.com/ClickHouse/ClickHouse/pull/93974) ([Ilya Yatsishin](https://github.com/qoega)).
- Introduced a specialized Enum AST class that stores value parameters as string/integer pairs instead of generic `ASTLiteral` children, reducing memory consumption. [#94178](https://github.com/ClickHouse/ClickHouse/pull/94178) ([Ilya Yatsishin](https://github.com/qoega)).
- Optimized memory consumption of named tuple AST objects by storing column names as strings directly instead of in generic AST literal nodes. [#94704](https://github.com/ClickHouse/ClickHouse/pull/94704) ([Ilya Yatsishin](https://github.com/qoega)).
- Reduced the size of the `CachedOnDiskReadBufferFromFile` structure by approximately 50x. [#96098](https://github.com/ClickHouse/ClickHouse/pull/96098) ([Azat Khuzhin](https://github.com/azat)).
- `HashTable::resize` no longer copies old data when the table is empty. [#96180](https://github.com/ClickHouse/ClickHouse/pull/96180) ([Raúl Marín](https://github.com/Algunenano)).

### Internal optimizations[​](#internal-optimizations "Direct link to Internal optimizations")

- Adopted the "fastrange" (Daniel Lemire) method for partitioning data inside the query pipeline, improving parallel sorting and JOINs. [#93080](https://github.com/ClickHouse/ClickHouse/pull/93080) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Improved devirtualization with additional linker options. [#94737](https://github.com/ClickHouse/ClickHouse/pull/94737) ([Nikita Taranov](https://github.com/nickitat)).
- Improved clone replica performance for `ReplicatedMergeTree` tables with many parts by batching ZooKeeper requests. [#94847](https://github.com/ClickHouse/ClickHouse/pull/94847) ([c-end](https://github.com/c-end)).
- Reduced ZooKeeper receive thread CPU consumption from `observeOperations` by over 20% by switching to faster hashing and lock-free counters. [#95962](https://github.com/ClickHouse/ClickHouse/pull/95962) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).

## Bug Fixes[​](#bug-fixes "Direct link to Bug Fixes")

All bug fixes (click to expand)

### JOIN fixes[​](#join-fixes "Direct link to JOIN fixes")