2025 Changelog

- Introduced a `LockGuardWithStopWatch` class and used it in the background pool for executing merges. In case a mutex was held for a second or some thread was struggling to get it within a second a warning message will be printed. Moved the heavy code from the destructor of `MergeMutateSelectedEntry` to `finalize` method to avoid holding the lock in `MergeTreeBackground` executor for too long. [#88898](https://github.com/ClickHouse/ClickHouse/pull/88898) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
- Allow using opt-in AWS regions for S3 automatically when the region is not specified in the endpoint. Reference: [opt-in AWS regions](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html). [#88930](https://github.com/ClickHouse/ClickHouse/pull/88930) ([Andrey Zvonov](https://github.com/zvonand)).
- User can now cancel the query in clickhouse-client by pressing Ctrl-C when the pager is running. Resolves [#80778](https://github.com/ClickHouse/ClickHouse/issues/80778). [#88935](https://github.com/ClickHouse/ClickHouse/pull/88935) ([Grigorii](https://github.com/GSokol)).
- Web UI will display bars in the table even when the values are negative. So it can display a double-sided bar chart with different colors of bars on the negative and positive sides. [#89016](https://github.com/ClickHouse/ClickHouse/pull/89016) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Disable `shared_merge_tree_create_per_replica_metadata_nodes` to reduce the amount of metadata `SharedMergeTree` stores in Keeper. [#89036](https://github.com/ClickHouse/ClickHouse/pull/89036) ([Alexander Tokmakov](https://github.com/tavplubix)).
- Make `S3Queue` respect `disable_insertion_and_mutation` server setting. [#89048](https://github.com/ClickHouse/ClickHouse/pull/89048) ([Raúl Marín](https://github.com/Algunenano)).
- Set default `s3_retry_attempts` to 500 for 25.6 to make sure backups succeed when there's an S3 repartitioning and S3 responds with slow-down errors for more than 10 minutes. [#89051](https://github.com/ClickHouse/ClickHouse/pull/89051) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
- The `kafka_compression_codec` and `kafka_compression_level` settings can now be used to specify the compression for Kafka producers in both Kafka engines. [#89073](https://github.com/ClickHouse/ClickHouse/pull/89073) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
- Add a new column `statistics` in `system.columns`, indicating the types of statistics built on this table. If a type of statistics is automatically created, it will show as (auto) in the suffix. [#89086](https://github.com/ClickHouse/ClickHouse/pull/89086) ([Han Fei](https://github.com/hanfei1991)).
- Improve error message when generic expansion is passed instead of cluster name to a `*Cluster` table function. [#89093](https://github.com/ClickHouse/ClickHouse/pull/89093) ([Konstantin Bogdanov](https://github.com/thevar1able)).
- YTsaurus: allow using a replicated\_table as a data source. [#89107](https://github.com/ClickHouse/ClickHouse/pull/89107) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
- Queries starting with whitespace are no longer saved to history in CLI. [#89116](https://github.com/ClickHouse/ClickHouse/pull/89116) ([Konstantin Bogdanov](https://github.com/thevar1able)).
- Support Array of String as an input to the `hasAnyTokens` or `hasAllTokens` functions. [#89124](https://github.com/ClickHouse/ClickHouse/pull/89124) ([Elmi Ahmadov](https://github.com/ahmadov)).
- Modify how plain-rewritable disks store their metadata in memory, resolving numerous bugs related to directory nesting and around that. [#89125](https://github.com/ClickHouse/ClickHouse/pull/89125) ([Mikhail Artemenko](https://github.com/Michicosun)).
- Subqueries which take part inside IN expressions when querying Iceberg table will be precomputed in the right way before partition pruning analysis. [#89177](https://github.com/ClickHouse/ClickHouse/pull/89177) ([Daniil Ivanik](https://github.com/divanik)).
- Enable `create_table_empty_primary_key_by_default` by default. This is better for usability. [#89333](https://github.com/ClickHouse/ClickHouse/pull/89333) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Fix incorrect code in the `Backup` database engine when it can generate an invalid query with `SHOW CREATE DATABASE` or when querying `engine_full` from `system.databases`. Closes [#89477](https://github.com/ClickHouse/ClickHouse/issues/89477). [#89341](https://github.com/ClickHouse/ClickHouse/pull/89341) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- In previous versions, the setting `create_table_empty_primary_key_by_default` was ineffective when you didn't specify the table engine in the CREATE TABLE query. [#89342](https://github.com/ClickHouse/ClickHouse/pull/89342) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Update `chdig` to v25.11.1 - includes major improvements to logging and various other enhancements ([release notes for 25.11](https://github.com/azat/chdig/releases/tag/v25.11.1)). [#89957](https://github.com/ClickHouse/ClickHouse/pull/89957) ([Azat Khuzhin](https://github.com/azat)). ([release notes for 25.10](https://github.com/azat/chdig/releases/tag/v25.10.1)). [#89452](https://github.com/ClickHouse/ClickHouse/pull/89452) ([Azat Khuzhin](https://github.com/azat)).
- Make the resizer of the query textarea in the Web UI full-width, which makes it a little bit more convenient. Also, the browser-native resizer was not available on Safari on iPad, and after this change, you can at least drag the bottom of the textarea if you know. [#89457](https://github.com/ClickHouse/ClickHouse/pull/89457) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Improved memory tracking in hash joins result generation. Previously, temporary allocations during generating join result were not properly tracked, which could lead to memory limit overruns. [#89560](https://github.com/ClickHouse/ClickHouse/pull/89560) ([Azat Khuzhin](https://github.com/azat)).
- Async server log: Flush earlier and increase default queue size. [#89597](https://github.com/ClickHouse/ClickHouse/pull/89597) ([Raúl Marín](https://github.com/Algunenano)).
- Fix wrong `FilesystemCacheBytes` (and others) in `system.asynchronous_metrics`. Run `SYSTEM` queries on filesystem caches only once. Atomic view for caches that points to the same path in `system.filesystem_caches`. [#89640](https://github.com/ClickHouse/ClickHouse/pull/89640) ([Azat Khuzhin](https://github.com/azat)).
- Clarified description of some columns in `system.view_refreshes`. [#89701](https://github.com/ClickHouse/ClickHouse/pull/89701) ([Tuan Pham Anh](https://github.com/tuanpach)).
- Cache S3 credentials interacting with STS endpoint so they can be reused for different function calls. Amount of cached credentials can be controlled with `s3_credentials_provider_max_cache_size`. [#89734](https://github.com/ClickHouse/ClickHouse/pull/89734) ([Antonio Andelic](https://github.com/antonio2368)).
- Fix runtime filter pushdown when there are multiple expression steps below it. [#89741](https://github.com/ClickHouse/ClickHouse/pull/89741) ([Alexander Gololobov](https://github.com/davenger)).
- If the system memory is lower than 5GB, don't mlock the executable by default. [#89751](https://github.com/ClickHouse/ClickHouse/pull/89751) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Type hints in the Web UI no longer overflow into the table header. Also corrected the tooltips display - they are no longer behind the table header. [#89753](https://github.com/ClickHouse/ClickHouse/pull/89753) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- Show table properties in Web UI. Clicking on the number of rows or bytes will bring up a query from `system.tables`. Clicking on the table engine will bring up `SHOW TABLES`. [#89771](https://github.com/ClickHouse/ClickHouse/pull/89771) ([Alexey Milovidov](https://github.com/alexey-milovidov)).