Changelog 2026

- Add OpenTelemetry tracing for Keeper requests. [#91332](https://github.com/ClickHouse/ClickHouse/pull/91332) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
- New configuration options: `logger.startup_console_level` & `logger.shutdown_console_level` to allow for overriding the console log level during the startup & shutdown of ClickHouse respectively. [#95919](https://github.com/ClickHouse/ClickHouse/pull/95919) ([Garrett Thomas](https://github.com/garrettthomaskth)).
- Respect command-line overrides when reloading configuration. Closes [#80294](https://github.com/ClickHouse/ClickHouse/issues/80294). [#80295](https://github.com/ClickHouse/ClickHouse/pull/80295) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Allow key-value overrides for named collection parameters in `mongodb` table function. [#89616](https://github.com/ClickHouse/ClickHouse/pull/89616) ([vanchaklar](https://github.com/vanchaklar)).
- The read-in-order optimization for Iceberg tables now works with complex sorting functions like `icebergBucket` and `icebergTruncate`, not just simple column references. [#90256](https://github.com/ClickHouse/ClickHouse/pull/90256) ([Konstantin Vedernikov](https://github.com/scanhex12)).
- Add a new column named parts\_postpone\_reasons in system.mutations to improve diagnostics, which shows the parts postpone reasons. [#92206](https://github.com/ClickHouse/ClickHouse/pull/92206) ([Shaohua Wang](https://github.com/tiandiwonder)).
- Track changes in the number of rows to read (due to inserts/deletes or query condition cache usage) in `DataflowStatisticsCache`. [#93636](https://github.com/ClickHouse/ClickHouse/pull/93636) ([Nikita Taranov](https://github.com/nickitat)).
- Support SYSTEM RESET DDL WORKER [ON CLUSTER] query. It requests to reset the state of DDLWorker in its main thread. It is helpful to refresh the replica active when host IDs are updated. [#93780](https://github.com/ClickHouse/ClickHouse/pull/93780) ([Tuan Pham Anh](https://github.com/tuanpach)).
- Support `mutation_ids` in `system.part_log` for event type of `MUTATE_PART` and `MUTATE_PART_START`. [#93811](https://github.com/ClickHouse/ClickHouse/pull/93811) ([Shaohua Wang](https://github.com/tiandiwonder)).
- Background operations (Mutate, Merge) can now be configured independently via 'background' profile. Previously such operations shared settings with regular queries via 'default' profile. [#93905](https://github.com/ClickHouse/ClickHouse/pull/93905) ([Arsen Muk](https://github.com/arsenmuk)).
- Add more information to `system.crash_log`. [#94112](https://github.com/ClickHouse/ClickHouse/pull/94112) [#95857](https://github.com/ClickHouse/ClickHouse/pull/95857) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
- Added new `QueryNonInternal` metric to track the number of executing non-internal queries. This metric is exposed as `ClickHouseMetrics_QueryNonInternal` and helps operators monitor query concurrency against the `max_concurrent_queries` limit, which only applies to non-internal queries. [#94284](https://github.com/ClickHouse/ClickHouse/pull/94284) ([Ashwath Singh](https://github.com/ashwath)).
- Support input bytes statistics collection for columns from compact parts in `RuntimeDataflowStatisticsCacheUpdater`. [#94626](https://github.com/ClickHouse/ClickHouse/pull/94626) ([Nikita Taranov](https://github.com/nickitat)).
- Add a check for Keeper misconfiguration leading to cluster assembly failures. Closes [#60932](https://github.com/ClickHouse/ClickHouse/issues/60932). [#94682](https://github.com/ClickHouse/ClickHouse/pull/94682) ([Konstantin Bogdanov](https://github.com/thevar1able)).
- Improve JSON prefixes deserialization during part loading. [#94848](https://github.com/ClickHouse/ClickHouse/pull/94848) ([Pavel Kruglov](https://github.com/Avogar)).
- Refactor the write using full INSERT pipeline, which triggers materialized views on the target table. [#94890](https://github.com/ClickHouse/ClickHouse/pull/94890) ([Kai Zhu](https://github.com/nauu)).
- Use vector similarity search plan optimizations only if the index exists for the search column. [#94998](https://github.com/ClickHouse/ClickHouse/pull/94998) ([Eduard Karacharov](https://github.com/korowa)).
- Check for the total memory limit before the user authentication and throw `(total) memory limit exceeded` if the total limit is more than allowed. [#95003](https://github.com/ClickHouse/ClickHouse/pull/95003) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
- Added the `throw_on_unmatched_row_policies` configuration option which, when enabled, throws an exception if a user queries a table that has row policies but none of them apply to that user — preventing the ambiguous behavior of returning all rows due to access control misconfiguration. [#95014](https://github.com/ClickHouse/ClickHouse/pull/95014) ([Vitaly Baranov](https://github.com/vitlibar)).
- Dynamic update s3 access tokens in long queries with unity catalog. This closes [#93981](https://github.com/ClickHouse/ClickHouse/issues/93981). [#95069](https://github.com/ClickHouse/ClickHouse/pull/95069) ([Konstantin Vedernikov](https://github.com/scanhex12)).
- Disable jemalloc's dirty page decay if ClickHouse is under sustained memory pressure for `memory_worker_decay_adjustment_period_ms` milliseconds. Enable jemalloc's dirty page decay back if ClickHouse is working under normal conditions for same amount of time. [#95145](https://github.com/ClickHouse/ClickHouse/pull/95145) ([Antonio Andelic](https://github.com/antonio2368)).
- S3Queue auxiliary Zookeeper support using `keeper_path` setting from s3Queue. [#95203](https://github.com/ClickHouse/ClickHouse/pull/95203) ([Diego Nieto](https://github.com/lesandie)).
- Respect `max_parts_to_merge_at_once` in TTL drop part merges. [#95315](https://github.com/ClickHouse/ClickHouse/pull/95315) ([Kseniia Sumarokova](https://github.com/kssenii)).
- Add `connection_address` and `connection_port` to query\_log to reflect physical connection (`address` and `port` are replaced when connected through proxy and auth\_use\_forwarded\_address=1). [#95471](https://github.com/ClickHouse/ClickHouse/pull/95471) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
- Fix incorrect memory accounting for the query conditions cache. The key problem was that it didn't take into account the cache key that composed of several strings (like part\_name, the table id and the whole SQL condition). [#95478](https://github.com/ClickHouse/ClickHouse/pull/95478) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
- Server started with the embedded configuration will allow to manipulate users and grants, saving them to the `access` directory, as the regular configuration does. This improves testing. Also enabled all access\_control\_improvements in the embedded config and in clickhouse-local. [#95481](https://github.com/ClickHouse/ClickHouse/pull/95481) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Improved S3 authentication error messages to include a hint to check credentials when access is denied. [#95648](https://github.com/ClickHouse/ClickHouse/pull/95648) ([Gerald Latkovic](https://github.com/batkovic75)).
- Enable statistics cache and set the update period of cache to 300s. [#95841](https://github.com/ClickHouse/ClickHouse/pull/95841) ([Han Fei](https://github.com/hanfei1991)).
- Add component name to `system.aggregated_zookeeper_log`. [#95882](https://github.com/ClickHouse/ClickHouse/pull/95882) ([Antonio Andelic](https://github.com/antonio2368)).
- Skip object storage reads when querying `DeltaLake` tables from `system.tables`. [#95899](https://github.com/ClickHouse/ClickHouse/pull/95899) ([Antonio Andelic](https://github.com/antonio2368)).
- Enable `enable_max_bytes_limit_for_min_age_to_force_merge` by default if the `compatibility` setting is `26.2` or higher. [#95917](https://github.com/ClickHouse/ClickHouse/pull/95917) ([Christoph Wurm](https://github.com/cwurm)).
- Delta Lake is now available on macOS. Closes #95979. [#95985](https://github.com/ClickHouse/ClickHouse/pull/95985) ([Alexey Milovidov](https://github.com/alexey-milovidov)).