2025 Changelog

- Add runtime filters only for supported join algorithms i.e. hash joins. A filter can only be built when join algorithm first fully reads the right side and then reads the left side, but FullSortingMergeJoin for example reads both sides simultaneously. Fixes [#89220](https://github.com/ClickHouse/ClickHouse/issues/89220). [#89652](https://github.com/ClickHouse/ClickHouse/pull/89652) ([Alexander Gololobov](https://github.com/davenger)).
- Fix `hasAnyTokens`, `hasAllTokens` and `tokens` functions concurrent executions with the `sparseGrams` tokenizer. Resolves [#89605](https://github.com/ClickHouse/ClickHouse/issues/89605). [#89665](https://github.com/ClickHouse/ClickHouse/pull/89665) ([Elmi Ahmadov](https://github.com/ahmadov)).
- Fix logical error/crash with join runtime filter in some cases. Fixes [#89062](https://github.com/ClickHouse/ClickHouse/issues/89062). [#89666](https://github.com/ClickHouse/ClickHouse/pull/89666) ([Alexander Gololobov](https://github.com/davenger)).
- Fix possible logical error during ARRAY JOIN on Map column with enabled `enable_lazy_columns_replication`. Closes [#89705](https://github.com/ClickHouse/ClickHouse/issues/89705). [#89717](https://github.com/ClickHouse/ClickHouse/pull/89717) ([Pavel Kruglov](https://github.com/Avogar)).
- Avoid crash due to reading from remote server after disconnect in remote queries during cancellation. Resolves [#89468](https://github.com/ClickHouse/ClickHouse/issues/89468). [#89740](https://github.com/ClickHouse/ClickHouse/pull/89740) ([Azat Khuzhin](https://github.com/azat)).
- Fix race condition in projection index reading path. Resolves [#89497](https://github.com/ClickHouse/ClickHouse/issues/89497). [#89762](https://github.com/ClickHouse/ClickHouse/pull/89762) ([Peng Jian](https://github.com/fastio)).
- Fix bug in projection index reading that could cause race conditions. Resolves [#89497](https://github.com/ClickHouse/ClickHouse/issues/89497). [#89775](https://github.com/ClickHouse/ClickHouse/pull/89775) ([Amos Bird](https://github.com/amosbird)).
- Fixed Paimon table function handling for tables with no partition. Resolves [#89690](https://github.com/ClickHouse/ClickHouse/issues/89690). [#89793](https://github.com/ClickHouse/ClickHouse/pull/89793) ([JIaQi](https://github.com/JiaQiTang98)).
- Fix possible logical error during reading of paths and their subcolumns in advanced JSON shared data serialization. Closes [#89805](https://github.com/ClickHouse/ClickHouse/issues/89805). [#89819](https://github.com/ClickHouse/ClickHouse/pull/89819) ([Pavel Kruglov](https://github.com/Avogar)).
- Fix possible stack overflow in data types binary deserialization. Closes [#88710](https://github.com/ClickHouse/ClickHouse/issues/88710). [#89822](https://github.com/ClickHouse/ClickHouse/pull/89822) ([Pavel Kruglov](https://github.com/Avogar)).
- Fix logical error with empty tuple inside `IN` function. Closes [#88343](https://github.com/ClickHouse/ClickHouse/issues/88343). [#89850](https://github.com/ClickHouse/ClickHouse/pull/89850) ([Nihal Z. Miaji](https://github.com/nihalzp)).
- Remove injective functions from `GROUP BY` regardless `optimize_injective_functions_in_group_by` in old analyzer for compatibility. Resolves [#89854](https://github.com/ClickHouse/ClickHouse/issues/89854). [#89870](https://github.com/ClickHouse/ClickHouse/pull/89870) ([Raufs Dunamalijevs](https://github.com/rienath)).
- If the merge was interrupted by, for example, a memory limit, the merge mutate background executor will call `cancel` on the merge task without a lock, but, in this case, the partially created resulting part will not be removed (since it was not finished and at this stage was not visible). After that, the merge task will be destroyed, which will trigger the destruction of the resulting part. This will revert the disk transaction and cause the data to be removed from S3. At the end, this garbage cleanup was executed under the merge mutate background executor lock. [#89875](https://github.com/ClickHouse/ClickHouse/pull/89875) ([Mikhail Artemenko](https://github.com/Michicosun)).
- Fix logical error with empty tuple inside `reverse` and `CAST` function. Closes [#89137](https://github.com/ClickHouse/ClickHouse/issues/89137). [#89908](https://github.com/ClickHouse/ClickHouse/pull/89908) ([Nihal Z. Miaji](https://github.com/nihalzp)).
- Now ClickHouse will show data lake catalog database in `SHOW DATABASES` query by default. [#89914](https://github.com/ClickHouse/ClickHouse/pull/89914) ([alesapin](https://github.com/alesapin)).
- Fix using native copy on GCS for backups. Because of incorrect client cloning, GCS native copy always failed and used less optimal approach of manual reading and writing the data. [#89923](https://github.com/ClickHouse/ClickHouse/pull/89923) ([Antonio Andelic](https://github.com/antonio2368)).
- Fix buffer size calculation for base32Encode. Calculating base32Encode for column of strings of size smaller than 5 could lead to crashes. Resolves [#89911](https://github.com/ClickHouse/ClickHouse/issues/89911). [#89929](https://github.com/ClickHouse/ClickHouse/pull/89929) ([Antonio Andelic](https://github.com/antonio2368)).
- Fix wrong escaping for `SHOW COLUMNS` and `SHOW FUNCTIONS` queries. [#89942](https://github.com/ClickHouse/ClickHouse/pull/89942) ([alesapin](https://github.com/alesapin)).
- Fix URL validation in MongoDB engine when username contains '@' character. Previously, usernames with '@' would cause an error due to improper encoding. [#89970](https://github.com/ClickHouse/ClickHouse/pull/89970) ([Kai Zhu](https://github.com/nauu)).
- Backported in [#90592](https://github.com/ClickHouse/ClickHouse/issues/90592): Fix possible crash during remote query with `ARRAY JOIN` inside `IN` and enabled `enable_lazy_columns_replication` setting. Resolves [#90361](https://github.com/ClickHouse/ClickHouse/issues/90361). [#89997](https://github.com/ClickHouse/ClickHouse/pull/89997) ([Pavel Kruglov](https://github.com/Avogar)).
- Backported in [#90448](https://github.com/ClickHouse/ClickHouse/issues/90448): Fix inference of bad DateTime64 values from Strings in text formats in some cases. Resolves [#89368](https://github.com/ClickHouse/ClickHouse/issues/89368). [#90013](https://github.com/ClickHouse/ClickHouse/pull/90013) ([Pavel Kruglov](https://github.com/Avogar)).
- Fix logical error caused by empty tuple column in `BSONEachRow` and `MsgPack`. Closes [#89814](https://github.com/ClickHouse/ClickHouse/issues/89814). Closes [#71536](https://github.com/ClickHouse/ClickHouse/issues/71536). [#90018](https://github.com/ClickHouse/ClickHouse/pull/90018) ([Nihal Z. Miaji](https://github.com/nihalzp)).
- Backported in [#90457](https://github.com/ClickHouse/ClickHouse/issues/90457): Do size checks when deserializing data from aggregation states and other sources. [#90031](https://github.com/ClickHouse/ClickHouse/pull/90031) ([Raúl Marín](https://github.com/Algunenano)).
- Fix possible 'Invalid number of rows in Chunk' error in JOIN with duplicate columns. Resolves [#89411](https://github.com/ClickHouse/ClickHouse/issues/89411). [#90053](https://github.com/ClickHouse/ClickHouse/pull/90053) ([Vladimir Cherkasov](https://github.com/vdimir)).
- Backported in [#90588](https://github.com/ClickHouse/ClickHouse/issues/90588): Fix possible error `Column with Array type is not represented by ColumnArray column: Replicated` during insertion with usage of `ARRAY JOIN` and enabled `enable_lazy_columns_replication` setting. [#90066](https://github.com/ClickHouse/ClickHouse/pull/90066) ([Pavel Kruglov](https://github.com/Avogar)).
- Allow files starting with dots in user\_files. Closes [#89662](https://github.com/ClickHouse/ClickHouse/issues/89662). [#90079](https://github.com/ClickHouse/ClickHouse/pull/90079) ([Raúl Marín](https://github.com/Algunenano)).
- Backported in [#90647](https://github.com/ClickHouse/ClickHouse/issues/90647): Fix logical error and modulo bug in `numbers` system table when big step size is used. Closes [#83398](https://github.com/ClickHouse/ClickHouse/issues/83398). [#90123](https://github.com/ClickHouse/ClickHouse/pull/90123) ([Nihal Z. Miaji](https://github.com/nihalzp)).