2025 Changelog

- Fix potential crash when executing mutations with subqueries and `allow_statistics_optimize=1`. Resolves [#90626](https://github.com/ClickHouse/ClickHouse/issues/90626). [#90664](https://github.com/ClickHouse/ClickHouse/pull/90664) ([Azat Khuzhin](https://github.com/azat)).
- Fixed analyzer validation for `LIMIT BY` with `GROUP BY` to produce correct `NOT_AN_AGGREGATE` error instead of `NOT_FOUND_COLUMN_IN_BLOCK` when `LIMIT BY` uses columns not in `GROUP BY`. Closes [#89713](https://github.com/ClickHouse/ClickHouse/issues/89713). [#90665](https://github.com/ClickHouse/ClickHouse/pull/90665) ([xiaohuanlin](https://github.com/xiaohuanlin)).
- Fix type-casting errors when using `LowCardinality` columns in partition keys. Closes [#89412](https://github.com/ClickHouse/ClickHouse/issues/89412). [#90666](https://github.com/ClickHouse/ClickHouse/pull/90666) ([xiaohuanlin](https://github.com/xiaohuanlin)).
- Fix issue where queries with filter predicates containing constants folded from non-deterministic functions (e.g. `shardNum()`) could incorrectly use query condition cache. [#90692](https://github.com/ClickHouse/ClickHouse/pull/90692) ([Eduard Karacharov](https://github.com/korowa)).
- Fix segfault on query with EXISTS function in join on section. Now query simply returns `INVALID_JOIN_ON_EXPRESSION` error. Close [#90698](https://github.com/ClickHouse/ClickHouse/issues/90698). [#90719](https://github.com/ClickHouse/ClickHouse/pull/90719) ([Vladimir Cherkasov](https://github.com/vdimir)).
- Fix Logical error: 'Inconsistent AST formatting' for AccessRightsElement when using the default database without any table. [#90742](https://github.com/ClickHouse/ClickHouse/pull/90742) ([Pablo Marcos](https://github.com/pamarcos)).
- Fix access validation for `ALTER UPDATE` queries when a `remote` table function is used with `localhost` as a target host. [#90761](https://github.com/ClickHouse/ClickHouse/pull/90761) ([pufit](https://github.com/pufit)).
- Fix named collections hidden secrets to depend on `display_secrets_in_show_and_select` and `format_display_secrets_in_show_and_select`. [#90765](https://github.com/ClickHouse/ClickHouse/pull/90765) ([Pablo Marcos](https://github.com/pamarcos)).
- Disable `enable_shared_storage_snapshot_in_query` (leads to memory leaks). [#90770](https://github.com/ClickHouse/ClickHouse/pull/90770) ([Azat Khuzhin](https://github.com/azat)).
- Fix duplicate data issue in RIGHT JOIN with distributed table when parallel replicas enabled. [#90806](https://github.com/ClickHouse/ClickHouse/pull/90806) ([zoomxi](https://github.com/zoomxi)).
- Fix possible inconsistent state of shared data and dynamic paths in JSON that could lead to logical errors and unexpected results. [#90816](https://github.com/ClickHouse/ClickHouse/pull/90816) ([Pavel Kruglov](https://github.com/Avogar)).
- Fix ALTER MODIFY QUERY with dictGet() and dictionary name in CSE for SharedCatalog (cloud only feature). [#90860](https://github.com/ClickHouse/ClickHouse/pull/90860) ([Azat Khuzhin](https://github.com/azat)).
- Fix compatibility of in-memory serialization of String aggregation state. Different serialization could lead to duplicate results if aggregation query is executed on instances with different versions. New serialization can be enabled with `serialize_string_in_memory_with_zero_byte`. [#90880](https://github.com/ClickHouse/ClickHouse/pull/90880) ([Antonio Andelic](https://github.com/antonio2368)).
- Fix background flush of Buffer in case of frequent INSERTs. [#90892](https://github.com/ClickHouse/ClickHouse/pull/90892) ([Azat Khuzhin](https://github.com/azat)).
- Don't list contrib/ parent folder in system.licenses. [#90901](https://github.com/ClickHouse/ClickHouse/pull/90901) ([Raúl Marín](https://github.com/Algunenano)).
- Fix high memory usage during reading JSON/Dynamic/Variant columns. [#90907](https://github.com/ClickHouse/ClickHouse/pull/90907) ([Pavel Kruglov](https://github.com/Avogar)).
- Fix buffer allocation for base58Decode function. [#90909](https://github.com/ClickHouse/ClickHouse/pull/90909) ([Antonio Andelic](https://github.com/antonio2368)).
- Fix possible logical error upon receiving another read request from a replica after a response with the `finish=true` flag was sent. This was possible due to a logical race condition within `MergeTreeReadPoolParallelReplicas`, although it was very unlikely to occur. [#90921](https://github.com/ClickHouse/ClickHouse/pull/90921) ([Nikita Taranov](https://github.com/nickitat)).
- Fix wildcard grants check for partial revoke. Added more tests. [#90922](https://github.com/ClickHouse/ClickHouse/pull/90922) ([pufit](https://github.com/pufit)).
- Fixes `SummingMergeTree` aggregation for `Nested` `LowCardinality` columns. [#90927](https://github.com/ClickHouse/ClickHouse/pull/90927) ([Ivan Babrou](https://github.com/bobrik)).
- Fix handling global grants with wildcard revokes Fixes the issue when revoking a wildcard grant can accidentally revoke some global-level grants like `CREATE USER`. [#90928](https://github.com/ClickHouse/ClickHouse/pull/90928) ([pufit](https://github.com/pufit)).
- Fix possible infinite loop in azure list blobs. [#90947](https://github.com/ClickHouse/ClickHouse/pull/90947) ([Julia Kartseva](https://github.com/jkartseva)).
- Fix excessive Buffer flushes (burns CPU and produce tons of logs). [#91000](https://github.com/ClickHouse/ClickHouse/pull/91000) ([Azat Khuzhin](https://github.com/azat)).
- ... Don't allow adaptive\_write\_buffer\_initial\_size set to 0. [#91001](https://github.com/ClickHouse/ClickHouse/pull/91001) ([Pedro Ferreira](https://github.com/PedroTadim)).
- Fix bug in JSON when path can be both in shared data and dynamic paths during sub-object reading in Compact parts with disabled `write_marks_for_substreams_in_compact_parts`. [#91014](https://github.com/ClickHouse/ClickHouse/pull/91014) ([Pavel Kruglov](https://github.com/Avogar)).
- Fix std::out\_of\_range in CTE with dictGet with no arguments. Closes [#91027](https://github.com/ClickHouse/ClickHouse/issues/91027). [#91022](https://github.com/ClickHouse/ClickHouse/pull/91022) ([Pavel Kruglov](https://github.com/Avogar)).
- Fix reading dynamic subcolumns from materialized columns in mutations. Closes [#90653](https://github.com/ClickHouse/ClickHouse/issues/90653). [#91040](https://github.com/ClickHouse/ClickHouse/pull/91040) ([Pavel Kruglov](https://github.com/Avogar)).
- Fix `arrayFilter` function not working when using empty array and `isNull` function. Closes [#73849](https://github.com/ClickHouse/ClickHouse/issues/73849). [#91105](https://github.com/ClickHouse/ClickHouse/pull/91105) ([Nihal Z. Miaji](https://github.com/nihalzp)).
- Fix logical error in `ARRAY JOIN` when one of the table columns is empty tuple column. Closes [#90801](https://github.com/ClickHouse/ClickHouse/issues/90801). [#91123](https://github.com/ClickHouse/ClickHouse/pull/91123) ([Nihal Z. Miaji](https://github.com/nihalzp)).
- Fix lazy materialization of a column added via alter add column in old parts. [#91142](https://github.com/ClickHouse/ClickHouse/pull/91142) ([Pavel Kruglov](https://github.com/Avogar)).
- Fix merging JSON columns in Summing/Aggregating/Coalescing MergeTree. Previously it could lead to unexpected dynamic paths durign writing to data parts. [#91151](https://github.com/ClickHouse/ClickHouse/pull/91151) ([Pavel Kruglov](https://github.com/Avogar)).
- Fix possible inconsistent dynamic structure during writing in compact parts that could lead to segfault. [#91152](https://github.com/ClickHouse/ClickHouse/pull/91152) ([Pavel Kruglov](https://github.com/Avogar)).
- Fix parsing of subnormal float values in scientific notation. Closes [#78903](https://github.com/ClickHouse/ClickHouse/issues/78903). [#91162](https://github.com/ClickHouse/ClickHouse/pull/91162) ([Nihal Z. Miaji](https://github.com/nihalzp)).
- Fix wrong schema inference in INSERT SELECT from a subquery with a source with an implicit schema. [#91204](https://github.com/ClickHouse/ClickHouse/pull/91204) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).