Back to Clickhouse

2025 Changelog

docs/changelogs/v25.8.13.73-lts.md

26.4.1.1-new21.7 KB
Original Source

2025 Changelog

ClickHouse release v25.8.13.73-lts (2dbc61a9bb8) FIXME as compared to v25.8.12.129-lts (25db09bd0a0)

Performance Improvement

Improvement

  • Backported in #91248: Fixed potential thread pool starvation when reading column samples for JSON columns with many subcolumns by respecting the merge_tree_use_prefixes_deserialization_thread_pool setting instead of unconditionally using the thread pool. #91208 (Raufs Dunamalijevs).
  • Backported in #92565: Make query memory usage detection for spilling to disk during aggregation/sorting more robust. #92500 (Azat Khuzhin).

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

  • Backported in #92183: Fix removing unused projection columns in the presence of UNION. Fixes #88180. #88350 (Sema Checherinda).
  • Backported in #92491: Fixed several issues caused by premature column removal in TTL. Resolves #88002. #88860 (Amos Bird).
  • Backported in #92220: Fix handling of non materialized Nested(Tuple(...)) (added via ALTER). Fixes #83133. #88879 (Azat Khuzhin).
  • Backported in #90146: Prevent query masking rules from being incorrectly applied to DDL statements. #89272 (MikhailBurdukov).
  • Backported in #90442: Fix inference of bad DateTime64 values from Strings in text formats in some cases. Resolves #89368. #90013 (Pavel Kruglov).
  • Backported in #90911: Fix bug in reading subcolumns from JSON in compact parts that could lead to CANNOT_READ_ALL_DATA error. Resolves #90264. #90302 (Pavel Kruglov).
  • Backported in #90971: Fix possible logical error during renaming and modifying the same Nested column in one ALTER. Resolves #90406. #90412 (Pavel Kruglov).
  • Backported in #91053: Fix parsing JSON/Dynamic/Variant values from HTTP parameters. Resolves #88925. #90430 (Pavel Kruglov).
  • Backported in #91870: Fixes a bug where toDateTimeOrNull of a negative argument returns NULL. #90490 (Yarik Briukhovetskyi).
  • Backported in #91033: Fix possible logical error during output of LowCardinality(Bool/Date32) in Arrow format. Resolves #83883. #90505 (Pavel Kruglov).
  • Backported in #90786: Retry to markReplicasActive when failing to resolve address during local host check: Print a warning log if there is an exception during self host check in DDLTask. In DDLWorker::markReplicasActive, throw an exception to retry if there is no local host found and there are host IDs in clusters. #90556 (Tuan Pham Anh).
  • Backported in #91717: Fix type-casting errors when using LowCardinality columns in partition keys. Closes #89412. #90666 (xiaohuanlin).
  • Backported in #90869: Fix named collections hidden secrets to depend on display_secrets_in_show_and_select and format_display_secrets_in_show_and_select. #90765 (Pablo Marcos).
  • Backported in #90850: Fix possible inconsistent state of shared data and dynamic paths in JSON that could lead to logical errors and unexpected results. #90816 (Pavel Kruglov).
  • Backported in #90940: Fix ALTER MODIFY QUERY with dictGet() and dictionary name in CSE for SharedCatalog (cloud only feature). #90860 (Azat Khuzhin).
  • Backported in #91310: 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 (Antonio Andelic).
  • Backported in #90931: Fix background flush of Buffer in case of frequent INSERTs. #90892 (Azat Khuzhin).
  • Backported in #91044: Fix high memory usage during reading JSON/Dynamic/Variant columns. #90907 (Pavel Kruglov).
  • Backported in #91292: Fix buffer allocation for base58Decode function. #90909 (Antonio Andelic).
  • Backported in #91219: Fix wildcard grants check for partial revoke. Added more tests. #90922 (pufit).
  • Backported in #91498: Fixes SummingMergeTree aggregation for Nested LowCardinality columns. #90927 (Ivan Babrou).
  • Backported in #91765: 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 (pufit).
  • Backported in #91078: Fix possible infinite loop in azure list blobs. #90947 (Julia Kartseva).
  • Backported in #91135: Fix excessive Buffer flushes (burns CPU and produce tons of logs). #91000 (Azat Khuzhin).
  • Backported in #91071: 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 (Pavel Kruglov).
  • Backported in #91087: Fix std::out_of_range in CTE with dictGet with no arguments. Closes #91027. #91022 (Pavel Kruglov).
  • Backported in #91688: Fix reading dynamic subcolumns from materialized columns in mutations. Closes #90653. #91040 (Pavel Kruglov).
  • Backported in #91345: Fix lazy materialization of a column added via alter add column in old parts. #91142 (Pavel Kruglov).
  • Backported in #91263: Fix merging JSON columns in Summing/Aggregating/Coalescing MergeTree. Previously it could lead to unexpected dynamic paths durign writing to data parts. #91151 (Pavel Kruglov).
  • Backported in #91317: Fix possible inconsistent dynamic structure during writing in compact parts that could lead to segfault. #91152 (Pavel Kruglov).
  • Backported in #91399: Fix inserting into CoalescingMergeTree column with Tuple of JSON/Dynamic and LowCardinality. Closes #91215. #91270 (Pavel Kruglov).
  • Backported in #91336: Fix SYSTEM DROP FILESYSTEM CACHE ON CLUSTER. #91304 (Anton Ivashkin).
  • Backported in #91560: Currently, the setting is set to false, so when async insert queue is flushed to a remote server, the inserts are always synchronous. Even in case of the setting is True for a user. #91386 (Mikhail f. Shiryaev).
  • Backported in #91457: Remove Sparse columns from header in merge algorithms. Closes #91377. #91396 (Pavel Kruglov).
  • Backported in #92133: Fix crash in dictGetDescendants caused by NULL when dictionary type has Hierarchy support but no column is HIERARCHICAL. Closes #92026. Closes #92121. #91420 (Nihal Z. Miaji).
  • Backported in #91797: Fix logical error caused by asterisks argument in remote function. Closes #90568. #91524 (Nihal Z. Miaji).
  • Backported in #91684: Disallow ALTERs for Object Storage table engines. For example, ALTER ADD PROJECTION could have led to an inability to restart the server, since Object Storage engines do not support projections. #91573 (Nikolay Degterinsky).
  • Backported in #91881: Fix increased memory usage in join with "additional filter", close #91011. #91664 (Vladimir Cherkasov).
  • Backported in #91915: Fix LOGICAL_ERROR in RecursiveCTEChunkGenerator. #91827 (Pablo Marcos).
  • Backported in #92253: Add repair mechanism for JSON with duplicated path in shared data and dynamic paths that could happen because of the bug that was fixed in https://github.com/ClickHouse/ClickHouse/pull/90816. #91886 (Pavel Kruglov).
  • Backported in #92687: Cache schema only for the file it was inferred from in globs instead of all files during schema inference. Closes #91745. #92006 (Pavel Kruglov).
  • Backported in #92678: Release request stream in insert select to prevent closing http connection. #92175 (Sema Checherinda).
  • Backported in #92240: Fix UDF replace in format. #92210 (Raúl Marín).
  • Backported in #92328: In ddlworker::markreplicasactive, if there is no active host found, and the remote_servers has some host_ids, we print a warning log instead of throwing an exception. #92223 (Tuan Pham Anh).
  • Backported in #92434: Fix logical error caused by using Nothing type in caseWithExpression function arguments . Closes #85354. #92351 (Nihal Z. Miaji).
  • Backported in #92702: Fix count_distinct_optimization pass over window functions and over multiple arguments. #92376 (Raúl Marín).
  • Backported in #92425: Fix possible crash in aggregate functions after MEMORY_LIMIT_EXCEEDED. #92390 (Azat Khuzhin).
  • Backported in #92739: Fix bug in data skipping logic when not match(...) is used in WHERE causing incorrect results. Closes #92492. #92726 (Nihal Z. Miaji).
  • Backported in #92767: Do not attempt to delete temporary directories at startup if a MergeTree table is created over a read-only disk. #92748 (Alexey Milovidov).

Build/Testing/Packaging Improvement

NO CL CATEGORY

NO CL ENTRY

NOT FOR CHANGELOG / INSIGNIFICANT