Back to Clickhouse

2025 Changelog

docs/changelogs/v25.5.10.95-stable.md

26.4.1.1-new14.3 KB
Original Source

2025 Changelog

ClickHouse release v25.5.10.95-stable (e54ec61bcfe) FIXME as compared to v25.5.9.14-stable (3ff229371cc)

Performance Improvement

Improvement

  • Backported in #84502: Two mini improvements in Web UI: - correctly handle queries without output, such as CREATE, INSERT (until recently, these queries resulted in an infinite spinner); - when double clicking on a table, scroll to the top. #81131 (Alexey Milovidov).
  • Backported in #83182: Consolidate unknown settings warnings in clickhouse client and log them as a summary. #83042 (Bharat Nallan).
  • Backported in #84595: S3Queue ordered mode fix: quit earlier if shutdown was called. #84463 (Kseniia Sumarokova).
  • Backported in #85018: Add 4LW in Keeper, lgrq, for toggling request logging of received requests. #84719 (Antonio Andelic).
  • Backported in #84867: Reduce contention on storage lock in Keeper. #84732 (Antonio Andelic).
  • Backported in #85015: Limit Keeper log entry cache size by number of entries using keeper_server.coordination_settings.latest_logs_cache_entry_count_threshold and keeper_server.coordination_settings.commit_logs_cache_entry_count_threshold. #84877 (Antonio Andelic).
  • Backported in #85732: Added show_data_lake_catalogs_in_system_tables flag to manage adding data lake tables in system.tables resolves #85384. #85411 (Smita Kulkarni).

Bug Fix (user-visible misbehavior in an official stable release)

  • Backported in #84393: Fix rollback of Dynamic column on parsing failure. #82169 (Pavel Kruglov).
  • Backported in #85755: Fixed parquet writer outputting incorrect statistics (min/max) for Decimal types. #83754 (Michael Kolupaev).
  • Backported in #84222: Allow referencing any table in view(...) argument of remote table function with enabled analyzer. Fixes #78717. Fixes #79377. #83844 (Dmitry Novik).
  • Backported in #85792: Fix writing JSON paths with NULL values in RowBinary format. #83923 (Pavel Kruglov).
  • Backported in #84270: Fixed wrong results when the query condition cache is used in conjunction with recursive CTEs (issue #81506). #84026 (zhongyuankai).
  • Backported in #84670: Fix filter merging into JOIN condition in cases when equality operands have different types or they reference constants. Fixes #83432. #84145 (Dmitry Novik).
  • Backported in #84286: Fix rare clickhouse crash when table has projection, lightweight_mutation_projection_mode = 'rebuild' and user execute lighweight delete which deletes ALL rows from any block in table. #84158 (alesapin).
  • Backported in #84491: Fixed incorrect construction of empty tuples in the array() function. This fixes #84202. #84297 (Amos Bird).
  • Backported in #84829: Fix logger usage in IAccessStorage. #84365 (Konstantin Bogdanov).
  • Backported in #85879: Fix reading Variant column with lazy materialization. #84400 (Pavel Kruglov).
  • Backported in #84451: Make zoutofmemory hardware error, otherwise it will throw logical error. see https://github.com/clickhouse/clickhouse-core-incidents/issues/877. #84420 (Han Fei).
  • Backported in #86054: Fixed server crash when a user created with no_password attempts to login after the server setting allow_no_password was changed to 0. #84426 (Shankar Iyer).
  • Backported in #84650: Fix out-of-order writes to Keeper changelog. Previously, we could have in-flight writes to changelog, but rollback could cause concurrent change of the destination file. This would lead to inconsistent logs, and possible data loss. #84434 (Antonio Andelic).
  • Backported in #85309: Now if all TTL are removed from table MergeTree will do nothing related to TTL. #84441 (alesapin).
  • Backported in #85302: Fix ALTER MODIFY ORDER BY not validating TTL columns in sorting keys. TTL columns are now properly rejected when used in ORDER BY clauses during ALTER operations, preventing potential table corruption. #84536 (xiaohuanlin).
  • Backported in #84630: Change pre-25.5 value of allow_experimental_delta_kernel_rs to false for compatibility. #84587 (Kseniia Sumarokova).
  • Backported in #84725: Lock 'mutex' when getting zookeeper from 'view' in RefreshTask. #84699 (Tuan Pham Anh).
  • Backported in #84878: Fix CORRUPTED_DATA error when lazy columns are used with external sort. #84738 (János Benjamin Antal).
  • Backported in #84991: Fix total watches count returned by Keeper. #84890 (Antonio Andelic).
  • Backported in #85113: Add a check if a correlated subquery is used in a distributed context to avoid a crash. Fixes #82205. #85030 (Dmitry Novik).
  • Backported in #85154: Fixed double-free in AzureIteratorAsync. #85064 (Nikita Taranov).
  • Backported in #85232: Fix Not-ready Set for IN (subquery) inside additional_table_filters expression setting. #85210 (Nikolai Kochetov).
  • Backported in #85260: Get rid of unnecessary getStatus() calls during SYSTEM DROP REPLICA queries. Fixes the case when a table is dropped in the background, and the Shutdown for storage is called exception is thrown. #85220 (Nikolay Degterinsky).
  • Backported in #85500: Added missing table name length checks in CREATE OR REPLACE and RENAME queries. #85326 (Michael Kolupaev).
  • Backported in #85522: Fix backup of parts with broken projections. #85362 (Antonio Andelic).
  • Backported in #85615: Queries with parallel replicas which uses reading reverse in order optimization can produce incorrect result. #85406 (Igor Nikonov).
  • Backported in #85695: Fix possible UB (crashes) in case of MEMORY_LIMIT_EXCEEDED during String deserialization. #85440 (Azat Khuzhin).
  • Backported in #85822: Fix incorrect metrics KafkaAssignedPartitions and KafkaConsumersWithAssignment. #85494 (Ilya Golshtein).
  • Backported in #85912: Fix secrets masking in icebergS3Cluster and icebergAzureCluster table functions. #85658 (MikhailBurdukov).
  • Backported in #85857: Fix possible inconsistency for dictionaries with update_field on MEMORY_LIMIT_EXCEEDED errors. #85807 (Azat Khuzhin).

Build/Testing/Packaging Improvement

NO CL ENTRY

  • NO CL ENTRY: 'Revert "Backport #84026 to 25.5: Disable query condition cache for recursive CTEs"'. #84406 (Raúl Marín).
  • NO CL ENTRY: 'Fix query condition cache usage with non-deterministic IN sets'. #84621 (Robert Schulze).

NOT FOR CHANGELOG / INSIGNIFICANT

  • Backported in #84337: tests: avoid possible "Bind for 0.0.0.0:2181 failed: port is already allocated" in kafka tests. #81108 (Azat Khuzhin).
  • Backported in #84793: Previously, FilterTransform could stop reading if the expression for any chunk returned a constant false. This can lead to a bug, because constant columns are allowed to appear during the execution, and most function default implementations will preserve constants as well. #83855 (Nikolai Kochetov).
  • Backported in #85591: Fix parquet writer outputting incorrect row indices in offset index. #83876 (Michael Kolupaev).
  • Backported in #85280: Avoid some copies in Keeper. #85131 (Antonio Andelic).
  • Backported in #85603: Sync read if content is in page cache. #85405 (Antonio Andelic).
  • Backported in #85831: Add compatibility setting to write Date as UInt16 to parquet files. #85510 (Michael Kolupaev).