v26.2 Changelog for Cloud

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

- Optimized filesystem cache space reservation — eviction candidates are now collected without holding a unique lock. [#82764](https://github.com/ClickHouse/ClickHouse/pull/82764) ([Kseniia Sumarokova](https://github.com/kssenii)).
- Enabled parallelized reads in the filesystem cache read buffer for remote table engines/functions. [#71781](https://github.com/ClickHouse/ClickHouse/pull/71781) ([Kseniia Sumarokova](https://github.com/kssenii)).
- Reduced memory usage on non-Linux systems by enabling immediate purging of jemalloc dirty pages. [#93360](https://github.com/ClickHouse/ClickHouse/pull/93360) ([Eduard Karacharov](https://github.com/korowa)).
- jemalloc dirty page purging now runs in a separate thread from the main MemoryWorker thread. Added `memory_worker_purge_total_memory_threshold_ratio` config for purging based on total memory usage ratio. [#94902](https://github.com/ClickHouse/ClickHouse/pull/94902) ([Antonio Andelic](https://github.com/antonio2368)).
- jemalloc dirty page decay is now dynamically disabled when ClickHouse is under sustained memory pressure. [#95145](https://github.com/ClickHouse/ClickHouse/pull/95145) ([Antonio Andelic](https://github.com/antonio2368)).
- Added an explicit memory consumption check before reading data from MergeTree, with lowered thread pool queue sizes based on production experience. [#94692](https://github.com/ClickHouse/ClickHouse/pull/94692) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
- Total memory limit is now checked before user authentication, throwing `memory limit exceeded` if the limit is breached. [#95003](https://github.com/ClickHouse/ClickHouse/pull/95003) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
- Fixed incorrect memory accounting for the query conditions cache. [#95478](https://github.com/ClickHouse/ClickHouse/pull/95478) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
- Made query memory usage detection for spilling to disk during aggregation/sorting more robust. [#92500](https://github.com/ClickHouse/ClickHouse/pull/92500) ([Azat Khuzhin](https://github.com/azat)).
- The scheduler now prioritizes the MemoryWorker thread under CPU starvation to protect the process. [#94864](https://github.com/ClickHouse/ClickHouse/pull/94864) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
- Fixed ClickHouse not respecting memory limits in some cases when reading from a table. [#93715](https://github.com/ClickHouse/ClickHouse/pull/93715) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).

### Data formats[​](#data-formats-improvements "Direct link to Data formats")

- Parquet reader now allows reading `Tuple` or `Map` columns as JSON. [#92864](https://github.com/ClickHouse/ClickHouse/pull/92864) ([Michael Kolupaev](https://github.com/al13n321)).
- Parquet reader now supports empty tuples. [#92868](https://github.com/ClickHouse/ClickHouse/pull/92868) ([Michael Kolupaev](https://github.com/al13n321)).
- The `Date` type is now serialized as Arrow's native `date32` type in Arrow/ArrowStream formats (previously `uint16`). The old behavior can be restored with the `output_format_arrow_date_as_uint16` setting. [#96860](https://github.com/ClickHouse/ClickHouse/pull/96860) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- The `Hash` output format is now independent of block sizes. [#94503](https://github.com/ClickHouse/ClickHouse/pull/94503) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Simple types in Pretty JSON format are no longer printed on separate lines. [#93836](https://github.com/ClickHouse/ClickHouse/pull/93836) ([Pavel Kruglov](https://github.com/Avogar)).
- Schema inference now respects `allow_experimental_nullable_tuple_type` — when enabled, missing nested objects can become `NULL` instead of a tuple of `NULL` elements. [#95525](https://github.com/ClickHouse/ClickHouse/pull/95525) ([Nihal Z. Miaji](https://github.com/nihalzp)).
- The SQL formatter now outputs `COMMENT` before `AS SELECT` instead of wrapping `SELECT` in parentheses. [#96293](https://github.com/ClickHouse/ClickHouse/pull/96293) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Optimized postings list compression with simdcomp. [#92871](https://github.com/ClickHouse/ClickHouse/pull/92871) ([Peng Jian](https://github.com/fastio)).

### Backup and restore[​](#backup-and-restore-improvements "Direct link to Backup and restore")

- Added `backup_data_from_refreshable_materialized_view_targets` backup setting to control whether to back up data of refreshable materialized views. Targets of RMVs with `APPEND` refresh strategy are always backed up. [#93658](https://github.com/ClickHouse/ClickHouse/pull/93658) ([Julia Kartseva](https://github.com/jkartseva)).
- Added support for SQL-defined named collections in `BACKUP`/`RESTORE` for S3 and Azure Blob Storage. [#94605](https://github.com/ClickHouse/ClickHouse/pull/94605) ([Pablo Marcos](https://github.com/pamarcos)).

### Named collections and dictionaries[​](#named-collections-and-dictionaries "Direct link to Named collections and dictionaries")

- Named collection parameter overrides are now allowed in the MongoDB table function. [#89616](https://github.com/ClickHouse/ClickHouse/pull/89616) ([vanchaklar](https://github.com/vanchaklar)).
- Enabled named collections for YTsaurus dictionaries and tables. [#94582](https://github.com/ClickHouse/ClickHouse/pull/94582) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
- Column descriptions can now be passed for YTsaurus dynamic table dictionary sources. [#92391](https://github.com/ClickHouse/ClickHouse/pull/92391) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
- Parameterized view schema is now shown when specified explicitly. [#90220](https://github.com/ClickHouse/ClickHouse/pull/90220) ([Grigorii Sokolik](https://github.com/GSokol)).

### Deduplication[​](#deduplication-improvements "Direct link to Deduplication")

- Reworked the `insert_select_deduplicate` setting to add backward compatibility options. [#92951](https://github.com/ClickHouse/ClickHouse/pull/92951) ([Sema Checherinda](https://github.com/CheSema)).
- Deduplication with async inserts is now allowed when materialized views are involved. [#93957](https://github.com/ClickHouse/ClickHouse/pull/93957) ([Sema Checherinda](https://github.com/CheSema)).

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