v26.2 Changelog for Cloud

### S3 and object storage[​](#s3-and-object-storage-improvements "Direct link to S3 and object storage")

- S3 `x-amz-server-side-encryption` headers are no longer propagated to `HeadObject`, `UploadPart`, and `CompleteMultipartUpload` requests. [#64577](https://github.com/ClickHouse/ClickHouse/pull/64577) ([Francisco J. Jurado Moreno](https://github.com/Beetelbrox)).
- `storage_class_name` can now be specified in named collections for the S3 table engine and `s3` table function. [#91926](https://github.com/ClickHouse/ClickHouse/pull/91926) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
- Fixed EC2 metadata endpoint throttling when running many concurrent S3 queries with instance profile credentials — the credentials provider is now cached and shared across all queries. [#92891](https://github.com/ClickHouse/ClickHouse/pull/92891) ([Sav](https://github.com/sberss)).
- Added MinIO compatibility support to the AWS S3 C++ SDK with error code mapping for MinIO-specific errors, improving reliability for self-hosted MinIO clusters. [#93082](https://github.com/ClickHouse/ClickHouse/pull/93082) ([XiaoBinMu](https://github.com/Binnn-MX)).
- Improved S3 authentication error messages with hints to check credentials. [#95648](https://github.com/ClickHouse/ClickHouse/pull/95648) ([Gerald Latkovic](https://github.com/batkovic75)).
- Azure Blob Storage now falls back to read-write copy when native copy fails with any error (previously only on Unauthorized). [#92888](https://github.com/ClickHouse/ClickHouse/pull/92888) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).

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

- `avg()` now supports `Date`, `DateTime`, and `Time` values as arguments. [#87845](https://github.com/ClickHouse/ClickHouse/pull/87845) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
- `mapContainsKeyLike` and `mapContainsValueLike` can now leverage a text index on `mapKeys()` or `mapValues()`. [#93049](https://github.com/ClickHouse/ClickHouse/pull/93049) ([Michael Jarrett](https://github.com/EmeraldShift)).
- `flipCoordinates` now supports the `Geometry` type. [#93303](https://github.com/ClickHouse/ClickHouse/pull/93303) ([Bharat Nallan](https://github.com/bharatnc)).
- Removed the 64-token limit for `hasAnyTokens` and `hasAllTokens` functions. [#95152](https://github.com/ClickHouse/ClickHouse/pull/95152) ([Elmi Ahmadov](https://github.com/ahmadov)).
- Added `distanceCosine` as an alias for `cosineDistance`, consistent with other distance functions. [#96065](https://github.com/ClickHouse/ClickHouse/pull/96065) ([Raufs Dunamalijevs](https://github.com/rienath)).
- Added `iif` function to ClickHouse KQL. [#94790](https://github.com/ClickHouse/ClickHouse/pull/94790) ([happyso](https://github.com/sunyeongchoi)).
- `use_variant_as_common_type` is now enabled by default, allowing incompatible types inside `Array`, `UNION` queries, and `if`/`multiIf`/`case` branches. [#90677](https://github.com/ClickHouse/ClickHouse/pull/90677) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

### Settings and configuration[​](#settings-and-configuration-improvements "Direct link to Settings and configuration")

- `use_skip_indexes_on_data_read` is now enabled by default. [#93407](https://github.com/ClickHouse/ClickHouse/pull/93407) ([Shankar Iyer](https://github.com/shankar-iyer)).
- Added `add_minmax_index_for_time_columns` setting — when enabled, automatically creates minmax indexes for all `Date`, `Date32`, `Time`, `Time64`, `DateTime`, and `DateTime64` columns. [#93355](https://github.com/ClickHouse/ClickHouse/pull/93355) ([Michael Jarrett](https://github.com/EmeraldShift)).
- Added `materialize_statistics_on_merge` setting (default enabled) to control whether statistics are materialized during merges. [#93379](https://github.com/ClickHouse/ClickHouse/pull/93379) ([Han Fei](https://github.com/hanfei1991)).
- Added `input_format_binary_max_type_complexity` setting to limit the total number of type nodes that can be decoded in binary format, preventing malicious payloads. [#92519](https://github.com/ClickHouse/ClickHouse/pull/92519) ([Raufs Dunamalijevs](https://github.com/rienath)).
- Added `trace_profile_events_list` setting to limit tracing with `trace_profile_event` to specific event names. [#92298](https://github.com/ClickHouse/ClickHouse/pull/92298) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Added `type_json_allow_duplicated_key_with_literal_and_nested_object` setting to allow duplicated paths in JSON where one is a literal and another is a nested object, for backward compatibility with data created before path deduplication was enforced. [#93604](https://github.com/ClickHouse/ClickHouse/pull/93604) ([Pavel Kruglov](https://github.com/Avogar)).
- Added `merge_max_dynamic_subcolumns_in_compact_part` MergeTree setting and `max_dynamic_subcolumns_in_json_type_parsing` query-level setting to limit dynamic subcolumns in JSON columns during merge and parsing. [#94184](https://github.com/ClickHouse/ClickHouse/pull/94184) ([Pavel Kruglov](https://github.com/Avogar)).
- Added `use_statistics` as an alias for `allow_statistics_optimize`, consistent with `use_primary_key` and `use_skip_indexes`. [#94366](https://github.com/ClickHouse/ClickHouse/pull/94366) ([Robert Schulze](https://github.com/rschu1ze)).
- Enabled `input_format_numbers_enum_on_conversion_error` for Numbers-to-Enum conversion to check element existence. [#94384](https://github.com/ClickHouse/ClickHouse/pull/94384) ([Elmi Ahmadov](https://github.com/ahmadov)).
- Added a setting to throw an exception when a table has row policies but none apply to the current user, catching potential misconfigurations. [#95014](https://github.com/ClickHouse/ClickHouse/pull/95014) ([Vitaly Baranov](https://github.com/vitlibar)).
- `enable_max_bytes_limit_for_min_age_to_force_merge` is now enabled by default for compatibility version 26.2 and higher. [#95917](https://github.com/ClickHouse/ClickHouse/pull/95917) ([Christoph Wurm](https://github.com/cwurm)).
- `core_dump.size_limit` is now hot-reloadable without server restart. [#96524](https://github.com/ClickHouse/ClickHouse/pull/96524) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
- Command-line overrides are now respected when reloading configuration. [#80295](https://github.com/ClickHouse/ClickHouse/pull/80295) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Added composite rotation strategy (size + time) for server logs. [#87620](https://github.com/ClickHouse/ClickHouse/pull/87620) ([Jianmei Zhang](https://github.com/zhangjmruc)).
- Distributed index analysis can now be enabled based on part count (`distributed_index_analysis_min_parts_to_activate`) and index size (`distributed_index_analysis_min_indexes_size_to_activate`). [#95216](https://github.com/ClickHouse/ClickHouse/pull/95216) ([Azat Khuzhin](https://github.com/azat)).
- Statistics cache is now enabled by default with a 300-second update period. [#95841](https://github.com/ClickHouse/ClickHouse/pull/95841) ([Han Fei](https://github.com/hanfei1991)).
- The `path` configuration parameter is now resolved relative to the working directory at startup, preventing data directories from being placed in unusual locations. [#96305](https://github.com/ClickHouse/ClickHouse/pull/96305) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

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